From 6991ef9d183a2ef5ec5119f79880685ae10034a7 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 16 Oct 2024 10:17:59 +1100 Subject: [PATCH 001/381] Create codeql.yml --- .github/workflows/codeql.yml | 92 ++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 000000000..e769e0b7c --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,92 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL Advanced" + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + schedule: + - cron: '36 11 * * 1' + +jobs: + analyze: + name: Analyze (${{ matrix.language }}) + # Runner size impacts CodeQL analysis time. To learn more, please see: + # - https://gh.io/recommended-hardware-resources-for-running-codeql + # - https://gh.io/supported-runners-and-hardware-resources + # - https://gh.io/using-larger-runners (GitHub.com only) + # Consider using larger runners or machines with greater resources for possible analysis time improvements. + runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + permissions: + # required for all workflows + security-events: write + + # required to fetch internal or private CodeQL packs + packages: read + + # only required for workflows in private repositories + actions: read + contents: read + + strategy: + fail-fast: false + matrix: + include: + - language: go + build-mode: autobuild + # CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' + # Use `c-cpp` to analyze code written in C, C++ or both + # Use 'java-kotlin' to analyze code written in Java, Kotlin or both + # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both + # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis, + # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning. + # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how + # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + build-mode: ${{ matrix.build-mode }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + # If the analyze step fails for one of the languages you are analyzing with + # "We were unable to automatically build your code", modify the matrix above + # to set the build mode to "manual" for that language. Then modify this step + # to build your code. + # â„šī¸ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + - if: matrix.build-mode == 'manual' + shell: bash + run: | + echo 'If you are using a "manual" build mode for one or more of the' \ + 'languages you are analyzing, replace this with the commands to build' \ + 'your code, for example:' + echo ' make bootstrap' + echo ' make release' + exit 1 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" From e44117745ffa4093ebedeb2060806f8417bf0d2e Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 16 Oct 2024 10:48:08 +1100 Subject: [PATCH 002/381] doc: Update paths in README to local repo. --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 74201ab5c..62dfe9a0e 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,11 @@ # mtail - extract internal monitoring data from application logs for collection into a timeseries database -[![ci](https://github.com/google/mtail/workflows/CI/badge.svg)](https://github.com/google/mtail/actions?query=workflow%3ACI+branch%3main) -[![GoDoc](https://godoc.org/github.com/google/mtail?status.png)](http://godoc.org/github.com/google/mtail) -[![Go Report Card](https://goreportcard.com/badge/github.com/google/mtail)](https://goreportcard.com/report/github.com/google/mtail) +[![ci](https://github.com/jaqx0r/mtail/workflows/CI/badge.svg)](https://github.com/jaqx0r/mtail/actions?query=workflow%3ACI+branch%3main) +[![GoDoc](https://godoc.org/github.com/jaqx0r/mtail?status.png)](http://godoc.org/github.com/jaqx0r/mtail) +[![Go Report Card](https://goreportcard.com/badge/github.com/jaqx0r/mtail)](https://goreportcard.com/report/github.com/jaqx0r/mtail) [![OSS-Fuzz](https://oss-fuzz-build-logs.storage.googleapis.com/badges/mtail.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:mtail) -[![codecov](https://codecov.io/gh/google/mtail/branch/main/graph/badge.svg)](https://codecov.io/gh/google/mtail) +[![codecov](https://codecov.io/gh/jaqx0r/mtail/branch/main/graph/badge.svg)](https://codecov.io/gh/jaqx0r/mtail) `mtail` is a tool for extracting metrics from application logs to be exported into a timeseries database or timeseries calculator for alerting and @@ -42,7 +42,7 @@ There are various ways of installing **mtail**. ### Precompiled binaries Precompiled binaries for released versions are available in the -[Releases page](https://github.com/google/mtail/releases) on Github. Using the +[Releases page](https://github.com/jaqx0r/mtail/releases) on Github. Using the latest production release binary is the recommended way of installing **mtail**. Windows, OSX and Linux binaries are available. @@ -51,15 +51,15 @@ Windows, OSX and Linux binaries are available. The simplest way to get `mtail` is to `go get` it directly. -`go get github.com/google/mtail/cmd/mtail` +`go get github.com/jaqx0r/mtail/cmd/mtail` This assumes you have a working Go environment with a recent Go version. Usually mtail is tested to work with the last two minor versions (e.g. Go 1.12 and Go 1.11). If you want to fetch everything, you need to turn on Go Modules to succeed because of the way Go Modules have changed the way go get treats source trees with no Go code at the top level. ``` -GO111MODULE=on go get -u github.com/google/mtail -cd $GOPATH/src/github.com/google/mtail +GO111MODULE=on go get -u github.com/jaqx0r/mtail +cd $GOPATH/src/github.com/jaqx0r/mtail make install ``` @@ -113,8 +113,8 @@ Read more about deploying `mtail` and your programs in a monitoring environment ## Getting more help and reporting defects -If you have any questions, please use the [GitHub Discussions Q&A](https://github.com/google/mtail/discussions/new?category=q-a). +If you have any questions, please use the [GitHub Discussions Q&A](https://github.com/jaqx0r/mtail/discussions/new?category=q-a). We also have an email list : https://groups.google.com/forum/#!forum/mtail-users -For any defects please [file a new issue](https://github.com/google/mtail/issues/new). +For any defects please [file a new issue](https://github.com/jaqx0r/mtail/issues/new). From 6a4a13f6862d099798eee474e053614a8fa225a5 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 16 Oct 2024 11:00:31 +1100 Subject: [PATCH 003/381] ci: Add CODECOV_TOKEN --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d3718af7b..fa8bb5ea1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,6 +51,8 @@ jobs: if: always() with: file: coverprofile + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - uses: actions/upload-artifact@v4 if: always() with: From 354b876ba93b11bc98fb589d9403c38f0101b748 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 16 Oct 2024 11:23:58 +1100 Subject: [PATCH 004/381] ci: Specify no owners for `go.mod` so dependabot doesn't need a reviewer. --- .github/CODEOWNERS | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9535d21b4..a1a739c1b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1,6 @@ +# All files are by default owned unless a more specific rule set below. * @jaqx0r + +# Don't automatically assign reviewers for PRs that only modify these files. +go.mod +go.sum From af7d9aadc4967877cdf888f6ecd9473fe0b9f596 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 16 Oct 2024 17:03:50 +1100 Subject: [PATCH 005/381] ci: Set goreleaser version and update a deprecated setting. --- .goreleaser.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index 0d54cadc2..2d74456bc 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,3 +1,4 @@ +version: 2 before: hooks: - go mod download @@ -21,7 +22,7 @@ builds: checksum: name_template: 'checksums.txt' snapshot: - name_template: "{{ .Tag }}-next" + version_template: "{{ .Tag }}-next" changelog: filters: exclude: From c9802f4d120e85fe318d82544541212cbb1ba775 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 16 Oct 2024 17:06:20 +1100 Subject: [PATCH 006/381] ci: Run the release step all the time on push. --- .github/workflows/release.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0c21e6ce3..bff73684f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,10 +4,7 @@ on: # goreleaser is put into snapshot mode when not on a tag pull_request: merge_group: - # Run when a tag is pushed. push: - tags: - - v* env: REGISTRY: ghcr.io From 177cdb4279a61c43712803bcd4dfde2f316d82db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 20:36:35 +0000 Subject: [PATCH 007/381] build(deps): bump github.com/prometheus/client_golang Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.4 to 1.20.5. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.20.4...v1.20.5) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3ffe06257..6804acc4a 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da github.com/google/go-cmp v0.6.0 github.com/pkg/errors v0.9.1 - github.com/prometheus/client_golang v1.20.4 + github.com/prometheus/client_golang v1.20.5 github.com/prometheus/common v0.60.0 go.opencensus.io v0.24.0 golang.org/x/sys v0.26.0 diff --git a/go.sum b/go.sum index ef3523c74..a845463b9 100644 --- a/go.sum +++ b/go.sum @@ -113,8 +113,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.4 h1:Tgh3Yr67PaOv/uTqloMsCEdeuFTatm5zIq5+qNN23vI= -github.com/prometheus/client_golang v1.20.4/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= +github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= From 5f4ffda365142a249e819c0abdf275a5dfc2092b Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 17 Oct 2024 07:51:31 +1100 Subject: [PATCH 008/381] ci: Try to make the release workflow run after tagging a new release. --- .github/workflows/release.yml | 9 ++++++++- .github/workflows/tag-new-release.yml | 3 ++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bff73684f..3e0dfb06a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,7 +4,12 @@ on: # goreleaser is put into snapshot mode when not on a tag pull_request: merge_group: - push: + push: # testing, unless there's a tag (steps.0.if below) + workflow_run: + workflows: ["tag new release"] + types: + - completed + env: REGISTRY: ghcr.io @@ -22,6 +27,8 @@ jobs: outputs: binary_hashes: ${{ steps.binary.outputs.hashes }} image_subjects: ${{ steps.image.outputs.subjects }} + # https://github.com/orgs/community/discussions/26238 + if: ${{ !github.event.workflow_run || github.event.workflow_run.conclusion == 'success' }} steps: - if: ${{ !startsWith(github.ref, 'refs/tags/') }} run: echo "flags=--snapshot" >> $GITHUB_ENV diff --git a/.github/workflows/tag-new-release.yml b/.github/workflows/tag-new-release.yml index f945089a1..129cee63a 100644 --- a/.github/workflows/tag-new-release.yml +++ b/.github/workflows/tag-new-release.yml @@ -1,8 +1,9 @@ name: tag new release on: + push: # for testing pull_request: # for testing - workflow_dispatch: + workflow_dispatch: # manual invocation schedule: - cron: "30 5 * * 0" From 7c6a9c8c4090b3765be00cccc903bdaa1c4f9979 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 17 Oct 2024 07:55:19 +1100 Subject: [PATCH 009/381] ci: Bump version on dependencies --- .github/workflows/tag-new-release.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/tag-new-release.yml b/.github/workflows/tag-new-release.yml index 129cee63a..8690e9435 100644 --- a/.github/workflows/tag-new-release.yml +++ b/.github/workflows/tag-new-release.yml @@ -18,5 +18,4 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} create_annotated_tag: true custom_release_rules: ci:none,chore:none,style:none - default_bump: none dry_run: ${{ github.event_name != 'workflow_dispatch' && github.event_name != 'schedule' }} From c11fa4fa2708ef802f4c79537641b3ab4718273d Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 17 Oct 2024 08:01:32 +1100 Subject: [PATCH 010/381] ci: Don't be in snapshot mode if triggered by workflow run. --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3e0dfb06a..9386ac513 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,7 +30,7 @@ jobs: # https://github.com/orgs/community/discussions/26238 if: ${{ !github.event.workflow_run || github.event.workflow_run.conclusion == 'success' }} steps: - - if: ${{ !startsWith(github.ref, 'refs/tags/') }} + - if: ${{ !startsWith(github.ref, 'refs/tags/') || github.event.workflow_run }} run: echo "flags=--snapshot" >> $GITHUB_ENV - uses: actions/checkout@v4 with: From 9b73988c386f954501aae49738cf09e669730e76 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 17 Oct 2024 08:03:38 +1100 Subject: [PATCH 011/381] ci: test printing github context --- .github/workflows/release.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9386ac513..d68e1ad07 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,7 +30,11 @@ jobs: # https://github.com/orgs/community/discussions/26238 if: ${{ !github.event.workflow_run || github.event.workflow_run.conclusion == 'success' }} steps: - - if: ${{ !startsWith(github.ref, 'refs/tags/') || github.event.workflow_run }} + - name: print github context + env: + GITHUB_CONTEXT: ${{ toJSON(github) }} + run: echo $GITHUB_CONTEXT + - if: ${{ !startsWith(github.ref, 'refs/tags/') && !github.event.workflow_run }} run: echo "flags=--snapshot" >> $GITHUB_ENV - uses: actions/checkout@v4 with: From 18a842ea53be1ef117658ecc31970a845b2b05f0 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 17 Oct 2024 10:23:31 +1100 Subject: [PATCH 012/381] ci: Use a PAT with tag-new in order to trigger the release workflow. --- .github/workflows/release.yml | 9 +-------- .github/workflows/tag-new-release.yml | 3 ++- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d68e1ad07..9a109bfb0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,11 +5,6 @@ on: pull_request: merge_group: push: # testing, unless there's a tag (steps.0.if below) - workflow_run: - workflows: ["tag new release"] - types: - - completed - env: REGISTRY: ghcr.io @@ -27,14 +22,12 @@ jobs: outputs: binary_hashes: ${{ steps.binary.outputs.hashes }} image_subjects: ${{ steps.image.outputs.subjects }} - # https://github.com/orgs/community/discussions/26238 - if: ${{ !github.event.workflow_run || github.event.workflow_run.conclusion == 'success' }} steps: - name: print github context env: GITHUB_CONTEXT: ${{ toJSON(github) }} run: echo $GITHUB_CONTEXT - - if: ${{ !startsWith(github.ref, 'refs/tags/') && !github.event.workflow_run }} + - if: ${{ !startsWith(github.ref, 'refs/tags/') }} run: echo "flags=--snapshot" >> $GITHUB_ENV - uses: actions/checkout@v4 with: diff --git a/.github/workflows/tag-new-release.yml b/.github/workflows/tag-new-release.yml index 8690e9435..6a302488d 100644 --- a/.github/workflows/tag-new-release.yml +++ b/.github/workflows/tag-new-release.yml @@ -15,7 +15,8 @@ jobs: - uses: mathieudutour/github-tag-action@v6.2 continue-on-error: true # ok to not make a new tag with: - github_token: ${{ secrets.GITHUB_TOKEN }} + # Special PAT so that we trigger new workflows + github_token: ${{ secrets.TAG_TOKEN }} create_annotated_tag: true custom_release_rules: ci:none,chore:none,style:none dry_run: ${{ github.event_name != 'workflow_dispatch' && github.event_name != 'schedule' }} From 25aeb2e3ea047fa8c32df06108b3d9541940659a Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 17 Oct 2024 10:50:56 +1100 Subject: [PATCH 013/381] ci: Update goreleaser config for containers --- .github/workflows/tag-new-release.yml | 2 +- .goreleaser.yml | 34 +++++++++++++-------------- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/.github/workflows/tag-new-release.yml b/.github/workflows/tag-new-release.yml index 6a302488d..b78a5b161 100644 --- a/.github/workflows/tag-new-release.yml +++ b/.github/workflows/tag-new-release.yml @@ -15,7 +15,7 @@ jobs: - uses: mathieudutour/github-tag-action@v6.2 continue-on-error: true # ok to not make a new tag with: - # Special PAT so that we trigger new workflows + # Special PAT so that we trigger new workflows, that has contents:write only github_token: ${{ secrets.TAG_TOKEN }} create_annotated_tag: true custom_release_rules: ci:none,chore:none,style:none diff --git a/.goreleaser.yml b/.goreleaser.yml index 2d74456bc..607a47082 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -32,47 +32,45 @@ release: github: name_template: v{{.Version}} dockers: -- image_templates: ["ghcr.io/google/{{ .ProjectName }}:{{ .Version }}-amd64"] +- image_templates: ["ghcr.io/jaqx0r/{{ .ProjectName }}:{{ .Version }}-amd64"] dockerfile: Dockerfile.goreleaser use: buildx build_flag_templates: - --platform=linux/amd64 - - --label=org.opencontainers.image.ref.name="google/mtail" + - --label=org.opencontainers.image.ref.name="jaqx0r/mtail" - --label=org.opencontainers.image.authors="Jamie Wilkinson (@jaqx0r)" - --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }} - --label=org.opencontainers.image.description="extract internal monitoring data from application logs for collection in a timeseries database" - - --label=org.opencontainers.image.documentation="https://google.github.io/mtail/" + - --label=org.opencontainers.image.documentation="https://jaqx0r.github.io/mtail/" - --label=org.opencontainers.image.licenses="Apache-2.0" - --label=org.opencontainers.image.revision={{ .FullCommit }} - - --label=org.opencontainers.image.source=https://github.com/google/{{ .ProjectName }} + - --label=org.opencontainers.image.source=https://github.com/jaqx0r/{{ .ProjectName }} - --label=org.opencontainers.image.title={{ .ProjectName }} - - --label=org.opencontainers.image.url=https://github.com/google/{{ .ProjectName }} - - --label=org.opencontainers.image.vendor="Google" + - --label=org.opencontainers.image.url=https://github.com/jaqx0r/{{ .ProjectName }} - --label=org.opencontainers.image.version={{ .Version }} -- image_templates: ["ghcr.io/google/{{ .ProjectName }}:{{ .Version }}-arm64v8"] +- image_templates: ["ghcr.io/jaqx0r/{{ .ProjectName }}:{{ .Version }}-arm64v8"] goarch: arm64 dockerfile: Dockerfile.goreleaser use: buildx build_flag_templates: - --platform=linux/arm64/v8 - - --label=org.opencontainers.image.ref.name="google/mtail" + - --label=org.opencontainers.image.ref.name="jaqx0r/mtail" - --label=org.opencontainers.image.authors="Jamie Wilkinson (@jaqx0r)" - --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }} - --label=org.opencontainers.image.description="extract internal monitoring data from application logs for collection in a timeseries database" - - --label=org.opencontainers.image.documentation="https://google.github.io/mtail/" + - --label=org.opencontainers.image.documentation="https://jaqx0r.github.io/mtail/" - --label=org.opencontainers.image.licenses="Apache-2.0" - --label=org.opencontainers.image.revision={{ .FullCommit }} - - --label=org.opencontainers.image.source=https://github.com/google/{{ .ProjectName }} + - --label=org.opencontainers.image.source=https://github.com/jaqx0r/{{ .ProjectName }} - --label=org.opencontainers.image.title={{ .ProjectName }} - - --label=org.opencontainers.image.url=https://github.com/google/{{ .ProjectName }} - - --label=org.opencontainers.image.vendor="Google" + - --label=org.opencontainers.image.url=https://github.com/jaqx0r/{{ .ProjectName }} - --label=org.opencontainers.image.version={{ .Version }} docker_manifests: - - name_template: ghcr.io/google/{{ .ProjectName }}:{{ .Version }} + - name_template: ghcr.io/jaqx0r/{{ .ProjectName }}:{{ .Version }} image_templates: - - ghcr.io/google/{{ .ProjectName }}:{{ .Version }}-amd64 - - ghcr.io/google/{{ .ProjectName }}:{{ .Version }}-arm64v8 - - name_template: ghcr.io/google/{{ .ProjectName }}:latest + - ghcr.io/jaqx0r/{{ .ProjectName }}:{{ .Version }}-amd64 + - ghcr.io/jaqx0r/{{ .ProjectName }}:{{ .Version }}-arm64v8 + - name_template: ghcr.io/jaqx0r/{{ .ProjectName }}:latest image_templates: - - ghcr.io/google/{{ .ProjectName }}:{{ .Version }}-amd64 - - ghcr.io/google/{{ .ProjectName }}:{{ .Version }}-arm64v8 + - ghcr.io/jaqx0r/{{ .ProjectName }}:{{ .Version }}-amd64 + - ghcr.io/jaqx0r/{{ .ProjectName }}:{{ .Version }}-arm64v8 From 2d296fc35aa6fa0d28b9c108a22ab913c258f7a5 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 17 Oct 2024 11:29:11 +1100 Subject: [PATCH 014/381] doc: Update links to local github pages deployment. --- README.md | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 62dfe9a0e..f3787dcb5 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ export their own internal state (other than via logs) and existing monitoring systems, such that system operators do not need to patch those applications to instrument them or writing custom extraction code for every such application. -The extraction is controlled by [mtail programs](docs/Programming-Guide.md) +The extraction is controlled by [mtail programs](https://jaqx0r.github.io/mtail/Programming-Guide) which define patterns and actions: # simple line counter @@ -30,7 +30,7 @@ Metrics are exported for scraping by a collector as JSON or Prometheus format over HTTP, or can be periodically sent to a collectd, StatsD, or Graphite collector socket. -Read the [programming guide](docs/Programming-Guide.md) if you want to learn how +Read the [programming guide](https://jaqx0r.github.io/mtail/Programming-Guide) if you want to learn how to write mtail programs. Ask general questions on the users mailing list: https://groups.google.com/g/mtail-users @@ -66,7 +66,7 @@ make install If you develop the compiler you will need some additional tools like `goyacc` to be able to rebuild the parser. -See the [Build instructions](docs/Building.md) for more details. +See the [Build instructions](https://jaqx0r.github.io/mtail/Building) for more details. A `Dockerfile` is included in this repository for local development as an alternative to installing Go in your environment, and takes care of all the @@ -85,30 +85,32 @@ alerting tool, like [Prometheus](http://prometheus.io). to!](http://www.imdb.com/title/tt0151804/quotes/?item=qt0386890) It has the extraction skills! It is good at dealing with log files!! +Learn more about [interoperability with other tools](https://jaqx0r.github.io/mtail/Interoperability) + ## Read More -Full documentation at http://google.github.io/mtail/ +Full documentation at https://jaqx0r.github.io/mtail/ Read more about writing `mtail` programs: -* [Programming Guide](docs/Programming-Guide.md) -* [Language Reference](docs/Language.md) -* [Metrics](docs/Metrics.md) -* [Managing internal state](docs/state.md) -* [Testing your programs](docs/Testing.md) +* [Programming Guide](https://jaqx0r.github.io/mtail/Programming-Guide) +* [Language Reference](https://jaqx0r.github.io/mtail/Language) +* [Metrics](https://jaqx0r.github.io/mtail/Metrics) +* [Managing internal state](https://jaqx0r.github.io/mtail/state) +* [Testing your programs](https://jaqx0r.github.io/mtail/Testing) Read more about hacking on `mtail` -* [Building from source](docs/Building.md) +* [Building from source](https://jaqx0r.github.io/mtail/Building) * [Contributing](CONTRIBUTING.md) -* [Style](docs/style.md) +* [Style](https://jaqx0r.github.io/mtail/style) Read more about deploying `mtail` and your programs in a monitoring environment -* [Deploying](docs/Deploying.md) -* [Interoperability](docs/Interoperability.md) with other systems -* [Troubleshooting](docs/Troubleshooting.md) -* [FAQ](docs/faq.md) +* [Deploying](https://jaqx0r.github.io/mtail/Deploying) +* [Interoperability](https://jaqx0r.github.io/mtail/Interoperability) with other systems +* [Troubleshooting](https://jaqx0r.github.io/mtail/Troubleshooting) +* [FAQ](https://jaqx0r.github.io/mtail/faq) ## Getting more help and reporting defects From 8209b3b137085f94a3e5cd80352dd192857e447f Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 17 Oct 2024 14:17:43 +1100 Subject: [PATCH 015/381] chore: Rename imports and upstream paths. --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .gitlab-ci.yml | 4 ++-- Dockerfile | 9 ++++----- ISSUE_TEMPLATE.md | 2 +- README.md | 2 +- cmd/mdot/main.go | 12 ++++++------ cmd/mfmt/main.go | 4 ++-- cmd/mgen/main.go | 2 +- cmd/mtail/main.go | 8 ++++---- docs/Building.md | 6 +++--- docs/Testing.md | 2 +- docs/Troubleshooting.md | 8 ++++---- go.mod | 2 +- internal/exporter/collectd.go | 2 +- internal/exporter/export.go | 2 +- internal/exporter/export_test.go | 6 +++--- internal/exporter/graphite.go | 4 ++-- internal/exporter/graphite_test.go | 6 +++--- internal/exporter/json_test.go | 6 +++--- internal/exporter/prometheus.go | 4 ++-- internal/exporter/prometheus_test.go | 6 +++--- internal/exporter/statsd.go | 2 +- internal/exporter/varz.go | 2 +- internal/exporter/varz_test.go | 6 +++--- internal/metrics/datum/buckets_test.go | 2 +- internal/metrics/datum/datum_test.go | 2 +- internal/metrics/metric.go | 2 +- internal/metrics/metric_test.go | 4 ++-- internal/metrics/store_test.go | 6 +++--- internal/mtail/basic_tail_integration_test.go | 4 ++-- .../mtail/compile_only_integration_test.go | 6 +++--- internal/mtail/examples_integration_test.go | 12 ++++++------ .../mtail/examples_integration_unix_test.go | 10 +++++----- internal/mtail/exec_integration_test.go | 2 +- internal/mtail/golden/reader.go | 4 ++-- internal/mtail/golden/reader_test.go | 6 +++--- .../log_deletion_integration_unix_test.go | 4 ++-- internal/mtail/log_glob_integration_test.go | 4 ++-- .../mtail/log_rotation_integration_test.go | 4 ++-- .../log_rotation_integration_unix_test.go | 4 ++-- .../mtail/log_truncation_integration_test.go | 4 ++-- internal/mtail/mtail.go | 10 +++++----- ...ltiple_levels_directory_integration_test.go | 4 ++-- .../mtail/multiple_lines_integration_test.go | 4 ++-- internal/mtail/options.go | 8 ++++---- .../mtail/partial_line_integration_test.go | 4 ++-- .../permission_denied_integration_unix_test.go | 4 ++-- internal/mtail/prog_load_integration_test.go | 4 ++-- .../mtail/read_pipe_integration_unix_test.go | 4 ++-- .../relative_path_pattern_integration_test.go | 4 ++-- internal/mtail/testing.go | 8 ++++---- .../unix_socket_export_integration_test.go | 4 ++-- internal/runtime/code/instr_test.go | 4 ++-- internal/runtime/code/object.go | 2 +- internal/runtime/compiler/ast/ast.go | 8 ++++---- internal/runtime/compiler/ast/walk_test.go | 10 +++++----- internal/runtime/compiler/checker/checker.go | 12 ++++++------ .../runtime/compiler/checker/checker_test.go | 12 ++++++------ internal/runtime/compiler/codegen/codegen.go | 18 +++++++++--------- .../runtime/compiler/codegen/codegen_test.go | 12 ++++++------ internal/runtime/compiler/compiler.go | 12 ++++++------ internal/runtime/compiler/compiler_test.go | 4 ++-- internal/runtime/compiler/errors/errors.go | 2 +- .../runtime/compiler/errors/errors_test.go | 2 +- internal/runtime/compiler/opt/opt.go | 10 +++++----- internal/runtime/compiler/opt/opt_test.go | 8 ++++---- internal/runtime/compiler/parser/driver.go | 6 +++--- internal/runtime/compiler/parser/lexer.go | 2 +- internal/runtime/compiler/parser/lexer_test.go | 4 ++-- internal/runtime/compiler/parser/parser.go | 6 +++--- internal/runtime/compiler/parser/parser.y | 6 +++--- .../runtime/compiler/parser/parser_test.go | 6 +++--- internal/runtime/compiler/parser/sexp.go | 6 +++--- internal/runtime/compiler/parser/tokens.go | 2 +- .../runtime/compiler/parser/tokens_test.go | 2 +- internal/runtime/compiler/parser/unparser.go | 4 ++-- internal/runtime/compiler/symbol/symtab.go | 4 ++-- .../runtime/compiler/symbol/symtab_test.go | 2 +- internal/runtime/compiler/types/types_test.go | 2 +- internal/runtime/fuzz.go | 6 +++--- internal/runtime/httpstatus.go | 2 +- internal/runtime/options.go | 4 ++-- internal/runtime/runtime.go | 8 ++++---- internal/runtime/runtime_integration_test.go | 8 ++++---- internal/runtime/runtime_test.go | 6 +++--- internal/runtime/vm/vm.go | 8 ++++---- internal/runtime/vm/vm_test.go | 10 +++++----- internal/tailer/httpstatus.go | 2 +- internal/tailer/logstream/base.go | 2 +- internal/tailer/logstream/dgramstream.go | 4 ++-- .../tailer/logstream/dgramstream_unix_test.go | 8 ++++---- internal/tailer/logstream/fifostream.go | 4 ++-- .../tailer/logstream/fifostream_unix_test.go | 8 ++++---- internal/tailer/logstream/filestream.go | 4 ++-- internal/tailer/logstream/filestream_test.go | 8 ++++---- .../tailer/logstream/filestream_unix_test.go | 8 ++++---- internal/tailer/logstream/logstream.go | 4 ++-- internal/tailer/logstream/logstream_test.go | 2 +- .../tailer/logstream/logstream_unix_test.go | 4 ++-- internal/tailer/logstream/reader.go | 2 +- internal/tailer/logstream/reader_test.go | 4 ++-- internal/tailer/logstream/socketstream.go | 4 ++-- .../tailer/logstream/socketstream_unix_test.go | 8 ++++---- internal/tailer/tail.go | 6 +++--- internal/tailer/tail_test.go | 6 +++--- internal/tailer/tail_unix_test.go | 4 ++-- internal/tailer/tail_windows_test.go | 2 +- internal/testutil/lines.go | 2 +- internal/waker/testwaker_test.go | 2 +- internal/waker/timedwaker_test.go | 2 +- mtail.service | 4 ++-- 111 files changed, 285 insertions(+), 286 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 66915d899..81aeb6021 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -15,7 +15,7 @@ If your problem is with the way an `mtail` program is behaving, please attach or If your problem is with `mtail`, please include the commandline you started it with, and the INFO log. -See also [Reporting a problem](https://github.com/google/mtail/blob/main/docs/Troubleshooting.md#reporting-a-problem). +See also [Reporting a problem](https://github.com/jaqx0r/mtail/blob/main/docs/Troubleshooting.md#reporting-a-problem). Thanks! diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b3d3a12cc..3fae39195 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,8 +7,8 @@ stages: before_script: - mkdir ${CI_PROJECT_DIR}/build - mkdir -p ${GOPATH}/src/github.com/google/ - - ln -s $(pwd) ${GOPATH}/src/github.com/google/mtail - - cd ${GOPATH}/src/github.com/google/mtail + - ln -s $(pwd) ${GOPATH}/src/github.com/jaqx0r/mtail + - cd ${GOPATH}/src/github.com/jaqx0r/mtail test: stage: test diff --git a/Dockerfile b/Dockerfile index 2798d5e9c..482f7bb52 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM golang:alpine AS builder RUN apk add --update git make -WORKDIR /go/src/github.com/google/mtail -COPY . /go/src/github.com/google/mtail +WORKDIR /go/src/github.com/jaqx0r/mtail +COPY . /go/src/github.com/jaqx0r/mtail RUN make depclean && make install_deps && PREFIX=/go make STATIC=y -B install @@ -18,8 +18,7 @@ ARG commit_hash=unknown ARG vcs_url=unknown ARG vcs_branch=unknown -LABEL org.opencontainers.image.ref.name="google/mtail" \ - org.opencontainers.image.vendor="Google" \ +LABEL org.opencontainers.image.ref.name="jaqx0r/mtail" \ org.opencontainers.image.title="mtail" \ org.opencontainers.image.description="extract internal monitoring data from application logs for collection in a timeseries database" \ org.opencontainers.image.authors="Jamie Wilkinson (@jaqx0r)" \ @@ -29,4 +28,4 @@ LABEL org.opencontainers.image.ref.name="google/mtail" \ org.opencontainers.image.source=$vcs_url \ org.opencontainers.image.documentation="https://google.github.io/mtail/" \ org.opencontainers.image.created=$build_date \ - org.opencontainers.image.url="https://github.com/google/mtail" + org.opencontainers.image.url="https://github.com/jaqx0r/mtail" diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md index dd8bdacf6..df6e611ca 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -6,7 +6,7 @@ If your problem is with the way an `mtail` program is behaving, please attach or If your problem is with `mtail`, please include the commandline you started it with, and the INFO log. -See also [Reporting a problem](https://github.com/google/mtail/blob/main/docs/Troubleshooting.md#reporting-a-problem). +See also [Reporting a problem](https://github.com/jaqx0r/mtail/blob/main/docs/Troubleshooting.md#reporting-a-problem). Thanks! diff --git a/README.md b/README.md index f3787dcb5..510374122 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -mtail +mtail # mtail - extract internal monitoring data from application logs for collection into a timeseries database diff --git a/cmd/mdot/main.go b/cmd/mdot/main.go index 9d3cc1020..42a07f4c4 100644 --- a/cmd/mdot/main.go +++ b/cmd/mdot/main.go @@ -6,11 +6,11 @@ Command mdot turns an mtail program AST into a graphviz graph on standard output To use, run it like (assuming your shell is in the same directory as this file) - go run github.com/google/mtail/cmd/mdot --prog ../../examples/dhcpd.mtail | xdot - + go run github.com/jaqx0r/mtail/cmd/mdot --prog ../../examples/dhcpd.mtail | xdot - or - go run github.com/google/mtail/cmd/mdot --prog ../../examples/dhcpd.mtail --http_port 8080 + go run github.com/jaqx0r/mtail/cmd/mdot --prog ../../examples/dhcpd.mtail --http_port 8080 to view the dot output visit http://localhost:8080 @@ -29,10 +29,10 @@ import ( "strings" "github.com/golang/glog" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/runtime/compiler/ast" - "github.com/google/mtail/internal/runtime/compiler/checker" - "github.com/google/mtail/internal/runtime/compiler/parser" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/checker" + "github.com/jaqx0r/mtail/internal/runtime/compiler/parser" ) var ( diff --git a/cmd/mfmt/main.go b/cmd/mfmt/main.go index 0afcecfd5..d9fb14790 100644 --- a/cmd/mfmt/main.go +++ b/cmd/mfmt/main.go @@ -13,8 +13,8 @@ import ( "os" "github.com/golang/glog" - "github.com/google/mtail/internal/runtime/compiler/checker" - "github.com/google/mtail/internal/runtime/compiler/parser" + "github.com/jaqx0r/mtail/internal/runtime/compiler/checker" + "github.com/jaqx0r/mtail/internal/runtime/compiler/parser" ) var ( diff --git a/cmd/mgen/main.go b/cmd/mgen/main.go index 0f18245aa..2c9465e9c 100644 --- a/cmd/mgen/main.go +++ b/cmd/mgen/main.go @@ -9,7 +9,7 @@ import ( "fmt" "math/rand" - "github.com/google/mtail/internal/runtime/compiler/parser" + "github.com/jaqx0r/mtail/internal/runtime/compiler/parser" ) var ( diff --git a/cmd/mtail/main.go b/cmd/mtail/main.go index e1685db24..5a10a63a6 100644 --- a/cmd/mtail/main.go +++ b/cmd/mtail/main.go @@ -15,10 +15,10 @@ import ( "time" "github.com/golang/glog" - "github.com/google/mtail/internal/exporter" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/exporter" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/waker" "go.opencensus.io/trace" ) diff --git a/docs/Building.md b/docs/Building.md index 67ebbcf73..8c79cab6e 100644 --- a/docs/Building.md +++ b/docs/Building.md @@ -9,16 +9,16 @@ You will need to install a recent Go. Fetch, build, and install the binary directly with `go get` -`go install github.com/google/mtail/cmd/mtail` +`go install github.com/jaqx0r/mtail/cmd/mtail` NOTE: If you do it this way, you won't have a supported version of `mtail`. ## The "Right Way" -[Clone](http://github.com/google/mtail) the source from GitHub into your `$GOPATH`. If you don't have a `$GOPATH`, see the next section. +[Clone](http://github.com/jaqx0r/mtail) the source from GitHub into your `$GOPATH`. If you don't have a `$GOPATH`, see the next section. ``` -git clone https://github.com/google/mtail +git clone https://github.com/jaqx0r/mtail cd mtail make test install ``` diff --git a/docs/Testing.md b/docs/Testing.md index 898beae13..f8f090342 100644 --- a/docs/Testing.md +++ b/docs/Testing.md @@ -40,7 +40,7 @@ mtail --one_shot --progs ./progs --logs testdata/foo.log If you wish, send a PR containing your program, some sample input, and a golden output to be run as a test in -http://github.com/google/mtail/blob/main/ex_test.go to ensure that mtail +http://github.com/jaqx0r/mtail/blob/main/ex_test.go to ensure that mtail never breaks your program (or that your program gets any updates if the language changes.) diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md index a0d7a7105..b8f4d031b 100644 --- a/docs/Troubleshooting.md +++ b/docs/Troubleshooting.md @@ -14,19 +14,19 @@ Please when reporting a problem, include the `mtail` version: ## `go get` or build problems -### `package github.com/google/mtail: no Go files` +### `package github.com/jaqx0r/mtail: no Go files` You're using go 1.11 or higher, which now starts to use go modules, and doesn't like source code layouts like `mtail` which doesn't have any Go files in the top directory. Either set `GO111MODULE=on` environment variable first, or `go get` the binary directly: -`go get github.com/google/mtail/cmd/mtail` +`go get github.com/jaqx0r/mtail/cmd/mtail` vs ``` -GO111MODULE=on go get -u github.com/google/mtail -cd $GOPATH/src/github.com/google/mtail +GO111MODULE=on go get -u github.com/jaqx0r/mtail +cd $GOPATH/src/github.com/jaqx0r/mtail make install ``` diff --git a/go.mod b/go.mod index 6804acc4a..af6a5d803 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/google/mtail +module github.com/jaqx0r/mtail go 1.21.1 diff --git a/internal/exporter/collectd.go b/internal/exporter/collectd.go index 651b82f58..f25800abb 100644 --- a/internal/exporter/collectd.go +++ b/internal/exporter/collectd.go @@ -10,7 +10,7 @@ import ( "strings" "time" - "github.com/google/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics" ) const ( diff --git a/internal/exporter/export.go b/internal/exporter/export.go index 1825974fd..c7f1702f4 100644 --- a/internal/exporter/export.go +++ b/internal/exporter/export.go @@ -19,7 +19,7 @@ import ( "time" "github.com/golang/glog" - "github.com/google/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics" "github.com/pkg/errors" ) diff --git a/internal/exporter/export_test.go b/internal/exporter/export_test.go index 317cbba06..af9aadf7e 100644 --- a/internal/exporter/export_test.go +++ b/internal/exporter/export_test.go @@ -12,9 +12,9 @@ import ( "testing" "time" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/testutil" ) const prefix = "prefix" diff --git a/internal/exporter/graphite.go b/internal/exporter/graphite.go index 74df6cc9c..08e78db98 100644 --- a/internal/exporter/graphite.go +++ b/internal/exporter/graphite.go @@ -12,8 +12,8 @@ import ( "strings" "time" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" ) var ( diff --git a/internal/exporter/graphite_test.go b/internal/exporter/graphite_test.go index b39cdf97d..48b81c21a 100644 --- a/internal/exporter/graphite_test.go +++ b/internal/exporter/graphite_test.go @@ -12,9 +12,9 @@ import ( "testing" "time" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/testutil" ) var handleGraphiteTests = []struct { diff --git a/internal/exporter/json_test.go b/internal/exporter/json_test.go index 3235f870f..a386c9017 100644 --- a/internal/exporter/json_test.go +++ b/internal/exporter/json_test.go @@ -13,9 +13,9 @@ import ( "testing" "time" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/testutil" ) var handleJSONTests = []struct { diff --git a/internal/exporter/prometheus.go b/internal/exporter/prometheus.go index 3d8f04616..07acdd293 100644 --- a/internal/exporter/prometheus.go +++ b/internal/exporter/prometheus.go @@ -10,8 +10,8 @@ import ( "strings" "github.com/golang/glog" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/common/expfmt" ) diff --git a/internal/exporter/prometheus_test.go b/internal/exporter/prometheus_test.go index e86f14d3b..b8d0330dd 100644 --- a/internal/exporter/prometheus_test.go +++ b/internal/exporter/prometheus_test.go @@ -11,9 +11,9 @@ import ( "testing" "time" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/testutil" promtest "github.com/prometheus/client_golang/prometheus/testutil" ) diff --git a/internal/exporter/statsd.go b/internal/exporter/statsd.go index 8cbcca404..6fb308451 100644 --- a/internal/exporter/statsd.go +++ b/internal/exporter/statsd.go @@ -9,7 +9,7 @@ import ( "fmt" "time" - "github.com/google/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics" ) var ( diff --git a/internal/exporter/varz.go b/internal/exporter/varz.go index e8c400b27..91395b25f 100644 --- a/internal/exporter/varz.go +++ b/internal/exporter/varz.go @@ -10,7 +10,7 @@ import ( "sort" "strings" - "github.com/google/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics" ) var exportVarzTotal = expvar.NewInt("exporter_varz_total") diff --git a/internal/exporter/varz_test.go b/internal/exporter/varz_test.go index 9026be7be..ff7a94f51 100644 --- a/internal/exporter/varz_test.go +++ b/internal/exporter/varz_test.go @@ -11,9 +11,9 @@ import ( "testing" "time" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/testutil" ) var handleVarzTests = []struct { diff --git a/internal/metrics/datum/buckets_test.go b/internal/metrics/datum/buckets_test.go index d0a54df7f..9bdee7d4e 100644 --- a/internal/metrics/datum/buckets_test.go +++ b/internal/metrics/datum/buckets_test.go @@ -9,7 +9,7 @@ import ( "testing/quick" "time" - "github.com/google/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/metrics/datum" ) func TestBucketContains(t *testing.T) { diff --git a/internal/metrics/datum/datum_test.go b/internal/metrics/datum/datum_test.go index a9d36db65..aeaf79c26 100644 --- a/internal/metrics/datum/datum_test.go +++ b/internal/metrics/datum/datum_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestDatumSetAndValue(t *testing.T) { diff --git a/internal/metrics/metric.go b/internal/metrics/metric.go index bf8ec95d5..d0fb54ba7 100644 --- a/internal/metrics/metric.go +++ b/internal/metrics/metric.go @@ -15,7 +15,7 @@ import ( "time" "github.com/golang/glog" - "github.com/google/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/metrics/datum" "github.com/pkg/errors" ) diff --git a/internal/metrics/metric_test.go b/internal/metrics/metric_test.go index 3440808e3..279c5381a 100644 --- a/internal/metrics/metric_test.go +++ b/internal/metrics/metric_test.go @@ -13,8 +13,8 @@ import ( "testing/quick" "time" - "github.com/google/mtail/internal/metrics/datum" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestKindType(t *testing.T) { diff --git a/internal/metrics/store_test.go b/internal/metrics/store_test.go index 096fe07f6..000238811 100644 --- a/internal/metrics/store_test.go +++ b/internal/metrics/store_test.go @@ -9,8 +9,8 @@ import ( "time" "github.com/golang/glog" - "github.com/google/mtail/internal/metrics/datum" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestMatchingKind(t *testing.T) { @@ -65,7 +65,7 @@ func TestDuplicateMetric(t *testing.T) { // A program can add a metric with the same name and of different type. // Prometheus behavior in this case is undefined. @see -// https://github.com/google/mtail/issues/130 +// https://github.com/jaqx0r/mtail/issues/130 func TestAddMetricDifferentType(t *testing.T) { expected := 2 s := NewStore() diff --git a/internal/mtail/basic_tail_integration_test.go b/internal/mtail/basic_tail_integration_test.go index 1bfc95f9f..017a49e6e 100644 --- a/internal/mtail/basic_tail_integration_test.go +++ b/internal/mtail/basic_tail_integration_test.go @@ -10,8 +10,8 @@ import ( "sync" "testing" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestBasicTail(t *testing.T) { diff --git a/internal/mtail/compile_only_integration_test.go b/internal/mtail/compile_only_integration_test.go index af6fa5163..8a0e4fdde 100644 --- a/internal/mtail/compile_only_integration_test.go +++ b/internal/mtail/compile_only_integration_test.go @@ -10,9 +10,9 @@ import ( "strings" "testing" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestBadProgramFailsCompilation(t *testing.T) { diff --git a/internal/mtail/examples_integration_test.go b/internal/mtail/examples_integration_test.go index 3dca5fd94..7f0a37313 100644 --- a/internal/mtail/examples_integration_test.go +++ b/internal/mtail/examples_integration_test.go @@ -13,12 +13,12 @@ import ( "testing" "time" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/mtail/golden" - "github.com/google/mtail/internal/testutil" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/mtail/golden" + "github.com/jaqx0r/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/waker" ) const exampleTimeout = 10 * time.Second diff --git a/internal/mtail/examples_integration_unix_test.go b/internal/mtail/examples_integration_unix_test.go index bc93e91e0..e9ca2ebca 100644 --- a/internal/mtail/examples_integration_unix_test.go +++ b/internal/mtail/examples_integration_unix_test.go @@ -18,11 +18,11 @@ import ( "time" "github.com/golang/glog" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/waker" "golang.org/x/sys/unix" ) diff --git a/internal/mtail/exec_integration_test.go b/internal/mtail/exec_integration_test.go index ba87bade9..4e9b1908d 100644 --- a/internal/mtail/exec_integration_test.go +++ b/internal/mtail/exec_integration_test.go @@ -14,7 +14,7 @@ import ( "time" "github.com/golang/glog" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/testutil" ) var mtailPath string diff --git a/internal/mtail/golden/reader.go b/internal/mtail/golden/reader.go index be3e12ce2..deb72618e 100644 --- a/internal/mtail/golden/reader.go +++ b/internal/mtail/golden/reader.go @@ -13,8 +13,8 @@ import ( "time" "github.com/golang/glog" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" ) var varRe = regexp.MustCompile(`^(counter|gauge|timer|text|histogram) ([^ ]+)(?: {([^}]+)})?(?: (\S+))?(?: (.+))?`) diff --git a/internal/mtail/golden/reader_test.go b/internal/mtail/golden/reader_test.go index 2d8e577b9..6cc4767c5 100644 --- a/internal/mtail/golden/reader_test.go +++ b/internal/mtail/golden/reader_test.go @@ -6,9 +6,9 @@ import ( "testing" "time" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/testutil" ) var expectedMetrics = metrics.MetricSlice{ diff --git a/internal/mtail/log_deletion_integration_unix_test.go b/internal/mtail/log_deletion_integration_unix_test.go index fa1b87f9e..bd37f0c66 100644 --- a/internal/mtail/log_deletion_integration_unix_test.go +++ b/internal/mtail/log_deletion_integration_unix_test.go @@ -11,8 +11,8 @@ import ( "testing" "github.com/golang/glog" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" ) // TestLogDeletion is a unix-only test because on Windows files with open read handles cannot be deleted. diff --git a/internal/mtail/log_glob_integration_test.go b/internal/mtail/log_glob_integration_test.go index 9e3770c23..7587abc36 100644 --- a/internal/mtail/log_glob_integration_test.go +++ b/internal/mtail/log_glob_integration_test.go @@ -10,8 +10,8 @@ import ( "testing" "github.com/golang/glog" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestGlobBeforeStart(t *testing.T) { diff --git a/internal/mtail/log_rotation_integration_test.go b/internal/mtail/log_rotation_integration_test.go index bf2ed33e4..4b4390fca 100644 --- a/internal/mtail/log_rotation_integration_test.go +++ b/internal/mtail/log_rotation_integration_test.go @@ -11,8 +11,8 @@ import ( "testing" "github.com/golang/glog" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestLogRotationBySoftLinkChange(t *testing.T) { diff --git a/internal/mtail/log_rotation_integration_unix_test.go b/internal/mtail/log_rotation_integration_unix_test.go index ef310e93b..1f2228b3d 100644 --- a/internal/mtail/log_rotation_integration_unix_test.go +++ b/internal/mtail/log_rotation_integration_unix_test.go @@ -13,8 +13,8 @@ import ( "testing" "github.com/golang/glog" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" ) // TestLogRotationByRename is a unix-specific test because on Windows, files diff --git a/internal/mtail/log_truncation_integration_test.go b/internal/mtail/log_truncation_integration_test.go index 3665e99ec..a3831d13c 100644 --- a/internal/mtail/log_truncation_integration_test.go +++ b/internal/mtail/log_truncation_integration_test.go @@ -9,8 +9,8 @@ import ( "testing" "github.com/golang/glog" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestLogTruncation(t *testing.T) { diff --git a/internal/mtail/mtail.go b/internal/mtail/mtail.go index 073cefdee..58739130f 100644 --- a/internal/mtail/mtail.go +++ b/internal/mtail/mtail.go @@ -14,11 +14,11 @@ import ( "time" "github.com/golang/glog" - "github.com/google/mtail/internal/exporter" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/runtime" - "github.com/google/mtail/internal/tailer" + "github.com/jaqx0r/mtail/internal/exporter" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/runtime" + "github.com/jaqx0r/mtail/internal/tailer" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/collectors" vc "github.com/prometheus/client_golang/prometheus/collectors/version" diff --git a/internal/mtail/multiple_levels_directory_integration_test.go b/internal/mtail/multiple_levels_directory_integration_test.go index 416010404..729398cf3 100644 --- a/internal/mtail/multiple_levels_directory_integration_test.go +++ b/internal/mtail/multiple_levels_directory_integration_test.go @@ -8,8 +8,8 @@ import ( "path/filepath" "testing" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestPollLogPathPatterns(t *testing.T) { diff --git a/internal/mtail/multiple_lines_integration_test.go b/internal/mtail/multiple_lines_integration_test.go index f3e3528e3..e8deae7b9 100644 --- a/internal/mtail/multiple_lines_integration_test.go +++ b/internal/mtail/multiple_lines_integration_test.go @@ -9,8 +9,8 @@ import ( "testing" "github.com/golang/glog" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestMultipleLinesInOneWrite(t *testing.T) { diff --git a/internal/mtail/options.go b/internal/mtail/options.go index 350706261..6c353bfb2 100644 --- a/internal/mtail/options.go +++ b/internal/mtail/options.go @@ -11,10 +11,10 @@ import ( "time" "contrib.go.opencensus.io/exporter/jaeger" - "github.com/google/mtail/internal/exporter" - "github.com/google/mtail/internal/runtime" - "github.com/google/mtail/internal/tailer" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/exporter" + "github.com/jaqx0r/mtail/internal/runtime" + "github.com/jaqx0r/mtail/internal/tailer" + "github.com/jaqx0r/mtail/internal/waker" "go.opencensus.io/trace" ) diff --git a/internal/mtail/partial_line_integration_test.go b/internal/mtail/partial_line_integration_test.go index b35a4f921..fe8ac25f5 100644 --- a/internal/mtail/partial_line_integration_test.go +++ b/internal/mtail/partial_line_integration_test.go @@ -8,8 +8,8 @@ import ( "path/filepath" "testing" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestPartialLineRead(t *testing.T) { diff --git a/internal/mtail/permission_denied_integration_unix_test.go b/internal/mtail/permission_denied_integration_unix_test.go index a7e2fcfca..5f070d8fe 100644 --- a/internal/mtail/permission_denied_integration_unix_test.go +++ b/internal/mtail/permission_denied_integration_unix_test.go @@ -10,8 +10,8 @@ import ( "path/filepath" "testing" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" ) // TestPermissionDeniedOnLog is a unix-specific test because on Windows, it is diff --git a/internal/mtail/prog_load_integration_test.go b/internal/mtail/prog_load_integration_test.go index d5ebb55fd..c4f15c310 100644 --- a/internal/mtail/prog_load_integration_test.go +++ b/internal/mtail/prog_load_integration_test.go @@ -8,8 +8,8 @@ import ( "path/filepath" "testing" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestNewProg(t *testing.T) { diff --git a/internal/mtail/read_pipe_integration_unix_test.go b/internal/mtail/read_pipe_integration_unix_test.go index 2f34fc89b..ed4fe253f 100644 --- a/internal/mtail/read_pipe_integration_unix_test.go +++ b/internal/mtail/read_pipe_integration_unix_test.go @@ -12,8 +12,8 @@ import ( "syscall" "testing" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" "golang.org/x/sys/unix" ) diff --git a/internal/mtail/relative_path_pattern_integration_test.go b/internal/mtail/relative_path_pattern_integration_test.go index 0b972af51..ca6d2e60d 100644 --- a/internal/mtail/relative_path_pattern_integration_test.go +++ b/internal/mtail/relative_path_pattern_integration_test.go @@ -9,8 +9,8 @@ import ( "testing" "github.com/golang/glog" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestRelativeLog(t *testing.T) { diff --git a/internal/mtail/testing.go b/internal/mtail/testing.go index a8be50214..21a8a3624 100644 --- a/internal/mtail/testing.go +++ b/internal/mtail/testing.go @@ -13,10 +13,10 @@ import ( "time" "github.com/golang/glog" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" - "github.com/google/mtail/internal/testutil" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/waker" ) const defaultDoOrTimeoutDeadline = 10 * time.Second diff --git a/internal/mtail/unix_socket_export_integration_test.go b/internal/mtail/unix_socket_export_integration_test.go index 1a71ba8f4..04e49beed 100644 --- a/internal/mtail/unix_socket_export_integration_test.go +++ b/internal/mtail/unix_socket_export_integration_test.go @@ -9,8 +9,8 @@ import ( "testing" "github.com/golang/glog" - "github.com/google/mtail/internal/mtail" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestBasicUNIXSockets(t *testing.T) { diff --git a/internal/runtime/code/instr_test.go b/internal/runtime/code/instr_test.go index 0d9ce8b85..8975336e2 100644 --- a/internal/runtime/code/instr_test.go +++ b/internal/runtime/code/instr_test.go @@ -6,8 +6,8 @@ package code_test import ( "testing" - "github.com/google/mtail/internal/runtime/code" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/runtime/code" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestInstrString(t *testing.T) { diff --git a/internal/runtime/code/object.go b/internal/runtime/code/object.go index 14c070a88..334207918 100644 --- a/internal/runtime/code/object.go +++ b/internal/runtime/code/object.go @@ -6,7 +6,7 @@ package code import ( "regexp" - "github.com/google/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics" ) // Object is the data and bytecode resulting from compiled program source. diff --git a/internal/runtime/compiler/ast/ast.go b/internal/runtime/compiler/ast/ast.go index f952d0a05..348fffaf7 100644 --- a/internal/runtime/compiler/ast/ast.go +++ b/internal/runtime/compiler/ast/ast.go @@ -7,10 +7,10 @@ import ( "sync" "time" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/runtime/compiler/position" - "github.com/google/mtail/internal/runtime/compiler/symbol" - "github.com/google/mtail/internal/runtime/compiler/types" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" + "github.com/jaqx0r/mtail/internal/runtime/compiler/symbol" + "github.com/jaqx0r/mtail/internal/runtime/compiler/types" ) type Node interface { diff --git a/internal/runtime/compiler/ast/walk_test.go b/internal/runtime/compiler/ast/walk_test.go index 6c2caae5d..90d588266 100644 --- a/internal/runtime/compiler/ast/walk_test.go +++ b/internal/runtime/compiler/ast/walk_test.go @@ -6,11 +6,11 @@ package ast_test import ( "testing" - "github.com/google/mtail/internal/runtime/compiler/ast" - "github.com/google/mtail/internal/runtime/compiler/parser" - "github.com/google/mtail/internal/runtime/compiler/position" - "github.com/google/mtail/internal/runtime/compiler/types" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/parser" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" + "github.com/jaqx0r/mtail/internal/runtime/compiler/types" + "github.com/jaqx0r/mtail/internal/testutil" ) type testNode struct{} diff --git a/internal/runtime/compiler/checker/checker.go b/internal/runtime/compiler/checker/checker.go index dcef8550e..d73f9b57f 100644 --- a/internal/runtime/compiler/checker/checker.go +++ b/internal/runtime/compiler/checker/checker.go @@ -10,12 +10,12 @@ import ( "time" "github.com/golang/glog" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/runtime/compiler/ast" - "github.com/google/mtail/internal/runtime/compiler/errors" - "github.com/google/mtail/internal/runtime/compiler/parser" - "github.com/google/mtail/internal/runtime/compiler/symbol" - "github.com/google/mtail/internal/runtime/compiler/types" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/errors" + "github.com/jaqx0r/mtail/internal/runtime/compiler/parser" + "github.com/jaqx0r/mtail/internal/runtime/compiler/symbol" + "github.com/jaqx0r/mtail/internal/runtime/compiler/types" ) const ( diff --git a/internal/runtime/compiler/checker/checker_test.go b/internal/runtime/compiler/checker/checker_test.go index 9b771465e..c9d8daf5b 100644 --- a/internal/runtime/compiler/checker/checker_test.go +++ b/internal/runtime/compiler/checker/checker_test.go @@ -9,12 +9,12 @@ import ( "testing" "github.com/google/go-cmp/cmp/cmpopts" - "github.com/google/mtail/internal/runtime/compiler/ast" - "github.com/google/mtail/internal/runtime/compiler/checker" - "github.com/google/mtail/internal/runtime/compiler/parser" - "github.com/google/mtail/internal/runtime/compiler/symbol" - "github.com/google/mtail/internal/runtime/compiler/types" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/checker" + "github.com/jaqx0r/mtail/internal/runtime/compiler/parser" + "github.com/jaqx0r/mtail/internal/runtime/compiler/symbol" + "github.com/jaqx0r/mtail/internal/runtime/compiler/types" + "github.com/jaqx0r/mtail/internal/testutil" ) var checkerTestDebug = flag.Bool("checker_test_debug", false, "Turn on to log AST in tests") diff --git a/internal/runtime/compiler/codegen/codegen.go b/internal/runtime/compiler/codegen/codegen.go index 30467b796..9c754cacb 100644 --- a/internal/runtime/compiler/codegen/codegen.go +++ b/internal/runtime/compiler/codegen/codegen.go @@ -10,15 +10,15 @@ import ( "time" "github.com/golang/glog" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" - "github.com/google/mtail/internal/runtime/code" - "github.com/google/mtail/internal/runtime/compiler/ast" - "github.com/google/mtail/internal/runtime/compiler/errors" - "github.com/google/mtail/internal/runtime/compiler/parser" - "github.com/google/mtail/internal/runtime/compiler/position" - "github.com/google/mtail/internal/runtime/compiler/symbol" - "github.com/google/mtail/internal/runtime/compiler/types" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/runtime/code" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/errors" + "github.com/jaqx0r/mtail/internal/runtime/compiler/parser" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" + "github.com/jaqx0r/mtail/internal/runtime/compiler/symbol" + "github.com/jaqx0r/mtail/internal/runtime/compiler/types" ) // codegen represents a code generator. diff --git a/internal/runtime/compiler/codegen/codegen_test.go b/internal/runtime/compiler/codegen/codegen_test.go index 0f634da52..2ab0a0345 100644 --- a/internal/runtime/compiler/codegen/codegen_test.go +++ b/internal/runtime/compiler/codegen/codegen_test.go @@ -9,12 +9,12 @@ import ( "testing" "time" - "github.com/google/mtail/internal/runtime/code" - "github.com/google/mtail/internal/runtime/compiler/ast" - "github.com/google/mtail/internal/runtime/compiler/checker" - "github.com/google/mtail/internal/runtime/compiler/codegen" - "github.com/google/mtail/internal/runtime/compiler/parser" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/runtime/code" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/checker" + "github.com/jaqx0r/mtail/internal/runtime/compiler/codegen" + "github.com/jaqx0r/mtail/internal/runtime/compiler/parser" + "github.com/jaqx0r/mtail/internal/testutil" ) var codegenTestDebug = flag.Bool("codegen_test_debug", false, "Log ASTs and debugging information ") diff --git a/internal/runtime/compiler/compiler.go b/internal/runtime/compiler/compiler.go index be149e124..1dec726a2 100644 --- a/internal/runtime/compiler/compiler.go +++ b/internal/runtime/compiler/compiler.go @@ -8,12 +8,12 @@ import ( "path/filepath" "github.com/golang/glog" - "github.com/google/mtail/internal/runtime/code" - "github.com/google/mtail/internal/runtime/compiler/ast" - "github.com/google/mtail/internal/runtime/compiler/checker" - "github.com/google/mtail/internal/runtime/compiler/codegen" - "github.com/google/mtail/internal/runtime/compiler/opt" - "github.com/google/mtail/internal/runtime/compiler/parser" + "github.com/jaqx0r/mtail/internal/runtime/code" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/checker" + "github.com/jaqx0r/mtail/internal/runtime/compiler/codegen" + "github.com/jaqx0r/mtail/internal/runtime/compiler/opt" + "github.com/jaqx0r/mtail/internal/runtime/compiler/parser" ) type Compiler struct { diff --git a/internal/runtime/compiler/compiler_test.go b/internal/runtime/compiler/compiler_test.go index 8a779eb60..5e4cc04f2 100644 --- a/internal/runtime/compiler/compiler_test.go +++ b/internal/runtime/compiler/compiler_test.go @@ -7,8 +7,8 @@ import ( "strings" "testing" - "github.com/google/mtail/internal/runtime/compiler" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/runtime/compiler" + "github.com/jaqx0r/mtail/internal/testutil" ) func makeCompiler(t *testing.T) *compiler.Compiler { diff --git a/internal/runtime/compiler/errors/errors.go b/internal/runtime/compiler/errors/errors.go index 6ca97697a..1ec4876b1 100644 --- a/internal/runtime/compiler/errors/errors.go +++ b/internal/runtime/compiler/errors/errors.go @@ -7,7 +7,7 @@ import ( "fmt" "strings" - "github.com/google/mtail/internal/runtime/compiler/position" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" "github.com/pkg/errors" ) diff --git a/internal/runtime/compiler/errors/errors_test.go b/internal/runtime/compiler/errors/errors_test.go index e6018cfc8..cdf1edeac 100644 --- a/internal/runtime/compiler/errors/errors_test.go +++ b/internal/runtime/compiler/errors/errors_test.go @@ -6,7 +6,7 @@ package errors_test import ( "testing" - "github.com/google/mtail/internal/runtime/compiler/errors" + "github.com/jaqx0r/mtail/internal/runtime/compiler/errors" ) func TestNilErrorPosition(t *testing.T) { diff --git a/internal/runtime/compiler/opt/opt.go b/internal/runtime/compiler/opt/opt.go index ab599bcdb..18ff6593c 100644 --- a/internal/runtime/compiler/opt/opt.go +++ b/internal/runtime/compiler/opt/opt.go @@ -7,11 +7,11 @@ package opt import ( "math" - "github.com/google/mtail/internal/runtime/compiler/ast" - "github.com/google/mtail/internal/runtime/compiler/errors" - "github.com/google/mtail/internal/runtime/compiler/parser" - "github.com/google/mtail/internal/runtime/compiler/position" - "github.com/google/mtail/internal/runtime/compiler/types" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/errors" + "github.com/jaqx0r/mtail/internal/runtime/compiler/parser" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" + "github.com/jaqx0r/mtail/internal/runtime/compiler/types" ) func Optimise(n ast.Node) (ast.Node, error) { diff --git a/internal/runtime/compiler/opt/opt_test.go b/internal/runtime/compiler/opt/opt_test.go index 7c8227947..2b1e58479 100644 --- a/internal/runtime/compiler/opt/opt_test.go +++ b/internal/runtime/compiler/opt/opt_test.go @@ -12,10 +12,10 @@ import ( "testing/quick" "github.com/google/go-cmp/cmp" - "github.com/google/mtail/internal/runtime/compiler/ast" - "github.com/google/mtail/internal/runtime/compiler/opt" - "github.com/google/mtail/internal/runtime/compiler/parser" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/opt" + "github.com/jaqx0r/mtail/internal/runtime/compiler/parser" + "github.com/jaqx0r/mtail/internal/testutil" ) var optimiserTests = []struct { diff --git a/internal/runtime/compiler/parser/driver.go b/internal/runtime/compiler/parser/driver.go index 1adbb5c50..48bd6cf88 100644 --- a/internal/runtime/compiler/parser/driver.go +++ b/internal/runtime/compiler/parser/driver.go @@ -24,9 +24,9 @@ import ( "time" "github.com/golang/glog" - "github.com/google/mtail/internal/runtime/compiler/ast" - "github.com/google/mtail/internal/runtime/compiler/errors" - "github.com/google/mtail/internal/runtime/compiler/position" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/errors" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" ) // Parse reads the program named name from the input, and if successful returns diff --git a/internal/runtime/compiler/parser/lexer.go b/internal/runtime/compiler/parser/lexer.go index 98879e7a8..41602fb50 100644 --- a/internal/runtime/compiler/parser/lexer.go +++ b/internal/runtime/compiler/parser/lexer.go @@ -13,7 +13,7 @@ import ( "unicode" "github.com/golang/glog" - "github.com/google/mtail/internal/runtime/compiler/position" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" ) // List of keywords. Keep this list sorted! diff --git a/internal/runtime/compiler/parser/lexer_test.go b/internal/runtime/compiler/parser/lexer_test.go index a8e4d497f..cdd82e2f5 100644 --- a/internal/runtime/compiler/parser/lexer_test.go +++ b/internal/runtime/compiler/parser/lexer_test.go @@ -7,8 +7,8 @@ import ( "strings" "testing" - "github.com/google/mtail/internal/runtime/compiler/position" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" + "github.com/jaqx0r/mtail/internal/testutil" ) type lexerTest struct { diff --git a/internal/runtime/compiler/parser/parser.go b/internal/runtime/compiler/parser/parser.go index e9c6125c9..3256cf1dd 100644 --- a/internal/runtime/compiler/parser/parser.go +++ b/internal/runtime/compiler/parser/parser.go @@ -12,9 +12,9 @@ import ( "time" "github.com/golang/glog" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/runtime/compiler/ast" - "github.com/google/mtail/internal/runtime/compiler/position" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" ) //line parser.y:19 diff --git a/internal/runtime/compiler/parser/parser.y b/internal/runtime/compiler/parser/parser.y index b692a59b7..cc962d797 100644 --- a/internal/runtime/compiler/parser/parser.y +++ b/internal/runtime/compiler/parser/parser.y @@ -8,9 +8,9 @@ package parser import ( "time" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/runtime/compiler/ast" - "github.com/google/mtail/internal/runtime/compiler/position" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" "github.com/golang/glog" ) diff --git a/internal/runtime/compiler/parser/parser_test.go b/internal/runtime/compiler/parser/parser_test.go index 4507da838..1bb927c2e 100644 --- a/internal/runtime/compiler/parser/parser_test.go +++ b/internal/runtime/compiler/parser/parser_test.go @@ -8,9 +8,9 @@ import ( "strings" "testing" - "github.com/google/mtail/internal/runtime/compiler/ast" - "github.com/google/mtail/internal/runtime/compiler/position" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" + "github.com/jaqx0r/mtail/internal/testutil" ) var parserTestDebug = flag.Bool("parser_test_debug", false, "Turn on parser debug output if set.") diff --git a/internal/runtime/compiler/parser/sexp.go b/internal/runtime/compiler/parser/sexp.go index bc4171de3..ef9e04600 100644 --- a/internal/runtime/compiler/parser/sexp.go +++ b/internal/runtime/compiler/parser/sexp.go @@ -8,9 +8,9 @@ import ( "strconv" "strings" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/runtime/compiler/ast" - "github.com/google/mtail/internal/runtime/compiler/symbol" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/symbol" ) // Sexp is for converting program syntax trees into typed s-expression for printing. diff --git a/internal/runtime/compiler/parser/tokens.go b/internal/runtime/compiler/parser/tokens.go index 8f36cd5b1..2ba300710 100644 --- a/internal/runtime/compiler/parser/tokens.go +++ b/internal/runtime/compiler/parser/tokens.go @@ -6,7 +6,7 @@ package parser import ( "fmt" - "github.com/google/mtail/internal/runtime/compiler/position" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" ) // Kind enumerates the types of lexical tokens in a mtail program. diff --git a/internal/runtime/compiler/parser/tokens_test.go b/internal/runtime/compiler/parser/tokens_test.go index 35b26f615..f66639a5e 100644 --- a/internal/runtime/compiler/parser/tokens_test.go +++ b/internal/runtime/compiler/parser/tokens_test.go @@ -8,7 +8,7 @@ import ( "testing" "testing/quick" - "github.com/google/mtail/internal/runtime/compiler/position" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" ) func TestKindHasString(t *testing.T) { diff --git a/internal/runtime/compiler/parser/unparser.go b/internal/runtime/compiler/parser/unparser.go index 979c3f711..4532fbd82 100644 --- a/internal/runtime/compiler/parser/unparser.go +++ b/internal/runtime/compiler/parser/unparser.go @@ -8,8 +8,8 @@ import ( "strconv" "strings" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" ) // Unparser is for converting program syntax trees back to program text. diff --git a/internal/runtime/compiler/symbol/symtab.go b/internal/runtime/compiler/symbol/symtab.go index 541a5da63..f6b828628 100644 --- a/internal/runtime/compiler/symbol/symtab.go +++ b/internal/runtime/compiler/symbol/symtab.go @@ -7,8 +7,8 @@ import ( "bytes" "fmt" - "github.com/google/mtail/internal/runtime/compiler/position" - "github.com/google/mtail/internal/runtime/compiler/types" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" + "github.com/jaqx0r/mtail/internal/runtime/compiler/types" ) // Kind enumerates the kind of a Symbol. diff --git a/internal/runtime/compiler/symbol/symtab_test.go b/internal/runtime/compiler/symbol/symtab_test.go index 5d5eee93d..7dab12633 100644 --- a/internal/runtime/compiler/symbol/symtab_test.go +++ b/internal/runtime/compiler/symbol/symtab_test.go @@ -9,7 +9,7 @@ import ( "testing" "testing/quick" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestInsertLookup(t *testing.T) { diff --git a/internal/runtime/compiler/types/types_test.go b/internal/runtime/compiler/types/types_test.go index 92bd49a3c..ff61b05f8 100644 --- a/internal/runtime/compiler/types/types_test.go +++ b/internal/runtime/compiler/types/types_test.go @@ -8,7 +8,7 @@ import ( "fmt" "testing" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/testutil" ) var typeUnificationTests = []struct { diff --git a/internal/runtime/fuzz.go b/internal/runtime/fuzz.go index 926ddec98..75f839e44 100644 --- a/internal/runtime/fuzz.go +++ b/internal/runtime/fuzz.go @@ -12,9 +12,9 @@ import ( "flag" "fmt" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/runtime/compiler" - "github.com/google/mtail/internal/runtime/vm" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/runtime/compiler" + "github.com/jaqx0r/mtail/internal/runtime/vm" ) // U+2424 SYMBOL FOR NEWLINE diff --git a/internal/runtime/httpstatus.go b/internal/runtime/httpstatus.go index 5548f83f1..64902729e 100644 --- a/internal/runtime/httpstatus.go +++ b/internal/runtime/httpstatus.go @@ -9,7 +9,7 @@ import ( "io" "net/http" - "github.com/google/mtail/internal/runtime/vm" + "github.com/jaqx0r/mtail/internal/runtime/vm" ) const loaderTemplate = ` diff --git a/internal/runtime/options.go b/internal/runtime/options.go index f3ee353bf..2a1fae6dd 100644 --- a/internal/runtime/options.go +++ b/internal/runtime/options.go @@ -6,8 +6,8 @@ package runtime import ( "time" - "github.com/google/mtail/internal/runtime/compiler" - "github.com/google/mtail/internal/runtime/vm" + "github.com/jaqx0r/mtail/internal/runtime/compiler" + "github.com/jaqx0r/mtail/internal/runtime/vm" "github.com/prometheus/client_golang/prometheus" ) diff --git a/internal/runtime/runtime.go b/internal/runtime/runtime.go index 128137b71..6cfec6f1f 100644 --- a/internal/runtime/runtime.go +++ b/internal/runtime/runtime.go @@ -20,10 +20,10 @@ import ( "time" "github.com/golang/glog" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/runtime/compiler" - "github.com/google/mtail/internal/runtime/vm" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/runtime/compiler" + "github.com/jaqx0r/mtail/internal/runtime/vm" "github.com/pkg/errors" "github.com/prometheus/client_golang/prometheus" ) diff --git a/internal/runtime/runtime_integration_test.go b/internal/runtime/runtime_integration_test.go index f5b8b28b2..75588e8bf 100644 --- a/internal/runtime/runtime_integration_test.go +++ b/internal/runtime/runtime_integration_test.go @@ -11,10 +11,10 @@ import ( "sync" "testing" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/testutil" ) var vmTests = []struct { diff --git a/internal/runtime/runtime_test.go b/internal/runtime/runtime_test.go index 32f6d5671..13c37fd91 100644 --- a/internal/runtime/runtime_test.go +++ b/internal/runtime/runtime_test.go @@ -10,9 +10,9 @@ import ( "testing" "github.com/golang/glog" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestNewRuntime(t *testing.T) { diff --git a/internal/runtime/vm/vm.go b/internal/runtime/vm/vm.go index 47492bfcf..6ae18c5b8 100644 --- a/internal/runtime/vm/vm.go +++ b/internal/runtime/vm/vm.go @@ -21,10 +21,10 @@ import ( "github.com/golang/glog" "github.com/golang/groupcache/lru" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" - "github.com/google/mtail/internal/runtime/code" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/runtime/code" "github.com/pkg/errors" "github.com/prometheus/client_golang/prometheus" ) diff --git a/internal/runtime/vm/vm_test.go b/internal/runtime/vm/vm_test.go index 98c78caa0..e0d0dd024 100644 --- a/internal/runtime/vm/vm_test.go +++ b/internal/runtime/vm/vm_test.go @@ -9,11 +9,11 @@ import ( "testing" "time" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/metrics" - "github.com/google/mtail/internal/metrics/datum" - "github.com/google/mtail/internal/runtime/code" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/runtime/code" + "github.com/jaqx0r/mtail/internal/testutil" ) var instructions = []struct { diff --git a/internal/tailer/httpstatus.go b/internal/tailer/httpstatus.go index 7ef89fcca..75a7faab8 100644 --- a/internal/tailer/httpstatus.go +++ b/internal/tailer/httpstatus.go @@ -8,7 +8,7 @@ import ( "html/template" "io" - "github.com/google/mtail/internal/tailer/logstream" + "github.com/jaqx0r/mtail/internal/tailer/logstream" ) const tailerTemplate = ` diff --git a/internal/tailer/logstream/base.go b/internal/tailer/logstream/base.go index 4188886f9..49e02db1b 100644 --- a/internal/tailer/logstream/base.go +++ b/internal/tailer/logstream/base.go @@ -4,7 +4,7 @@ package logstream import ( - "github.com/google/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/logline" ) type streamBase struct { diff --git a/internal/tailer/logstream/dgramstream.go b/internal/tailer/logstream/dgramstream.go index 12509b1a2..26826e869 100644 --- a/internal/tailer/logstream/dgramstream.go +++ b/internal/tailer/logstream/dgramstream.go @@ -10,8 +10,8 @@ import ( "sync" "github.com/golang/glog" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/waker" ) type dgramStream struct { diff --git a/internal/tailer/logstream/dgramstream_unix_test.go b/internal/tailer/logstream/dgramstream_unix_test.go index 0899dfe65..fcbacdfd8 100644 --- a/internal/tailer/logstream/dgramstream_unix_test.go +++ b/internal/tailer/logstream/dgramstream_unix_test.go @@ -14,10 +14,10 @@ import ( "testing" "time" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/tailer/logstream" - "github.com/google/mtail/internal/testutil" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/tailer/logstream" + "github.com/jaqx0r/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/waker" ) const dgramTimeout = 1 * time.Second diff --git a/internal/tailer/logstream/fifostream.go b/internal/tailer/logstream/fifostream.go index 9917bb694..8c420de3d 100644 --- a/internal/tailer/logstream/fifostream.go +++ b/internal/tailer/logstream/fifostream.go @@ -12,8 +12,8 @@ import ( "syscall" "github.com/golang/glog" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/waker" ) type fifoStream struct { diff --git a/internal/tailer/logstream/fifostream_unix_test.go b/internal/tailer/logstream/fifostream_unix_test.go index 4d8272acc..63102dca8 100644 --- a/internal/tailer/logstream/fifostream_unix_test.go +++ b/internal/tailer/logstream/fifostream_unix_test.go @@ -13,10 +13,10 @@ import ( "testing" "time" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/tailer/logstream" - "github.com/google/mtail/internal/testutil" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/tailer/logstream" + "github.com/jaqx0r/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/waker" "golang.org/x/sys/unix" ) diff --git a/internal/tailer/logstream/filestream.go b/internal/tailer/logstream/filestream.go index f77b1adbf..f3af30b2c 100644 --- a/internal/tailer/logstream/filestream.go +++ b/internal/tailer/logstream/filestream.go @@ -13,8 +13,8 @@ import ( "syscall" "github.com/golang/glog" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/waker" ) // fileTruncates counts the truncations of a file stream. diff --git a/internal/tailer/logstream/filestream_test.go b/internal/tailer/logstream/filestream_test.go index 778a0f8dc..b031e96a1 100644 --- a/internal/tailer/logstream/filestream_test.go +++ b/internal/tailer/logstream/filestream_test.go @@ -9,10 +9,10 @@ import ( "sync" "testing" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/tailer/logstream" - "github.com/google/mtail/internal/testutil" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/tailer/logstream" + "github.com/jaqx0r/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/waker" ) func TestFileStreamRead(t *testing.T) { diff --git a/internal/tailer/logstream/filestream_unix_test.go b/internal/tailer/logstream/filestream_unix_test.go index 3971b6c50..8dd8b3d60 100644 --- a/internal/tailer/logstream/filestream_unix_test.go +++ b/internal/tailer/logstream/filestream_unix_test.go @@ -13,10 +13,10 @@ import ( "testing" "github.com/golang/glog" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/tailer/logstream" - "github.com/google/mtail/internal/testutil" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/tailer/logstream" + "github.com/jaqx0r/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/waker" ) // TestFileStreamRotation is a unix-specific test because on Windows, files cannot be removed diff --git a/internal/tailer/logstream/logstream.go b/internal/tailer/logstream/logstream.go index 7dbd5314a..30520f718 100644 --- a/internal/tailer/logstream/logstream.go +++ b/internal/tailer/logstream/logstream.go @@ -18,8 +18,8 @@ import ( "sync" "github.com/golang/glog" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/waker" ) var ( diff --git a/internal/tailer/logstream/logstream_test.go b/internal/tailer/logstream/logstream_test.go index 3fceebe59..1a0adf020 100644 --- a/internal/tailer/logstream/logstream_test.go +++ b/internal/tailer/logstream/logstream_test.go @@ -5,7 +5,7 @@ import ( "sync" "testing" - "github.com/google/mtail/internal/tailer/logstream" + "github.com/jaqx0r/mtail/internal/tailer/logstream" ) func TestNewErrors(t *testing.T) { diff --git a/internal/tailer/logstream/logstream_unix_test.go b/internal/tailer/logstream/logstream_unix_test.go index 03a2091f9..ae24c5a74 100644 --- a/internal/tailer/logstream/logstream_unix_test.go +++ b/internal/tailer/logstream/logstream_unix_test.go @@ -9,8 +9,8 @@ import ( "sync" "testing" - "github.com/google/mtail/internal/tailer/logstream" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/tailer/logstream" + "github.com/jaqx0r/mtail/internal/testutil" "golang.org/x/sys/unix" ) diff --git a/internal/tailer/logstream/reader.go b/internal/tailer/logstream/reader.go index 167c9c414..9372669b7 100644 --- a/internal/tailer/logstream/reader.go +++ b/internal/tailer/logstream/reader.go @@ -10,7 +10,7 @@ import ( "io" "time" - "github.com/google/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/logline" ) // logLines counts the number of lines read per log file. diff --git a/internal/tailer/logstream/reader_test.go b/internal/tailer/logstream/reader_test.go index 33e897e15..80ac2f053 100644 --- a/internal/tailer/logstream/reader_test.go +++ b/internal/tailer/logstream/reader_test.go @@ -13,8 +13,8 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestReadAndSend(t *testing.T) { diff --git a/internal/tailer/logstream/socketstream.go b/internal/tailer/logstream/socketstream.go index 1e96d3397..eb52e4153 100644 --- a/internal/tailer/logstream/socketstream.go +++ b/internal/tailer/logstream/socketstream.go @@ -10,8 +10,8 @@ import ( "sync" "github.com/golang/glog" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/waker" ) type socketStream struct { diff --git a/internal/tailer/logstream/socketstream_unix_test.go b/internal/tailer/logstream/socketstream_unix_test.go index 0ffad74df..8998b5eef 100644 --- a/internal/tailer/logstream/socketstream_unix_test.go +++ b/internal/tailer/logstream/socketstream_unix_test.go @@ -14,10 +14,10 @@ import ( "testing" "time" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/tailer/logstream" - "github.com/google/mtail/internal/testutil" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/tailer/logstream" + "github.com/jaqx0r/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/waker" ) func TestSocketStreamReadCompletedBecauseSocketClosed(t *testing.T) { diff --git a/internal/tailer/tail.go b/internal/tailer/tail.go index cba63ffa9..76f1302b4 100644 --- a/internal/tailer/tail.go +++ b/internal/tailer/tail.go @@ -17,9 +17,9 @@ import ( "sync" "github.com/golang/glog" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/tailer/logstream" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/tailer/logstream" + "github.com/jaqx0r/mtail/internal/waker" ) // logCount records the number of logs that are being tailed. diff --git a/internal/tailer/tail_test.go b/internal/tailer/tail_test.go index c019d52f2..7e377dfd9 100644 --- a/internal/tailer/tail_test.go +++ b/internal/tailer/tail_test.go @@ -11,9 +11,9 @@ import ( "testing" "github.com/golang/glog" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/testutil" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/waker" ) type testTail struct { diff --git a/internal/tailer/tail_unix_test.go b/internal/tailer/tail_unix_test.go index 384806540..88ee03b55 100644 --- a/internal/tailer/tail_unix_test.go +++ b/internal/tailer/tail_unix_test.go @@ -12,8 +12,8 @@ import ( "testing" "github.com/golang/glog" - "github.com/google/mtail/internal/logline" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/testutil" "golang.org/x/sys/unix" ) diff --git a/internal/tailer/tail_windows_test.go b/internal/tailer/tail_windows_test.go index 7a2cef44f..29748e5ac 100644 --- a/internal/tailer/tail_windows_test.go +++ b/internal/tailer/tail_windows_test.go @@ -8,7 +8,7 @@ package tailer import ( "testing" - "github.com/google/mtail/internal/testutil" + "github.com/jaqx0r/mtail/internal/testutil" ) func TestWindowsPath(t *testing.T) { diff --git a/internal/testutil/lines.go b/internal/testutil/lines.go index 7292e05b5..99ad85468 100644 --- a/internal/testutil/lines.go +++ b/internal/testutil/lines.go @@ -7,7 +7,7 @@ import ( "sync" "testing" - "github.com/google/mtail/internal/logline" + "github.com/jaqx0r/mtail/internal/logline" ) func LinesReceived(lines <-chan *logline.LogLine) (r []*logline.LogLine) { diff --git a/internal/waker/testwaker_test.go b/internal/waker/testwaker_test.go index 2eaf6b153..99130c2d6 100644 --- a/internal/waker/testwaker_test.go +++ b/internal/waker/testwaker_test.go @@ -8,7 +8,7 @@ import ( "sync" "testing" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/waker" ) func TestTestWakerWakes(t *testing.T) { diff --git a/internal/waker/timedwaker_test.go b/internal/waker/timedwaker_test.go index f9cc1febc..a93e745bf 100644 --- a/internal/waker/timedwaker_test.go +++ b/internal/waker/timedwaker_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - "github.com/google/mtail/internal/waker" + "github.com/jaqx0r/mtail/internal/waker" ) func TestTimedWakerWakes(t *testing.T) { diff --git a/mtail.service b/mtail.service index 0d0986072..ec3d864bc 100644 --- a/mtail.service +++ b/mtail.service @@ -1,6 +1,6 @@ [Unit] -Description=mtail - extracts metrics from logs -Documentation=https://github.com/google/mtail/tree/main/docs +Description=mtail - extract internal monitoring data from application logs for collection in a timeseries database +Documentation=https://jaqx0r.github.io/ Requires=local-fs.target network.target Before=nss-user-lookup.target After=local-fs.target network.target From f8365cc313377ac1ed236f0c100ed871dbc9b31d Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 23 Oct 2024 15:57:47 +1100 Subject: [PATCH 016/381] ci: Don't run lint on tags as releases are too late for that. --- .github/workflows/golangci-lint.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 274e98a2f..6129ae14e 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -1,8 +1,6 @@ name: golangci-lint on: push: - tags: - - v* branches: - main pull_request: From 836dbe39956b622273fae6ed8da1586d915c7f72 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Nov 2024 23:20:06 +0000 Subject: [PATCH 017/381] build(deps): bump codecov/codecov-action from 4 to 5 Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v4...v5) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fa8bb5ea1..0e52e8617 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,7 +47,7 @@ jobs: fi make --debug junit-regtest TESTCOVERPROFILE=coverprofile shell: bash - - uses: codecov/codecov-action@v4 + - uses: codecov/codecov-action@v5 if: always() with: file: coverprofile From f9e05b83f72c98a27fafdcd79a242262129804d6 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 18 Nov 2024 11:03:32 +1100 Subject: [PATCH 018/381] Create FUNDING.yml --- .github/FUNDING.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 000000000..0a30f0223 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +github: ["jaqx0r"] From e419238beeea00f31a77d85a425783ab3f074e00 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 23:08:07 +0000 Subject: [PATCH 019/381] build(deps): bump sigstore/cosign-installer from 3.7.0 to 3.8.0 Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.7.0 to 3.8.0. - [Release notes](https://github.com/sigstore/cosign-installer/releases) - [Commits](https://github.com/sigstore/cosign-installer/compare/v3.7.0...v3.8.0) --- updated-dependencies: - dependency-name: sigstore/cosign-installer dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9a109bfb0..01074dcad 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -138,7 +138,7 @@ jobs: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - uses: sigstore/cosign-installer@v3.7.0 + - uses: sigstore/cosign-installer@v3.8.0 - name: verify image env: IMAGE: ${{ matrix.image }} From e635d67c87304fdbcf822b02d5e9ffc7b2e8cd3b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Feb 2025 23:44:14 +0000 Subject: [PATCH 020/381] build(deps): bump slsa-framework/slsa-verifier from 2.6.0 to 2.7.0 Bumps [slsa-framework/slsa-verifier](https://github.com/slsa-framework/slsa-verifier) from 2.6.0 to 2.7.0. - [Release notes](https://github.com/slsa-framework/slsa-verifier/releases) - [Changelog](https://github.com/slsa-framework/slsa-verifier/blob/main/RELEASE.md) - [Commits](https://github.com/slsa-framework/slsa-verifier/compare/v2.6.0...v2.7.0) --- updated-dependencies: - dependency-name: slsa-framework/slsa-verifier dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 01074dcad..0eb25eb0d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -85,7 +85,7 @@ jobs: permissions: contents: read steps: - - uses: slsa-framework/slsa-verifier/actions/installer@v2.6.0 + - uses: slsa-framework/slsa-verifier/actions/installer@v2.7.0 - name: download assets env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} From c0c03fdb11a13f5ef108c9c6ac738a2f8aa977aa Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 15 Feb 2025 16:52:23 +1100 Subject: [PATCH 021/381] ci: Attempt to fix lint workflow. Upgrade golangci-lnt version. Add setup-go per the action documentation at https://github.com/golangci/golangci-lint-action --- .github/workflows/golangci-lint.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 6129ae14e..93fbbc23d 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -22,10 +22,11 @@ jobs: checks: write steps: - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 - uses: golangci/golangci-lint-action@v6 with: # Required: the version of golangci-lint is required and must be # specified without patch version: we always use the latest patch # version. - version: v1.59 + version: v1.64 only-new-issues: ${{ github.event_name == 'pull_request' }} From efa22e0b253e6d5ba5e01c9fb5db68498e55f478 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 15 Feb 2025 16:55:56 +1100 Subject: [PATCH 022/381] chore: Remove an obsolete linter from golangci-lint config. --- .golangci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 5a29f3bf6..81b89c8b1 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -27,8 +27,6 @@ linters: - test - unused - metalinter - enable: - - exportloopref # A general rule is if the lint author can't be bothered supplying automated # fixes for obvious lint warnings, I'm not bothered using their tool. disable: From 90e638cd55a50c4ac9742b8a399f116b17b6c256 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 15 Feb 2025 17:09:27 +1100 Subject: [PATCH 023/381] chore: Rename `min` to `lo`. `revive` linter doesn't like this. --- internal/metrics/datum/buckets_test.go | 6 +++--- internal/runtime/compiler/codegen/codegen.go | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/internal/metrics/datum/buckets_test.go b/internal/metrics/datum/buckets_test.go index 9bdee7d4e..94f8e9c0f 100644 --- a/internal/metrics/datum/buckets_test.go +++ b/internal/metrics/datum/buckets_test.go @@ -13,9 +13,9 @@ import ( ) func TestBucketContains(t *testing.T) { - if err := quick.Check(func(min, max, val float64) bool { - r := &datum.Range{Min: min, Max: max} - truth := val < max && val >= min + if err := quick.Check(func(lo, hi, val float64) bool { + r := &datum.Range{Min: lo, Max: hi} + truth := val < hi && val >= lo return truth == r.Contains(val) }, nil); err != nil { t.Error(err) diff --git a/internal/runtime/compiler/codegen/codegen.go b/internal/runtime/compiler/codegen/codegen.go index 9c754cacb..640cbca47 100644 --- a/internal/runtime/compiler/codegen/codegen.go +++ b/internal/runtime/compiler/codegen/codegen.go @@ -134,16 +134,16 @@ func (c *codegen) VisitBefore(node ast.Node) (ast.Visitor, ast.Node) { if n.Buckets[0] > 0 { m.Buckets = append(m.Buckets, datum.Range{0, n.Buckets[0]}) } - min := n.Buckets[0] - for _, max := range n.Buckets[1:] { - if max <= min { + lo := n.Buckets[0] + for _, hi := range n.Buckets[1:] { + if hi <= lo { c.errorf(n.Pos(), "buckets boundaries must be sorted") return nil, n } - m.Buckets = append(m.Buckets, datum.Range{min, max}) - min = max + m.Buckets = append(m.Buckets, datum.Range{lo, hi}) + lo = hi } - m.Buckets = append(m.Buckets, datum.Range{min, math.Inf(+1)}) + m.Buckets = append(m.Buckets, datum.Range{lo, math.Inf(+1)}) if len(n.Keys) == 0 { // Calling GetDatum here causes the storage to be allocated. From b1aa10659f2c03f84f26cb6dc19a2baf44edb474 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 15 Feb 2025 17:09:42 +1100 Subject: [PATCH 024/381] build: Remove the deprecated `gomnd` linter. --- .golangci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.golangci.yml b/.golangci.yml index 81b89c8b1..251b36903 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -45,7 +45,6 @@ linters: - gocognit # boo cyclomatic complexity - gocyclo # boo cyclomatic complexity - godox # TODOs are fine - - gomnd # magic numbers in test tables are fine actually - gosec # run independently - lll # go says long lines are ok, and this is trivially automatable - musttag # don't agree with the premise From 266e5f8a18a5a1449da3f9996e5311474017714a Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 15 Feb 2025 17:12:02 +1100 Subject: [PATCH 025/381] chore: Make sure all of `TypeError`'s methods are pointer receiver. --- internal/runtime/compiler/types/types.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/runtime/compiler/types/types.go b/internal/runtime/compiler/types/types.go index 1aef388b8..d00f6af7f 100644 --- a/internal/runtime/compiler/types/types.go +++ b/internal/runtime/compiler/types/types.go @@ -60,7 +60,7 @@ func (e *TypeError) String() string { return fmt.Sprintf("%s; expected %s received %s", e.error, estr, rstr) } -func (e TypeError) Error() string { +func (e *TypeError) Error() string { return e.String() } From 702f9362c7b3a23458ad085dc52095521917ec8c Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 15 Feb 2025 17:34:24 +1100 Subject: [PATCH 026/381] chore: Ignore linter `usetesting` for the `testutil.TestTempDir()` function. --- internal/testutil/fs.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/testutil/fs.go b/internal/testutil/fs.go index 0d634881b..524f7ab3f 100644 --- a/internal/testutil/fs.go +++ b/internal/testutil/fs.go @@ -10,8 +10,14 @@ import ( ) // TestTempDir creates a temporary directory for use during tests, returning the pathname. +// +// We don't use tb.TempDir() beacuse generates temp directories based on the +// test name, which is often longer than 108 characters, which then breaks the +// unix socket tests because elsewhere in Go only 108 character socket +// pathnames are supported!. https://github.com/golang/go/issues/6895 func TestTempDir(tb testing.TB) string { tb.Helper() + //nolint:usetesting name, err := os.MkdirTemp("", "mtail-test") if err != nil { tb.Fatal(err) From f1bcb90028418ed3a12593c7e7d0f8ccddcc134a Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 15 Feb 2025 17:40:29 +1100 Subject: [PATCH 027/381] chore: Use pointer receiver for all of `ErrorList`. This is annoying beacuse now all the client sites leak the error abstraction. --- internal/runtime/compiler/checker/checker.go | 2 +- internal/runtime/compiler/codegen/codegen.go | 2 +- internal/runtime/compiler/errors/errors.go | 8 ++++---- internal/runtime/compiler/opt/opt.go | 2 +- internal/runtime/compiler/parser/driver.go | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/internal/runtime/compiler/checker/checker.go b/internal/runtime/compiler/checker/checker.go index d73f9b57f..8006e1276 100644 --- a/internal/runtime/compiler/checker/checker.go +++ b/internal/runtime/compiler/checker/checker.go @@ -54,7 +54,7 @@ func Check(node ast.Node, maxRegexpLength int, maxRecursionDepth int) (ast.Node, c := &checker{maxRegexLength: maxRegexpLength, maxRecursionDepth: maxRecursionDepth} node = ast.Walk(c, node) if len(c.errors) > 0 { - return node, c.errors + return node, &c.errors } return node, nil } diff --git a/internal/runtime/compiler/codegen/codegen.go b/internal/runtime/compiler/codegen/codegen.go index 640cbca47..eac1505ec 100644 --- a/internal/runtime/compiler/codegen/codegen.go +++ b/internal/runtime/compiler/codegen/codegen.go @@ -38,7 +38,7 @@ func CodeGen(name string, n ast.Node) (*code.Object, error) { _ = ast.Walk(c, n) c.writeJumps() if len(c.errors) > 0 { - return nil, c.errors + return nil, &c.errors } return &c.obj, nil } diff --git a/internal/runtime/compiler/errors/errors.go b/internal/runtime/compiler/errors/errors.go index 1ec4876b1..86209708d 100644 --- a/internal/runtime/compiler/errors/errors.go +++ b/internal/runtime/compiler/errors/errors.go @@ -37,15 +37,15 @@ func (p *ErrorList) Append(l ErrorList) { } // ErrorList implements the error interface. -func (p ErrorList) Error() string { - switch len(p) { +func (p *ErrorList) Error() string { + switch len(*p) { case 0: return "no errors" case 1: - return p[0].Error() + return (*p)[0].Error() } var r strings.Builder - for _, e := range p { + for _, e := range *p { r.WriteString(fmt.Sprintf("%s\n", e)) } return r.String()[:r.Len()-1] diff --git a/internal/runtime/compiler/opt/opt.go b/internal/runtime/compiler/opt/opt.go index 18ff6593c..8946a9fab 100644 --- a/internal/runtime/compiler/opt/opt.go +++ b/internal/runtime/compiler/opt/opt.go @@ -18,7 +18,7 @@ func Optimise(n ast.Node) (ast.Node, error) { o := &optimiser{} r := ast.Walk(o, n) if len(o.errors) > 0 { - return r, o.errors + return r, &o.errors } return r, nil } diff --git a/internal/runtime/compiler/parser/driver.go b/internal/runtime/compiler/parser/driver.go index 48bd6cf88..af5aabf6e 100644 --- a/internal/runtime/compiler/parser/driver.go +++ b/internal/runtime/compiler/parser/driver.go @@ -35,7 +35,7 @@ func Parse(name string, input io.Reader) (ast.Node, error) { p := newParser(name, input) r := mtailParse(p) if r != 0 || p.errors != nil { - return nil, p.errors + return nil, &p.errors } return p.root, nil } From 8fac39a6e6d23687fac5b7f42af1c2c55741f278 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 15 Feb 2025 18:57:30 +1100 Subject: [PATCH 028/381] ci: Keep 50 package versions. If we build once a week then this gives about a year of pinning before people have to upgrade. Personally I think 90 days should be the limit but I can't be too prescriptive. Fixes: #121 --- .github/workflows/remove-old-package-versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/remove-old-package-versions.yml b/.github/workflows/remove-old-package-versions.yml index afda8e516..6bd06e870 100644 --- a/.github/workflows/remove-old-package-versions.yml +++ b/.github/workflows/remove-old-package-versions.yml @@ -14,4 +14,4 @@ jobs: with: package-name: mtail package-type: container - min-versions-to-keep: 10 + min-versions-to-keep: 50 From 249413ee100653ee555ad7e9696a17f3aba8db0a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Feb 2025 16:48:57 +0000 Subject: [PATCH 029/381] build(deps): bump benchmark-action/github-action-benchmark Bumps [benchmark-action/github-action-benchmark](https://github.com/benchmark-action/github-action-benchmark) from 1.20.3 to 1.20.4. - [Release notes](https://github.com/benchmark-action/github-action-benchmark/releases) - [Changelog](https://github.com/benchmark-action/github-action-benchmark/blob/master/CHANGELOG.md) - [Commits](https://github.com/benchmark-action/github-action-benchmark/compare/v1.20.3...v1.20.4) --- updated-dependencies: - dependency-name: benchmark-action/github-action-benchmark dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 6ffc3035e..7ba5dbdee 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -27,7 +27,7 @@ jobs: with: path: ./cache key: ${{ runner.os }}-benchmark - - uses: benchmark-action/github-action-benchmark@v1.20.3 + - uses: benchmark-action/github-action-benchmark@v1.20.4 with: tool: 'go' output-file-path: test-results/benchmark-results-${{ env.GITHUB_REF_NAME }}.txt From d434eb9339b84595a92426fcd64d0d846e7056a7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Feb 2025 16:59:04 +0000 Subject: [PATCH 030/381] build(deps): bump github.com/prometheus/common from 0.60.0 to 0.62.0 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.60.0 to 0.62.0. - [Release notes](https://github.com/prometheus/common/releases) - [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md) - [Commits](https://github.com/prometheus/common/compare/v0.60.0...v0.62.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 24 ++++++++++++------------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index af6a5d803..a9423367d 100644 --- a/go.mod +++ b/go.mod @@ -9,9 +9,9 @@ require ( github.com/google/go-cmp v0.6.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.20.5 - github.com/prometheus/common v0.60.0 + github.com/prometheus/common v0.62.0 go.opencensus.io v0.24.0 - golang.org/x/sys v0.26.0 + golang.org/x/sys v0.28.0 ) require ( @@ -28,5 +28,5 @@ require ( google.golang.org/api v0.105.0 // indirect google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect google.golang.org/grpc v1.56.3 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/protobuf v1.36.1 // indirect ) diff --git a/go.sum b/go.sum index a845463b9..3eb23d44b 100644 --- a/go.sum +++ b/go.sum @@ -118,8 +118,8 @@ github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/j github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.60.0 h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA= -github.com/prometheus/common v0.60.0/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= +github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= +github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -130,8 +130,8 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P 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/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/uber/jaeger-client-go v2.25.0+incompatible h1:IxcNZ7WRY1Y3G4poYlx24szfsn/3LvK9QHCq9oQw8+U= github.com/uber/jaeger-client-go v2.25.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -194,8 +194,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= -golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -231,15 +231,15 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= -golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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.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.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= -golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -338,8 +338,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD 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/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= +google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= From 098bb1bbb81eaf19dc7c9cf05fea7267382145d1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Feb 2025 17:07:14 +0000 Subject: [PATCH 031/381] build(deps): bump golang.org/x/sys from 0.26.0 to 0.30.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.26.0 to 0.30.0. - [Commits](https://github.com/golang/sys/compare/v0.26.0...v0.30.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a9423367d..0da7e9c9c 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/prometheus/client_golang v1.20.5 github.com/prometheus/common v0.62.0 go.opencensus.io v0.24.0 - golang.org/x/sys v0.28.0 + golang.org/x/sys v0.30.0 ) require ( diff --git a/go.sum b/go.sum index 3eb23d44b..df9874cf5 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= +golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From 47557353f55784e8f8c32ea6f2e41dafe93a3e3a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Feb 2025 12:05:18 +0000 Subject: [PATCH 032/381] build(deps): bump github.com/prometheus/client_golang Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.5 to 1.21.0. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/v1.21.0/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.20.5...v1.21.0) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 0da7e9c9c..94852fc8e 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da github.com/google/go-cmp v0.6.0 github.com/pkg/errors v0.9.1 - github.com/prometheus/client_golang v1.20.5 + github.com/prometheus/client_golang v1.21.0 github.com/prometheus/common v0.62.0 go.opencensus.io v0.24.0 golang.org/x/sys v0.30.0 @@ -18,7 +18,7 @@ require ( github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/golang/protobuf v1.5.3 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/prometheus/client_model v0.6.1 // indirect diff --git a/go.sum b/go.sum index df9874cf5..c2b927aaa 100644 --- a/go.sum +++ b/go.sum @@ -100,8 +100,8 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1: github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -113,8 +113,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= -github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.21.0 h1:DIsaGmiaBkSangBgMtWdNfxbMNdku5IK6iNhrEqWvdA= +github.com/prometheus/client_golang v1.21.0/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= From fca95ce032bd49d2904172188483841ecd8b50dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 20 Feb 2025 19:26:02 +0000 Subject: [PATCH 033/381] build(deps): bump github.com/golang/glog from 1.2.2 to 1.2.4 Bumps [github.com/golang/glog](https://github.com/golang/glog) from 1.2.2 to 1.2.4. - [Release notes](https://github.com/golang/glog/releases) - [Commits](https://github.com/golang/glog/compare/v1.2.2...v1.2.4) --- updated-dependencies: - dependency-name: github.com/golang/glog dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 94852fc8e..5224f8aed 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.21.1 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 - github.com/golang/glog v1.2.2 + github.com/golang/glog v1.2.4 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da github.com/google/go-cmp v0.6.0 github.com/pkg/errors v0.9.1 diff --git a/go.sum b/go.sum index c2b927aaa..82b7dc0df 100644 --- a/go.sum +++ b/go.sum @@ -46,8 +46,8 @@ github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= -github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.4 h1:CNNw5U8lSiiBk7druxtSHHTsRWcxKoac6kZKm2peBBc= +github.com/golang/glog v1.2.4/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= From 89d4c1cda38f76de87cf7066ac9cecfb2d7a4ed9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 20 Feb 2025 23:35:46 +0000 Subject: [PATCH 034/381] build(deps): bump sigstore/cosign-installer from 3.8.0 to 3.8.1 Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.8.0 to 3.8.1. - [Release notes](https://github.com/sigstore/cosign-installer/releases) - [Commits](https://github.com/sigstore/cosign-installer/compare/v3.8.0...v3.8.1) --- updated-dependencies: - dependency-name: sigstore/cosign-installer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0eb25eb0d..420180534 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -138,7 +138,7 @@ jobs: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - uses: sigstore/cosign-installer@v3.8.0 + - uses: sigstore/cosign-installer@v3.8.1 - name: verify image env: IMAGE: ${{ matrix.image }} From d4d1246bf307b571b6790d31fa97c349102f91c4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Feb 2025 23:42:46 +0000 Subject: [PATCH 035/381] build(deps): bump github.com/google/go-cmp from 0.6.0 to 0.7.0 Bumps [github.com/google/go-cmp](https://github.com/google/go-cmp) from 0.6.0 to 0.7.0. - [Release notes](https://github.com/google/go-cmp/releases) - [Commits](https://github.com/google/go-cmp/compare/v0.6.0...v0.7.0) --- updated-dependencies: - dependency-name: github.com/google/go-cmp dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5224f8aed..99b02cb23 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 github.com/golang/glog v1.2.4 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da - github.com/google/go-cmp v0.6.0 + github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.21.0 github.com/prometheus/common v0.62.0 diff --git a/go.sum b/go.sum index 82b7dc0df..1033acb38 100644 --- a/go.sum +++ b/go.sum @@ -82,8 +82,8 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.0/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.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= 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= From 34f5fc5a3539a898adc09efb32875bb7586800c6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Feb 2025 23:27:12 +0000 Subject: [PATCH 036/381] build(deps): bump slsa-framework/slsa-github-generator Bumps [slsa-framework/slsa-github-generator](https://github.com/slsa-framework/slsa-github-generator) from 2.0.0 to 2.1.0. - [Release notes](https://github.com/slsa-framework/slsa-github-generator/releases) - [Changelog](https://github.com/slsa-framework/slsa-github-generator/blob/main/CHANGELOG.md) - [Commits](https://github.com/slsa-framework/slsa-github-generator/compare/v2.0.0...v2.1.0) --- updated-dependencies: - dependency-name: slsa-framework/slsa-github-generator dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 420180534..063ac96ea 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -73,7 +73,7 @@ jobs: actions: read # To read the workflow path. id-token: write # To sign the provenance. contents: write # To add assets to a release. - uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.0.0 + uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.1.0 with: base64-subjects: "${{ needs.goreleaser.outputs.binary_hashes }}" upload-assets: true # upload to a new release @@ -116,7 +116,7 @@ jobs: packages: write strategy: matrix: ${{ fromJSON(needs.goreleaser.outputs.image_subjects) }} - uses: slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@v2.0.0 + uses: slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@v2.1.0 with: image: ghcr.io/${{ matrix.image }} digest: ${{ matrix.digest }} From ccb51148a75b8c66ff35551fc797592392540ec8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Mar 2025 23:22:58 +0000 Subject: [PATCH 037/381] build(deps): bump github.com/prometheus/client_golang Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.21.0 to 1.21.1. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.21.0...v1.21.1) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 99b02cb23..88e71d4d7 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 - github.com/prometheus/client_golang v1.21.0 + github.com/prometheus/client_golang v1.21.1 github.com/prometheus/common v0.62.0 go.opencensus.io v0.24.0 golang.org/x/sys v0.30.0 diff --git a/go.sum b/go.sum index 1033acb38..0ba6bf823 100644 --- a/go.sum +++ b/go.sum @@ -113,8 +113,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.21.0 h1:DIsaGmiaBkSangBgMtWdNfxbMNdku5IK6iNhrEqWvdA= -github.com/prometheus/client_golang v1.21.0/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg= +github.com/prometheus/client_golang v1.21.1 h1:DOvXXTqVzvkIewV/CDPFdejpMCGeMcbGCQ8YOmu+Ibk= +github.com/prometheus/client_golang v1.21.1/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= From e011b66714aed005b817b437f95842a91a1e1de8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Mar 2025 23:48:45 +0000 Subject: [PATCH 038/381] build(deps): bump golang.org/x/sys from 0.30.0 to 0.31.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.30.0 to 0.31.0. - [Commits](https://github.com/golang/sys/compare/v0.30.0...v0.31.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 3 ++- go.sum | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 88e71d4d7..b9208dd4e 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,7 @@ module github.com/jaqx0r/mtail go 1.21.1 +toolchain go1.23.7 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 @@ -11,7 +12,7 @@ require ( github.com/prometheus/client_golang v1.21.1 github.com/prometheus/common v0.62.0 go.opencensus.io v0.24.0 - golang.org/x/sys v0.30.0 + golang.org/x/sys v0.31.0 ) require ( diff --git a/go.sum b/go.sum index 0ba6bf823..754c9f067 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From 0f5017c6ec0b8c8bdfeee11702d24d9a1d0195e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Mar 2025 23:25:24 +0000 Subject: [PATCH 039/381] build(deps): bump github.com/prometheus/common from 0.62.0 to 0.63.0 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.62.0 to 0.63.0. - [Release notes](https://github.com/prometheus/common/releases) - [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md) - [Commits](https://github.com/prometheus/common/compare/v0.62.0...v0.63.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/go.mod b/go.mod index b9208dd4e..ef9aba05f 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.21.1 - github.com/prometheus/common v0.62.0 + github.com/prometheus/common v0.63.0 go.opencensus.io v0.24.0 golang.org/x/sys v0.31.0 ) @@ -29,5 +29,5 @@ require ( google.golang.org/api v0.105.0 // indirect google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect google.golang.org/grpc v1.56.3 // indirect - google.golang.org/protobuf v1.36.1 // indirect + google.golang.org/protobuf v1.36.5 // indirect ) diff --git a/go.sum b/go.sum index 754c9f067..5401044c8 100644 --- a/go.sum +++ b/go.sum @@ -118,8 +118,8 @@ github.com/prometheus/client_golang v1.21.1/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuF github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= -github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= +github.com/prometheus/common v0.63.0 h1:YR/EIY1o3mEFP/kZCD7iDMnLPlGyuU2Gb3HIcXnA98k= +github.com/prometheus/common v0.63.0/go.mod h1:VVFF/fBIoToEnWRVkYoXEkq3R3paCoxG9PXP74SnV18= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -194,8 +194,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= +golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -238,8 +238,8 @@ 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.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.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= +golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -338,8 +338,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD 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/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= +google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= From 5dae50502849f61b1a46f612c0d9b591bfb06b95 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:54:25 +0000 Subject: [PATCH 040/381] build(deps): bump docker/login-action from 3.3.0 to 3.4.0 Bumps [docker/login-action](https://github.com/docker/login-action) from 3.3.0 to 3.4.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v3.3.0...v3.4.0) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 063ac96ea..20b454bbc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,7 +37,7 @@ jobs: with: go-version-file: 'go.mod' cache: true - - uses: docker/login-action@v3.3.0 + - uses: docker/login-action@v3.4.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -133,7 +133,7 @@ jobs: strategy: matrix: ${{ fromJSON(needs.goreleaser.outputs.image_subjects) }} steps: - - uses: docker/login-action@v3.3.0 + - uses: docker/login-action@v3.4.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} From 869f695776b769dbaeb5bd50526aa3994449cc72 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Mar 2025 00:55:21 +0000 Subject: [PATCH 041/381] build(deps): bump golangci/golangci-lint-action from 6 to 7 Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6 to 7. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](https://github.com/golangci/golangci-lint-action/compare/v6...v7) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/golangci-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 93fbbc23d..897db9475 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -23,7 +23,7 @@ jobs: steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 - - uses: golangci/golangci-lint-action@v6 + - uses: golangci/golangci-lint-action@v7 with: # Required: the version of golangci-lint is required and must be # specified without patch version: we always use the latest patch From 5cb8158d1e7c6c7c6ad71079196df1fbc5604bd4 Mon Sep 17 00:00:00 2001 From: Andrew Bramble Date: Tue, 4 Mar 2025 17:23:23 +1100 Subject: [PATCH 042/381] minor spelling fixes to documentation --- docs/Building.md | 2 +- docs/Interoperability.md | 2 +- docs/Testing.md | 2 +- docs/Troubleshooting.md | 2 +- docs/debugging.md | 6 +++--- docs/faq.md | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/Building.md b/docs/Building.md index 8c79cab6e..c5deaf12a 100644 --- a/docs/Building.md +++ b/docs/Building.md @@ -35,7 +35,7 @@ The unit tests can be run with `make test`, which invokes `go test`. The slower ### Cross-compilation -`goreleaser` is used to build the binaries available for download on the Releases page. If yuo want to build your own locally, fetch goreleaser and update the config file locally if necessary. +`goreleaser` is used to build the binaries available for download on the Releases page. If you want to build your own locally, fetch goreleaser and update the config file locally if necessary. ## No Go diff --git a/docs/Interoperability.md b/docs/Interoperability.md index 9bd09b573..2deef0248 100644 --- a/docs/Interoperability.md +++ b/docs/Interoperability.md @@ -42,7 +42,7 @@ TODO(jaq): Instead, mtail will export a histogram of the runtime per line of eac # Log Collection, Distribution, and Filtering {: #syslog} -`mtail` is not intended to be used as a replacement for `syslogd`. `mtail` can read from named pipes and unix domain sockets on systems that support them, but the intent is that a proper `syslogd` can manage the collection of those logs, filter out interestnig ones if necessary, and forward them to `mtail` via a named pipe. +`mtail` is not intended to be used as a replacement for `syslogd`. `mtail` can read from named pipes and unix domain sockets on systems that support them, but the intent is that a proper `syslogd` can manage the collection of those logs, filter out interesting ones if necessary, and forward them to `mtail` via a named pipe. Both `rsyslogd` and `syslog-ng` are possible choices here. diff --git a/docs/Testing.md b/docs/Testing.md index f8f090342..84392f505 100644 --- a/docs/Testing.md +++ b/docs/Testing.md @@ -5,7 +5,7 @@ By default any compile errors are logged to the standard log `/tmp/mtail.INFO` unless otherwise redirected. (You can emit to standard out with `--logtostderr` flag.) Program errors are also printed on the HTTP status -handler, by default at porrt 3903. +handler, by default at port 3903. If you want more debugging information, `mtail` provides a few flags to assist with testing your program in standalone mode. diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md index b8f4d031b..78cb74a4f 100644 --- a/docs/Troubleshooting.md +++ b/docs/Troubleshooting.md @@ -95,7 +95,7 @@ You can transcode these back to their names by doing a conversion from the int32 value in hex provided in the stack, e.g.: 0x61706163 -> 'apac' (probably an apache log program); 0x7273796e -> 'rsyn' (probably an rsyncd log program) -Obvious problems seen in the goroutine stack dump are long-waiting gorotines, usually on mutexes. +Obvious problems seen in the goroutine stack dump are long-waiting goroutines, usually on mutexes. (they show their block time in minutes, e.g. `goroutine 38 [semacquire, 1580 minutes]:`) which usually also manifest as a logjam (no pun intended) in the loader, tailer, and watcher goroutines (in state 'chan send'). diff --git a/docs/debugging.md b/docs/debugging.md index 25ba51618..53807b26f 100644 --- a/docs/debugging.md +++ b/docs/debugging.md @@ -32,9 +32,9 @@ error recovery pops state 2 error recovery pops state 0 ``` -This log says the lexer sent a LSQUARE token, and the parser was in state 14 when it saw it. The snippet below from `y.output` indicates state 14 is never expecting a LSQUARE, and the following lnies in the log above show the state stack being popped -- 0, 2, 14, 49, 102, 14. +This log says the lexer sent a LSQUARE token, and the parser was in state 14 when it saw it. The snippet below from `y.output` indicates state 14 is never expecting a LSQUARE, and the following lines in the log above show the state stack being popped -- 0, 2, 14, 49, 102, 14. -Walking backwards from state 0 (`$start`), we can get a list of nonterminal names to put in the state machine match expression used in the `%error` directive, and fill in the gaps with our knowledge of the intermediate states in our parose tree. +Walking backwards from state 0 (`$start`), we can get a list of nonterminal names to put in the state machine match expression used in the `%error` directive, and fill in the gaps with our knowledge of the intermediate states in our parse tree. `y.output`: ``` @@ -99,7 +99,7 @@ The formatted mtail program should help make it obvious what's happening and let Once we have the smallest program we can add it to the crash corpus in [`internal/runtime/fuzz/`](../internal/runtime/fuzz/) and running `make fuzz` should run and fail on it straight away. -Or, variants of the program can be added to the various `*Invalid` tests in parts of the `vm` module, e.g. [`parser_test.go`](../internal/runtime/compiler/parser/parser_test.go) or [`checker_test.go`](../internal/runtime/compiler/checker/checker_test.go) depending on where in the compiler the defect is occuring. +Or, variants of the program can be added to the various `*Invalid` tests in parts of the `vm` module, e.g. [`parser_test.go`](../internal/runtime/compiler/parser/parser_test.go) or [`checker_test.go`](../internal/runtime/compiler/checker/checker_test.go) depending on where in the compiler the defect is occurring. If the crash is in `vm.go` then we can dump the program to see what AST and types, and bytecode it generates. diff --git a/docs/faq.md b/docs/faq.md index b86f7002e..de608abbc 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -92,6 +92,6 @@ overall gain. `mtail` will reload programme files when it receives a `SIGHUP` signal. -It's assumed that programmes do not change very often, so it relies on an external trigger rather than spend resourecs of its own polling for changes at all. `inotify` is not used either, as programme reloads would be the only use of that library, and the benefit does not seem worth the cost of including the extra dependency. +It's assumed that programmes do not change very often, so it relies on an external trigger rather than spend resources of its own polling for changes at all. `inotify` is not used either, as programme reloads would be the only use of that library, and the benefit does not seem worth the cost of including the extra dependency. See the [Deployment](Deployment.md) guide for suggestions for "automatic" programme reloads. From 0793d47dd7f3b9929824603d3623b8d783d55238 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 15 Jan 2024 08:59:34 +1100 Subject: [PATCH 043/381] build: Initial creation of Bazel build rules. --- .gitignore | 4 + BUILD.bazel | 15 + MODULE.bazel | 6 + MODULE.bazel.lock | 1245 ++++++++++++++ WORKSPACE | 34 + cmd/mdot/BUILD.bazel | 21 + cmd/mfmt/BUILD.bazel | 19 + cmd/mgen/BUILD.bazel | 15 + cmd/mtail/BUILD.bazel | 22 + deps.bzl | 1480 +++++++++++++++++ examples/BUILD.bazel | 5 + internal/exporter/BUILD.bazel | 42 + internal/logline/BUILD.bazel | 8 + internal/metrics/BUILD.bazel | 33 + internal/metrics/datum/BUILD.bazel | 25 + internal/mtail/BUILD.bazel | 102 ++ internal/mtail/golden/BUILD.bazel | 25 + internal/runtime/BUILD.bazel | 37 + internal/runtime/code/BUILD.bazel | 23 + internal/runtime/compiler/BUILD.bazel | 26 + internal/runtime/compiler/ast/BUILD.bazel | 30 + internal/runtime/compiler/checker/BUILD.bazel | 31 + internal/runtime/compiler/codegen/BUILD.bazel | 33 + internal/runtime/compiler/errors/BUILD.bazel | 18 + internal/runtime/compiler/opt/BUILD.bazel | 27 + internal/runtime/compiler/parser/BUILD.bazel | 38 + .../runtime/compiler/position/BUILD.bazel | 8 + internal/runtime/compiler/symbol/BUILD.bazel | 19 + internal/runtime/compiler/types/BUILD.bazel | 19 + internal/runtime/vm/BUILD.bazel | 31 + internal/tailer/BUILD.bazel | 33 + internal/tailer/logstream/BUILD.bazel | 84 + internal/testutil/BUILD.bazel | 34 + internal/waker/BUILD.bazel | 22 + 34 files changed, 3614 insertions(+) create mode 100644 BUILD.bazel create mode 100644 MODULE.bazel create mode 100644 MODULE.bazel.lock create mode 100644 WORKSPACE create mode 100644 cmd/mdot/BUILD.bazel create mode 100644 cmd/mfmt/BUILD.bazel create mode 100644 cmd/mgen/BUILD.bazel create mode 100644 cmd/mtail/BUILD.bazel create mode 100644 deps.bzl create mode 100644 examples/BUILD.bazel create mode 100644 internal/exporter/BUILD.bazel create mode 100644 internal/logline/BUILD.bazel create mode 100644 internal/metrics/BUILD.bazel create mode 100644 internal/metrics/datum/BUILD.bazel create mode 100644 internal/mtail/BUILD.bazel create mode 100644 internal/mtail/golden/BUILD.bazel create mode 100644 internal/runtime/BUILD.bazel create mode 100644 internal/runtime/code/BUILD.bazel create mode 100644 internal/runtime/compiler/BUILD.bazel create mode 100644 internal/runtime/compiler/ast/BUILD.bazel create mode 100644 internal/runtime/compiler/checker/BUILD.bazel create mode 100644 internal/runtime/compiler/codegen/BUILD.bazel create mode 100644 internal/runtime/compiler/errors/BUILD.bazel create mode 100644 internal/runtime/compiler/opt/BUILD.bazel create mode 100644 internal/runtime/compiler/parser/BUILD.bazel create mode 100644 internal/runtime/compiler/position/BUILD.bazel create mode 100644 internal/runtime/compiler/symbol/BUILD.bazel create mode 100644 internal/runtime/compiler/types/BUILD.bazel create mode 100644 internal/runtime/vm/BUILD.bazel create mode 100644 internal/tailer/BUILD.bazel create mode 100644 internal/tailer/logstream/BUILD.bazel create mode 100644 internal/testutil/BUILD.bazel create mode 100644 internal/waker/BUILD.bazel diff --git a/.gitignore b/.gitignore index 06af14347..ccb9bc9cb 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,7 @@ workdir/* /fuzzer.h /dist/ /main.*.go +/bazel-bin +/bazel-mtail +/bazel-out +/bazel-testlogs diff --git a/BUILD.bazel b/BUILD.bazel new file mode 100644 index 000000000..79d38fae3 --- /dev/null +++ b/BUILD.bazel @@ -0,0 +1,15 @@ +load("@bazel_gazelle//:def.bzl", "gazelle") + +# gazelle:prefix github.com/google/mtail +gazelle(name = "gazelle") + +gazelle( + name = "gazelle-update-repos", + args = [ + "-from_file=go.mod", + "-to_macro=deps.bzl%go_dependencies", + "-prune", + "-build_file_proto_mode=disable_global", + ], + command = "update-repos", +) diff --git a/MODULE.bazel b/MODULE.bazel new file mode 100644 index 000000000..00bb18361 --- /dev/null +++ b/MODULE.bazel @@ -0,0 +1,6 @@ +############################################################################### +# Bazel now uses Bzlmod by default to manage external dependencies. +# Please consider migrating your external dependencies from WORKSPACE to MODULE.bazel. +# +# For more details, please check https://github.com/bazelbuild/bazel/issues/18958 +############################################################################### diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock new file mode 100644 index 000000000..964faf91b --- /dev/null +++ b/MODULE.bazel.lock @@ -0,0 +1,1245 @@ +{ + "lockFileVersion": 3, + "moduleFileHash": "0e3e315145ac7ee7a4e0ac825e1c5e03c068ec1254dd42c3caaecb27e921dc4d", + "flags": { + "cmdRegistries": [ + "https://bcr.bazel.build/" + ], + "cmdModuleOverrides": {}, + "allowedYankedVersions": [], + "envVarAllowedYankedVersions": "", + "ignoreDevDependency": false, + "directDependenciesMode": "WARNING", + "compatibilityMode": "ERROR" + }, + "localOverrideHashes": { + "bazel_tools": "922ea6752dc9105de5af957f7a99a6933c0a6a712d23df6aad16a9c399f7e787" + }, + "moduleDepGraph": { + "": { + "name": "", + "version": "", + "key": "", + "repoName": "", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + } + }, + "bazel_tools@_": { + "name": "bazel_tools", + "version": "", + "key": "bazel_tools@_", + "repoName": "bazel_tools", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@local_config_cc_toolchains//:all", + "@local_config_sh//:local_sh_toolchain" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@bazel_tools//tools/cpp:cc_configure.bzl", + "extensionName": "cc_configure_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 17, + "column": 29 + }, + "imports": { + "local_config_cc": "local_config_cc", + "local_config_cc_toolchains": "local_config_cc_toolchains" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/osx:xcode_configure.bzl", + "extensionName": "xcode_configure_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 21, + "column": 32 + }, + "imports": { + "local_config_xcode": "local_config_xcode" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@rules_java//java:extensions.bzl", + "extensionName": "toolchains", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 24, + "column": 32 + }, + "imports": { + "local_jdk": "local_jdk", + "remote_java_tools": "remote_java_tools", + "remote_java_tools_linux": "remote_java_tools_linux", + "remote_java_tools_windows": "remote_java_tools_windows", + "remote_java_tools_darwin_x86_64": "remote_java_tools_darwin_x86_64", + "remote_java_tools_darwin_arm64": "remote_java_tools_darwin_arm64" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/sh:sh_configure.bzl", + "extensionName": "sh_configure_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 35, + "column": 39 + }, + "imports": { + "local_config_sh": "local_config_sh" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/test:extensions.bzl", + "extensionName": "remote_coverage_tools_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 39, + "column": 48 + }, + "imports": { + "remote_coverage_tools": "remote_coverage_tools" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/android:android_extensions.bzl", + "extensionName": "remote_android_tools_extensions", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 42, + "column": 42 + }, + "imports": { + "android_gmaven_r8": "android_gmaven_r8", + "android_tools": "android_tools" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "rules_cc": "rules_cc@0.0.9", + "rules_java": "rules_java@7.1.0", + "rules_license": "rules_license@0.0.7", + "rules_proto": "rules_proto@4.0.0", + "rules_python": "rules_python@0.4.0", + "platforms": "platforms@0.0.7", + "com_google_protobuf": "protobuf@3.19.6", + "zlib": "zlib@1.3", + "build_bazel_apple_support": "apple_support@1.5.0", + "local_config_platform": "local_config_platform@_" + } + }, + "local_config_platform@_": { + "name": "local_config_platform", + "version": "", + "key": "local_config_platform@_", + "repoName": "local_config_platform", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "platforms": "platforms@0.0.7", + "bazel_tools": "bazel_tools@_" + } + }, + "rules_cc@0.0.9": { + "name": "rules_cc", + "version": "0.0.9", + "key": "rules_cc@0.0.9", + "repoName": "rules_cc", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@local_config_cc_toolchains//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@bazel_tools//tools/cpp:cc_configure.bzl", + "extensionName": "cc_configure_extension", + "usingModule": "rules_cc@0.0.9", + "location": { + "file": "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel", + "line": 9, + "column": 29 + }, + "imports": { + "local_config_cc_toolchains": "local_config_cc_toolchains" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "platforms": "platforms@0.0.7", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_cc~0.0.9", + "urls": [ + "https://github.com/bazelbuild/rules_cc/releases/download/0.0.9/rules_cc-0.0.9.tar.gz" + ], + "integrity": "sha256-IDeHW5pEVtzkp50RKorohbvEqtlo5lh9ym5k86CQDN8=", + "strip_prefix": "rules_cc-0.0.9", + "remote_patches": { + "https://bcr.bazel.build/modules/rules_cc/0.0.9/patches/module_dot_bazel_version.patch": "sha256-mM+qzOI0SgAdaJBlWOSMwMPKpaA9b7R37Hj/tp5bb4g=" + }, + "remote_patch_strip": 0 + } + } + }, + "rules_java@7.1.0": { + "name": "rules_java", + "version": "7.1.0", + "key": "rules_java@7.1.0", + "repoName": "rules_java", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "//toolchains:all", + "@local_jdk//:runtime_toolchain_definition", + "@local_jdk//:bootstrap_runtime_toolchain_definition", + "@remotejdk11_linux_toolchain_config_repo//:all", + "@remotejdk11_linux_aarch64_toolchain_config_repo//:all", + "@remotejdk11_linux_ppc64le_toolchain_config_repo//:all", + "@remotejdk11_linux_s390x_toolchain_config_repo//:all", + "@remotejdk11_macos_toolchain_config_repo//:all", + "@remotejdk11_macos_aarch64_toolchain_config_repo//:all", + "@remotejdk11_win_toolchain_config_repo//:all", + "@remotejdk11_win_arm64_toolchain_config_repo//:all", + "@remotejdk17_linux_toolchain_config_repo//:all", + "@remotejdk17_linux_aarch64_toolchain_config_repo//:all", + "@remotejdk17_linux_ppc64le_toolchain_config_repo//:all", + "@remotejdk17_linux_s390x_toolchain_config_repo//:all", + "@remotejdk17_macos_toolchain_config_repo//:all", + "@remotejdk17_macos_aarch64_toolchain_config_repo//:all", + "@remotejdk17_win_toolchain_config_repo//:all", + "@remotejdk17_win_arm64_toolchain_config_repo//:all", + "@remotejdk21_linux_toolchain_config_repo//:all", + "@remotejdk21_linux_aarch64_toolchain_config_repo//:all", + "@remotejdk21_macos_toolchain_config_repo//:all", + "@remotejdk21_macos_aarch64_toolchain_config_repo//:all", + "@remotejdk21_win_toolchain_config_repo//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_java//java:extensions.bzl", + "extensionName": "toolchains", + "usingModule": "rules_java@7.1.0", + "location": { + "file": "https://bcr.bazel.build/modules/rules_java/7.1.0/MODULE.bazel", + "line": 19, + "column": 27 + }, + "imports": { + "remote_java_tools": "remote_java_tools", + "remote_java_tools_linux": "remote_java_tools_linux", + "remote_java_tools_windows": "remote_java_tools_windows", + "remote_java_tools_darwin_x86_64": "remote_java_tools_darwin_x86_64", + "remote_java_tools_darwin_arm64": "remote_java_tools_darwin_arm64", + "local_jdk": "local_jdk", + "remotejdk11_linux_toolchain_config_repo": "remotejdk11_linux_toolchain_config_repo", + "remotejdk11_linux_aarch64_toolchain_config_repo": "remotejdk11_linux_aarch64_toolchain_config_repo", + "remotejdk11_linux_ppc64le_toolchain_config_repo": "remotejdk11_linux_ppc64le_toolchain_config_repo", + "remotejdk11_linux_s390x_toolchain_config_repo": "remotejdk11_linux_s390x_toolchain_config_repo", + "remotejdk11_macos_toolchain_config_repo": "remotejdk11_macos_toolchain_config_repo", + "remotejdk11_macos_aarch64_toolchain_config_repo": "remotejdk11_macos_aarch64_toolchain_config_repo", + "remotejdk11_win_toolchain_config_repo": "remotejdk11_win_toolchain_config_repo", + "remotejdk11_win_arm64_toolchain_config_repo": "remotejdk11_win_arm64_toolchain_config_repo", + "remotejdk17_linux_toolchain_config_repo": "remotejdk17_linux_toolchain_config_repo", + "remotejdk17_linux_aarch64_toolchain_config_repo": "remotejdk17_linux_aarch64_toolchain_config_repo", + "remotejdk17_linux_ppc64le_toolchain_config_repo": "remotejdk17_linux_ppc64le_toolchain_config_repo", + "remotejdk17_linux_s390x_toolchain_config_repo": "remotejdk17_linux_s390x_toolchain_config_repo", + "remotejdk17_macos_toolchain_config_repo": "remotejdk17_macos_toolchain_config_repo", + "remotejdk17_macos_aarch64_toolchain_config_repo": "remotejdk17_macos_aarch64_toolchain_config_repo", + "remotejdk17_win_toolchain_config_repo": "remotejdk17_win_toolchain_config_repo", + "remotejdk17_win_arm64_toolchain_config_repo": "remotejdk17_win_arm64_toolchain_config_repo", + "remotejdk21_linux_toolchain_config_repo": "remotejdk21_linux_toolchain_config_repo", + "remotejdk21_linux_aarch64_toolchain_config_repo": "remotejdk21_linux_aarch64_toolchain_config_repo", + "remotejdk21_macos_toolchain_config_repo": "remotejdk21_macos_toolchain_config_repo", + "remotejdk21_macos_aarch64_toolchain_config_repo": "remotejdk21_macos_aarch64_toolchain_config_repo", + "remotejdk21_win_toolchain_config_repo": "remotejdk21_win_toolchain_config_repo" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "platforms": "platforms@0.0.7", + "rules_cc": "rules_cc@0.0.9", + "bazel_skylib": "bazel_skylib@1.3.0", + "rules_proto": "rules_proto@4.0.0", + "rules_license": "rules_license@0.0.7", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0", + "urls": [ + "https://github.com/bazelbuild/rules_java/releases/download/7.1.0/rules_java-7.1.0.tar.gz" + ], + "integrity": "sha256-o3pOX2OrgnFuXdau75iO2EYcegC46TYnImKJn1h81OE=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "rules_license@0.0.7": { + "name": "rules_license", + "version": "0.0.7", + "key": "rules_license@0.0.7", + "repoName": "rules_license", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_license~0.0.7", + "urls": [ + "https://github.com/bazelbuild/rules_license/releases/download/0.0.7/rules_license-0.0.7.tar.gz" + ], + "integrity": "sha256-RTHezLkTY5ww5cdRKgVNXYdWmNrrddjPkPKEN1/nw2A=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "rules_proto@4.0.0": { + "name": "rules_proto", + "version": "4.0.0", + "key": "rules_proto@4.0.0", + "repoName": "rules_proto", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_skylib": "bazel_skylib@1.3.0", + "rules_cc": "rules_cc@0.0.9", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_proto~4.0.0", + "urls": [ + "https://github.com/bazelbuild/rules_proto/archive/refs/tags/4.0.0.zip" + ], + "integrity": "sha256-Lr5z6xyuRA19pNtRYMGjKaynwQpck4H/lwYyVjyhoq4=", + "strip_prefix": "rules_proto-4.0.0", + "remote_patches": { + "https://bcr.bazel.build/modules/rules_proto/4.0.0/patches/module_dot_bazel.patch": "sha256-MclJO7tIAM2ElDAmscNId9pKTpOuDGHgVlW/9VBOIp0=" + }, + "remote_patch_strip": 0 + } + } + }, + "rules_python@0.4.0": { + "name": "rules_python", + "version": "0.4.0", + "key": "rules_python@0.4.0", + "repoName": "rules_python", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@bazel_tools//tools/python:autodetecting_toolchain" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_python//bzlmod:extensions.bzl", + "extensionName": "pip_install", + "usingModule": "rules_python@0.4.0", + "location": { + "file": "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel", + "line": 7, + "column": 28 + }, + "imports": { + "pypi__click": "pypi__click", + "pypi__pip": "pypi__pip", + "pypi__pip_tools": "pypi__pip_tools", + "pypi__pkginfo": "pypi__pkginfo", + "pypi__setuptools": "pypi__setuptools", + "pypi__wheel": "pypi__wheel" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_python~0.4.0", + "urls": [ + "https://github.com/bazelbuild/rules_python/releases/download/0.4.0/rules_python-0.4.0.tar.gz" + ], + "integrity": "sha256-lUqom0kb5KCDMEosuDgBnIuMNyCnq7nEy4GseiQjDOo=", + "strip_prefix": "", + "remote_patches": { + "https://bcr.bazel.build/modules/rules_python/0.4.0/patches/propagate_pip_install_dependencies.patch": "sha256-v7S/dem/mixg63MF4KoRGDA4KEol9ab/tIVp+6Xq0D0=", + "https://bcr.bazel.build/modules/rules_python/0.4.0/patches/module_dot_bazel.patch": "sha256-kG4VIfWxQazzTuh50mvsx6pmyoRVA4lfH5rkto/Oq+Y=" + }, + "remote_patch_strip": 1 + } + } + }, + "platforms@0.0.7": { + "name": "platforms", + "version": "0.0.7", + "key": "platforms@0.0.7", + "repoName": "platforms", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "rules_license": "rules_license@0.0.7", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "platforms", + "urls": [ + "https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz" + ], + "integrity": "sha256-OlYcmee9vpFzqmU/1Xn+hJ8djWc5V4CrR3Cx84FDHVE=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "protobuf@3.19.6": { + "name": "protobuf", + "version": "3.19.6", + "key": "protobuf@3.19.6", + "repoName": "protobuf", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_skylib": "bazel_skylib@1.3.0", + "zlib": "zlib@1.3", + "rules_python": "rules_python@0.4.0", + "rules_cc": "rules_cc@0.0.9", + "rules_proto": "rules_proto@4.0.0", + "rules_java": "rules_java@7.1.0", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "protobuf~3.19.6", + "urls": [ + "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.19.6.zip" + ], + "integrity": "sha256-OH4sVZuyx8G8N5jE5s/wFTgaebJ1hpavy/johzC0c4k=", + "strip_prefix": "protobuf-3.19.6", + "remote_patches": { + "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/relative_repo_names.patch": "sha256-w/5gw/zGv8NFId+669hcdw1Uus2lxgYpulATHIwIByI=", + "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/remove_dependency_on_rules_jvm_external.patch": "sha256-THUTnVgEBmjA0W7fKzIyZOVG58DnW9HQTkr4D2zKUUc=", + "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/add_module_dot_bazel_for_examples.patch": "sha256-s/b1gi3baK3LsXefI2rQilhmkb2R5jVJdnT6zEcdfHY=", + "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/module_dot_bazel.patch": "sha256-S0DEni8zgx7rHscW3z/rCEubQnYec0XhNet640cw0h4=" + }, + "remote_patch_strip": 1 + } + } + }, + "zlib@1.3": { + "name": "zlib", + "version": "1.3", + "key": "zlib@1.3", + "repoName": "zlib", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "platforms": "platforms@0.0.7", + "rules_cc": "rules_cc@0.0.9", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "zlib~1.3", + "urls": [ + "https://github.com/madler/zlib/releases/download/v1.3/zlib-1.3.tar.gz" + ], + "integrity": "sha256-/wukwpIBPbwnUws6geH5qBPNOd4Byl4Pi/NVcC76WT4=", + "strip_prefix": "zlib-1.3", + "remote_patches": { + "https://bcr.bazel.build/modules/zlib/1.3/patches/add_build_file.patch": "sha256-Ei+FYaaOo7A3jTKunMEodTI0Uw5NXQyZEcboMC8JskY=", + "https://bcr.bazel.build/modules/zlib/1.3/patches/module_dot_bazel.patch": "sha256-fPWLM+2xaF/kuy+kZc1YTfW6hNjrkG400Ho7gckuyJk=" + }, + "remote_patch_strip": 0 + } + } + }, + "apple_support@1.5.0": { + "name": "apple_support", + "version": "1.5.0", + "key": "apple_support@1.5.0", + "repoName": "build_bazel_apple_support", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@local_config_apple_cc_toolchains//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@build_bazel_apple_support//crosstool:setup.bzl", + "extensionName": "apple_cc_configure_extension", + "usingModule": "apple_support@1.5.0", + "location": { + "file": "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel", + "line": 17, + "column": 35 + }, + "imports": { + "local_config_apple_cc": "local_config_apple_cc", + "local_config_apple_cc_toolchains": "local_config_apple_cc_toolchains" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_skylib": "bazel_skylib@1.3.0", + "platforms": "platforms@0.0.7", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "apple_support~1.5.0", + "urls": [ + "https://github.com/bazelbuild/apple_support/releases/download/1.5.0/apple_support.1.5.0.tar.gz" + ], + "integrity": "sha256-miM41vja0yRPgj8txghKA+TQ+7J8qJLclw5okNW0gYQ=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "bazel_skylib@1.3.0": { + "name": "bazel_skylib", + "version": "1.3.0", + "key": "bazel_skylib@1.3.0", + "repoName": "bazel_skylib", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "//toolchains/unittest:cmd_toolchain", + "//toolchains/unittest:bash_toolchain" + ], + "extensionUsages": [], + "deps": { + "platforms": "platforms@0.0.7", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "bazel_skylib~1.3.0", + "urls": [ + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz" + ], + "integrity": "sha256-dNVE2W9KW7Yw1GXKi7z+Ix41lOWq5X4e2/F6brPKJQY=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + } + }, + "moduleExtensions": { + "@@apple_support~1.5.0//crosstool:setup.bzl%apple_cc_configure_extension": { + "general": { + "bzlTransitiveDigest": "pMLFCYaRPkgXPQ8vtuNkMfiHfPmRBy6QJfnid4sWfv0=", + "accumulatedFileDigests": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "local_config_apple_cc": { + "bzlFile": "@@apple_support~1.5.0//crosstool:setup.bzl", + "ruleClassName": "_apple_cc_autoconf", + "attributes": { + "name": "apple_support~1.5.0~apple_cc_configure_extension~local_config_apple_cc" + } + }, + "local_config_apple_cc_toolchains": { + "bzlFile": "@@apple_support~1.5.0//crosstool:setup.bzl", + "ruleClassName": "_apple_cc_autoconf_toolchains", + "attributes": { + "name": "apple_support~1.5.0~apple_cc_configure_extension~local_config_apple_cc_toolchains" + } + } + } + } + }, + "@@bazel_tools//tools/cpp:cc_configure.bzl%cc_configure_extension": { + "general": { + "bzlTransitiveDigest": "O9sf6ilKWU9Veed02jG9o2HM/xgV/UAyciuFBuxrFRY=", + "accumulatedFileDigests": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "local_config_cc": { + "bzlFile": "@@bazel_tools//tools/cpp:cc_configure.bzl", + "ruleClassName": "cc_autoconf", + "attributes": { + "name": "bazel_tools~cc_configure_extension~local_config_cc" + } + }, + "local_config_cc_toolchains": { + "bzlFile": "@@bazel_tools//tools/cpp:cc_configure.bzl", + "ruleClassName": "cc_autoconf_toolchains", + "attributes": { + "name": "bazel_tools~cc_configure_extension~local_config_cc_toolchains" + } + } + } + } + }, + "@@bazel_tools//tools/osx:xcode_configure.bzl%xcode_configure_extension": { + "general": { + "bzlTransitiveDigest": "Qh2bWTU6QW6wkrd87qrU4YeY+SG37Nvw3A0PR4Y0L2Y=", + "accumulatedFileDigests": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "local_config_xcode": { + "bzlFile": "@@bazel_tools//tools/osx:xcode_configure.bzl", + "ruleClassName": "xcode_autoconf", + "attributes": { + "name": "bazel_tools~xcode_configure_extension~local_config_xcode", + "xcode_locator": "@bazel_tools//tools/osx:xcode_locator.m", + "remote_xcode": "" + } + } + } + } + }, + "@@bazel_tools//tools/sh:sh_configure.bzl%sh_configure_extension": { + "general": { + "bzlTransitiveDigest": "hp4NgmNjEg5+xgvzfh6L83bt9/aiiWETuNpwNuF1MSU=", + "accumulatedFileDigests": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "local_config_sh": { + "bzlFile": "@@bazel_tools//tools/sh:sh_configure.bzl", + "ruleClassName": "sh_config", + "attributes": { + "name": "bazel_tools~sh_configure_extension~local_config_sh" + } + } + } + } + }, + "@@rules_java~7.1.0//java:extensions.bzl%toolchains": { + "general": { + "bzlTransitiveDigest": "iUIRqCK7tkhvcDJCAfPPqSd06IHG0a8HQD0xeQyVAqw=", + "accumulatedFileDigests": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "remotejdk21_linux_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_linux//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_linux//:jdk\",\n)\n" + } + }, + "remotejdk17_linux_s390x_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_s390x_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\n" + } + }, + "remotejdk17_macos_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos//:jdk\",\n)\n" + } + }, + "remotejdk21_macos_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_aarch64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\n" + } + }, + "remotejdk17_linux_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_aarch64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\n" + } + }, + "remotejdk21_macos_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_aarch64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 21,\n)\n", + "sha256": "2a7a99a3ea263dbd8d32a67d1e6e363ba8b25c645c826f5e167a02bbafaff1fa", + "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_aarch64.tar.gz" + ] + } + }, + "remotejdk17_linux_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux//:jdk\",\n)\n" + } + }, + "remotejdk17_macos_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_aarch64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "314b04568ec0ae9b36ba03c9cbd42adc9e1265f74678923b19297d66eb84dcca", + "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64.tar.gz" + ] + } + }, + "remote_java_tools_windows": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remote_java_tools_windows", + "sha256": "c5c70c214a350f12cbf52da8270fa43ba629b795f3dd328028a38f8f0d39c2a1", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_windows-v13.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_windows-v13.1.zip" + ] + } + }, + "remotejdk11_win": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_win", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "43408193ce2fa0862819495b5ae8541085b95660153f2adcf91a52d3a1710e83", + "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-win_x64.zip" + ] + } + }, + "remotejdk11_win_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_win_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win//:jdk\",\n)\n" + } + }, + "remotejdk11_linux_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_aarch64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "54174439f2b3fddd11f1048c397fe7bb45d4c9d66d452d6889b013d04d21c4de", + "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_aarch64.tar.gz" + ] + } + }, + "remotejdk17_linux": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "b9482f2304a1a68a614dfacddcf29569a72f0fac32e6c74f83dc1b9a157b8340", + "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_x64.tar.gz" + ] + } + }, + "remotejdk11_linux_s390x_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_s390x_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\n" + } + }, + "remotejdk11_linux_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux//:jdk\",\n)\n" + } + }, + "remotejdk11_macos": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_macos", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "bcaab11cfe586fae7583c6d9d311c64384354fb2638eb9a012eca4c3f1a1d9fd", + "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_x64.tar.gz" + ] + } + }, + "remotejdk11_win_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_win_arm64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2", + "strip_prefix": "jdk-11.0.13+8", + "urls": [ + "https://mirror.bazel.build/aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-windows-aarch64.zip" + ] + } + }, + "remotejdk17_macos": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_macos", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "640453e8afe8ffe0fb4dceb4535fb50db9c283c64665eebb0ba68b19e65f4b1f", + "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_x64.tar.gz" + ] + } + }, + "remotejdk21_macos": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_macos", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 21,\n)\n", + "sha256": "9639b87db586d0c89f7a9892ae47f421e442c64b97baebdff31788fbe23265bd", + "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-macosx_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_x64.tar.gz" + ] + } + }, + "remotejdk21_macos_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_macos//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_macos//:jdk\",\n)\n" + } + }, + "remotejdk17_macos_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_aarch64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\n" + } + }, + "remotejdk17_win": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_win", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "192f2afca57701de6ec496234f7e45d971bf623ff66b8ee4a5c81582054e5637", + "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_x64.zip" + ] + } + }, + "remotejdk11_macos_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_aarch64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\n" + } + }, + "remotejdk11_linux_ppc64le_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_ppc64le_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\n" + } + }, + "remotejdk21_linux": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_linux", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 21,\n)\n", + "sha256": "0c0eadfbdc47a7ca64aeab51b9c061f71b6e4d25d2d87674512e9b6387e9e3a6", + "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_x64.tar.gz" + ] + } + }, + "remote_java_tools_linux": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remote_java_tools_linux", + "sha256": "d134da9b04c9023fb6e56a5d4bffccee73f7bc9572ddc4e747778dacccd7a5a7", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_linux-v13.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_linux-v13.1.zip" + ] + } + }, + "remotejdk21_win": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_win", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 21,\n)\n", + "sha256": "e9959d500a0d9a7694ac243baf657761479da132f0f94720cbffd092150bd802", + "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-win_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-win_x64.zip", + "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-win_x64.zip" + ] + } + }, + "remotejdk21_linux_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_aarch64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 21,\n)\n", + "sha256": "1fb64b8036c5d463d8ab59af06bf5b6b006811e6012e3b0eb6bccf57f1c55835", + "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-linux_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_aarch64.tar.gz" + ] + } + }, + "remotejdk11_linux_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_aarch64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\n" + } + }, + "remotejdk11_linux_s390x": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_s390x", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "a58fc0361966af0a5d5a31a2d8a208e3c9bb0f54f345596fd80b99ea9a39788b", + "strip_prefix": "jdk-11.0.15+10", + "urls": [ + "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz", + "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz" + ] + } + }, + "remotejdk17_linux_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_aarch64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "6531cef61e416d5a7b691555c8cf2bdff689201b8a001ff45ab6740062b44313", + "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64.tar.gz" + ] + } + }, + "remotejdk17_win_arm64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_win_arm64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\n" + } + }, + "remotejdk11_linux": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "a34b404f87a08a61148b38e1416d837189e1df7a040d949e743633daf4695a3c", + "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_x64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_x64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_x64.tar.gz" + ] + } + }, + "remotejdk11_macos_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos//:jdk\",\n)\n" + } + }, + "remotejdk17_linux_ppc64le_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_ppc64le_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\n" + } + }, + "remotejdk17_win_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_win_arm64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "6802c99eae0d788e21f52d03cab2e2b3bf42bc334ca03cbf19f71eb70ee19f85", + "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_aarch64.zip", + "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_aarch64.zip" + ] + } + }, + "remote_java_tools_darwin_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remote_java_tools_darwin_arm64", + "sha256": "dab5bb87ec43e980faea6e1cec14bafb217b8e2f5346f53aa784fd715929a930", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_darwin_arm64-v13.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_darwin_arm64-v13.1.zip" + ] + } + }, + "remotejdk17_linux_ppc64le": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_ppc64le", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "00a4c07603d0218cd678461b5b3b7e25b3253102da4022d31fc35907f21a2efd", + "strip_prefix": "jdk-17.0.8.1+1", + "urls": [ + "https://mirror.bazel.build/github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.8.1_1.tar.gz", + "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.8.1_1.tar.gz" + ] + } + }, + "remotejdk21_linux_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_aarch64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\n" + } + }, + "remotejdk11_win_arm64_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_win_arm64_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\n" + } + }, + "local_jdk": { + "bzlFile": "@@rules_java~7.1.0//toolchains:local_java_repository.bzl", + "ruleClassName": "_local_java_repository_rule", + "attributes": { + "name": "rules_java~7.1.0~toolchains~local_jdk", + "java_home": "", + "version": "", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = {RUNTIME_VERSION},\n)\n" + } + }, + "remote_java_tools_darwin_x86_64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remote_java_tools_darwin_x86_64", + "sha256": "0db40d8505a2b65ef0ed46e4256757807db8162f7acff16225be57c1d5726dbc", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_darwin_x86_64-v13.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_darwin_x86_64-v13.1.zip" + ] + } + }, + "remote_java_tools": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remote_java_tools", + "sha256": "286bdbbd66e616fc4ed3f90101418729a73baa7e8c23a98ffbef558f74c0ad14", + "urls": [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools-v13.1.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools-v13.1.zip" + ] + } + }, + "remotejdk17_linux_s390x": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_s390x", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", + "sha256": "ffacba69c6843d7ca70d572489d6cc7ab7ae52c60f0852cedf4cf0d248b6fc37", + "strip_prefix": "jdk-17.0.8.1+1", + "urls": [ + "https://mirror.bazel.build/github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_s390x_linux_hotspot_17.0.8.1_1.tar.gz", + "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_s390x_linux_hotspot_17.0.8.1_1.tar.gz" + ] + } + }, + "remotejdk17_win_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk17_win_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win//:jdk\",\n)\n" + } + }, + "remotejdk11_linux_ppc64le": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_ppc64le", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f", + "strip_prefix": "jdk-11.0.15+10", + "urls": [ + "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz", + "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz" + ] + } + }, + "remotejdk11_macos_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_aarch64", + "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", + "sha256": "7632bc29f8a4b7d492b93f3bc75a7b61630894db85d136456035ab2a24d38885", + "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_aarch64", + "urls": [ + "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_aarch64.tar.gz", + "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_aarch64.tar.gz" + ] + } + }, + "remotejdk21_win_toolchain_config_repo": { + "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": { + "name": "rules_java~7.1.0~toolchains~remotejdk21_win_toolchain_config_repo", + "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_win//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_win//:jdk\",\n)\n" + } + } + } + } + } + } +} diff --git a/WORKSPACE b/WORKSPACE new file mode 100644 index 000000000..29d48e7c3 --- /dev/null +++ b/WORKSPACE @@ -0,0 +1,34 @@ +workspace(name = "com_github_google_mtail") + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +http_archive( + name = "io_bazel_rules_go", + integrity = "sha256-fHbWI2so/2laoozzX5XeMXqUcv0fsUrHl8m/aE8Js3w=", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.44.2/rules_go-v0.44.2.zip", + "https://github.com/bazelbuild/rules_go/releases/download/v0.44.2/rules_go-v0.44.2.zip", + ], +) + +http_archive( + name = "bazel_gazelle", + integrity = "sha256-MpOL2hbmcABjA1R5Bj2dJMYO2o15/Uc5Vj9Q0zHLMgk=", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.35.0/bazel-gazelle-v0.35.0.tar.gz", + "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.35.0/bazel-gazelle-v0.35.0.tar.gz", + ], +) + +load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") +load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies") +load("//:deps.bzl", "go_dependencies") + +# gazelle:repository_macro deps.bzl%go_dependencies +go_dependencies() + +go_rules_dependencies() + +go_register_toolchains(version = "1.20.7") + +gazelle_dependencies() diff --git a/cmd/mdot/BUILD.bazel b/cmd/mdot/BUILD.bazel new file mode 100644 index 000000000..3bcdbb3cc --- /dev/null +++ b/cmd/mdot/BUILD.bazel @@ -0,0 +1,21 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") + +go_library( + name = "mdot_lib", + srcs = ["main.go"], + importpath = "github.com/google/mtail/cmd/mdot", + visibility = ["//visibility:private"], + deps = [ + "//internal/mtail", + "//internal/runtime/compiler/ast", + "//internal/runtime/compiler/checker", + "//internal/runtime/compiler/parser", + "@com_github_golang_glog//:go_default_library", + ], +) + +go_binary( + name = "mdot", + embed = [":mdot_lib"], + visibility = ["//visibility:public"], +) diff --git a/cmd/mfmt/BUILD.bazel b/cmd/mfmt/BUILD.bazel new file mode 100644 index 000000000..8cb32ab9e --- /dev/null +++ b/cmd/mfmt/BUILD.bazel @@ -0,0 +1,19 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") + +go_library( + name = "mfmt_lib", + srcs = ["main.go"], + importpath = "github.com/google/mtail/cmd/mfmt", + visibility = ["//visibility:private"], + deps = [ + "//internal/runtime/compiler/checker", + "//internal/runtime/compiler/parser", + "@com_github_golang_glog//:go_default_library", + ], +) + +go_binary( + name = "mfmt", + embed = [":mfmt_lib"], + visibility = ["//visibility:public"], +) diff --git a/cmd/mgen/BUILD.bazel b/cmd/mgen/BUILD.bazel new file mode 100644 index 000000000..014cf6e7f --- /dev/null +++ b/cmd/mgen/BUILD.bazel @@ -0,0 +1,15 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") + +go_library( + name = "mgen_lib", + srcs = ["main.go"], + importpath = "github.com/google/mtail/cmd/mgen", + visibility = ["//visibility:private"], + deps = ["//internal/runtime/compiler/parser"], +) + +go_binary( + name = "mgen", + embed = [":mgen_lib"], + visibility = ["//visibility:public"], +) diff --git a/cmd/mtail/BUILD.bazel b/cmd/mtail/BUILD.bazel new file mode 100644 index 000000000..178e7175a --- /dev/null +++ b/cmd/mtail/BUILD.bazel @@ -0,0 +1,22 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") + +go_library( + name = "mtail_lib", + srcs = ["main.go"], + importpath = "github.com/google/mtail/cmd/mtail", + visibility = ["//visibility:private"], + deps = [ + "//internal/exporter", + "//internal/metrics", + "//internal/mtail", + "//internal/waker", + "@com_github_golang_glog//:go_default_library", + "@io_opencensus_go//trace:go_default_library", + ], +) + +go_binary( + name = "mtail", + embed = [":mtail_lib"], + visibility = ["//visibility:public"], +) diff --git a/deps.bzl b/deps.bzl new file mode 100644 index 000000000..08ce6a9db --- /dev/null +++ b/deps.bzl @@ -0,0 +1,1480 @@ +load("@bazel_gazelle//:deps.bzl", "go_repository") + +def go_dependencies(): + go_repository( + name = "co_honnef_go_tools", + build_file_proto_mode = "disable_global", + importpath = "honnef.co/go/tools", + sum = "h1:sXmLre5bzIR6ypkjXCDI3jHPssRhc8KD/Ome589sc3U=", + version = "v0.0.1-2020.1.3", + ) + go_repository( + name = "com_github_alecthomas_kingpin_v2", + build_file_proto_mode = "disable_global", + importpath = "github.com/alecthomas/kingpin/v2", + sum = "h1:H0aULhgmSzN8xQ3nX1uxtdlTHYoPLu5AhHxWrKI6ocU=", + version = "v2.3.2", + ) + go_repository( + name = "com_github_alecthomas_units", + build_file_proto_mode = "disable_global", + importpath = "github.com/alecthomas/units", + sum = "h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc=", + version = "v0.0.0-20211218093645-b94a6e3cc137", + ) + go_repository( + name = "com_github_beorn7_perks", + build_file_proto_mode = "disable_global", + importpath = "github.com/beorn7/perks", + sum = "h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=", + version = "v1.0.1", + ) + go_repository( + name = "com_github_burntsushi_toml", + build_file_proto_mode = "disable_global", + importpath = "github.com/BurntSushi/toml", + sum = "h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=", + version = "v0.3.1", + ) + go_repository( + name = "com_github_burntsushi_xgb", + build_file_proto_mode = "disable_global", + importpath = "github.com/BurntSushi/xgb", + sum = "h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc=", + version = "v0.0.0-20160522181843-27f122750802", + ) + go_repository( + name = "com_github_census_instrumentation_opencensus_proto", + build_file_proto_mode = "disable_global", + importpath = "github.com/census-instrumentation/opencensus-proto", + sum = "h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g=", + version = "v0.4.1", + ) + go_repository( + name = "com_github_cespare_xxhash_v2", + build_file_proto_mode = "disable_global", + importpath = "github.com/cespare/xxhash/v2", + sum = "h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=", + version = "v2.2.0", + ) + go_repository( + name = "com_github_chzyer_logex", + build_file_proto_mode = "disable_global", + importpath = "github.com/chzyer/logex", + sum = "h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE=", + version = "v1.1.10", + ) + go_repository( + name = "com_github_chzyer_readline", + build_file_proto_mode = "disable_global", + importpath = "github.com/chzyer/readline", + sum = "h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8=", + version = "v0.0.0-20180603132655-2972be24d48e", + ) + go_repository( + name = "com_github_chzyer_test", + build_file_proto_mode = "disable_global", + importpath = "github.com/chzyer/test", + sum = "h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8=", + version = "v0.0.0-20180213035817-a1ea475d72b1", + ) + go_repository( + name = "com_github_client9_misspell", + build_file_proto_mode = "disable_global", + importpath = "github.com/client9/misspell", + sum = "h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI=", + version = "v0.3.4", + ) + go_repository( + name = "com_github_cncf_udpa_go", + build_file_proto_mode = "disable_global", + importpath = "github.com/cncf/udpa/go", + sum = "h1:QQ3GSy+MqSHxm/d8nCtnAiZdYFd45cYZPs8vOOIYKfk=", + version = "v0.0.0-20220112060539-c52dc94e7fbe", + ) + go_repository( + name = "com_github_cncf_xds_go", + build_file_proto_mode = "disable_global", + importpath = "github.com/cncf/xds/go", + sum = "h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k=", + version = "v0.0.0-20230607035331-e9ce68804cb4", + ) + go_repository( + name = "com_github_davecgh_go_spew", + build_file_proto_mode = "disable_global", + importpath = "github.com/davecgh/go-spew", + sum = "h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=", + version = "v1.1.1", + ) + go_repository( + name = "com_github_envoyproxy_go_control_plane", + build_file_proto_mode = "disable_global", + importpath = "github.com/envoyproxy/go-control-plane", + sum = "h1:7T++XKzy4xg7PKy+bM+Sa9/oe1OC88yz2hXQUISoXfA=", + version = "v0.11.1-0.20230524094728-9239064ad72f", + ) + go_repository( + name = "com_github_envoyproxy_protoc_gen_validate", + build_file_proto_mode = "disable_global", + importpath = "github.com/envoyproxy/protoc-gen-validate", + sum = "h1:c0g45+xCJhdgFGw7a5QAfdS4byAbud7miNWJ1WwEVf8=", + version = "v0.10.1", + ) + go_repository( + name = "com_github_go_gl_glfw", + build_file_proto_mode = "disable_global", + importpath = "github.com/go-gl/glfw", + sum = "h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0=", + version = "v0.0.0-20190409004039-e6da0acd62b1", + ) + go_repository( + name = "com_github_go_gl_glfw_v3_3_glfw", + build_file_proto_mode = "disable_global", + importpath = "github.com/go-gl/glfw/v3.3/glfw", + sum = "h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I=", + version = "v0.0.0-20200222043503-6f7a984d4dc4", + ) + go_repository( + name = "com_github_go_kit_log", + build_file_proto_mode = "disable_global", + importpath = "github.com/go-kit/log", + sum = "h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU=", + version = "v0.2.1", + ) + go_repository( + name = "com_github_go_logfmt_logfmt", + build_file_proto_mode = "disable_global", + importpath = "github.com/go-logfmt/logfmt", + sum = "h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=", + version = "v0.5.1", + ) + go_repository( + name = "com_github_golang_glog", + build_file_proto_mode = "disable_global", + importpath = "github.com/golang/glog", + sum = "h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68=", + version = "v1.2.0", + ) + go_repository( + name = "com_github_golang_groupcache", + build_file_proto_mode = "disable_global", + importpath = "github.com/golang/groupcache", + sum = "h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=", + version = "v0.0.0-20210331224755-41bb18bfe9da", + ) + go_repository( + name = "com_github_golang_mock", + build_file_proto_mode = "disable_global", + importpath = "github.com/golang/mock", + sum = "h1:GV+pQPG/EUUbkh47niozDcADz6go/dUwhVzdUQHIVRw=", + version = "v1.4.3", + ) + go_repository( + name = "com_github_golang_protobuf", + build_file_proto_mode = "disable_global", + importpath = "github.com/golang/protobuf", + sum = "h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=", + version = "v1.5.3", + ) + go_repository( + name = "com_github_google_btree", + build_file_proto_mode = "disable_global", + importpath = "github.com/google/btree", + sum = "h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=", + version = "v1.0.0", + ) + go_repository( + name = "com_github_google_go_cmp", + build_file_proto_mode = "disable_global", + importpath = "github.com/google/go-cmp", + sum = "h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=", + version = "v0.6.0", + ) + go_repository( + name = "com_github_google_martian", + build_file_proto_mode = "disable_global", + importpath = "github.com/google/martian", + sum = "h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=", + version = "v2.1.0+incompatible", + ) + go_repository( + name = "com_github_google_pprof", + build_file_proto_mode = "disable_global", + importpath = "github.com/google/pprof", + sum = "h1:SRgJV+IoxM5MKyFdlSUeNy6/ycRUF2yBAKdAQswoHUk=", + version = "v0.0.0-20200229191704-1ebb73c60ed3", + ) + go_repository( + name = "com_github_google_renameio", + build_file_proto_mode = "disable_global", + importpath = "github.com/google/renameio", + sum = "h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA=", + version = "v0.1.0", + ) + go_repository( + name = "com_github_google_uuid", + build_file_proto_mode = "disable_global", + importpath = "github.com/google/uuid", + sum = "h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=", + version = "v1.3.0", + ) + go_repository( + name = "com_github_googleapis_enterprise_certificate_proxy", + build_file_proto_mode = "disable_global", + importpath = "github.com/googleapis/enterprise-certificate-proxy", + sum = "h1:y8Yozv7SZtlU//QXbezB6QkpuE6jMD2/gfzk4AftXjs=", + version = "v0.2.0", + ) + go_repository( + name = "com_github_googleapis_gax_go_v2", + build_file_proto_mode = "disable_global", + importpath = "github.com/googleapis/gax-go/v2", + sum = "h1:IcsPKeInNvYi7eqSaDjiZqDDKu5rsmunY0Y1YupQSSQ=", + version = "v2.7.0", + ) + go_repository( + name = "com_github_hashicorp_golang_lru", + build_file_proto_mode = "disable_global", + importpath = "github.com/hashicorp/golang-lru", + sum = "h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=", + version = "v0.5.1", + ) + go_repository( + name = "com_github_ianlancetaylor_demangle", + build_file_proto_mode = "disable_global", + importpath = "github.com/ianlancetaylor/demangle", + sum = "h1:UDMh68UUwekSh5iP2OMhRRZJiiBccgV7axzUG8vi56c=", + version = "v0.0.0-20181102032728-5e5cf60278f6", + ) + go_repository( + name = "com_github_jpillora_backoff", + build_file_proto_mode = "disable_global", + importpath = "github.com/jpillora/backoff", + sum = "h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA=", + version = "v1.0.0", + ) + go_repository( + name = "com_github_json_iterator_go", + build_file_proto_mode = "disable_global", + importpath = "github.com/json-iterator/go", + sum = "h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=", + version = "v1.1.12", + ) + go_repository( + name = "com_github_jstemmer_go_junit_report", + build_file_proto_mode = "disable_global", + importpath = "github.com/jstemmer/go-junit-report", + sum = "h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o=", + version = "v0.9.1", + ) + go_repository( + name = "com_github_julienschmidt_httprouter", + build_file_proto_mode = "disable_global", + importpath = "github.com/julienschmidt/httprouter", + sum = "h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U=", + version = "v1.3.0", + ) + go_repository( + name = "com_github_kisielk_gotool", + build_file_proto_mode = "disable_global", + importpath = "github.com/kisielk/gotool", + sum = "h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg=", + version = "v1.0.0", + ) + go_repository( + name = "com_github_kr_pretty", + build_file_proto_mode = "disable_global", + importpath = "github.com/kr/pretty", + sum = "h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=", + version = "v0.3.1", + ) + go_repository( + name = "com_github_kr_pty", + build_file_proto_mode = "disable_global", + importpath = "github.com/kr/pty", + sum = "h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw=", + version = "v1.1.1", + ) + go_repository( + name = "com_github_kr_text", + build_file_proto_mode = "disable_global", + importpath = "github.com/kr/text", + sum = "h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=", + version = "v0.1.0", + ) + go_repository( + name = "com_github_matttproud_golang_protobuf_extensions_v2", + build_file_proto_mode = "disable_global", + importpath = "github.com/matttproud/golang_protobuf_extensions/v2", + sum = "h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg=", + version = "v2.0.0", + ) + go_repository( + name = "com_github_modern_go_concurrent", + build_file_proto_mode = "disable_global", + importpath = "github.com/modern-go/concurrent", + sum = "h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=", + version = "v0.0.0-20180306012644-bacd9c7ef1dd", + ) + go_repository( + name = "com_github_modern_go_reflect2", + build_file_proto_mode = "disable_global", + importpath = "github.com/modern-go/reflect2", + sum = "h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=", + version = "v1.0.2", + ) + go_repository( + name = "com_github_mwitkow_go_conntrack", + build_file_proto_mode = "disable_global", + importpath = "github.com/mwitkow/go-conntrack", + sum = "h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU=", + version = "v0.0.0-20190716064945-2f068394615f", + ) + go_repository( + name = "com_github_pkg_errors", + build_file_proto_mode = "disable_global", + importpath = "github.com/pkg/errors", + sum = "h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=", + version = "v0.9.1", + ) + go_repository( + name = "com_github_pmezard_go_difflib", + build_file_proto_mode = "disable_global", + importpath = "github.com/pmezard/go-difflib", + sum = "h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=", + version = "v1.0.0", + ) + go_repository( + name = "com_github_prometheus_client_golang", + build_file_proto_mode = "disable_global", + importpath = "github.com/prometheus/client_golang", + sum = "h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk=", + version = "v1.18.0", + ) + go_repository( + name = "com_github_prometheus_client_model", + build_file_proto_mode = "disable_global", + importpath = "github.com/prometheus/client_model", + sum = "h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw=", + version = "v0.5.0", + ) + go_repository( + name = "com_github_prometheus_common", + build_file_proto_mode = "disable_global", + importpath = "github.com/prometheus/common", + sum = "h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM=", + version = "v0.45.0", + ) + go_repository( + name = "com_github_prometheus_procfs", + build_file_proto_mode = "disable_global", + importpath = "github.com/prometheus/procfs", + sum = "h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=", + version = "v0.12.0", + ) + go_repository( + name = "com_github_rogpeppe_go_internal", + build_file_proto_mode = "disable_global", + importpath = "github.com/rogpeppe/go-internal", + sum = "h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=", + version = "v1.10.0", + ) + go_repository( + name = "com_github_stretchr_objx", + build_file_proto_mode = "disable_global", + importpath = "github.com/stretchr/objx", + sum = "h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=", + version = "v0.5.0", + ) + go_repository( + name = "com_github_stretchr_testify", + build_file_proto_mode = "disable_global", + importpath = "github.com/stretchr/testify", + sum = "h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=", + version = "v1.8.1", + ) + go_repository( + name = "com_github_uber_jaeger_client_go", + build_file_proto_mode = "disable_global", + importpath = "github.com/uber/jaeger-client-go", + sum = "h1:IxcNZ7WRY1Y3G4poYlx24szfsn/3LvK9QHCq9oQw8+U=", + version = "v2.25.0+incompatible", + ) + go_repository( + name = "com_github_xhit_go_str2duration_v2", + build_file_proto_mode = "disable_global", + importpath = "github.com/xhit/go-str2duration/v2", + sum = "h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc=", + version = "v2.1.0", + ) + go_repository( + name = "com_github_yuin_goldmark", + build_file_proto_mode = "disable_global", + importpath = "github.com/yuin/goldmark", + sum = "h1:isv+Q6HQAmmL2Ofcmg8QauBmDPlUUnSoNhEcC940Rds=", + version = "v1.1.25", + ) + go_repository( + name = "com_google_cloud_go", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go", + sum = "h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys=", + version = "v0.110.0", + ) + go_repository( + name = "com_google_cloud_go_accessapproval", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/accessapproval", + sum = "h1:x0cEHro/JFPd7eS4BlEWNTMecIj2HdXjOVB5BtvwER0=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_accesscontextmanager", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/accesscontextmanager", + sum = "h1:MG60JgnEoawHJrbWw0jGdv6HLNSf6gQvYRiXpuzqgEA=", + version = "v1.7.0", + ) + go_repository( + name = "com_google_cloud_go_aiplatform", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/aiplatform", + sum = "h1:zTw+suCVchgZyO+k847wjzdVjWmrAuehxdvcZvJwfGg=", + version = "v1.37.0", + ) + go_repository( + name = "com_google_cloud_go_analytics", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/analytics", + sum = "h1:LqAo3tAh2FU9+w/r7vc3hBjU23Kv7GhO/PDIW7kIYgM=", + version = "v0.19.0", + ) + go_repository( + name = "com_google_cloud_go_apigateway", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/apigateway", + sum = "h1:ZI9mVO7x3E9RK/BURm2p1aw9YTBSCQe3klmyP1WxWEg=", + version = "v1.5.0", + ) + go_repository( + name = "com_google_cloud_go_apigeeconnect", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/apigeeconnect", + sum = "h1:sWOmgDyAsi1AZ48XRHcATC0tsi9SkPT7DA/+VCfkaeA=", + version = "v1.5.0", + ) + go_repository( + name = "com_google_cloud_go_apigeeregistry", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/apigeeregistry", + sum = "h1:E43RdhhCxdlV+I161gUY2rI4eOaMzHTA5kNkvRsFXvc=", + version = "v0.6.0", + ) + go_repository( + name = "com_google_cloud_go_apikeys", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/apikeys", + sum = "h1:B9CdHFZTFjVti89tmyXXrO+7vSNo2jvZuHG8zD5trdQ=", + version = "v0.6.0", + ) + go_repository( + name = "com_google_cloud_go_appengine", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/appengine", + sum = "h1:aBGDKmRIaRRoWJ2tAoN0oVSHoWLhtO9aj/NvUyP4aYs=", + version = "v1.7.1", + ) + go_repository( + name = "com_google_cloud_go_area120", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/area120", + sum = "h1:ugckkFh4XkHJMPhTIx0CyvdoBxmOpMe8rNs4Ok8GAag=", + version = "v0.7.1", + ) + go_repository( + name = "com_google_cloud_go_artifactregistry", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/artifactregistry", + sum = "h1:o1Q80vqEB6Qp8WLEH3b8FBLNUCrGQ4k5RFj0sn/sgO8=", + version = "v1.13.0", + ) + go_repository( + name = "com_google_cloud_go_asset", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/asset", + sum = "h1:YAsssO08BqZ6mncbb6FPlj9h6ACS7bJQUOlzciSfbNk=", + version = "v1.13.0", + ) + go_repository( + name = "com_google_cloud_go_assuredworkloads", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/assuredworkloads", + sum = "h1:VLGnVFta+N4WM+ASHbhc14ZOItOabDLH1MSoDv+Xuag=", + version = "v1.10.0", + ) + go_repository( + name = "com_google_cloud_go_automl", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/automl", + sum = "h1:50VugllC+U4IGl3tDNcZaWvApHBTrn/TvyHDJ0wM+Uw=", + version = "v1.12.0", + ) + go_repository( + name = "com_google_cloud_go_baremetalsolution", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/baremetalsolution", + sum = "h1:2AipdYXL0VxMboelTTw8c1UJ7gYu35LZYUbuRv9Q28s=", + version = "v0.5.0", + ) + go_repository( + name = "com_google_cloud_go_batch", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/batch", + sum = "h1:YbMt0E6BtqeD5FvSv1d56jbVsWEzlGm55lYte+M6Mzs=", + version = "v0.7.0", + ) + go_repository( + name = "com_google_cloud_go_beyondcorp", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/beyondcorp", + sum = "h1:UkY2BTZkEUAVrgqnSdOJ4p3y9ZRBPEe1LkjgC8Bj/Pc=", + version = "v0.5.0", + ) + go_repository( + name = "com_google_cloud_go_bigquery", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/bigquery", + sum = "h1:RscMV6LbnAmhAzD893Lv9nXXy2WCaJmbxYPWDLbGqNQ=", + version = "v1.50.0", + ) + go_repository( + name = "com_google_cloud_go_billing", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/billing", + sum = "h1:JYj28UYF5w6VBAh0gQYlgHJ/OD1oA+JgW29YZQU+UHM=", + version = "v1.13.0", + ) + go_repository( + name = "com_google_cloud_go_binaryauthorization", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/binaryauthorization", + sum = "h1:d3pMDBCCNivxt5a4eaV7FwL7cSH0H7RrEnFrTb1QKWs=", + version = "v1.5.0", + ) + go_repository( + name = "com_google_cloud_go_certificatemanager", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/certificatemanager", + sum = "h1:5C5UWeSt8Jkgp7OWn2rCkLmYurar/vIWIoSQ2+LaTOc=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_channel", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/channel", + sum = "h1:GpcQY5UJKeOekYgsX3QXbzzAc/kRGtBq43fTmyKe6Uw=", + version = "v1.12.0", + ) + go_repository( + name = "com_google_cloud_go_cloudbuild", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/cloudbuild", + sum = "h1:GHQCjV4WlPPVU/j3Rlpc8vNIDwThhd1U9qSY/NPZdko=", + version = "v1.9.0", + ) + go_repository( + name = "com_google_cloud_go_clouddms", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/clouddms", + sum = "h1:E7v4TpDGUyEm1C/4KIrpVSOCTm0P6vWdHT0I4mostRA=", + version = "v1.5.0", + ) + go_repository( + name = "com_google_cloud_go_cloudtasks", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/cloudtasks", + sum = "h1:uK5k6abf4yligFgYFnG0ni8msai/dSv6mDmiBulU0hU=", + version = "v1.10.0", + ) + go_repository( + name = "com_google_cloud_go_compute", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/compute", + sum = "h1:am86mquDUgjGNWxiGn+5PGLbmgiWXlE/yNWpIpNvuXY=", + version = "v1.19.1", + ) + go_repository( + name = "com_google_cloud_go_compute_metadata", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/compute/metadata", + sum = "h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=", + version = "v0.2.3", + ) + go_repository( + name = "com_google_cloud_go_contactcenterinsights", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/contactcenterinsights", + sum = "h1:jXIpfcH/VYSE1SYcPzO0n1VVb+sAamiLOgCw45JbOQk=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_container", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/container", + sum = "h1:NKlY/wCDapfVZlbVVaeuu2UZZED5Dy1z4Zx1KhEzm8c=", + version = "v1.15.0", + ) + go_repository( + name = "com_google_cloud_go_containeranalysis", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/containeranalysis", + sum = "h1:EQ4FFxNaEAg8PqQCO7bVQfWz9NVwZCUKaM1b3ycfx3U=", + version = "v0.9.0", + ) + go_repository( + name = "com_google_cloud_go_datacatalog", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/datacatalog", + sum = "h1:4H5IJiyUE0X6ShQBqgFFZvGGcrwGVndTwUSLP4c52gw=", + version = "v1.13.0", + ) + go_repository( + name = "com_google_cloud_go_dataflow", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/dataflow", + sum = "h1:eYyD9o/8Nm6EttsKZaEGD84xC17bNgSKCu0ZxwqUbpg=", + version = "v0.8.0", + ) + go_repository( + name = "com_google_cloud_go_dataform", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/dataform", + sum = "h1:Dyk+fufup1FR6cbHjFpMuP4SfPiF3LI3JtoIIALoq48=", + version = "v0.7.0", + ) + go_repository( + name = "com_google_cloud_go_datafusion", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/datafusion", + sum = "h1:sZjRnS3TWkGsu1LjYPFD/fHeMLZNXDK6PDHi2s2s/bk=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_datalabeling", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/datalabeling", + sum = "h1:ch4qA2yvddGRUrlfwrNJCr79qLqhS9QBwofPHfFlDIk=", + version = "v0.7.0", + ) + go_repository( + name = "com_google_cloud_go_dataplex", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/dataplex", + sum = "h1:RvoZ5T7gySwm1CHzAw7yY1QwwqaGswunmqEssPxU/AM=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_dataproc", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/dataproc", + sum = "h1:W47qHL3W4BPkAIbk4SWmIERwsWBaNnWm0P2sdx3YgGU=", + version = "v1.12.0", + ) + go_repository( + name = "com_google_cloud_go_dataqna", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/dataqna", + sum = "h1:yFzi/YU4YAdjyo7pXkBE2FeHbgz5OQQBVDdbErEHmVQ=", + version = "v0.7.0", + ) + go_repository( + name = "com_google_cloud_go_datastore", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/datastore", + sum = "h1:iF6I/HaLs3Ado8uRKMvZRvF/ZLkWaWE9i8AiHzbC774=", + version = "v1.11.0", + ) + go_repository( + name = "com_google_cloud_go_datastream", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/datastream", + sum = "h1:BBCBTnWMDwwEzQQmipUXxATa7Cm7CA/gKjKcR2w35T0=", + version = "v1.7.0", + ) + go_repository( + name = "com_google_cloud_go_deploy", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/deploy", + sum = "h1:otshdKEbmsi1ELYeCKNYppwV0UH5xD05drSdBm7ouTk=", + version = "v1.8.0", + ) + go_repository( + name = "com_google_cloud_go_dialogflow", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/dialogflow", + sum = "h1:uVlKKzp6G/VtSW0E7IH1Y5o0H48/UOCmqksG2riYCwQ=", + version = "v1.32.0", + ) + go_repository( + name = "com_google_cloud_go_dlp", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/dlp", + sum = "h1:1JoJqezlgu6NWCroBxr4rOZnwNFILXr4cB9dMaSKO4A=", + version = "v1.9.0", + ) + go_repository( + name = "com_google_cloud_go_documentai", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/documentai", + sum = "h1:KM3Xh0QQyyEdC8Gs2vhZfU+rt6OCPF0dwVwxKgLmWfI=", + version = "v1.18.0", + ) + go_repository( + name = "com_google_cloud_go_domains", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/domains", + sum = "h1:2ti/o9tlWL4N+wIuWUNH+LbfgpwxPr8J1sv9RHA4bYQ=", + version = "v0.8.0", + ) + go_repository( + name = "com_google_cloud_go_edgecontainer", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/edgecontainer", + sum = "h1:O0YVE5v+O0Q/ODXYsQHmHb+sYM8KNjGZw2pjX2Ws41c=", + version = "v1.0.0", + ) + go_repository( + name = "com_google_cloud_go_errorreporting", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/errorreporting", + sum = "h1:kj1XEWMu8P0qlLhm3FwcaFsUvXChV/OraZwA70trRR0=", + version = "v0.3.0", + ) + go_repository( + name = "com_google_cloud_go_essentialcontacts", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/essentialcontacts", + sum = "h1:gIzEhCoOT7bi+6QZqZIzX1Erj4SswMPIteNvYVlu+pM=", + version = "v1.5.0", + ) + go_repository( + name = "com_google_cloud_go_eventarc", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/eventarc", + sum = "h1:fsJmNeqvqtk74FsaVDU6cH79lyZNCYP8Rrv7EhaB/PU=", + version = "v1.11.0", + ) + go_repository( + name = "com_google_cloud_go_filestore", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/filestore", + sum = "h1:ckTEXN5towyTMu4q0uQ1Mde/JwTHur0gXs8oaIZnKfw=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_firestore", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/firestore", + sum = "h1:IBlRyxgGySXu5VuW0RgGFlTtLukSnNkpDiEOMkQkmpA=", + version = "v1.9.0", + ) + go_repository( + name = "com_google_cloud_go_functions", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/functions", + sum = "h1:pPDqtsXG2g9HeOQLoquLbmvmb82Y4Ezdo1GXuotFoWg=", + version = "v1.13.0", + ) + go_repository( + name = "com_google_cloud_go_gaming", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/gaming", + sum = "h1:7vEhFnZmd931Mo7sZ6pJy7uQPDxF7m7v8xtBheG08tc=", + version = "v1.9.0", + ) + go_repository( + name = "com_google_cloud_go_gkebackup", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/gkebackup", + sum = "h1:za3QZvw6ujR0uyqkhomKKKNoXDyqYGPJies3voUK8DA=", + version = "v0.4.0", + ) + go_repository( + name = "com_google_cloud_go_gkeconnect", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/gkeconnect", + sum = "h1:gXYKciHS/Lgq0GJ5Kc9SzPA35NGc3yqu6SkjonpEr2Q=", + version = "v0.7.0", + ) + go_repository( + name = "com_google_cloud_go_gkehub", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/gkehub", + sum = "h1:TqCSPsEBQ6oZSJgEYZ3XT8x2gUadbvfwI32YB0kuHCs=", + version = "v0.12.0", + ) + go_repository( + name = "com_google_cloud_go_gkemulticloud", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/gkemulticloud", + sum = "h1:8I84Q4vl02rJRsFiinBxl7WCozfdLlUVBQuSrqr9Wtk=", + version = "v0.5.0", + ) + go_repository( + name = "com_google_cloud_go_gsuiteaddons", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/gsuiteaddons", + sum = "h1:1mvhXqJzV0Vg5Fa95QwckljODJJfDFXV4pn+iL50zzA=", + version = "v1.5.0", + ) + go_repository( + name = "com_google_cloud_go_iam", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/iam", + sum = "h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k=", + version = "v0.13.0", + ) + go_repository( + name = "com_google_cloud_go_iap", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/iap", + sum = "h1:PxVHFuMxmSZyfntKXHXhd8bo82WJ+LcATenq7HLdVnU=", + version = "v1.7.1", + ) + go_repository( + name = "com_google_cloud_go_ids", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/ids", + sum = "h1:fodnCDtOXuMmS8LTC2y3h8t24U8F3eKWfhi+3LY6Qf0=", + version = "v1.3.0", + ) + go_repository( + name = "com_google_cloud_go_iot", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/iot", + sum = "h1:39W5BFSarRNZfVG0eXI5LYux+OVQT8GkgpHCnrZL2vM=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_kms", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/kms", + sum = "h1:7hm1bRqGCA1GBRQUrp831TwJ9TWhP+tvLuP497CQS2g=", + version = "v1.10.1", + ) + go_repository( + name = "com_google_cloud_go_language", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/language", + sum = "h1:7Ulo2mDk9huBoBi8zCE3ONOoBrL6UXfAI71CLQ9GEIM=", + version = "v1.9.0", + ) + go_repository( + name = "com_google_cloud_go_lifesciences", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/lifesciences", + sum = "h1:uWrMjWTsGjLZpCTWEAzYvyXj+7fhiZST45u9AgasasI=", + version = "v0.8.0", + ) + go_repository( + name = "com_google_cloud_go_logging", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/logging", + sum = "h1:CJYxlNNNNAMkHp9em/YEXcfJg+rPDg7YfwoRpMU+t5I=", + version = "v1.7.0", + ) + go_repository( + name = "com_google_cloud_go_longrunning", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/longrunning", + sum = "h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM=", + version = "v0.4.1", + ) + go_repository( + name = "com_google_cloud_go_managedidentities", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/managedidentities", + sum = "h1:ZRQ4k21/jAhrHBVKl/AY7SjgzeJwG1iZa+mJ82P+VNg=", + version = "v1.5.0", + ) + go_repository( + name = "com_google_cloud_go_maps", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/maps", + sum = "h1:mv9YaczD4oZBZkM5XJl6fXQ984IkJNHPwkc8MUsdkBo=", + version = "v0.7.0", + ) + go_repository( + name = "com_google_cloud_go_mediatranslation", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/mediatranslation", + sum = "h1:anPxH+/WWt8Yc3EdoEJhPMBRF7EhIdz426A+tuoA0OU=", + version = "v0.7.0", + ) + go_repository( + name = "com_google_cloud_go_memcache", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/memcache", + sum = "h1:8/VEmWCpnETCrBwS3z4MhT+tIdKgR1Z4Tr2tvYH32rg=", + version = "v1.9.0", + ) + go_repository( + name = "com_google_cloud_go_metastore", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/metastore", + sum = "h1:QCFhZVe2289KDBQ7WxaHV2rAmPrmRAdLC6gbjUd3HPo=", + version = "v1.10.0", + ) + go_repository( + name = "com_google_cloud_go_monitoring", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/monitoring", + sum = "h1:2qsrgXGVoRXpP7otZ14eE1I568zAa92sJSDPyOJvwjM=", + version = "v1.13.0", + ) + go_repository( + name = "com_google_cloud_go_networkconnectivity", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/networkconnectivity", + sum = "h1:ZD6b4Pk1jEtp/cx9nx0ZYcL3BKqDa+KixNDZ6Bjs1B8=", + version = "v1.11.0", + ) + go_repository( + name = "com_google_cloud_go_networkmanagement", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/networkmanagement", + sum = "h1:8KWEUNGcpSX9WwZXq7FtciuNGPdPdPN/ruDm769yAEM=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_networksecurity", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/networksecurity", + sum = "h1:sOc42Ig1K2LiKlzG71GUVloeSJ0J3mffEBYmvu+P0eo=", + version = "v0.8.0", + ) + go_repository( + name = "com_google_cloud_go_notebooks", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/notebooks", + sum = "h1:Kg2K3K7CbSXYJHZ1aGQpf1xi5x2GUvQWf2sFVuiZh8M=", + version = "v1.8.0", + ) + go_repository( + name = "com_google_cloud_go_optimization", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/optimization", + sum = "h1:dj8O4VOJRB4CUwZXdmwNViH1OtI0WtWL867/lnYH248=", + version = "v1.3.1", + ) + go_repository( + name = "com_google_cloud_go_orchestration", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/orchestration", + sum = "h1:Vw+CEXo8M/FZ1rb4EjcLv0gJqqw89b7+g+C/EmniTb8=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_orgpolicy", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/orgpolicy", + sum = "h1:XDriMWug7sd0kYT1QKofRpRHzjad0bK8Q8uA9q+XrU4=", + version = "v1.10.0", + ) + go_repository( + name = "com_google_cloud_go_osconfig", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/osconfig", + sum = "h1:PkSQx4OHit5xz2bNyr11KGcaFccL5oqglFPdTboyqwQ=", + version = "v1.11.0", + ) + go_repository( + name = "com_google_cloud_go_oslogin", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/oslogin", + sum = "h1:whP7vhpmc+ufZa90eVpkfbgzJRK/Xomjz+XCD4aGwWw=", + version = "v1.9.0", + ) + go_repository( + name = "com_google_cloud_go_phishingprotection", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/phishingprotection", + sum = "h1:l6tDkT7qAEV49MNEJkEJTB6vOO/onbSOcNtAT09HPuA=", + version = "v0.7.0", + ) + go_repository( + name = "com_google_cloud_go_policytroubleshooter", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/policytroubleshooter", + sum = "h1:yKAGC4p9O61ttZUswaq9GAn1SZnEzTd0vUYXD7ZBT7Y=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_privatecatalog", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/privatecatalog", + sum = "h1:EPEJ1DpEGXLDnmc7mnCAqFmkwUJbIsaLAiLHVOkkwtc=", + version = "v0.8.0", + ) + go_repository( + name = "com_google_cloud_go_pubsub", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/pubsub", + sum = "h1:vCge8m7aUKBJYOgrZp7EsNDf6QMd2CAlXZqWTn3yq6s=", + version = "v1.30.0", + ) + go_repository( + name = "com_google_cloud_go_pubsublite", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/pubsublite", + sum = "h1:cb9fsrtpINtETHiJ3ECeaVzrfIVhcGjhhJEjybHXHao=", + version = "v1.7.0", + ) + go_repository( + name = "com_google_cloud_go_recaptchaenterprise_v2", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/recaptchaenterprise/v2", + sum = "h1:6iOCujSNJ0YS7oNymI64hXsjGq60T4FK1zdLugxbzvU=", + version = "v2.7.0", + ) + go_repository( + name = "com_google_cloud_go_recommendationengine", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/recommendationengine", + sum = "h1:VibRFCwWXrFebEWKHfZAt2kta6pS7Tlimsnms0fjv7k=", + version = "v0.7.0", + ) + go_repository( + name = "com_google_cloud_go_recommender", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/recommender", + sum = "h1:ZnFRY5R6zOVk2IDS1Jbv5Bw+DExCI5rFumsTnMXiu/A=", + version = "v1.9.0", + ) + go_repository( + name = "com_google_cloud_go_redis", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/redis", + sum = "h1:JoAd3SkeDt3rLFAAxEvw6wV4t+8y4ZzfZcZmddqphQ8=", + version = "v1.11.0", + ) + go_repository( + name = "com_google_cloud_go_resourcemanager", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/resourcemanager", + sum = "h1:NRM0p+RJkaQF9Ee9JMnUV9BQ2QBIOq/v8M+Pbv/wmCs=", + version = "v1.7.0", + ) + go_repository( + name = "com_google_cloud_go_resourcesettings", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/resourcesettings", + sum = "h1:8Dua37kQt27CCWHm4h/Q1XqCF6ByD7Ouu49xg95qJzI=", + version = "v1.5.0", + ) + go_repository( + name = "com_google_cloud_go_retail", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/retail", + sum = "h1:1Dda2OpFNzIb4qWgFZjYlpP7sxX3aLeypKG6A3H4Yys=", + version = "v1.12.0", + ) + go_repository( + name = "com_google_cloud_go_run", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/run", + sum = "h1:ydJQo+k+MShYnBfhaRHSZYeD/SQKZzZLAROyfpeD9zw=", + version = "v0.9.0", + ) + go_repository( + name = "com_google_cloud_go_scheduler", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/scheduler", + sum = "h1:NpQAHtx3sulByTLe2dMwWmah8PWgeoieFPpJpArwFV0=", + version = "v1.9.0", + ) + go_repository( + name = "com_google_cloud_go_secretmanager", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/secretmanager", + sum = "h1:pu03bha7ukxF8otyPKTFdDz+rr9sE3YauS5PliDXK60=", + version = "v1.10.0", + ) + go_repository( + name = "com_google_cloud_go_security", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/security", + sum = "h1:PYvDxopRQBfYAXKAuDpFCKBvDOWPWzp9k/H5nB3ud3o=", + version = "v1.13.0", + ) + go_repository( + name = "com_google_cloud_go_securitycenter", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/securitycenter", + sum = "h1:AF3c2s3awNTMoBtMX3oCUoOMmGlYxGOeuXSYHNBkf14=", + version = "v1.19.0", + ) + go_repository( + name = "com_google_cloud_go_servicecontrol", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/servicecontrol", + sum = "h1:d0uV7Qegtfaa7Z2ClDzr9HJmnbJW7jn0WhZ7wOX6hLE=", + version = "v1.11.1", + ) + go_repository( + name = "com_google_cloud_go_servicedirectory", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/servicedirectory", + sum = "h1:SJwk0XX2e26o25ObYUORXx6torSFiYgsGkWSkZgkoSU=", + version = "v1.9.0", + ) + go_repository( + name = "com_google_cloud_go_servicemanagement", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/servicemanagement", + sum = "h1:fopAQI/IAzlxnVeiKn/8WiV6zKndjFkvi+gzu+NjywY=", + version = "v1.8.0", + ) + go_repository( + name = "com_google_cloud_go_serviceusage", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/serviceusage", + sum = "h1:rXyq+0+RSIm3HFypctp7WoXxIA563rn206CfMWdqXX4=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_shell", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/shell", + sum = "h1:wT0Uw7ib7+AgZST9eCDygwTJn4+bHMDtZo5fh7kGWDU=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_spanner", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/spanner", + sum = "h1:7VdjZ8zj4sHbDw55atp5dfY6kn1j9sam9DRNpPQhqR4=", + version = "v1.45.0", + ) + go_repository( + name = "com_google_cloud_go_speech", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/speech", + sum = "h1:JEVoWGNnTF128kNty7T4aG4eqv2z86yiMJPT9Zjp+iw=", + version = "v1.15.0", + ) + go_repository( + name = "com_google_cloud_go_storage", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/storage", + sum = "h1:UDpwYIwla4jHGzZJaEJYx1tOejbgSoNqsAfHAUYe2r8=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_storagetransfer", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/storagetransfer", + sum = "h1:5T+PM+3ECU3EY2y9Brv0Sf3oka8pKmsCfpQ07+91G9o=", + version = "v1.8.0", + ) + go_repository( + name = "com_google_cloud_go_talent", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/talent", + sum = "h1:nI9sVZPjMKiO2q3Uu0KhTDVov3Xrlpt63fghP9XjyEM=", + version = "v1.5.0", + ) + go_repository( + name = "com_google_cloud_go_texttospeech", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/texttospeech", + sum = "h1:H4g1ULStsbVtalbZGktyzXzw6jP26RjVGYx9RaYjBzc=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_tpu", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/tpu", + sum = "h1:/34T6CbSi+kTv5E19Q9zbU/ix8IviInZpzwz3rsFE+A=", + version = "v1.5.0", + ) + go_repository( + name = "com_google_cloud_go_trace", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/trace", + sum = "h1:olxC0QHC59zgJVALtgqfD9tGk0lfeCP5/AGXL3Px/no=", + version = "v1.9.0", + ) + go_repository( + name = "com_google_cloud_go_translate", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/translate", + sum = "h1:GvLP4oQ4uPdChBmBaUSa/SaZxCdyWELtlAaKzpHsXdA=", + version = "v1.7.0", + ) + go_repository( + name = "com_google_cloud_go_video", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/video", + sum = "h1:upIbnGI0ZgACm58HPjAeBMleW3sl5cT84AbYQ8PWOgM=", + version = "v1.15.0", + ) + go_repository( + name = "com_google_cloud_go_videointelligence", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/videointelligence", + sum = "h1:Uh5BdoET8XXqXX2uXIahGb+wTKbLkGH7s4GXR58RrG8=", + version = "v1.10.0", + ) + go_repository( + name = "com_google_cloud_go_vision_v2", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/vision/v2", + sum = "h1:8C8RXUJoflCI4yVdqhTy9tRyygSHmp60aP363z23HKg=", + version = "v2.7.0", + ) + go_repository( + name = "com_google_cloud_go_vmmigration", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/vmmigration", + sum = "h1:Azs5WKtfOC8pxvkyrDvt7J0/4DYBch0cVbuFfCCFt5k=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_vmwareengine", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/vmwareengine", + sum = "h1:b0NBu7S294l0gmtrT0nOJneMYgZapr5x9tVWvgDoVEM=", + version = "v0.3.0", + ) + go_repository( + name = "com_google_cloud_go_vpcaccess", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/vpcaccess", + sum = "h1:FOe6CuiQD3BhHJWt7E8QlbBcaIzVRddupwJlp7eqmn4=", + version = "v1.6.0", + ) + go_repository( + name = "com_google_cloud_go_webrisk", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/webrisk", + sum = "h1:IY+L2+UwxcVm2zayMAtBhZleecdIFLiC+QJMzgb0kT0=", + version = "v1.8.0", + ) + go_repository( + name = "com_google_cloud_go_websecurityscanner", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/websecurityscanner", + sum = "h1:AHC1xmaNMOZtNqxI9Rmm87IJEyPaRkOxeI0gpAacXGk=", + version = "v1.5.0", + ) + go_repository( + name = "com_google_cloud_go_workflows", + build_file_proto_mode = "disable_global", + importpath = "cloud.google.com/go/workflows", + sum = "h1:FfGp9w0cYnaKZJhUOMqCOJCYT/WlvYBfTQhFWV3sRKI=", + version = "v1.10.0", + ) + go_repository( + name = "com_shuralyov_dmitri_gpu_mtl", + build_file_proto_mode = "disable_global", + importpath = "dmitri.shuralyov.com/gpu/mtl", + sum = "h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY=", + version = "v0.0.0-20190408044501-666a987793e9", + ) + go_repository( + name = "in_gopkg_check_v1", + build_file_proto_mode = "disable_global", + importpath = "gopkg.in/check.v1", + sum = "h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=", + version = "v1.0.0-20201130134442-10cb98267c6c", + ) + go_repository( + name = "in_gopkg_errgo_v2", + build_file_proto_mode = "disable_global", + importpath = "gopkg.in/errgo.v2", + sum = "h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8=", + version = "v2.1.0", + ) + go_repository( + name = "in_gopkg_yaml_v2", + build_file_proto_mode = "disable_global", + importpath = "gopkg.in/yaml.v2", + sum = "h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=", + version = "v2.4.0", + ) + go_repository( + name = "in_gopkg_yaml_v3", + build_file_proto_mode = "disable_global", + importpath = "gopkg.in/yaml.v3", + sum = "h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=", + version = "v3.0.1", + ) + go_repository( + name = "io_opencensus_go", + build_file_proto_mode = "disable_global", + importpath = "go.opencensus.io", + sum = "h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=", + version = "v0.24.0", + ) + go_repository( + name = "io_opencensus_go_contrib_exporter_jaeger", + build_file_proto_mode = "disable_global", + importpath = "contrib.go.opencensus.io/exporter/jaeger", + sum = "h1:yGBYzYMewVL0yO9qqJv3Z5+IRhPdU7e9o/2oKpX4YvI=", + version = "v0.2.1", + ) + go_repository( + name = "io_rsc_binaryregexp", + build_file_proto_mode = "disable_global", + importpath = "rsc.io/binaryregexp", + sum = "h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE=", + version = "v0.2.0", + ) + go_repository( + name = "io_rsc_quote_v3", + build_file_proto_mode = "disable_global", + importpath = "rsc.io/quote/v3", + sum = "h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY=", + version = "v3.1.0", + ) + go_repository( + name = "io_rsc_sampler", + build_file_proto_mode = "disable_global", + importpath = "rsc.io/sampler", + sum = "h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4=", + version = "v1.3.0", + ) + go_repository( + name = "org_golang_google_api", + build_file_proto_mode = "disable_global", + importpath = "google.golang.org/api", + sum = "h1:t6P9Jj+6XTn4U9I2wycQai6Q/Kz7iOT+QzjJ3G2V4x8=", + version = "v0.105.0", + ) + go_repository( + name = "org_golang_google_appengine", + build_file_proto_mode = "disable_global", + importpath = "google.golang.org/appengine", + sum = "h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=", + version = "v1.6.7", + ) + go_repository( + name = "org_golang_google_genproto", + build_file_proto_mode = "disable_global", + importpath = "google.golang.org/genproto", + sum = "h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A=", + version = "v0.0.0-20230410155749-daa745c078e1", + ) + go_repository( + name = "org_golang_google_grpc", + build_file_proto_mode = "disable_global", + importpath = "google.golang.org/grpc", + sum = "h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc=", + version = "v1.56.3", + ) + go_repository( + name = "org_golang_google_protobuf", + build_file_proto_mode = "disable_global", + importpath = "google.golang.org/protobuf", + sum = "h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=", + version = "v1.31.0", + ) + go_repository( + name = "org_golang_x_crypto", + build_file_proto_mode = "disable_global", + importpath = "golang.org/x/crypto", + sum = "h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI=", + version = "v0.0.0-20200622213623-75b288015ac9", + ) + go_repository( + name = "org_golang_x_exp", + build_file_proto_mode = "disable_global", + importpath = "golang.org/x/exp", + sum = "h1:QE6XYQK6naiK1EPAe1g/ILLxN5RBoH5xkJk3CqlMI/Y=", + version = "v0.0.0-20200224162631-6cc2880d07d6", + ) + go_repository( + name = "org_golang_x_image", + build_file_proto_mode = "disable_global", + importpath = "golang.org/x/image", + sum = "h1:+qEpEAPhDZ1o0x3tHzZTQDArnOixOzGD9HUJfcg0mb4=", + version = "v0.0.0-20190802002840-cff245a6509b", + ) + go_repository( + name = "org_golang_x_lint", + build_file_proto_mode = "disable_global", + importpath = "golang.org/x/lint", + sum = "h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k=", + version = "v0.0.0-20200302205851-738671d3881b", + ) + go_repository( + name = "org_golang_x_mobile", + build_file_proto_mode = "disable_global", + importpath = "golang.org/x/mobile", + sum = "h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs=", + version = "v0.0.0-20190719004257-d2bd2a29d028", + ) + go_repository( + name = "org_golang_x_mod", + build_file_proto_mode = "disable_global", + importpath = "golang.org/x/mod", + sum = "h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ=", + version = "v0.2.0", + ) + go_repository( + name = "org_golang_x_net", + build_file_proto_mode = "disable_global", + importpath = "golang.org/x/net", + sum = "h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=", + version = "v0.17.0", + ) + go_repository( + name = "org_golang_x_oauth2", + build_file_proto_mode = "disable_global", + importpath = "golang.org/x/oauth2", + sum = "h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4=", + version = "v0.12.0", + ) + go_repository( + name = "org_golang_x_sync", + build_file_proto_mode = "disable_global", + importpath = "golang.org/x/sync", + sum = "h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=", + version = "v0.3.0", + ) + go_repository( + name = "org_golang_x_sys", + build_file_proto_mode = "disable_global", + importpath = "golang.org/x/sys", + sum = "h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU=", + version = "v0.16.0", + ) + go_repository( + name = "org_golang_x_text", + build_file_proto_mode = "disable_global", + importpath = "golang.org/x/text", + sum = "h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=", + version = "v0.13.0", + ) + go_repository( + name = "org_golang_x_time", + build_file_proto_mode = "disable_global", + importpath = "golang.org/x/time", + sum = "h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs=", + version = "v0.0.0-20191024005414-555d28b269f0", + ) + go_repository( + name = "org_golang_x_tools", + build_file_proto_mode = "disable_global", + importpath = "golang.org/x/tools", + sum = "h1:kDtqNkeBrZb8B+atrj50B5XLHpzXXqcCdZPP/ApQ5NY=", + version = "v0.0.0-20200331025713-a30bf2db82d4", + ) + go_repository( + name = "org_golang_x_xerrors", + build_file_proto_mode = "disable_global", + importpath = "golang.org/x/xerrors", + sum = "h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=", + version = "v0.0.0-20191204190536-9bdfabe68543", + ) diff --git a/examples/BUILD.bazel b/examples/BUILD.bazel new file mode 100644 index 000000000..d57f1c8df --- /dev/null +++ b/examples/BUILD.bazel @@ -0,0 +1,5 @@ +filegroup(name="examples", +srcs = glob(["*.mtail"]), + +visibility = ["//internal/mtail:__subpackages__"], +) diff --git a/internal/exporter/BUILD.bazel b/internal/exporter/BUILD.bazel new file mode 100644 index 000000000..e5035e1d8 --- /dev/null +++ b/internal/exporter/BUILD.bazel @@ -0,0 +1,42 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "exporter", + srcs = [ + "collectd.go", + "export.go", + "graphite.go", + "json.go", + "prometheus.go", + "statsd.go", + "varz.go", + ], + importpath = "github.com/google/mtail/internal/exporter", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/metrics", + "//internal/metrics/datum", + "@com_github_golang_glog//:go_default_library", + "@com_github_pkg_errors//:go_default_library", + "@com_github_prometheus_client_golang//prometheus:go_default_library", + "@com_github_prometheus_common//expfmt:go_default_library", + ], +) + +go_test( + name = "exporter_test", + srcs = [ + "export_test.go", + "graphite_test.go", + "json_test.go", + "prometheus_test.go", + "varz_test.go", + ], + embed = [":exporter"], + deps = [ + "//internal/metrics", + "//internal/metrics/datum", + "//internal/testutil", + "@com_github_prometheus_client_golang//prometheus/testutil:go_default_library", + ], +) diff --git a/internal/logline/BUILD.bazel b/internal/logline/BUILD.bazel new file mode 100644 index 000000000..bcf8196b6 --- /dev/null +++ b/internal/logline/BUILD.bazel @@ -0,0 +1,8 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "logline", + srcs = ["logline.go"], + importpath = "github.com/google/mtail/internal/logline", + visibility = ["//:__subpackages__"], +) diff --git a/internal/metrics/BUILD.bazel b/internal/metrics/BUILD.bazel new file mode 100644 index 000000000..02eb8bffb --- /dev/null +++ b/internal/metrics/BUILD.bazel @@ -0,0 +1,33 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "metrics", + srcs = [ + "metric.go", + "store.go", + "testing.go", + "type.go", + ], + importpath = "github.com/google/mtail/internal/metrics", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/metrics/datum", + "@com_github_golang_glog//:go_default_library", + "@com_github_pkg_errors//:go_default_library", + ], +) + +go_test( + name = "metrics_test", + srcs = [ + "metric_test.go", + "store_bench_test.go", + "store_test.go", + ], + embed = [":metrics"], + deps = [ + "//internal/metrics/datum", + "//internal/testutil", + "@com_github_golang_glog//:go_default_library", + ], +) diff --git a/internal/metrics/datum/BUILD.bazel b/internal/metrics/datum/BUILD.bazel new file mode 100644 index 000000000..12c454b11 --- /dev/null +++ b/internal/metrics/datum/BUILD.bazel @@ -0,0 +1,25 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "datum", + srcs = [ + "buckets.go", + "datum.go", + "float.go", + "int.go", + "string.go", + ], + importpath = "github.com/google/mtail/internal/metrics/datum", + visibility = ["//:__subpackages__"], +) + +go_test( + name = "datum_test", + srcs = [ + "buckets_test.go", + "datum_test.go", + "int_test.go", + ], + embed = [":datum"], + deps = ["//internal/testutil"], +) diff --git a/internal/mtail/BUILD.bazel b/internal/mtail/BUILD.bazel new file mode 100644 index 000000000..1d06e5473 --- /dev/null +++ b/internal/mtail/BUILD.bazel @@ -0,0 +1,102 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "mtail", + srcs = [ + "buildinfo.go", + "httpstatus.go", + "logo.ico.go", + "mtail.go", + "options.go", + "testing.go", + ], + importpath = "github.com/google/mtail/internal/mtail", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/exporter", + "//internal/logline", + "//internal/metrics", + "//internal/metrics/datum", + "//internal/runtime", + "//internal/tailer", + "//internal/testutil", + "//internal/waker", + "@com_github_golang_glog//:go_default_library", + "@com_github_prometheus_client_golang//prometheus:go_default_library", + "@com_github_prometheus_client_golang//prometheus/collectors:go_default_library", + "@com_github_prometheus_client_golang//prometheus/promhttp:go_default_library", + "@com_github_prometheus_common//version:go_default_library", + "@io_opencensus_go//trace:go_default_library", + "@io_opencensus_go//zpages:go_default_library", + "@io_opencensus_go_contrib_exporter_jaeger//:go_default_library", + ], +) + +go_test( + name = "mtail_test", + srcs = [ + "basic_tail_integration_test.go", + "compile_only_integration_test.go", + "examples_integration_test.go", + "examples_integration_unix_test.go", + "log_deletion_integration_unix_test.go", + "log_glob_integration_test.go", + "log_rotation_integration_test.go", + "log_rotation_integration_unix_test.go", + "log_truncation_integration_test.go", + "mtail_test.go", + "multiple_levels_directory_integration_test.go", + "multiple_lines_integration_test.go", + "partial_line_integration_test.go", + "permission_denied_integration_unix_test.go", + "prog_load_integration_test.go", + "read_pipe_integration_unix_test.go", + "relative_path_pattern_integration_test.go", + "unix_socket_export_integration_test.go", + ], + data = glob(["testdata/**"]) + [ "//examples"], + embed = [":mtail"], + deps = [ + "//internal/metrics", + "//internal/metrics/datum", + "//internal/mtail/golden", + "//internal/testutil", + "//internal/waker", + "@com_github_golang_glog//:go_default_library", + ] + select({ + "@io_bazel_rules_go//go/platform:aix": [ + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:android": [ + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:darwin": [ + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:dragonfly": [ + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:freebsd": [ + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:illumos": [ + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:ios": [ + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:linux": [ + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:netbsd": [ + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:openbsd": [ + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:solaris": [ + "@org_golang_x_sys//unix:go_default_library", + ], + "//conditions:default": [], + }), +) diff --git a/internal/mtail/golden/BUILD.bazel b/internal/mtail/golden/BUILD.bazel new file mode 100644 index 000000000..3ccaf5f73 --- /dev/null +++ b/internal/mtail/golden/BUILD.bazel @@ -0,0 +1,25 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "golden", + srcs = ["reader.go"], + importpath = "github.com/google/mtail/internal/mtail/golden", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/metrics", + "//internal/metrics/datum", + "@com_github_golang_glog//:go_default_library", + ], +) + +go_test( + name = "golden_test", + srcs = ["reader_test.go"], + embed = [":golden"], + data = ["reader_test.golden"], + deps = [ + "//internal/metrics", + "//internal/metrics/datum", + "//internal/testutil", + ], +) diff --git a/internal/runtime/BUILD.bazel b/internal/runtime/BUILD.bazel new file mode 100644 index 000000000..6dc245846 --- /dev/null +++ b/internal/runtime/BUILD.bazel @@ -0,0 +1,37 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "runtime", + srcs = [ + "httpstatus.go", + "options.go", + "runtime.go", + ], + importpath = "github.com/google/mtail/internal/runtime", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/logline", + "//internal/metrics", + "//internal/runtime/compiler", + "//internal/runtime/vm", + "@com_github_golang_glog//:go_default_library", + "@com_github_pkg_errors//:go_default_library", + "@com_github_prometheus_client_golang//prometheus:go_default_library", + ], +) + +go_test( + name = "runtime_test", + srcs = [ + "runtime_integration_test.go", + "runtime_test.go", + ], + embed = [":runtime"], + deps = [ + "//internal/logline", + "//internal/metrics", + "//internal/metrics/datum", + "//internal/testutil", + "@com_github_golang_glog//:go_default_library", + ], +) diff --git a/internal/runtime/code/BUILD.bazel b/internal/runtime/code/BUILD.bazel new file mode 100644 index 000000000..8e7e052f8 --- /dev/null +++ b/internal/runtime/code/BUILD.bazel @@ -0,0 +1,23 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "code", + srcs = [ + "instr.go", + "object.go", + "opcodes.go", + ], + importpath = "github.com/google/mtail/internal/runtime/code", + visibility = ["//:__subpackages__"], + deps = ["//internal/metrics"], +) + +go_test( + name = "code_test", + srcs = [ + "instr_test.go", + "opcodes_test.go", + ], + embed = [":code"], + deps = ["//internal/testutil"], +) diff --git a/internal/runtime/compiler/BUILD.bazel b/internal/runtime/compiler/BUILD.bazel new file mode 100644 index 000000000..08d053f2c --- /dev/null +++ b/internal/runtime/compiler/BUILD.bazel @@ -0,0 +1,26 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "compiler", + srcs = ["compiler.go"], + importpath = "github.com/google/mtail/internal/runtime/compiler", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/runtime/code", + "//internal/runtime/compiler/ast", + "//internal/runtime/compiler/checker", + "//internal/runtime/compiler/codegen", + "//internal/runtime/compiler/opt", + "//internal/runtime/compiler/parser", + "@com_github_golang_glog//:go_default_library", + ], +) + +go_test( + name = "compiler_test", + srcs = ["compiler_test.go"], + deps = [ + ":compiler", + "//internal/testutil", + ], +) diff --git a/internal/runtime/compiler/ast/BUILD.bazel b/internal/runtime/compiler/ast/BUILD.bazel new file mode 100644 index 000000000..a19ea1f17 --- /dev/null +++ b/internal/runtime/compiler/ast/BUILD.bazel @@ -0,0 +1,30 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "ast", + srcs = [ + "ast.go", + "walk.go", + ], + importpath = "github.com/google/mtail/internal/runtime/compiler/ast", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/metrics", + "//internal/runtime/compiler/position", + "//internal/runtime/compiler/symbol", + "//internal/runtime/compiler/types", + "@com_github_golang_glog//:go_default_library", + ], +) + +go_test( + name = "ast_test", + srcs = ["walk_test.go"], + deps = [ + ":ast", + "//internal/runtime/compiler/parser", + "//internal/runtime/compiler/position", + "//internal/runtime/compiler/types", + "//internal/testutil", + ], +) diff --git a/internal/runtime/compiler/checker/BUILD.bazel b/internal/runtime/compiler/checker/BUILD.bazel new file mode 100644 index 000000000..8e08d1c7d --- /dev/null +++ b/internal/runtime/compiler/checker/BUILD.bazel @@ -0,0 +1,31 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "checker", + srcs = ["checker.go"], + importpath = "github.com/google/mtail/internal/runtime/compiler/checker", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/metrics", + "//internal/runtime/compiler/ast", + "//internal/runtime/compiler/errors", + "//internal/runtime/compiler/parser", + "//internal/runtime/compiler/symbol", + "//internal/runtime/compiler/types", + "@com_github_golang_glog//:go_default_library", + ], +) + +go_test( + name = "checker_test", + srcs = ["checker_test.go"], + deps = [ + ":checker", + "//internal/runtime/compiler/ast", + "//internal/runtime/compiler/parser", + "//internal/runtime/compiler/symbol", + "//internal/runtime/compiler/types", + "//internal/testutil", + "@com_github_google_go_cmp//cmp/cmpopts:go_default_library", + ], +) diff --git a/internal/runtime/compiler/codegen/BUILD.bazel b/internal/runtime/compiler/codegen/BUILD.bazel new file mode 100644 index 000000000..75a8cc118 --- /dev/null +++ b/internal/runtime/compiler/codegen/BUILD.bazel @@ -0,0 +1,33 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "codegen", + srcs = ["codegen.go"], + importpath = "github.com/google/mtail/internal/runtime/compiler/codegen", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/metrics", + "//internal/metrics/datum", + "//internal/runtime/code", + "//internal/runtime/compiler/ast", + "//internal/runtime/compiler/errors", + "//internal/runtime/compiler/parser", + "//internal/runtime/compiler/position", + "//internal/runtime/compiler/symbol", + "//internal/runtime/compiler/types", + "@com_github_golang_glog//:go_default_library", + ], +) + +go_test( + name = "codegen_test", + srcs = ["codegen_test.go"], + deps = [ + ":codegen", + "//internal/runtime/code", + "//internal/runtime/compiler/ast", + "//internal/runtime/compiler/checker", + "//internal/runtime/compiler/parser", + "//internal/testutil", + ], +) diff --git a/internal/runtime/compiler/errors/BUILD.bazel b/internal/runtime/compiler/errors/BUILD.bazel new file mode 100644 index 000000000..99522e381 --- /dev/null +++ b/internal/runtime/compiler/errors/BUILD.bazel @@ -0,0 +1,18 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "errors", + srcs = ["errors.go"], + importpath = "github.com/google/mtail/internal/runtime/compiler/errors", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/runtime/compiler/position", + "@com_github_pkg_errors//:go_default_library", + ], +) + +go_test( + name = "errors_test", + srcs = ["errors_test.go"], + deps = [":errors"], +) diff --git a/internal/runtime/compiler/opt/BUILD.bazel b/internal/runtime/compiler/opt/BUILD.bazel new file mode 100644 index 000000000..3cec8b55a --- /dev/null +++ b/internal/runtime/compiler/opt/BUILD.bazel @@ -0,0 +1,27 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "opt", + srcs = ["opt.go"], + importpath = "github.com/google/mtail/internal/runtime/compiler/opt", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/runtime/compiler/ast", + "//internal/runtime/compiler/errors", + "//internal/runtime/compiler/parser", + "//internal/runtime/compiler/position", + "//internal/runtime/compiler/types", + ], +) + +go_test( + name = "opt_test", + srcs = ["opt_test.go"], + deps = [ + ":opt", + "//internal/runtime/compiler/ast", + "//internal/runtime/compiler/parser", + "//internal/testutil", + "@com_github_google_go_cmp//cmp:go_default_library", + ], +) diff --git a/internal/runtime/compiler/parser/BUILD.bazel b/internal/runtime/compiler/parser/BUILD.bazel new file mode 100644 index 000000000..3d5cc0733 --- /dev/null +++ b/internal/runtime/compiler/parser/BUILD.bazel @@ -0,0 +1,38 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "parser", + srcs = [ + "driver.go", + "lexer.go", + "parser.go", + "sexp.go", + "tokens.go", + "unparser.go", + ], + importpath = "github.com/google/mtail/internal/runtime/compiler/parser", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/metrics", + "//internal/runtime/compiler/ast", + "//internal/runtime/compiler/errors", + "//internal/runtime/compiler/position", + "//internal/runtime/compiler/symbol", + "@com_github_golang_glog//:go_default_library", + ], +) + +go_test( + name = "parser_test", + srcs = [ + "lexer_test.go", + "parser_test.go", + "tokens_test.go", + ], + embed = [":parser"], + deps = [ + "//internal/runtime/compiler/ast", + "//internal/runtime/compiler/position", + "//internal/testutil", + ], +) diff --git a/internal/runtime/compiler/position/BUILD.bazel b/internal/runtime/compiler/position/BUILD.bazel new file mode 100644 index 000000000..b65648868 --- /dev/null +++ b/internal/runtime/compiler/position/BUILD.bazel @@ -0,0 +1,8 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "position", + srcs = ["position.go"], + importpath = "github.com/google/mtail/internal/runtime/compiler/position", + visibility = ["//:__subpackages__"], +) diff --git a/internal/runtime/compiler/symbol/BUILD.bazel b/internal/runtime/compiler/symbol/BUILD.bazel new file mode 100644 index 000000000..3b70622e5 --- /dev/null +++ b/internal/runtime/compiler/symbol/BUILD.bazel @@ -0,0 +1,19 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "symbol", + srcs = ["symtab.go"], + importpath = "github.com/google/mtail/internal/runtime/compiler/symbol", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/runtime/compiler/position", + "//internal/runtime/compiler/types", + ], +) + +go_test( + name = "symbol_test", + srcs = ["symtab_test.go"], + embed = [":symbol"], + deps = ["//internal/testutil"], +) diff --git a/internal/runtime/compiler/types/BUILD.bazel b/internal/runtime/compiler/types/BUILD.bazel new file mode 100644 index 000000000..777477202 --- /dev/null +++ b/internal/runtime/compiler/types/BUILD.bazel @@ -0,0 +1,19 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "types", + srcs = [ + "regexp.go", + "types.go", + ], + importpath = "github.com/google/mtail/internal/runtime/compiler/types", + visibility = ["//:__subpackages__"], + deps = ["@com_github_golang_glog//:go_default_library"], +) + +go_test( + name = "types_test", + srcs = ["types_test.go"], + embed = [":types"], + deps = ["//internal/testutil"], +) diff --git a/internal/runtime/vm/BUILD.bazel b/internal/runtime/vm/BUILD.bazel new file mode 100644 index 000000000..a111257ff --- /dev/null +++ b/internal/runtime/vm/BUILD.bazel @@ -0,0 +1,31 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "vm", + srcs = ["vm.go"], + importpath = "github.com/google/mtail/internal/runtime/vm", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/logline", + "//internal/metrics", + "//internal/metrics/datum", + "//internal/runtime/code", + "@com_github_golang_glog//:go_default_library", + "@com_github_golang_groupcache//lru:go_default_library", + "@com_github_pkg_errors//:go_default_library", + "@com_github_prometheus_client_golang//prometheus:go_default_library", + ], +) + +go_test( + name = "vm_test", + srcs = ["vm_test.go"], + embed = [":vm"], + deps = [ + "//internal/logline", + "//internal/metrics", + "//internal/metrics/datum", + "//internal/runtime/code", + "//internal/testutil", + ], +) diff --git a/internal/tailer/BUILD.bazel b/internal/tailer/BUILD.bazel new file mode 100644 index 000000000..3f8339995 --- /dev/null +++ b/internal/tailer/BUILD.bazel @@ -0,0 +1,33 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "tailer", + srcs = [ + "httpstatus.go", + "tail.go", + ], + importpath = "github.com/google/mtail/internal/tailer", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/logline", + "//internal/tailer/logstream", + "//internal/waker", + "@com_github_golang_glog//:go_default_library", + ], +) + +go_test( + name = "tailer_test", + srcs = [ + "tail_test.go", + "tail_unix_test.go", + "tail_windows_test.go", + ], + embed = [":tailer"], + deps = [ + "//internal/logline", + "//internal/testutil", + "//internal/waker", + "@com_github_golang_glog//:go_default_library", + ], +) diff --git a/internal/tailer/logstream/BUILD.bazel b/internal/tailer/logstream/BUILD.bazel new file mode 100644 index 000000000..779d44ef8 --- /dev/null +++ b/internal/tailer/logstream/BUILD.bazel @@ -0,0 +1,84 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "logstream", + srcs = [ + "cancel.go", + "decode.go", + "dgramstream.go", + "filestream.go", + "logstream.go", + "pipestream.go", + "socketstream.go", + ], + importpath = "github.com/google/mtail/internal/tailer/logstream", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/logline", + "//internal/waker", + "@com_github_golang_glog//:go_default_library", + ], +) + +go_test( + name = "logstream_test", + srcs = [ + "dgramstream_unix_test.go", + "filestream_test.go", + "filestream_unix_test.go", + "pipestream_unix_test.go", + "socketstream_unix_test.go", + ], + deps = [ + ":logstream", + "//internal/logline", + "//internal/testutil", + "//internal/waker", + ] + select({ + "@io_bazel_rules_go//go/platform:aix": [ + "@com_github_golang_glog//:go_default_library", + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:android": [ + "@com_github_golang_glog//:go_default_library", + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:darwin": [ + "@com_github_golang_glog//:go_default_library", + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:dragonfly": [ + "@com_github_golang_glog//:go_default_library", + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:freebsd": [ + "@com_github_golang_glog//:go_default_library", + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:illumos": [ + "@com_github_golang_glog//:go_default_library", + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:ios": [ + "@com_github_golang_glog//:go_default_library", + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:linux": [ + "@com_github_golang_glog//:go_default_library", + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:netbsd": [ + "@com_github_golang_glog//:go_default_library", + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:openbsd": [ + "@com_github_golang_glog//:go_default_library", + "@org_golang_x_sys//unix:go_default_library", + ], + "@io_bazel_rules_go//go/platform:solaris": [ + "@com_github_golang_glog//:go_default_library", + "@org_golang_x_sys//unix:go_default_library", + ], + "//conditions:default": [], + }), +) diff --git a/internal/testutil/BUILD.bazel b/internal/testutil/BUILD.bazel new file mode 100644 index 000000000..24b8dcb67 --- /dev/null +++ b/internal/testutil/BUILD.bazel @@ -0,0 +1,34 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "testutil", + srcs = [ + "diff.go", + "err.go", + "expvar.go", + "file.go", + "flag.go", + "fs.go", + "lines.go", + "norace.go", + "port.go", + "race.go", + "root.go", + "short.go", + "timeout.go", + ], + importpath = "github.com/google/mtail/internal/testutil", + visibility = ["//:__subpackages__"], + deps = [ + "//internal/logline", + "@com_github_golang_glog//:go_default_library", + "@com_github_google_go_cmp//cmp:go_default_library", + "@com_github_google_go_cmp//cmp/cmpopts:go_default_library", + ], +) + +go_test( + name = "testutil_test", + srcs = ["timeout_test.go"], + embed = [":testutil"], +) diff --git a/internal/waker/BUILD.bazel b/internal/waker/BUILD.bazel new file mode 100644 index 000000000..dd3bede42 --- /dev/null +++ b/internal/waker/BUILD.bazel @@ -0,0 +1,22 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "waker", + srcs = [ + "testwaker.go", + "timedwaker.go", + "waker.go", + ], + importpath = "github.com/google/mtail/internal/waker", + visibility = ["//:__subpackages__"], + deps = ["@com_github_golang_glog//:go_default_library"], +) + +go_test( + name = "waker_test", + srcs = [ + "testwaker_test.go", + "timedwaker_test.go", + ], + deps = [":waker"], +) From 688cb6ef3b647d9118085a317aa6c3349ab22974 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 15 Jan 2024 09:46:17 +1100 Subject: [PATCH 044/381] test: Add `exec_integration_test` with runfiles support. --- deps.bzl | 7 +++++++ examples/BUILD.bazel | 8 ++++---- go.mod | 1 + go.sum | 2 ++ internal/mtail/BUILD.bazel | 7 ++++++- internal/mtail/exec_integration_test.go | 24 ++++-------------------- 6 files changed, 24 insertions(+), 25 deletions(-) diff --git a/deps.bzl b/deps.bzl index 08ce6a9db..6bf4a6753 100644 --- a/deps.bzl +++ b/deps.bzl @@ -22,6 +22,13 @@ def go_dependencies(): sum = "h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc=", version = "v0.0.0-20211218093645-b94a6e3cc137", ) + go_repository( + name = "com_github_bazelbuild_rules_go", + build_file_proto_mode = "disable_global", + importpath = "github.com/bazelbuild/rules_go", + sum = "h1:ZPsHcsau3SXFQJOpqD+Ey9/RU6qjiUhdTAZI+Q8e2gY=", + version = "v0.45.0", + ) go_repository( name = "com_github_beorn7_perks", build_file_proto_mode = "disable_global", diff --git a/examples/BUILD.bazel b/examples/BUILD.bazel index d57f1c8df..b8136b230 100644 --- a/examples/BUILD.bazel +++ b/examples/BUILD.bazel @@ -1,5 +1,5 @@ -filegroup(name="examples", -srcs = glob(["*.mtail"]), - -visibility = ["//internal/mtail:__subpackages__"], +filegroup( + name = "examples", + srcs = glob(["*.mtail"]), + visibility = ["//internal/mtail:__subpackages__"], ) diff --git a/go.mod b/go.mod index ef9aba05f..932be2c00 100644 --- a/go.mod +++ b/go.mod @@ -16,6 +16,7 @@ require ( ) require ( + github.com/bazelbuild/rules_go v0.45.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/golang/protobuf v1.5.3 // indirect diff --git a/go.sum b/go.sum index 5401044c8..6fa806266 100644 --- a/go.sum +++ b/go.sum @@ -25,6 +25,8 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXV 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/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/bazelbuild/rules_go v0.45.0 h1:ZPsHcsau3SXFQJOpqD+Ey9/RU6qjiUhdTAZI+Q8e2gY= +github.com/bazelbuild/rules_go v0.45.0/go.mod h1:Dhcz716Kqg1RHNWos+N6MlXNkjNP2EwZQ0LukRKJfMs= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= diff --git a/internal/mtail/BUILD.bazel b/internal/mtail/BUILD.bazel index 1d06e5473..1aa570437 100644 --- a/internal/mtail/BUILD.bazel +++ b/internal/mtail/BUILD.bazel @@ -39,6 +39,7 @@ go_test( "compile_only_integration_test.go", "examples_integration_test.go", "examples_integration_unix_test.go", + "exec_integration_test.go", "log_deletion_integration_unix_test.go", "log_glob_integration_test.go", "log_rotation_integration_test.go", @@ -54,7 +55,10 @@ go_test( "relative_path_pattern_integration_test.go", "unix_socket_export_integration_test.go", ], - data = glob(["testdata/**"]) + [ "//examples"], + data = glob(["testdata/**"]) + [ + "//cmd/mtail:mtail", + "//examples", + ], embed = [":mtail"], deps = [ "//internal/metrics", @@ -63,6 +67,7 @@ go_test( "//internal/testutil", "//internal/waker", "@com_github_golang_glog//:go_default_library", + "@io_bazel_rules_go//go/tools/bazel", ] + select({ "@io_bazel_rules_go//go/platform:aix": [ "@org_golang_x_sys//unix:go_default_library", diff --git a/internal/mtail/exec_integration_test.go b/internal/mtail/exec_integration_test.go index 4e9b1908d..e81e65731 100644 --- a/internal/mtail/exec_integration_test.go +++ b/internal/mtail/exec_integration_test.go @@ -5,37 +5,21 @@ package mtail_test import ( "context" - "errors" "fmt" "os/exec" - "path/filepath" "syscall" "testing" "time" - "github.com/golang/glog" + "github.com/bazelbuild/rules_go/go/tools/bazel" "github.com/jaqx0r/mtail/internal/testutil" ) -var mtailPath string - -func init() { - path, err := exec.LookPath(filepath.Join("..", "..", "mtail")) - if errors.Is(err, exec.ErrDot) { - err = nil - } - if err != nil { - glog.Infof("exec_integration_test init(): %v", err) - } - mtailPath = path -} - func TestExecMtail(t *testing.T) { - if mtailPath == "" { - t.Log("mtail binary not found, skipping") - t.Skip() + mtailPath, ok := bazel.FindBinary("cmd/mtail", "mtail") + if !ok { + t.Fatal("`mtail` not found in runfiles") } - cs := []string{ "-progs", "../../examples", From f41d4dd35f138c59e3ca094de1edb782cb27e395 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 15 Jan 2024 09:46:51 +1100 Subject: [PATCH 045/381] build: Update deps. --- MODULE.bazel.lock | 36 +++++++++++++++++++++----- deps.bzl | 65 ++++++++++++++++++++++++++--------------------- 2 files changed, 65 insertions(+), 36 deletions(-) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 964faf91b..0e3a8c4dc 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -641,12 +641,13 @@ "name": "apple_support~1.5.0~apple_cc_configure_extension~local_config_apple_cc_toolchains" } } - } + }, + "recordedRepoMappingEntries": [] } }, "@@bazel_tools//tools/cpp:cc_configure.bzl%cc_configure_extension": { "general": { - "bzlTransitiveDigest": "O9sf6ilKWU9Veed02jG9o2HM/xgV/UAyciuFBuxrFRY=", + "bzlTransitiveDigest": "mcsWHq3xORJexV5/4eCvNOLxFOQKV6eli3fkr+tEaqE=", "accumulatedFileDigests": {}, "envVariables": {}, "generatedRepoSpecs": { @@ -664,7 +665,14 @@ "name": "bazel_tools~cc_configure_extension~local_config_cc_toolchains" } } - } + }, + "recordedRepoMappingEntries": [ + [ + "bazel_tools", + "bazel_tools", + "bazel_tools" + ] + ] } }, "@@bazel_tools//tools/osx:xcode_configure.bzl%xcode_configure_extension": { @@ -682,7 +690,8 @@ "remote_xcode": "" } } - } + }, + "recordedRepoMappingEntries": [] } }, "@@bazel_tools//tools/sh:sh_configure.bzl%sh_configure_extension": { @@ -698,12 +707,13 @@ "name": "bazel_tools~sh_configure_extension~local_config_sh" } } - } + }, + "recordedRepoMappingEntries": [] } }, "@@rules_java~7.1.0//java:extensions.bzl%toolchains": { "general": { - "bzlTransitiveDigest": "iUIRqCK7tkhvcDJCAfPPqSd06IHG0a8HQD0xeQyVAqw=", + "bzlTransitiveDigest": "D02GmifxnV/IhYgspsJMDZ/aE8HxAjXgek5gi6FSto4=", "accumulatedFileDigests": {}, "envVariables": {}, "generatedRepoSpecs": { @@ -1238,7 +1248,19 @@ "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_win//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_win//:jdk\",\n)\n" } } - } + }, + "recordedRepoMappingEntries": [ + [ + "rules_java~7.1.0", + "bazel_tools", + "bazel_tools" + ], + [ + "rules_java~7.1.0", + "remote_java_tools", + "rules_java~7.1.0~toolchains~remote_java_tools" + ] + ] } } } diff --git a/deps.bzl b/deps.bzl index 6bf4a6753..27e0cadda 100644 --- a/deps.bzl +++ b/deps.bzl @@ -12,8 +12,8 @@ def go_dependencies(): name = "com_github_alecthomas_kingpin_v2", build_file_proto_mode = "disable_global", importpath = "github.com/alecthomas/kingpin/v2", - sum = "h1:H0aULhgmSzN8xQ3nX1uxtdlTHYoPLu5AhHxWrKI6ocU=", - version = "v2.3.2", + sum = "h1:f48lwail6p8zpO1bC4TxtqACaGqHYA22qkHjHpqDjYY=", + version = "v2.4.0", ) go_repository( name = "com_github_alecthomas_units", @@ -155,6 +155,13 @@ def go_dependencies(): sum = "h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=", version = "v0.5.1", ) + go_repository( + name = "com_github_gogo_protobuf", + build_file_proto_mode = "disable_global", + importpath = "github.com/gogo/protobuf", + sum = "h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=", + version = "v1.3.2", + ) go_repository( name = "com_github_golang_glog", build_file_proto_mode = "disable_global", @@ -173,8 +180,8 @@ def go_dependencies(): name = "com_github_golang_mock", build_file_proto_mode = "disable_global", importpath = "github.com/golang/mock", - sum = "h1:GV+pQPG/EUUbkh47niozDcADz6go/dUwhVzdUQHIVRw=", - version = "v1.4.3", + sum = "h1:YojYx61/OLFsiv6Rw1Z96LpldJIy31o+UHmwAUMJ6/U=", + version = "v1.7.0-rc.1", ) go_repository( name = "com_github_golang_protobuf", @@ -309,13 +316,6 @@ def go_dependencies(): sum = "h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=", version = "v0.1.0", ) - go_repository( - name = "com_github_matttproud_golang_protobuf_extensions_v2", - build_file_proto_mode = "disable_global", - importpath = "github.com/matttproud/golang_protobuf_extensions/v2", - sum = "h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg=", - version = "v2.0.0", - ) go_repository( name = "com_github_modern_go_concurrent", build_file_proto_mode = "disable_global", @@ -355,8 +355,8 @@ def go_dependencies(): name = "com_github_prometheus_client_golang", build_file_proto_mode = "disable_global", importpath = "github.com/prometheus/client_golang", - sum = "h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk=", - version = "v1.18.0", + sum = "h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU=", + version = "v1.19.0", ) go_repository( name = "com_github_prometheus_client_model", @@ -369,8 +369,8 @@ def go_dependencies(): name = "com_github_prometheus_common", build_file_proto_mode = "disable_global", importpath = "github.com/prometheus/common", - sum = "h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM=", - version = "v0.45.0", + sum = "h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSzKKE=", + version = "v0.48.0", ) go_repository( name = "com_github_prometheus_procfs", @@ -1380,12 +1380,19 @@ def go_dependencies(): sum = "h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc=", version = "v1.56.3", ) + go_repository( + name = "org_golang_google_grpc_cmd_protoc_gen_go_grpc", + build_file_proto_mode = "disable_global", + importpath = "google.golang.org/grpc/cmd/protoc-gen-go-grpc", + sum = "h1:rNBFJjBCOgVr9pWD7rs/knKL4FRTKgpZmsRfV214zcA=", + version = "v1.3.0", + ) go_repository( name = "org_golang_google_protobuf", build_file_proto_mode = "disable_global", importpath = "google.golang.org/protobuf", - sum = "h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=", - version = "v1.31.0", + sum = "h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=", + version = "v1.32.0", ) go_repository( name = "org_golang_x_crypto", @@ -1426,22 +1433,22 @@ def go_dependencies(): name = "org_golang_x_mod", build_file_proto_mode = "disable_global", importpath = "golang.org/x/mod", - sum = "h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ=", - version = "v0.2.0", + sum = "h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=", + version = "v0.14.0", ) go_repository( name = "org_golang_x_net", build_file_proto_mode = "disable_global", importpath = "golang.org/x/net", - sum = "h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=", - version = "v0.17.0", + sum = "h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo=", + version = "v0.20.0", ) go_repository( name = "org_golang_x_oauth2", build_file_proto_mode = "disable_global", importpath = "golang.org/x/oauth2", - sum = "h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4=", - version = "v0.12.0", + sum = "h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ=", + version = "v0.16.0", ) go_repository( name = "org_golang_x_sync", @@ -1454,15 +1461,15 @@ def go_dependencies(): name = "org_golang_x_sys", build_file_proto_mode = "disable_global", importpath = "golang.org/x/sys", - sum = "h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU=", - version = "v0.16.0", + sum = "h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=", + version = "v0.17.0", ) go_repository( name = "org_golang_x_text", build_file_proto_mode = "disable_global", importpath = "golang.org/x/text", - sum = "h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=", - version = "v0.13.0", + sum = "h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=", + version = "v0.14.0", ) go_repository( name = "org_golang_x_time", @@ -1475,8 +1482,8 @@ def go_dependencies(): name = "org_golang_x_tools", build_file_proto_mode = "disable_global", importpath = "golang.org/x/tools", - sum = "h1:kDtqNkeBrZb8B+atrj50B5XLHpzXXqcCdZPP/ApQ5NY=", - version = "v0.0.0-20200331025713-a30bf2db82d4", + sum = "h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8=", + version = "v0.15.0", ) go_repository( name = "org_golang_x_xerrors", From 2f17ef22d19b2dea5ed493d9ab0ef64408578186 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 15 Jan 2024 10:28:33 +1100 Subject: [PATCH 046/381] build: `go mod tidy` and update toolchain version in `WORKSPACE`. --- WORKSPACE | 2 +- go.mod | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 29d48e7c3..6950cb391 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -29,6 +29,6 @@ go_dependencies() go_rules_dependencies() -go_register_toolchains(version = "1.20.7") +go_register_toolchains(version = "1.21.6") gazelle_dependencies() diff --git a/go.mod b/go.mod index 932be2c00..0dc56a627 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,7 @@ toolchain go1.23.7 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 github.com/golang/glog v1.2.4 + github.com/bazelbuild/rules_go v0.45.0 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 @@ -16,7 +17,6 @@ require ( ) require ( - github.com/bazelbuild/rules_go v0.45.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/golang/protobuf v1.5.3 // indirect From 9dc999ea30d1c0aa18ba8c99a1eabf12acf7b022 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 15 Jan 2024 10:41:24 +1100 Subject: [PATCH 047/381] build: Mark all tests as size=small. --- internal/exporter/BUILD.bazel | 1 + internal/metrics/BUILD.bazel | 1 + internal/metrics/datum/BUILD.bazel | 1 + internal/mtail/BUILD.bazel | 3 ++- internal/mtail/golden/BUILD.bazel | 3 ++- internal/runtime/BUILD.bazel | 1 + internal/runtime/code/BUILD.bazel | 1 + internal/runtime/compiler/BUILD.bazel | 1 + internal/runtime/compiler/ast/BUILD.bazel | 1 + internal/runtime/compiler/checker/BUILD.bazel | 1 + internal/runtime/compiler/codegen/BUILD.bazel | 1 + internal/runtime/compiler/errors/BUILD.bazel | 1 + internal/runtime/compiler/opt/BUILD.bazel | 1 + internal/runtime/compiler/parser/BUILD.bazel | 1 + internal/runtime/compiler/symbol/BUILD.bazel | 1 + internal/runtime/compiler/types/BUILD.bazel | 1 + internal/runtime/vm/BUILD.bazel | 1 + internal/tailer/BUILD.bazel | 1 + internal/tailer/logstream/BUILD.bazel | 1 + internal/testutil/BUILD.bazel | 1 + internal/waker/BUILD.bazel | 1 + 21 files changed, 23 insertions(+), 2 deletions(-) diff --git a/internal/exporter/BUILD.bazel b/internal/exporter/BUILD.bazel index e5035e1d8..fc65644a4 100644 --- a/internal/exporter/BUILD.bazel +++ b/internal/exporter/BUILD.bazel @@ -25,6 +25,7 @@ go_library( go_test( name = "exporter_test", + size = "small", srcs = [ "export_test.go", "graphite_test.go", diff --git a/internal/metrics/BUILD.bazel b/internal/metrics/BUILD.bazel index 02eb8bffb..17eb4b1be 100644 --- a/internal/metrics/BUILD.bazel +++ b/internal/metrics/BUILD.bazel @@ -19,6 +19,7 @@ go_library( go_test( name = "metrics_test", + size = "small", srcs = [ "metric_test.go", "store_bench_test.go", diff --git a/internal/metrics/datum/BUILD.bazel b/internal/metrics/datum/BUILD.bazel index 12c454b11..c0ca562c8 100644 --- a/internal/metrics/datum/BUILD.bazel +++ b/internal/metrics/datum/BUILD.bazel @@ -15,6 +15,7 @@ go_library( go_test( name = "datum_test", + size = "small", srcs = [ "buckets_test.go", "datum_test.go", diff --git a/internal/mtail/BUILD.bazel b/internal/mtail/BUILD.bazel index 1aa570437..750e9eef8 100644 --- a/internal/mtail/BUILD.bazel +++ b/internal/mtail/BUILD.bazel @@ -34,6 +34,7 @@ go_library( go_test( name = "mtail_test", + size = "small", srcs = [ "basic_tail_integration_test.go", "compile_only_integration_test.go", @@ -56,7 +57,7 @@ go_test( "unix_socket_export_integration_test.go", ], data = glob(["testdata/**"]) + [ - "//cmd/mtail:mtail", + "//cmd/mtail", "//examples", ], embed = [":mtail"], diff --git a/internal/mtail/golden/BUILD.bazel b/internal/mtail/golden/BUILD.bazel index 3ccaf5f73..1b4cab94b 100644 --- a/internal/mtail/golden/BUILD.bazel +++ b/internal/mtail/golden/BUILD.bazel @@ -14,9 +14,10 @@ go_library( go_test( name = "golden_test", + size = "small", srcs = ["reader_test.go"], - embed = [":golden"], data = ["reader_test.golden"], + embed = [":golden"], deps = [ "//internal/metrics", "//internal/metrics/datum", diff --git a/internal/runtime/BUILD.bazel b/internal/runtime/BUILD.bazel index 6dc245846..8448283e7 100644 --- a/internal/runtime/BUILD.bazel +++ b/internal/runtime/BUILD.bazel @@ -22,6 +22,7 @@ go_library( go_test( name = "runtime_test", + size = "small", srcs = [ "runtime_integration_test.go", "runtime_test.go", diff --git a/internal/runtime/code/BUILD.bazel b/internal/runtime/code/BUILD.bazel index 8e7e052f8..fca1bdbe8 100644 --- a/internal/runtime/code/BUILD.bazel +++ b/internal/runtime/code/BUILD.bazel @@ -14,6 +14,7 @@ go_library( go_test( name = "code_test", + size = "small", srcs = [ "instr_test.go", "opcodes_test.go", diff --git a/internal/runtime/compiler/BUILD.bazel b/internal/runtime/compiler/BUILD.bazel index 08d053f2c..3ebfd480f 100644 --- a/internal/runtime/compiler/BUILD.bazel +++ b/internal/runtime/compiler/BUILD.bazel @@ -18,6 +18,7 @@ go_library( go_test( name = "compiler_test", + size = "small", srcs = ["compiler_test.go"], deps = [ ":compiler", diff --git a/internal/runtime/compiler/ast/BUILD.bazel b/internal/runtime/compiler/ast/BUILD.bazel index a19ea1f17..edc6772fb 100644 --- a/internal/runtime/compiler/ast/BUILD.bazel +++ b/internal/runtime/compiler/ast/BUILD.bazel @@ -19,6 +19,7 @@ go_library( go_test( name = "ast_test", + size = "small", srcs = ["walk_test.go"], deps = [ ":ast", diff --git a/internal/runtime/compiler/checker/BUILD.bazel b/internal/runtime/compiler/checker/BUILD.bazel index 8e08d1c7d..3bf22e976 100644 --- a/internal/runtime/compiler/checker/BUILD.bazel +++ b/internal/runtime/compiler/checker/BUILD.bazel @@ -18,6 +18,7 @@ go_library( go_test( name = "checker_test", + size = "small", srcs = ["checker_test.go"], deps = [ ":checker", diff --git a/internal/runtime/compiler/codegen/BUILD.bazel b/internal/runtime/compiler/codegen/BUILD.bazel index 75a8cc118..179634074 100644 --- a/internal/runtime/compiler/codegen/BUILD.bazel +++ b/internal/runtime/compiler/codegen/BUILD.bazel @@ -21,6 +21,7 @@ go_library( go_test( name = "codegen_test", + size = "small", srcs = ["codegen_test.go"], deps = [ ":codegen", diff --git a/internal/runtime/compiler/errors/BUILD.bazel b/internal/runtime/compiler/errors/BUILD.bazel index 99522e381..2806e8cc8 100644 --- a/internal/runtime/compiler/errors/BUILD.bazel +++ b/internal/runtime/compiler/errors/BUILD.bazel @@ -13,6 +13,7 @@ go_library( go_test( name = "errors_test", + size = "small", srcs = ["errors_test.go"], deps = [":errors"], ) diff --git a/internal/runtime/compiler/opt/BUILD.bazel b/internal/runtime/compiler/opt/BUILD.bazel index 3cec8b55a..9a8361681 100644 --- a/internal/runtime/compiler/opt/BUILD.bazel +++ b/internal/runtime/compiler/opt/BUILD.bazel @@ -16,6 +16,7 @@ go_library( go_test( name = "opt_test", + size = "small", srcs = ["opt_test.go"], deps = [ ":opt", diff --git a/internal/runtime/compiler/parser/BUILD.bazel b/internal/runtime/compiler/parser/BUILD.bazel index 3d5cc0733..b3379610b 100644 --- a/internal/runtime/compiler/parser/BUILD.bazel +++ b/internal/runtime/compiler/parser/BUILD.bazel @@ -24,6 +24,7 @@ go_library( go_test( name = "parser_test", + size = "small", srcs = [ "lexer_test.go", "parser_test.go", diff --git a/internal/runtime/compiler/symbol/BUILD.bazel b/internal/runtime/compiler/symbol/BUILD.bazel index 3b70622e5..cf6f34b43 100644 --- a/internal/runtime/compiler/symbol/BUILD.bazel +++ b/internal/runtime/compiler/symbol/BUILD.bazel @@ -13,6 +13,7 @@ go_library( go_test( name = "symbol_test", + size = "small", srcs = ["symtab_test.go"], embed = [":symbol"], deps = ["//internal/testutil"], diff --git a/internal/runtime/compiler/types/BUILD.bazel b/internal/runtime/compiler/types/BUILD.bazel index 777477202..44e7243d4 100644 --- a/internal/runtime/compiler/types/BUILD.bazel +++ b/internal/runtime/compiler/types/BUILD.bazel @@ -13,6 +13,7 @@ go_library( go_test( name = "types_test", + size = "small", srcs = ["types_test.go"], embed = [":types"], deps = ["//internal/testutil"], diff --git a/internal/runtime/vm/BUILD.bazel b/internal/runtime/vm/BUILD.bazel index a111257ff..f6c5bce95 100644 --- a/internal/runtime/vm/BUILD.bazel +++ b/internal/runtime/vm/BUILD.bazel @@ -19,6 +19,7 @@ go_library( go_test( name = "vm_test", + size = "small", srcs = ["vm_test.go"], embed = [":vm"], deps = [ diff --git a/internal/tailer/BUILD.bazel b/internal/tailer/BUILD.bazel index 3f8339995..5e0945e6b 100644 --- a/internal/tailer/BUILD.bazel +++ b/internal/tailer/BUILD.bazel @@ -18,6 +18,7 @@ go_library( go_test( name = "tailer_test", + size = "small", srcs = [ "tail_test.go", "tail_unix_test.go", diff --git a/internal/tailer/logstream/BUILD.bazel b/internal/tailer/logstream/BUILD.bazel index 779d44ef8..b89384f8a 100644 --- a/internal/tailer/logstream/BUILD.bazel +++ b/internal/tailer/logstream/BUILD.bazel @@ -22,6 +22,7 @@ go_library( go_test( name = "logstream_test", + size = "small", srcs = [ "dgramstream_unix_test.go", "filestream_test.go", diff --git a/internal/testutil/BUILD.bazel b/internal/testutil/BUILD.bazel index 24b8dcb67..fb97d71bb 100644 --- a/internal/testutil/BUILD.bazel +++ b/internal/testutil/BUILD.bazel @@ -29,6 +29,7 @@ go_library( go_test( name = "testutil_test", + size = "small", srcs = ["timeout_test.go"], embed = [":testutil"], ) diff --git a/internal/waker/BUILD.bazel b/internal/waker/BUILD.bazel index dd3bede42..952416697 100644 --- a/internal/waker/BUILD.bazel +++ b/internal/waker/BUILD.bazel @@ -14,6 +14,7 @@ go_library( go_test( name = "waker_test", + size = "small", srcs = [ "testwaker_test.go", "timedwaker_test.go", From 67cec4b2a97e282fcb7a68f64f636288a7715296 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 15 Jan 2024 10:42:26 +1100 Subject: [PATCH 048/381] build: Fix lint error from `buildifier`. --- WORKSPACE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WORKSPACE b/WORKSPACE index 6950cb391..a02090780 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -20,8 +20,8 @@ http_archive( ], ) -load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies") +load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") load("//:deps.bzl", "go_dependencies") # gazelle:repository_macro deps.bzl%go_dependencies From 4cc0f62da333c3fad6e1179e5d0e50117e43a3af Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 15 Jan 2024 10:43:23 +1100 Subject: [PATCH 049/381] build: Add update after `bazel coverage` run. --- MODULE.bazel.lock | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 0e3a8c4dc..6c9fbc2d4 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -711,6 +711,27 @@ "recordedRepoMappingEntries": [] } }, + "@@bazel_tools//tools/test:extensions.bzl%remote_coverage_tools_extension": { + "general": { + "bzlTransitiveDigest": "y48q5zUu2oMiYv7yUyi7rFB0wt14eqiF/RQcWT6vP7I=", + "accumulatedFileDigests": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "remote_coverage_tools": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "bazel_tools~remote_coverage_tools_extension~remote_coverage_tools", + "sha256": "7006375f6756819b7013ca875eab70a541cf7d89142d9c511ed78ea4fefa38af", + "urls": [ + "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.6.zip" + ] + } + } + }, + "recordedRepoMappingEntries": [] + } + }, "@@rules_java~7.1.0//java:extensions.bzl%toolchains": { "general": { "bzlTransitiveDigest": "D02GmifxnV/IhYgspsJMDZ/aE8HxAjXgek5gi6FSto4=", From b75e276d0b1420aeb9ceac3970f8074ec164eed6 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 16 Oct 2024 09:53:41 +1100 Subject: [PATCH 050/381] chore: Updated MODULE.bazel.lock --- MODULE.bazel.lock | 1336 +++------------------------------------------ 1 file changed, 79 insertions(+), 1257 deletions(-) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 6c9fbc2d4..21b358eb8 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1,1288 +1,110 @@ { - "lockFileVersion": 3, - "moduleFileHash": "0e3e315145ac7ee7a4e0ac825e1c5e03c068ec1254dd42c3caaecb27e921dc4d", - "flags": { - "cmdRegistries": [ - "https://bcr.bazel.build/" - ], - "cmdModuleOverrides": {}, - "allowedYankedVersions": [], - "envVarAllowedYankedVersions": "", - "ignoreDevDependency": false, - "directDependenciesMode": "WARNING", - "compatibilityMode": "ERROR" - }, - "localOverrideHashes": { - "bazel_tools": "922ea6752dc9105de5af957f7a99a6933c0a6a712d23df6aad16a9c399f7e787" - }, - "moduleDepGraph": { - "": { - "name": "", - "version": "", - "key": "", - "repoName": "", - "executionPlatformsToRegister": [], - "toolchainsToRegister": [], - "extensionUsages": [], - "deps": { - "bazel_tools": "bazel_tools@_", - "local_config_platform": "local_config_platform@_" - } - }, - "bazel_tools@_": { - "name": "bazel_tools", - "version": "", - "key": "bazel_tools@_", - "repoName": "bazel_tools", - "executionPlatformsToRegister": [], - "toolchainsToRegister": [ - "@local_config_cc_toolchains//:all", - "@local_config_sh//:local_sh_toolchain" - ], - "extensionUsages": [ - { - "extensionBzlFile": "@bazel_tools//tools/cpp:cc_configure.bzl", - "extensionName": "cc_configure_extension", - "usingModule": "bazel_tools@_", - "location": { - "file": "@@bazel_tools//:MODULE.bazel", - "line": 17, - "column": 29 - }, - "imports": { - "local_config_cc": "local_config_cc", - "local_config_cc_toolchains": "local_config_cc_toolchains" - }, - "devImports": [], - "tags": [], - "hasDevUseExtension": false, - "hasNonDevUseExtension": true - }, - { - "extensionBzlFile": "@bazel_tools//tools/osx:xcode_configure.bzl", - "extensionName": "xcode_configure_extension", - "usingModule": "bazel_tools@_", - "location": { - "file": "@@bazel_tools//:MODULE.bazel", - "line": 21, - "column": 32 - }, - "imports": { - "local_config_xcode": "local_config_xcode" - }, - "devImports": [], - "tags": [], - "hasDevUseExtension": false, - "hasNonDevUseExtension": true - }, - { - "extensionBzlFile": "@rules_java//java:extensions.bzl", - "extensionName": "toolchains", - "usingModule": "bazel_tools@_", - "location": { - "file": "@@bazel_tools//:MODULE.bazel", - "line": 24, - "column": 32 - }, - "imports": { - "local_jdk": "local_jdk", - "remote_java_tools": "remote_java_tools", - "remote_java_tools_linux": "remote_java_tools_linux", - "remote_java_tools_windows": "remote_java_tools_windows", - "remote_java_tools_darwin_x86_64": "remote_java_tools_darwin_x86_64", - "remote_java_tools_darwin_arm64": "remote_java_tools_darwin_arm64" - }, - "devImports": [], - "tags": [], - "hasDevUseExtension": false, - "hasNonDevUseExtension": true - }, - { - "extensionBzlFile": "@bazel_tools//tools/sh:sh_configure.bzl", - "extensionName": "sh_configure_extension", - "usingModule": "bazel_tools@_", - "location": { - "file": "@@bazel_tools//:MODULE.bazel", - "line": 35, - "column": 39 - }, - "imports": { - "local_config_sh": "local_config_sh" - }, - "devImports": [], - "tags": [], - "hasDevUseExtension": false, - "hasNonDevUseExtension": true - }, - { - "extensionBzlFile": "@bazel_tools//tools/test:extensions.bzl", - "extensionName": "remote_coverage_tools_extension", - "usingModule": "bazel_tools@_", - "location": { - "file": "@@bazel_tools//:MODULE.bazel", - "line": 39, - "column": 48 - }, - "imports": { - "remote_coverage_tools": "remote_coverage_tools" - }, - "devImports": [], - "tags": [], - "hasDevUseExtension": false, - "hasNonDevUseExtension": true - }, - { - "extensionBzlFile": "@bazel_tools//tools/android:android_extensions.bzl", - "extensionName": "remote_android_tools_extensions", - "usingModule": "bazel_tools@_", - "location": { - "file": "@@bazel_tools//:MODULE.bazel", - "line": 42, - "column": 42 - }, - "imports": { - "android_gmaven_r8": "android_gmaven_r8", - "android_tools": "android_tools" - }, - "devImports": [], - "tags": [], - "hasDevUseExtension": false, - "hasNonDevUseExtension": true - } - ], - "deps": { - "rules_cc": "rules_cc@0.0.9", - "rules_java": "rules_java@7.1.0", - "rules_license": "rules_license@0.0.7", - "rules_proto": "rules_proto@4.0.0", - "rules_python": "rules_python@0.4.0", - "platforms": "platforms@0.0.7", - "com_google_protobuf": "protobuf@3.19.6", - "zlib": "zlib@1.3", - "build_bazel_apple_support": "apple_support@1.5.0", - "local_config_platform": "local_config_platform@_" - } - }, - "local_config_platform@_": { - "name": "local_config_platform", - "version": "", - "key": "local_config_platform@_", - "repoName": "local_config_platform", - "executionPlatformsToRegister": [], - "toolchainsToRegister": [], - "extensionUsages": [], - "deps": { - "platforms": "platforms@0.0.7", - "bazel_tools": "bazel_tools@_" - } - }, - "rules_cc@0.0.9": { - "name": "rules_cc", - "version": "0.0.9", - "key": "rules_cc@0.0.9", - "repoName": "rules_cc", - "executionPlatformsToRegister": [], - "toolchainsToRegister": [ - "@local_config_cc_toolchains//:all" - ], - "extensionUsages": [ - { - "extensionBzlFile": "@bazel_tools//tools/cpp:cc_configure.bzl", - "extensionName": "cc_configure_extension", - "usingModule": "rules_cc@0.0.9", - "location": { - "file": "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel", - "line": 9, - "column": 29 - }, - "imports": { - "local_config_cc_toolchains": "local_config_cc_toolchains" - }, - "devImports": [], - "tags": [], - "hasDevUseExtension": false, - "hasNonDevUseExtension": true - } - ], - "deps": { - "platforms": "platforms@0.0.7", - "bazel_tools": "bazel_tools@_", - "local_config_platform": "local_config_platform@_" - }, - "repoSpec": { - "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_cc~0.0.9", - "urls": [ - "https://github.com/bazelbuild/rules_cc/releases/download/0.0.9/rules_cc-0.0.9.tar.gz" - ], - "integrity": "sha256-IDeHW5pEVtzkp50RKorohbvEqtlo5lh9ym5k86CQDN8=", - "strip_prefix": "rules_cc-0.0.9", - "remote_patches": { - "https://bcr.bazel.build/modules/rules_cc/0.0.9/patches/module_dot_bazel_version.patch": "sha256-mM+qzOI0SgAdaJBlWOSMwMPKpaA9b7R37Hj/tp5bb4g=" - }, - "remote_patch_strip": 0 - } - } - }, - "rules_java@7.1.0": { - "name": "rules_java", - "version": "7.1.0", - "key": "rules_java@7.1.0", - "repoName": "rules_java", - "executionPlatformsToRegister": [], - "toolchainsToRegister": [ - "//toolchains:all", - "@local_jdk//:runtime_toolchain_definition", - "@local_jdk//:bootstrap_runtime_toolchain_definition", - "@remotejdk11_linux_toolchain_config_repo//:all", - "@remotejdk11_linux_aarch64_toolchain_config_repo//:all", - "@remotejdk11_linux_ppc64le_toolchain_config_repo//:all", - "@remotejdk11_linux_s390x_toolchain_config_repo//:all", - "@remotejdk11_macos_toolchain_config_repo//:all", - "@remotejdk11_macos_aarch64_toolchain_config_repo//:all", - "@remotejdk11_win_toolchain_config_repo//:all", - "@remotejdk11_win_arm64_toolchain_config_repo//:all", - "@remotejdk17_linux_toolchain_config_repo//:all", - "@remotejdk17_linux_aarch64_toolchain_config_repo//:all", - "@remotejdk17_linux_ppc64le_toolchain_config_repo//:all", - "@remotejdk17_linux_s390x_toolchain_config_repo//:all", - "@remotejdk17_macos_toolchain_config_repo//:all", - "@remotejdk17_macos_aarch64_toolchain_config_repo//:all", - "@remotejdk17_win_toolchain_config_repo//:all", - "@remotejdk17_win_arm64_toolchain_config_repo//:all", - "@remotejdk21_linux_toolchain_config_repo//:all", - "@remotejdk21_linux_aarch64_toolchain_config_repo//:all", - "@remotejdk21_macos_toolchain_config_repo//:all", - "@remotejdk21_macos_aarch64_toolchain_config_repo//:all", - "@remotejdk21_win_toolchain_config_repo//:all" - ], - "extensionUsages": [ - { - "extensionBzlFile": "@rules_java//java:extensions.bzl", - "extensionName": "toolchains", - "usingModule": "rules_java@7.1.0", - "location": { - "file": "https://bcr.bazel.build/modules/rules_java/7.1.0/MODULE.bazel", - "line": 19, - "column": 27 - }, - "imports": { - "remote_java_tools": "remote_java_tools", - "remote_java_tools_linux": "remote_java_tools_linux", - "remote_java_tools_windows": "remote_java_tools_windows", - "remote_java_tools_darwin_x86_64": "remote_java_tools_darwin_x86_64", - "remote_java_tools_darwin_arm64": "remote_java_tools_darwin_arm64", - "local_jdk": "local_jdk", - "remotejdk11_linux_toolchain_config_repo": "remotejdk11_linux_toolchain_config_repo", - "remotejdk11_linux_aarch64_toolchain_config_repo": "remotejdk11_linux_aarch64_toolchain_config_repo", - "remotejdk11_linux_ppc64le_toolchain_config_repo": "remotejdk11_linux_ppc64le_toolchain_config_repo", - "remotejdk11_linux_s390x_toolchain_config_repo": "remotejdk11_linux_s390x_toolchain_config_repo", - "remotejdk11_macos_toolchain_config_repo": "remotejdk11_macos_toolchain_config_repo", - "remotejdk11_macos_aarch64_toolchain_config_repo": "remotejdk11_macos_aarch64_toolchain_config_repo", - "remotejdk11_win_toolchain_config_repo": "remotejdk11_win_toolchain_config_repo", - "remotejdk11_win_arm64_toolchain_config_repo": "remotejdk11_win_arm64_toolchain_config_repo", - "remotejdk17_linux_toolchain_config_repo": "remotejdk17_linux_toolchain_config_repo", - "remotejdk17_linux_aarch64_toolchain_config_repo": "remotejdk17_linux_aarch64_toolchain_config_repo", - "remotejdk17_linux_ppc64le_toolchain_config_repo": "remotejdk17_linux_ppc64le_toolchain_config_repo", - "remotejdk17_linux_s390x_toolchain_config_repo": "remotejdk17_linux_s390x_toolchain_config_repo", - "remotejdk17_macos_toolchain_config_repo": "remotejdk17_macos_toolchain_config_repo", - "remotejdk17_macos_aarch64_toolchain_config_repo": "remotejdk17_macos_aarch64_toolchain_config_repo", - "remotejdk17_win_toolchain_config_repo": "remotejdk17_win_toolchain_config_repo", - "remotejdk17_win_arm64_toolchain_config_repo": "remotejdk17_win_arm64_toolchain_config_repo", - "remotejdk21_linux_toolchain_config_repo": "remotejdk21_linux_toolchain_config_repo", - "remotejdk21_linux_aarch64_toolchain_config_repo": "remotejdk21_linux_aarch64_toolchain_config_repo", - "remotejdk21_macos_toolchain_config_repo": "remotejdk21_macos_toolchain_config_repo", - "remotejdk21_macos_aarch64_toolchain_config_repo": "remotejdk21_macos_aarch64_toolchain_config_repo", - "remotejdk21_win_toolchain_config_repo": "remotejdk21_win_toolchain_config_repo" - }, - "devImports": [], - "tags": [], - "hasDevUseExtension": false, - "hasNonDevUseExtension": true - } - ], - "deps": { - "platforms": "platforms@0.0.7", - "rules_cc": "rules_cc@0.0.9", - "bazel_skylib": "bazel_skylib@1.3.0", - "rules_proto": "rules_proto@4.0.0", - "rules_license": "rules_license@0.0.7", - "bazel_tools": "bazel_tools@_", - "local_config_platform": "local_config_platform@_" - }, - "repoSpec": { - "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0", - "urls": [ - "https://github.com/bazelbuild/rules_java/releases/download/7.1.0/rules_java-7.1.0.tar.gz" - ], - "integrity": "sha256-o3pOX2OrgnFuXdau75iO2EYcegC46TYnImKJn1h81OE=", - "strip_prefix": "", - "remote_patches": {}, - "remote_patch_strip": 0 - } - } - }, - "rules_license@0.0.7": { - "name": "rules_license", - "version": "0.0.7", - "key": "rules_license@0.0.7", - "repoName": "rules_license", - "executionPlatformsToRegister": [], - "toolchainsToRegister": [], - "extensionUsages": [], - "deps": { - "bazel_tools": "bazel_tools@_", - "local_config_platform": "local_config_platform@_" - }, - "repoSpec": { - "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_license~0.0.7", - "urls": [ - "https://github.com/bazelbuild/rules_license/releases/download/0.0.7/rules_license-0.0.7.tar.gz" - ], - "integrity": "sha256-RTHezLkTY5ww5cdRKgVNXYdWmNrrddjPkPKEN1/nw2A=", - "strip_prefix": "", - "remote_patches": {}, - "remote_patch_strip": 0 - } - } - }, - "rules_proto@4.0.0": { - "name": "rules_proto", - "version": "4.0.0", - "key": "rules_proto@4.0.0", - "repoName": "rules_proto", - "executionPlatformsToRegister": [], - "toolchainsToRegister": [], - "extensionUsages": [], - "deps": { - "bazel_skylib": "bazel_skylib@1.3.0", - "rules_cc": "rules_cc@0.0.9", - "bazel_tools": "bazel_tools@_", - "local_config_platform": "local_config_platform@_" - }, - "repoSpec": { - "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_proto~4.0.0", - "urls": [ - "https://github.com/bazelbuild/rules_proto/archive/refs/tags/4.0.0.zip" - ], - "integrity": "sha256-Lr5z6xyuRA19pNtRYMGjKaynwQpck4H/lwYyVjyhoq4=", - "strip_prefix": "rules_proto-4.0.0", - "remote_patches": { - "https://bcr.bazel.build/modules/rules_proto/4.0.0/patches/module_dot_bazel.patch": "sha256-MclJO7tIAM2ElDAmscNId9pKTpOuDGHgVlW/9VBOIp0=" - }, - "remote_patch_strip": 0 - } - } - }, - "rules_python@0.4.0": { - "name": "rules_python", - "version": "0.4.0", - "key": "rules_python@0.4.0", - "repoName": "rules_python", - "executionPlatformsToRegister": [], - "toolchainsToRegister": [ - "@bazel_tools//tools/python:autodetecting_toolchain" - ], - "extensionUsages": [ - { - "extensionBzlFile": "@rules_python//bzlmod:extensions.bzl", - "extensionName": "pip_install", - "usingModule": "rules_python@0.4.0", - "location": { - "file": "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel", - "line": 7, - "column": 28 - }, - "imports": { - "pypi__click": "pypi__click", - "pypi__pip": "pypi__pip", - "pypi__pip_tools": "pypi__pip_tools", - "pypi__pkginfo": "pypi__pkginfo", - "pypi__setuptools": "pypi__setuptools", - "pypi__wheel": "pypi__wheel" - }, - "devImports": [], - "tags": [], - "hasDevUseExtension": false, - "hasNonDevUseExtension": true - } - ], - "deps": { - "bazel_tools": "bazel_tools@_", - "local_config_platform": "local_config_platform@_" - }, - "repoSpec": { - "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_python~0.4.0", - "urls": [ - "https://github.com/bazelbuild/rules_python/releases/download/0.4.0/rules_python-0.4.0.tar.gz" - ], - "integrity": "sha256-lUqom0kb5KCDMEosuDgBnIuMNyCnq7nEy4GseiQjDOo=", - "strip_prefix": "", - "remote_patches": { - "https://bcr.bazel.build/modules/rules_python/0.4.0/patches/propagate_pip_install_dependencies.patch": "sha256-v7S/dem/mixg63MF4KoRGDA4KEol9ab/tIVp+6Xq0D0=", - "https://bcr.bazel.build/modules/rules_python/0.4.0/patches/module_dot_bazel.patch": "sha256-kG4VIfWxQazzTuh50mvsx6pmyoRVA4lfH5rkto/Oq+Y=" - }, - "remote_patch_strip": 1 - } - } - }, - "platforms@0.0.7": { - "name": "platforms", - "version": "0.0.7", - "key": "platforms@0.0.7", - "repoName": "platforms", - "executionPlatformsToRegister": [], - "toolchainsToRegister": [], - "extensionUsages": [], - "deps": { - "rules_license": "rules_license@0.0.7", - "bazel_tools": "bazel_tools@_", - "local_config_platform": "local_config_platform@_" - }, - "repoSpec": { - "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "platforms", - "urls": [ - "https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz" - ], - "integrity": "sha256-OlYcmee9vpFzqmU/1Xn+hJ8djWc5V4CrR3Cx84FDHVE=", - "strip_prefix": "", - "remote_patches": {}, - "remote_patch_strip": 0 - } - } - }, - "protobuf@3.19.6": { - "name": "protobuf", - "version": "3.19.6", - "key": "protobuf@3.19.6", - "repoName": "protobuf", - "executionPlatformsToRegister": [], - "toolchainsToRegister": [], - "extensionUsages": [], - "deps": { - "bazel_skylib": "bazel_skylib@1.3.0", - "zlib": "zlib@1.3", - "rules_python": "rules_python@0.4.0", - "rules_cc": "rules_cc@0.0.9", - "rules_proto": "rules_proto@4.0.0", - "rules_java": "rules_java@7.1.0", - "bazel_tools": "bazel_tools@_", - "local_config_platform": "local_config_platform@_" - }, - "repoSpec": { - "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "protobuf~3.19.6", - "urls": [ - "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.19.6.zip" - ], - "integrity": "sha256-OH4sVZuyx8G8N5jE5s/wFTgaebJ1hpavy/johzC0c4k=", - "strip_prefix": "protobuf-3.19.6", - "remote_patches": { - "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/relative_repo_names.patch": "sha256-w/5gw/zGv8NFId+669hcdw1Uus2lxgYpulATHIwIByI=", - "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/remove_dependency_on_rules_jvm_external.patch": "sha256-THUTnVgEBmjA0W7fKzIyZOVG58DnW9HQTkr4D2zKUUc=", - "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/add_module_dot_bazel_for_examples.patch": "sha256-s/b1gi3baK3LsXefI2rQilhmkb2R5jVJdnT6zEcdfHY=", - "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/module_dot_bazel.patch": "sha256-S0DEni8zgx7rHscW3z/rCEubQnYec0XhNet640cw0h4=" - }, - "remote_patch_strip": 1 - } - } - }, - "zlib@1.3": { - "name": "zlib", - "version": "1.3", - "key": "zlib@1.3", - "repoName": "zlib", - "executionPlatformsToRegister": [], - "toolchainsToRegister": [], - "extensionUsages": [], - "deps": { - "platforms": "platforms@0.0.7", - "rules_cc": "rules_cc@0.0.9", - "bazel_tools": "bazel_tools@_", - "local_config_platform": "local_config_platform@_" - }, - "repoSpec": { - "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "zlib~1.3", - "urls": [ - "https://github.com/madler/zlib/releases/download/v1.3/zlib-1.3.tar.gz" - ], - "integrity": "sha256-/wukwpIBPbwnUws6geH5qBPNOd4Byl4Pi/NVcC76WT4=", - "strip_prefix": "zlib-1.3", - "remote_patches": { - "https://bcr.bazel.build/modules/zlib/1.3/patches/add_build_file.patch": "sha256-Ei+FYaaOo7A3jTKunMEodTI0Uw5NXQyZEcboMC8JskY=", - "https://bcr.bazel.build/modules/zlib/1.3/patches/module_dot_bazel.patch": "sha256-fPWLM+2xaF/kuy+kZc1YTfW6hNjrkG400Ho7gckuyJk=" - }, - "remote_patch_strip": 0 - } - } - }, - "apple_support@1.5.0": { - "name": "apple_support", - "version": "1.5.0", - "key": "apple_support@1.5.0", - "repoName": "build_bazel_apple_support", - "executionPlatformsToRegister": [], - "toolchainsToRegister": [ - "@local_config_apple_cc_toolchains//:all" - ], - "extensionUsages": [ - { - "extensionBzlFile": "@build_bazel_apple_support//crosstool:setup.bzl", - "extensionName": "apple_cc_configure_extension", - "usingModule": "apple_support@1.5.0", - "location": { - "file": "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel", - "line": 17, - "column": 35 - }, - "imports": { - "local_config_apple_cc": "local_config_apple_cc", - "local_config_apple_cc_toolchains": "local_config_apple_cc_toolchains" - }, - "devImports": [], - "tags": [], - "hasDevUseExtension": false, - "hasNonDevUseExtension": true - } - ], - "deps": { - "bazel_skylib": "bazel_skylib@1.3.0", - "platforms": "platforms@0.0.7", - "bazel_tools": "bazel_tools@_", - "local_config_platform": "local_config_platform@_" - }, - "repoSpec": { - "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "apple_support~1.5.0", - "urls": [ - "https://github.com/bazelbuild/apple_support/releases/download/1.5.0/apple_support.1.5.0.tar.gz" - ], - "integrity": "sha256-miM41vja0yRPgj8txghKA+TQ+7J8qJLclw5okNW0gYQ=", - "strip_prefix": "", - "remote_patches": {}, - "remote_patch_strip": 0 - } - } - }, - "bazel_skylib@1.3.0": { - "name": "bazel_skylib", - "version": "1.3.0", - "key": "bazel_skylib@1.3.0", - "repoName": "bazel_skylib", - "executionPlatformsToRegister": [], - "toolchainsToRegister": [ - "//toolchains/unittest:cmd_toolchain", - "//toolchains/unittest:bash_toolchain" - ], - "extensionUsages": [], - "deps": { - "platforms": "platforms@0.0.7", - "bazel_tools": "bazel_tools@_", - "local_config_platform": "local_config_platform@_" - }, - "repoSpec": { - "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "bazel_skylib~1.3.0", - "urls": [ - "https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz" - ], - "integrity": "sha256-dNVE2W9KW7Yw1GXKi7z+Ix41lOWq5X4e2/F6brPKJQY=", - "strip_prefix": "", - "remote_patches": {}, - "remote_patch_strip": 0 - } - } - } + "lockFileVersion": 11, + "registryFileHashes": { + "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", + "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", + "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/MODULE.bazel": "70390338f7a5106231d20620712f7cccb659cd0e9d073d1991c038eb9fc57589", + "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/source.json": "7e3a9adf473e9af076ae485ed649d5641ad50ec5c11718103f34de03170d94ad", + "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel": "50341a62efbc483e8a2a6aec30994a58749bd7b885e18dd96aa8c33031e558ef", + "https://bcr.bazel.build/modules/apple_support/1.5.0/source.json": "eb98a7627c0bc486b57f598ad8da50f6625d974c8f723e9ea71bd39f709c9862", + "https://bcr.bazel.build/modules/bazel_features/1.11.0/MODULE.bazel": "f9382337dd5a474c3b7d334c2f83e50b6eaedc284253334cf823044a26de03e8", + "https://bcr.bazel.build/modules/bazel_features/1.11.0/source.json": "c9320aa53cd1c441d24bd6b716da087ad7e4ff0d9742a9884587596edfe53015", + "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", + "https://bcr.bazel.build/modules/bazel_skylib/1.2.1/MODULE.bazel": "f35baf9da0efe45fa3da1696ae906eea3d615ad41e2e3def4aeb4e8bc0ef9a7a", + "https://bcr.bazel.build/modules/bazel_skylib/1.3.0/MODULE.bazel": "20228b92868bf5cfc41bda7afc8a8ba2a543201851de39d990ec957b513579c5", + "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", + "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/source.json": "082ed5f9837901fada8c68c2f3ddc958bb22b6d654f71dd73f3df30d45d4b749", + "https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84", + "https://bcr.bazel.build/modules/buildozer/7.1.2/source.json": "c9028a501d2db85793a6996205c8de120944f50a0d570438fcae0457a5f9d1f8", + "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", + "https://bcr.bazel.build/modules/googletest/1.11.0/source.json": "c73d9ef4268c91bd0c1cd88f1f9dfa08e814b1dbe89b5f594a9f08ba0244d206", + "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", + "https://bcr.bazel.build/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", + "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", + "https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", + "https://bcr.bazel.build/modules/platforms/0.0.9/MODULE.bazel": "4a87a60c927b56ddd67db50c89acaa62f4ce2a1d2149ccb63ffd871d5ce29ebc", + "https://bcr.bazel.build/modules/platforms/0.0.9/source.json": "cd74d854bf16a9e002fb2ca7b1a421f4403cda29f824a765acd3a8c56f8d43e6", + "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", + "https://bcr.bazel.build/modules/protobuf/21.7/source.json": "bbe500720421e582ff2d18b0802464205138c06056f443184de39fbb8187b09b", + "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", + "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858", + "https://bcr.bazel.build/modules/rules_cc/0.0.1/MODULE.bazel": "cb2aa0747f84c6c3a78dad4e2049c154f08ab9d166b1273835a8174940365647", + "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", + "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", + "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", + "https://bcr.bazel.build/modules/rules_cc/0.0.9/source.json": "1f1ba6fea244b616de4a554a0f4983c91a9301640c8fe0dd1d410254115c8430", + "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", + "https://bcr.bazel.build/modules/rules_java/7.6.5/MODULE.bazel": "481164be5e02e4cab6e77a36927683263be56b7e36fef918b458d7a8a1ebadb1", + "https://bcr.bazel.build/modules/rules_java/7.6.5/source.json": "a805b889531d1690e3c72a7a7e47a870d00323186a9904b36af83aa3d053ee8d", + "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", + "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/source.json": "a075731e1b46bc8425098512d038d416e966ab19684a10a34f4741295642fc35", + "https://bcr.bazel.build/modules/rules_license/0.0.3/MODULE.bazel": "627e9ab0247f7d1e05736b59dbb1b6871373de5ad31c3011880b4133cafd4bd0", + "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", + "https://bcr.bazel.build/modules/rules_license/0.0.7/source.json": "355cc5737a0f294e560d52b1b7a6492d4fff2caf0bef1a315df5a298fca2d34a", + "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", + "https://bcr.bazel.build/modules/rules_pkg/0.7.0/source.json": "c2557066e0c0342223ba592510ad3d812d4963b9024831f7f66fd0584dd8c66c", + "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", + "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", + "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/source.json": "d57902c052424dfda0e71646cb12668d39c4620ee0544294d9d941e7d12bc3a9", + "https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f", + "https://bcr.bazel.build/modules/rules_python/0.22.1/MODULE.bazel": "26114f0c0b5e93018c0c066d6673f1a2c3737c7e90af95eff30cfee38d0bbac7", + "https://bcr.bazel.build/modules/rules_python/0.22.1/source.json": "57226905e783bae7c37c2dd662be078728e48fa28ee4324a7eabcafb5a43d014", + "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", + "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", + "https://bcr.bazel.build/modules/stardoc/0.5.1/source.json": "a96f95e02123320aa015b956f29c00cb818fa891ef823d55148e1a362caacf29", + "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", + "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/source.json": "f1ef7d3f9e0e26d4b23d1c39b5f5de71f584dd7d1b4ef83d9bbba6ec7a6a6459", + "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", + "https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/MODULE.bazel": "af322bc08976524477c79d1e45e241b6efbeb918c497e8840b8ab116802dda79", + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/source.json": "2be409ac3c7601245958cd4fcdff4288be79ed23bd690b4b951f500d54ee6e7d" }, + "selectedYankedVersions": {}, "moduleExtensions": { - "@@apple_support~1.5.0//crosstool:setup.bzl%apple_cc_configure_extension": { + "@@apple_support~//crosstool:setup.bzl%apple_cc_configure_extension": { "general": { - "bzlTransitiveDigest": "pMLFCYaRPkgXPQ8vtuNkMfiHfPmRBy6QJfnid4sWfv0=", - "accumulatedFileDigests": {}, + "bzlTransitiveDigest": "PjIds3feoYE8SGbbIq2SFTZy3zmxeO2tQevJZNDo7iY=", + "usagesDigest": "aLmqbvowmHkkBPve05yyDNGN7oh7QE9kBADr3QIZTZs=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, "envVariables": {}, "generatedRepoSpecs": { "local_config_apple_cc": { - "bzlFile": "@@apple_support~1.5.0//crosstool:setup.bzl", + "bzlFile": "@@apple_support~//crosstool:setup.bzl", "ruleClassName": "_apple_cc_autoconf", - "attributes": { - "name": "apple_support~1.5.0~apple_cc_configure_extension~local_config_apple_cc" - } + "attributes": {} }, "local_config_apple_cc_toolchains": { - "bzlFile": "@@apple_support~1.5.0//crosstool:setup.bzl", + "bzlFile": "@@apple_support~//crosstool:setup.bzl", "ruleClassName": "_apple_cc_autoconf_toolchains", - "attributes": { - "name": "apple_support~1.5.0~apple_cc_configure_extension~local_config_apple_cc_toolchains" - } - } - }, - "recordedRepoMappingEntries": [] - } - }, - "@@bazel_tools//tools/cpp:cc_configure.bzl%cc_configure_extension": { - "general": { - "bzlTransitiveDigest": "mcsWHq3xORJexV5/4eCvNOLxFOQKV6eli3fkr+tEaqE=", - "accumulatedFileDigests": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "local_config_cc": { - "bzlFile": "@@bazel_tools//tools/cpp:cc_configure.bzl", - "ruleClassName": "cc_autoconf", - "attributes": { - "name": "bazel_tools~cc_configure_extension~local_config_cc" - } - }, - "local_config_cc_toolchains": { - "bzlFile": "@@bazel_tools//tools/cpp:cc_configure.bzl", - "ruleClassName": "cc_autoconf_toolchains", - "attributes": { - "name": "bazel_tools~cc_configure_extension~local_config_cc_toolchains" - } + "attributes": {} } }, "recordedRepoMappingEntries": [ [ - "bazel_tools", + "apple_support~", "bazel_tools", "bazel_tools" ] ] } }, - "@@bazel_tools//tools/osx:xcode_configure.bzl%xcode_configure_extension": { + "@@platforms//host:extension.bzl%host_platform": { "general": { - "bzlTransitiveDigest": "Qh2bWTU6QW6wkrd87qrU4YeY+SG37Nvw3A0PR4Y0L2Y=", - "accumulatedFileDigests": {}, + "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", + "usagesDigest": "meSzxn3DUCcYEhq4HQwExWkWtU4EjriRBQLsZN+Q0SU=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, "envVariables": {}, "generatedRepoSpecs": { - "local_config_xcode": { - "bzlFile": "@@bazel_tools//tools/osx:xcode_configure.bzl", - "ruleClassName": "xcode_autoconf", - "attributes": { - "name": "bazel_tools~xcode_configure_extension~local_config_xcode", - "xcode_locator": "@bazel_tools//tools/osx:xcode_locator.m", - "remote_xcode": "" - } + "host_platform": { + "bzlFile": "@@platforms//host:extension.bzl", + "ruleClassName": "host_platform_repo", + "attributes": {} } }, "recordedRepoMappingEntries": [] } - }, - "@@bazel_tools//tools/sh:sh_configure.bzl%sh_configure_extension": { - "general": { - "bzlTransitiveDigest": "hp4NgmNjEg5+xgvzfh6L83bt9/aiiWETuNpwNuF1MSU=", - "accumulatedFileDigests": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "local_config_sh": { - "bzlFile": "@@bazel_tools//tools/sh:sh_configure.bzl", - "ruleClassName": "sh_config", - "attributes": { - "name": "bazel_tools~sh_configure_extension~local_config_sh" - } - } - }, - "recordedRepoMappingEntries": [] - } - }, - "@@bazel_tools//tools/test:extensions.bzl%remote_coverage_tools_extension": { - "general": { - "bzlTransitiveDigest": "y48q5zUu2oMiYv7yUyi7rFB0wt14eqiF/RQcWT6vP7I=", - "accumulatedFileDigests": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "remote_coverage_tools": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "bazel_tools~remote_coverage_tools_extension~remote_coverage_tools", - "sha256": "7006375f6756819b7013ca875eab70a541cf7d89142d9c511ed78ea4fefa38af", - "urls": [ - "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.6.zip" - ] - } - } - }, - "recordedRepoMappingEntries": [] - } - }, - "@@rules_java~7.1.0//java:extensions.bzl%toolchains": { - "general": { - "bzlTransitiveDigest": "D02GmifxnV/IhYgspsJMDZ/aE8HxAjXgek5gi6FSto4=", - "accumulatedFileDigests": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "remotejdk21_linux_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_linux//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_linux//:jdk\",\n)\n" - } - }, - "remotejdk17_linux_s390x_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_s390x_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\n" - } - }, - "remotejdk17_macos_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos//:jdk\",\n)\n" - } - }, - "remotejdk21_macos_aarch64_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_aarch64_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\n" - } - }, - "remotejdk17_linux_aarch64_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_aarch64_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\n" - } - }, - "remotejdk21_macos_aarch64": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_aarch64", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 21,\n)\n", - "sha256": "2a7a99a3ea263dbd8d32a67d1e6e363ba8b25c645c826f5e167a02bbafaff1fa", - "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-macosx_aarch64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_aarch64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_aarch64.tar.gz" - ] - } - }, - "remotejdk17_linux_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux//:jdk\",\n)\n" - } - }, - "remotejdk17_macos_aarch64": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_aarch64", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", - "sha256": "314b04568ec0ae9b36ba03c9cbd42adc9e1265f74678923b19297d66eb84dcca", - "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64.tar.gz" - ] - } - }, - "remote_java_tools_windows": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remote_java_tools_windows", - "sha256": "c5c70c214a350f12cbf52da8270fa43ba629b795f3dd328028a38f8f0d39c2a1", - "urls": [ - "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_windows-v13.1.zip", - "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_windows-v13.1.zip" - ] - } - }, - "remotejdk11_win": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_win", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", - "sha256": "43408193ce2fa0862819495b5ae8541085b95660153f2adcf91a52d3a1710e83", - "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-win_x64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-win_x64.zip", - "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-win_x64.zip" - ] - } - }, - "remotejdk11_win_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_win_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win//:jdk\",\n)\n" - } - }, - "remotejdk11_linux_aarch64": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_aarch64", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", - "sha256": "54174439f2b3fddd11f1048c397fe7bb45d4c9d66d452d6889b013d04d21c4de", - "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_aarch64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_aarch64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_aarch64.tar.gz" - ] - } - }, - "remotejdk17_linux": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_linux", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", - "sha256": "b9482f2304a1a68a614dfacddcf29569a72f0fac32e6c74f83dc1b9a157b8340", - "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_x64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_x64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_x64.tar.gz" - ] - } - }, - "remotejdk11_linux_s390x_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_s390x_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\n" - } - }, - "remotejdk11_linux_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux//:jdk\",\n)\n" - } - }, - "remotejdk11_macos": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_macos", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", - "sha256": "bcaab11cfe586fae7583c6d9d311c64384354fb2638eb9a012eca4c3f1a1d9fd", - "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_x64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_x64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_x64.tar.gz" - ] - } - }, - "remotejdk11_win_arm64": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_win_arm64", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", - "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2", - "strip_prefix": "jdk-11.0.13+8", - "urls": [ - "https://mirror.bazel.build/aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-windows-aarch64.zip" - ] - } - }, - "remotejdk17_macos": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_macos", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", - "sha256": "640453e8afe8ffe0fb4dceb4535fb50db9c283c64665eebb0ba68b19e65f4b1f", - "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_x64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_x64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-macosx_x64.tar.gz" - ] - } - }, - "remotejdk21_macos": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk21_macos", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 21,\n)\n", - "sha256": "9639b87db586d0c89f7a9892ae47f421e442c64b97baebdff31788fbe23265bd", - "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-macosx_x64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_x64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-macosx_x64.tar.gz" - ] - } - }, - "remotejdk21_macos_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_macos//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_macos//:jdk\",\n)\n" - } - }, - "remotejdk17_macos_aarch64_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_aarch64_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\n" - } - }, - "remotejdk17_win": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_win", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", - "sha256": "192f2afca57701de6ec496234f7e45d971bf623ff66b8ee4a5c81582054e5637", - "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_x64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_x64.zip", - "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_x64.zip" - ] - } - }, - "remotejdk11_macos_aarch64_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_aarch64_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\n" - } - }, - "remotejdk11_linux_ppc64le_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_ppc64le_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\n" - } - }, - "remotejdk21_linux": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk21_linux", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 21,\n)\n", - "sha256": "0c0eadfbdc47a7ca64aeab51b9c061f71b6e4d25d2d87674512e9b6387e9e3a6", - "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-linux_x64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_x64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_x64.tar.gz" - ] - } - }, - "remote_java_tools_linux": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remote_java_tools_linux", - "sha256": "d134da9b04c9023fb6e56a5d4bffccee73f7bc9572ddc4e747778dacccd7a5a7", - "urls": [ - "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_linux-v13.1.zip", - "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_linux-v13.1.zip" - ] - } - }, - "remotejdk21_win": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk21_win", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 21,\n)\n", - "sha256": "e9959d500a0d9a7694ac243baf657761479da132f0f94720cbffd092150bd802", - "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-win_x64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-win_x64.zip", - "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-win_x64.zip" - ] - } - }, - "remotejdk21_linux_aarch64": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_aarch64", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 21,\n)\n", - "sha256": "1fb64b8036c5d463d8ab59af06bf5b6b006811e6012e3b0eb6bccf57f1c55835", - "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-linux_aarch64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_aarch64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu21.28.85-ca-jdk21.0.0-linux_aarch64.tar.gz" - ] - } - }, - "remotejdk11_linux_aarch64_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_aarch64_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\n" - } - }, - "remotejdk11_linux_s390x": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_s390x", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", - "sha256": "a58fc0361966af0a5d5a31a2d8a208e3c9bb0f54f345596fd80b99ea9a39788b", - "strip_prefix": "jdk-11.0.15+10", - "urls": [ - "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz", - "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz" - ] - } - }, - "remotejdk17_linux_aarch64": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_aarch64", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", - "sha256": "6531cef61e416d5a7b691555c8cf2bdff689201b8a001ff45ab6740062b44313", - "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64.tar.gz" - ] - } - }, - "remotejdk17_win_arm64_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_win_arm64_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\n" - } - }, - "remotejdk11_linux": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_linux", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", - "sha256": "a34b404f87a08a61148b38e1416d837189e1df7a040d949e743633daf4695a3c", - "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_x64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_x64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_x64.tar.gz" - ] - } - }, - "remotejdk11_macos_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos//:jdk\",\n)\n" - } - }, - "remotejdk17_linux_ppc64le_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_ppc64le_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\n" - } - }, - "remotejdk17_win_arm64": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_win_arm64", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", - "sha256": "6802c99eae0d788e21f52d03cab2e2b3bf42bc334ca03cbf19f71eb70ee19f85", - "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_aarch64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_aarch64.zip", - "https://cdn.azul.com/zulu/bin/zulu17.44.53-ca-jdk17.0.8.1-win_aarch64.zip" - ] - } - }, - "remote_java_tools_darwin_arm64": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remote_java_tools_darwin_arm64", - "sha256": "dab5bb87ec43e980faea6e1cec14bafb217b8e2f5346f53aa784fd715929a930", - "urls": [ - "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_darwin_arm64-v13.1.zip", - "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_darwin_arm64-v13.1.zip" - ] - } - }, - "remotejdk17_linux_ppc64le": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_ppc64le", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", - "sha256": "00a4c07603d0218cd678461b5b3b7e25b3253102da4022d31fc35907f21a2efd", - "strip_prefix": "jdk-17.0.8.1+1", - "urls": [ - "https://mirror.bazel.build/github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.8.1_1.tar.gz", - "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.8.1_1.tar.gz" - ] - } - }, - "remotejdk21_linux_aarch64_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_aarch64_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\n" - } - }, - "remotejdk11_win_arm64_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_win_arm64_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\n" - } - }, - "local_jdk": { - "bzlFile": "@@rules_java~7.1.0//toolchains:local_java_repository.bzl", - "ruleClassName": "_local_java_repository_rule", - "attributes": { - "name": "rules_java~7.1.0~toolchains~local_jdk", - "java_home": "", - "version": "", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = {RUNTIME_VERSION},\n)\n" - } - }, - "remote_java_tools_darwin_x86_64": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remote_java_tools_darwin_x86_64", - "sha256": "0db40d8505a2b65ef0ed46e4256757807db8162f7acff16225be57c1d5726dbc", - "urls": [ - "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_darwin_x86_64-v13.1.zip", - "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_darwin_x86_64-v13.1.zip" - ] - } - }, - "remote_java_tools": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remote_java_tools", - "sha256": "286bdbbd66e616fc4ed3f90101418729a73baa7e8c23a98ffbef558f74c0ad14", - "urls": [ - "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools-v13.1.zip", - "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools-v13.1.zip" - ] - } - }, - "remotejdk17_linux_s390x": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_s390x", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 17,\n)\n", - "sha256": "ffacba69c6843d7ca70d572489d6cc7ab7ae52c60f0852cedf4cf0d248b6fc37", - "strip_prefix": "jdk-17.0.8.1+1", - "urls": [ - "https://mirror.bazel.build/github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_s390x_linux_hotspot_17.0.8.1_1.tar.gz", - "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_s390x_linux_hotspot_17.0.8.1_1.tar.gz" - ] - } - }, - "remotejdk17_win_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk17_win_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win//:jdk\",\n)\n" - } - }, - "remotejdk11_linux_ppc64le": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_ppc64le", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", - "sha256": "a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f", - "strip_prefix": "jdk-11.0.15+10", - "urls": [ - "https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz", - "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz" - ] - } - }, - "remotejdk11_macos_aarch64": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_aarch64", - "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n # Provide the 'java` binary explicitly so that the correct path is used by\n # Bazel even when the host platform differs from the execution platform.\n # Exactly one of the two globs will be empty depending on the host platform.\n # When --incompatible_disallow_empty_glob is enabled, each individual empty\n # glob will fail without allow_empty = True, even if the overall result is\n # non-empty.\n java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n version = 11,\n)\n", - "sha256": "7632bc29f8a4b7d492b93f3bc75a7b61630894db85d136456035ab2a24d38885", - "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_aarch64", - "urls": [ - "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_aarch64.tar.gz", - "https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_aarch64.tar.gz" - ] - } - }, - "remotejdk21_win_toolchain_config_repo": { - "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl", - "ruleClassName": "_toolchain_config", - "attributes": { - "name": "rules_java~7.1.0~toolchains~remotejdk21_win_toolchain_config_repo", - "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_win//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_win//:jdk\",\n)\n" - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_java~7.1.0", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_java~7.1.0", - "remote_java_tools", - "rules_java~7.1.0~toolchains~remote_java_tools" - ] - ] - } } } } From 01c8e85bdf0ad17f15060546323978207a7c00cc Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 16 Oct 2024 10:10:25 +1100 Subject: [PATCH 051/381] ci: Update ci.yml to run bazel build and test. --- .github/workflows/ci-done.yml | 51 -------------------- .github/workflows/ci.yml | 91 +++++++---------------------------- 2 files changed, 18 insertions(+), 124 deletions(-) delete mode 100644 .github/workflows/ci-done.yml diff --git a/.github/workflows/ci-done.yml b/.github/workflows/ci-done.yml deleted file mode 100644 index c4633549a..000000000 --- a/.github/workflows/ci-done.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: Comment CI test results on PR -on: - workflow_run: - workflows: ["CI"] - types: - - completed -jobs: - comment: - strategy: - matrix: - # Sync with matrix in ci.yml - runs-on: [ubuntu-latest] - runs-on: ${{ matrix.runs-on }} - permissions: - # list and download - actions: read - # post results as comment - pull-requests: write - # publish creates a check run - checks: write - steps: - - uses: actions/github-script@v7 - with: - script: | - var artifacts = await github.rest.actions.listWorkflowRunArtifacts({ - owner: context.repo.owner, - repo: context.repo.repo, - run_id: ${{github.event.workflow_run.id }}, - }); - var matchArtifact = artifacts.data.artifacts.filter((artifact) => { - return artifact.name == "test-results-${{ matrix.runs-on }}" - })[0]; - var download = await github.rest.actions.downloadArtifact({ - owner: context.repo.owner, - repo: context.repo.repo, - artifact_id: matchArtifact.id, - archive_format: 'zip', - }); - var fs = require('fs'); - fs.writeFileSync('${{github.workspace}}/test-results.zip', Buffer.from(download.data)); - - id: unpack - run: | - mkdir -p test-results - unzip -d test-results test-results.zip - echo "sha=$(cat test-results/sha-number)" >> $GITHUB_OUTPUT - - uses: EnricoMi/publish-unit-test-result-action@v2 - with: - commit: ${{ steps.unpack.outputs.sha }} - check_name: Unit Test Results - github_token: ${{ secrets.GITHUB_TOKEN }} - files: "**/test-results/**/*.xml" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0e52e8617..a9a4732cd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,5 @@ name: CI + on: push: tags: @@ -27,82 +28,26 @@ jobs: runs-on: ${{ matrix.runs-on }} steps: - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version-file: 'go.mod' - cache: true - - name: install deps - run: go mod download - - name: build - run: make --debug all - - name: test + - name: mount bazel cache + uses: actions/cache@v4 + with: + path: "~/.cache/bazel" + key: bazel=${{ hashFiles('WORKSPACE', 'MODULE.bazel') }} + - name: bazel test + run: bazel coverage --test_output=all --combined_report=lcov --instrument_test_targets --nocache_test_results --instrumentation_filter="^//" //... + - name: copy test results into workspace + if: always() run: | - mkdir -p test-results - # Don't use GITHUB_SHA as we need the head of the branch, not the - # secret merge commit of the PR itself. https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows#pull-request-event-pull_request - if [[ ${{ github.event_name }} == 'pull_request' ]]; then - echo ${{ github.event.pull_request.head.sha }} > test-results/sha-number - else - echo ${{ github.sha }} > test-results/sha-number - fi - make --debug junit-regtest TESTCOVERPROFILE=coverprofile - shell: bash + cp -Lpr $(bazel info bazel-testlogs)/ test-results + cp -Lpr $(bazel info output_path)/_coverage/_coverage_report.dat coverage_report.dat + - uses: EnricoMi/publish-unit-test-result-action@v2 + if: always() + with: + files: | + test-results/**/test.xml - uses: codecov/codecov-action@v5 if: always() with: - file: coverprofile + file: coverage_report.dat env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - uses: actions/upload-artifact@v4 - if: always() - with: - name: test-results-${{ matrix.runs-on }} - path: test-results/ - - container: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 # so that we get tags - - run: make --debug container - - gosec: - runs-on: ubuntu-latest - # gosec is regularly broken and reporting false positives, don't let it interfere - continue-on-error: true - permissions: - security-events: write - steps: - - uses: actions/checkout@v4 - - uses: securego/gosec@master - with: - # we let the report trigger content trigger a failure using the GitHub Security features. - args: '-no-fail -exclude-generated -fmt sarif -out results.sarif -tags fuzz ./...' - - uses: github/codeql-action/upload-sarif@v3 - with: - # Path to SARIF file relative to the root of the repository - sarif_file: results.sarif - - - fuzz: - runs-on: ubuntu-latest - container: - image: gcr.io/oss-fuzz-base/base-builder - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version: '^1.x' - - uses: actions/cache@v4 - id: cache - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - restore-keys: | - ${{ runner.os }}-go- - - name: install deps - if: steps.cache.output.cache-hit != 'true' - run: make --debug install_deps - - name: local fuzz regtest - run: make --debug CXX=clang LIB_FUZZING_ENGINE=-fsanitize=fuzzer fuzz-regtest From f65ad41960d6cad47ca4a206de788929089d3912 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 16 Oct 2024 10:25:20 +1100 Subject: [PATCH 052/381] ci: Run ci on bazel-build branch. --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a9a4732cd..74b1dc0f7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,6 +6,7 @@ on: - v* branches: - main + - bazel-build pull_request: merge_group: env: From a4aaf6d27b82b18c4967516fbaaba2a582168bfb Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 16 Oct 2024 10:36:40 +1100 Subject: [PATCH 053/381] ci: Run only on ubuntu-latest. --- .github/workflows/ci.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 74b1dc0f7..0216b4b40 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,8 +5,6 @@ on: tags: - v* branches: - - main - - bazel-build pull_request: merge_group: env: @@ -21,12 +19,7 @@ permissions: jobs: test: - strategy: - matrix: - # macos-latest is slow and has weird test failures with unixgram message sizes, so it's been disabled. - # Sync with matrix in ci-done.yml - runs-on: [ubuntu-latest, windows-latest] - runs-on: ${{ matrix.runs-on }} + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: mount bazel cache From c079df148b86ea051685bd87b4ccaa1b65d31604 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 16 Oct 2024 10:39:23 +1100 Subject: [PATCH 054/381] ci: Run on all branches, set permissions, fix typo in cache key --- .github/workflows/ci.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0216b4b40..610200fa8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,11 +5,13 @@ on: tags: - v* branches: + - * pull_request: merge_group: env: GOPROXY: "https://proxy.golang.org" +# Lock down default permissions to no permissions. permissions: # none-all, which doesn't exist, but # https://docs.github.com/en/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow @@ -20,13 +22,18 @@ permissions: jobs: test: runs-on: ubuntu-latest + permissions: + # publish-unit-test-result-action writes a comment to the PR + pull-requests: write + # and writes to the checks API + checks: write steps: - uses: actions/checkout@v4 - name: mount bazel cache uses: actions/cache@v4 with: path: "~/.cache/bazel" - key: bazel=${{ hashFiles('WORKSPACE', 'MODULE.bazel') }} + key: bazel-${{ hashFiles('WORKSPACE', 'MODULE.bazel') }} - name: bazel test run: bazel coverage --test_output=all --combined_report=lcov --instrument_test_targets --nocache_test_results --instrumentation_filter="^//" //... - name: copy test results into workspace From 79654896b051de7b3fbbd20902dd3c0106b42e2d Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 16 Oct 2024 10:40:10 +1100 Subject: [PATCH 055/381] ci: Fix typo in branches command. --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 610200fa8..8c6121599 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,7 +5,6 @@ on: tags: - v* branches: - - * pull_request: merge_group: env: From a8ccc185959bfb372347f1da0691ecf37e0fc79e Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 16 Oct 2024 10:43:58 +1100 Subject: [PATCH 056/381] ci: Run on all pushes at the moment. --- .github/workflows/ci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8c6121599..cb79c981a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,9 +2,6 @@ name: CI on: push: - tags: - - v* - branches: pull_request: merge_group: env: From d4c9e12f71d097e440758de128cec98d86122522 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 22 Feb 2025 11:10:00 +1100 Subject: [PATCH 057/381] build: Fix bazel version avoid unmanaged build breakage --- .bazelversion | 1 + 1 file changed, 1 insertion(+) create mode 100644 .bazelversion diff --git a/.bazelversion b/.bazelversion new file mode 100644 index 000000000..72906051c --- /dev/null +++ b/.bazelversion @@ -0,0 +1 @@ +7.5 \ No newline at end of file From fd31ff83432a196bf4fd144efed73f9b42cb6b02 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Fri, 21 Feb 2025 07:59:23 +1100 Subject: [PATCH 058/381] build: Update to bzlmod. --- BUILD.bazel | 15 +- MODULE.bazel | 23 + MODULE.bazel.lock | 1050 ++++++++++++++++- WORKSPACE | 4 +- cmd/mdot/BUILD.bazel | 6 +- cmd/mfmt/BUILD.bazel | 6 +- cmd/mgen/BUILD.bazel | 4 +- cmd/mtail/BUILD.bazel | 8 +- internal/exporter/BUILD.bazel | 14 +- internal/logline/BUILD.bazel | 4 +- internal/metrics/BUILD.bazel | 10 +- internal/metrics/datum/BUILD.bazel | 4 +- internal/mtail/BUILD.bazel | 69 +- internal/mtail/golden/BUILD.bazel | 6 +- internal/runtime/BUILD.bazel | 12 +- internal/runtime/code/BUILD.bazel | 4 +- internal/runtime/compiler/BUILD.bazel | 6 +- internal/runtime/compiler/ast/BUILD.bazel | 6 +- internal/runtime/compiler/checker/BUILD.bazel | 8 +- internal/runtime/compiler/codegen/BUILD.bazel | 6 +- internal/runtime/compiler/errors/BUILD.bazel | 6 +- internal/runtime/compiler/opt/BUILD.bazel | 6 +- internal/runtime/compiler/parser/BUILD.bazel | 6 +- .../runtime/compiler/position/BUILD.bazel | 4 +- internal/runtime/compiler/symbol/BUILD.bazel | 4 +- internal/runtime/compiler/types/BUILD.bazel | 6 +- internal/runtime/vm/BUILD.bazel | 12 +- internal/tailer/BUILD.bazel | 45 +- internal/tailer/logstream/BUILD.bazel | 86 +- internal/testutil/BUILD.bazel | 11 +- internal/waker/BUILD.bazel | 6 +- 31 files changed, 1243 insertions(+), 214 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index 79d38fae3..7148320a6 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,15 +1,4 @@ -load("@bazel_gazelle//:def.bzl", "gazelle") +load("@gazelle//:def.bzl", "gazelle") -# gazelle:prefix github.com/google/mtail +# gazelle:prefix github.com/jaqx0r/mtail gazelle(name = "gazelle") - -gazelle( - name = "gazelle-update-repos", - args = [ - "-from_file=go.mod", - "-to_macro=deps.bzl%go_dependencies", - "-prune", - "-build_file_proto_mode=disable_global", - ], - command = "update-repos", -) diff --git a/MODULE.bazel b/MODULE.bazel index 00bb18361..a1f1de881 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -4,3 +4,26 @@ # # For more details, please check https://github.com/bazelbuild/bazel/issues/18958 ############################################################################### +module( + name = "mtail", + version = "3", +) + +bazel_dep(name = "rules_go", version = "0.44.2") +bazel_dep(name = "gazelle", version = "0.35.0") + +go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps") +go_deps.from_file(go_mod = "//:go.mod") +use_repo( + go_deps, + "com_github_bazelbuild_rules_go", + "com_github_golang_glog", + "com_github_golang_groupcache", + "com_github_google_go_cmp", + "com_github_pkg_errors", + "com_github_prometheus_client_golang", + "com_github_prometheus_common", + "io_opencensus_go", + "io_opencensus_go_contrib_exporter_jaeger", + "org_golang_x_sys", +) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 21b358eb8..b34f18360 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1,110 +1,1084 @@ { - "lockFileVersion": 11, + "lockFileVersion": 18, "registryFileHashes": { "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/MODULE.bazel": "70390338f7a5106231d20620712f7cccb659cd0e9d073d1991c038eb9fc57589", - "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/source.json": "7e3a9adf473e9af076ae485ed649d5641ad50ec5c11718103f34de03170d94ad", - "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel": "50341a62efbc483e8a2a6aec30994a58749bd7b885e18dd96aa8c33031e558ef", - "https://bcr.bazel.build/modules/apple_support/1.5.0/source.json": "eb98a7627c0bc486b57f598ad8da50f6625d974c8f723e9ea71bd39f709c9862", + "https://bcr.bazel.build/modules/abseil-cpp/20230125.1/MODULE.bazel": "89047429cb0207707b2dface14ba7f8df85273d484c2572755be4bab7ce9c3a0", + "https://bcr.bazel.build/modules/abseil-cpp/20230802.0.bcr.1/MODULE.bazel": "1c8cec495288dccd14fdae6e3f95f772c1c91857047a098fad772034264cc8cb", + "https://bcr.bazel.build/modules/abseil-cpp/20230802.0/MODULE.bazel": "d253ae36a8bd9ee3c5955384096ccb6baf16a1b1e93e858370da0a3b94f77c16", + "https://bcr.bazel.build/modules/abseil-cpp/20230802.1/MODULE.bazel": "fa92e2eb41a04df73cdabeec37107316f7e5272650f81d6cc096418fe647b915", + "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", + "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", + "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", + "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd", "https://bcr.bazel.build/modules/bazel_features/1.11.0/MODULE.bazel": "f9382337dd5a474c3b7d334c2f83e50b6eaedc284253334cf823044a26de03e8", - "https://bcr.bazel.build/modules/bazel_features/1.11.0/source.json": "c9320aa53cd1c441d24bd6b716da087ad7e4ff0d9742a9884587596edfe53015", + "https://bcr.bazel.build/modules/bazel_features/1.15.0/MODULE.bazel": "d38ff6e517149dc509406aca0db3ad1efdd890a85e049585b7234d04238e2a4d", + "https://bcr.bazel.build/modules/bazel_features/1.17.0/MODULE.bazel": "039de32d21b816b47bd42c778e0454217e9c9caac4a3cf8e15c7231ee3ddee4d", + "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", + "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", + "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", + "https://bcr.bazel.build/modules/bazel_features/1.21.0/source.json": "3e8379efaaef53ce35b7b8ba419df829315a880cb0a030e5bb45c96d6d5ecb5f", + "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", + "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", + "https://bcr.bazel.build/modules/bazel_skylib/1.1.1/MODULE.bazel": "1add3e7d93ff2e6998f9e118022c84d163917d912f5afafb3058e3d2f1545b5e", + "https://bcr.bazel.build/modules/bazel_skylib/1.2.0/MODULE.bazel": "44fe84260e454ed94ad326352a698422dbe372b21a1ac9f3eab76eb531223686", "https://bcr.bazel.build/modules/bazel_skylib/1.2.1/MODULE.bazel": "f35baf9da0efe45fa3da1696ae906eea3d615ad41e2e3def4aeb4e8bc0ef9a7a", "https://bcr.bazel.build/modules/bazel_skylib/1.3.0/MODULE.bazel": "20228b92868bf5cfc41bda7afc8a8ba2a543201851de39d990ec957b513579c5", + "https://bcr.bazel.build/modules/bazel_skylib/1.4.1/MODULE.bazel": "a0dcb779424be33100dcae821e9e27e4f2901d9dfd5333efe5ac6a8d7ab75e1d", + "https://bcr.bazel.build/modules/bazel_skylib/1.4.2/MODULE.bazel": "3bd40978e7a1fac911d5989e6b09d8f64921865a45822d8b09e815eaa726a651", + "https://bcr.bazel.build/modules/bazel_skylib/1.5.0/MODULE.bazel": "32880f5e2945ce6a03d1fbd588e9198c0a959bb42297b2cfaf1685b7bc32e138", "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", - "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/source.json": "082ed5f9837901fada8c68c2f3ddc958bb22b6d654f71dd73f3df30d45d4b749", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.0/MODULE.bazel": "0db596f4563de7938de764cc8deeabec291f55e8ec15299718b93c4423e9796d", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/source.json": "f121b43eeefc7c29efbd51b83d08631e2347297c95aac9764a701f2a6a2bb953", "https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84", "https://bcr.bazel.build/modules/buildozer/7.1.2/source.json": "c9028a501d2db85793a6996205c8de120944f50a0d570438fcae0457a5f9d1f8", + "https://bcr.bazel.build/modules/gazelle/0.32.0/MODULE.bazel": "b499f58a5d0d3537f3cf5b76d8ada18242f64ec474d8391247438bf04f58c7b8", + "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", + "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", + "https://bcr.bazel.build/modules/gazelle/0.35.0/MODULE.bazel": "bda67986233654255d52d56c2e8d8ce5649fdcf0acd96b1fdd04af4d7e038c36", + "https://bcr.bazel.build/modules/gazelle/0.35.0/source.json": "121e19120e03aa1ad21b0adfb2262d12d7cc907d447962d076951179ea6b6c51", + "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", - "https://bcr.bazel.build/modules/googletest/1.11.0/source.json": "c73d9ef4268c91bd0c1cd88f1f9dfa08e814b1dbe89b5f594a9f08ba0244d206", + "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", + "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/source.json": "41e9e129f80d8c8bf103a7acc337b76e54fad1214ac0a7084bf24f4cd924b8b4", + "https://bcr.bazel.build/modules/googletest/1.14.0/MODULE.bazel": "cfbcbf3e6eac06ef9d85900f64424708cc08687d1b527f0ef65aa7517af8118f", + "https://bcr.bazel.build/modules/jsoncpp/1.9.5/MODULE.bazel": "31271aedc59e815656f5736f282bb7509a97c7ecb43e927ac1a37966e0578075", + "https://bcr.bazel.build/modules/jsoncpp/1.9.5/source.json": "4108ee5085dd2885a341c7fab149429db457b3169b86eb081fa245eadf69169d", + "https://bcr.bazel.build/modules/libpfm/4.11.0/MODULE.bazel": "45061ff025b301940f1e30d2c16bea596c25b176c8b6b3087e92615adbd52902", + "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", + "https://bcr.bazel.build/modules/platforms/0.0.10/source.json": "f22828ff4cf021a6b577f1bf6341cb9dcd7965092a439f64fc1bb3b7a5ae4bd5", "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", "https://bcr.bazel.build/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", "https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", - "https://bcr.bazel.build/modules/platforms/0.0.9/MODULE.bazel": "4a87a60c927b56ddd67db50c89acaa62f4ce2a1d2149ccb63ffd871d5ce29ebc", - "https://bcr.bazel.build/modules/platforms/0.0.9/source.json": "cd74d854bf16a9e002fb2ca7b1a421f4403cda29f824a765acd3a8c56f8d43e6", + "https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", - "https://bcr.bazel.build/modules/protobuf/21.7/source.json": "bbe500720421e582ff2d18b0802464205138c06056f443184de39fbb8187b09b", + "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", + "https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d", + "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", + "https://bcr.bazel.build/modules/protobuf/29.0/MODULE.bazel": "319dc8bf4c679ff87e71b1ccfb5a6e90a6dbc4693501d471f48662ac46d04e4e", + "https://bcr.bazel.build/modules/protobuf/29.0/source.json": "b857f93c796750eef95f0d61ee378f3420d00ee1dd38627b27193aa482f4f981", "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", + "https://bcr.bazel.build/modules/protobuf/3.19.2/MODULE.bazel": "532ffe5f2186b69fdde039efe6df13ba726ff338c6bc82275ad433013fa10573", "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858", + "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e", + "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/source.json": "be4789e951dd5301282729fe3d4938995dc4c1a81c2ff150afc9f1b0504c6022", + "https://bcr.bazel.build/modules/re2/2023-09-01/MODULE.bazel": "cb3d511531b16cfc78a225a9e2136007a48cf8a677e4264baeab57fe78a80206", + "https://bcr.bazel.build/modules/re2/2023-09-01/source.json": "e044ce89c2883cd957a2969a43e79f7752f9656f6b20050b62f90ede21ec6eb4", + "https://bcr.bazel.build/modules/rules_android/0.1.1/MODULE.bazel": "48809ab0091b07ad0182defb787c4c5328bd3a278938415c00a7b69b50c4d3a8", + "https://bcr.bazel.build/modules/rules_android/0.1.1/source.json": "e6986b41626ee10bdc864937ffb6d6bf275bb5b9c65120e6137d56e6331f089e", "https://bcr.bazel.build/modules/rules_cc/0.0.1/MODULE.bazel": "cb2aa0747f84c6c3a78dad4e2049c154f08ab9d166b1273835a8174940365647", + "https://bcr.bazel.build/modules/rules_cc/0.0.10/MODULE.bazel": "ec1705118f7eaedd6e118508d3d26deba2a4e76476ada7e0e3965211be012002", + "https://bcr.bazel.build/modules/rules_cc/0.0.13/MODULE.bazel": "0e8529ed7b323dad0775ff924d2ae5af7640b23553dfcd4d34344c7e7a867191", + "https://bcr.bazel.build/modules/rules_cc/0.0.14/MODULE.bazel": "5e343a3aac88b8d7af3b1b6d2093b55c347b8eefc2e7d1442f7a02dc8fea48ac", + "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", + "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", + "https://bcr.bazel.build/modules/rules_cc/0.0.17/MODULE.bazel": "2ae1d8f4238ec67d7185d8861cb0a2cdf4bc608697c331b95bf990e69b62e64a", + "https://bcr.bazel.build/modules/rules_cc/0.0.17/source.json": "4db99b3f55c90ab28d14552aa0632533e3e8e5e9aea0f5c24ac0014282c2a7c5", "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", + "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", - "https://bcr.bazel.build/modules/rules_cc/0.0.9/source.json": "1f1ba6fea244b616de4a554a0f4983c91a9301640c8fe0dd1d410254115c8430", + "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", + "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/MODULE.bazel": "40c97d1144356f52905566c55811f13b299453a14ac7769dfba2ac38192337a8", + "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/source.json": "c8b1e2c717646f1702290959a3302a178fb639d987ab61d548105019f11e527e", + "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel": "55861d8e8bb0e62cbd2896f60ff303f62ffcb0eddb74ecb0e5c0cbe36fc292c8", + "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", + "https://bcr.bazel.build/modules/rules_go/0.44.0/MODULE.bazel": "55b2d9e775d7881dbe9a2fc68440442cd6ba32730170c782f1f0e6023a6d8db6", + "https://bcr.bazel.build/modules/rules_go/0.44.2/MODULE.bazel": "5431efe55e0f2f1d3d23258c34210cd9dd94d5e6421eaab0455f8d868f2d95c8", + "https://bcr.bazel.build/modules/rules_go/0.44.2/source.json": "0be58c22bbc5076a66d558ae2b43f5487a98c3e9a391ac1cda34e41facbb32da", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", - "https://bcr.bazel.build/modules/rules_java/7.6.5/MODULE.bazel": "481164be5e02e4cab6e77a36927683263be56b7e36fef918b458d7a8a1ebadb1", - "https://bcr.bazel.build/modules/rules_java/7.6.5/source.json": "a805b889531d1690e3c72a7a7e47a870d00323186a9904b36af83aa3d053ee8d", + "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", + "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", + "https://bcr.bazel.build/modules/rules_java/6.4.0/MODULE.bazel": "e986a9fe25aeaa84ac17ca093ef13a4637f6107375f64667a15999f77db6c8f6", + "https://bcr.bazel.build/modules/rules_java/6.5.2/MODULE.bazel": "1d440d262d0e08453fa0c4d8f699ba81609ed0e9a9a0f02cd10b3e7942e61e31", + "https://bcr.bazel.build/modules/rules_java/7.10.0/MODULE.bazel": "530c3beb3067e870561739f1144329a21c851ff771cd752a49e06e3dc9c2e71a", + "https://bcr.bazel.build/modules/rules_java/7.12.2/MODULE.bazel": "579c505165ee757a4280ef83cda0150eea193eed3bef50b1004ba88b99da6de6", + "https://bcr.bazel.build/modules/rules_java/7.2.0/MODULE.bazel": "06c0334c9be61e6cef2c8c84a7800cef502063269a5af25ceb100b192453d4ab", + "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel": "50dece891cfdf1741ea230d001aa9c14398062f2b7c066470accace78e412bc2", + "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", + "https://bcr.bazel.build/modules/rules_java/8.6.1/MODULE.bazel": "f4808e2ab5b0197f094cabce9f4b006a27766beb6a9975931da07099560ca9c2", + "https://bcr.bazel.build/modules/rules_java/8.6.1/source.json": "f18d9ad3c4c54945bf422ad584fa6c5ca5b3116ff55a5b1bc77e5c1210be5960", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", - "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/source.json": "a075731e1b46bc8425098512d038d416e966ab19684a10a34f4741295642fc35", + "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", + "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", + "https://bcr.bazel.build/modules/rules_jvm_external/5.3/MODULE.bazel": "bf93870767689637164657731849fb887ad086739bd5d360d90007a581d5527d", + "https://bcr.bazel.build/modules/rules_jvm_external/6.1/MODULE.bazel": "75b5fec090dbd46cf9b7d8ea08cf84a0472d92ba3585b476f44c326eda8059c4", + "https://bcr.bazel.build/modules/rules_jvm_external/6.3/MODULE.bazel": "c998e060b85f71e00de5ec552019347c8bca255062c990ac02d051bb80a38df0", + "https://bcr.bazel.build/modules/rules_jvm_external/6.3/source.json": "6f5f5a5a4419ae4e37c35a5bb0a6ae657ed40b7abc5a5189111b47fcebe43197", + "https://bcr.bazel.build/modules/rules_kotlin/1.9.0/MODULE.bazel": "ef85697305025e5a61f395d4eaede272a5393cee479ace6686dba707de804d59", + "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/MODULE.bazel": "d269a01a18ee74d0335450b10f62c9ed81f2321d7958a2934e44272fe82dcef3", + "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/source.json": "2faa4794364282db7c06600b7e5e34867a564ae91bda7cae7c29c64e9466b7d5", "https://bcr.bazel.build/modules/rules_license/0.0.3/MODULE.bazel": "627e9ab0247f7d1e05736b59dbb1b6871373de5ad31c3011880b4133cafd4bd0", "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", - "https://bcr.bazel.build/modules/rules_license/0.0.7/source.json": "355cc5737a0f294e560d52b1b7a6492d4fff2caf0bef1a315df5a298fca2d34a", + "https://bcr.bazel.build/modules/rules_license/1.0.0/MODULE.bazel": "a7fda60eefdf3d8c827262ba499957e4df06f659330bbe6cdbdb975b768bb65c", + "https://bcr.bazel.build/modules/rules_license/1.0.0/source.json": "a52c89e54cc311196e478f8382df91c15f7a2bfdf4c6cd0e2675cc2ff0b56efb", "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", - "https://bcr.bazel.build/modules/rules_pkg/0.7.0/source.json": "c2557066e0c0342223ba592510ad3d812d4963b9024831f7f66fd0584dd8c66c", + "https://bcr.bazel.build/modules/rules_pkg/1.0.1/MODULE.bazel": "5b1df97dbc29623bccdf2b0dcd0f5cb08e2f2c9050aab1092fd39a41e82686ff", + "https://bcr.bazel.build/modules/rules_pkg/1.0.1/source.json": "bd82e5d7b9ce2d31e380dd9f50c111d678c3bdaca190cb76b0e1c71b05e1ba8a", "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", - "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/source.json": "d57902c052424dfda0e71646cb12668d39c4620ee0544294d9d941e7d12bc3a9", + "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73", + "https://bcr.bazel.build/modules/rules_proto/7.0.2/MODULE.bazel": "bf81793bd6d2ad89a37a40693e56c61b0ee30f7a7fdbaf3eabbf5f39de47dea2", + "https://bcr.bazel.build/modules/rules_proto/7.0.2/source.json": "1e5e7260ae32ef4f2b52fd1d0de8d03b606a44c91b694d2f1afb1d3b28a48ce1", "https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f", - "https://bcr.bazel.build/modules/rules_python/0.22.1/MODULE.bazel": "26114f0c0b5e93018c0c066d6673f1a2c3737c7e90af95eff30cfee38d0bbac7", - "https://bcr.bazel.build/modules/rules_python/0.22.1/source.json": "57226905e783bae7c37c2dd662be078728e48fa28ee4324a7eabcafb5a43d014", + "https://bcr.bazel.build/modules/rules_python/0.23.1/MODULE.bazel": "49ffccf0511cb8414de28321f5fcf2a31312b47c40cc21577144b7447f2bf300", + "https://bcr.bazel.build/modules/rules_python/0.25.0/MODULE.bazel": "72f1506841c920a1afec76975b35312410eea3aa7b63267436bfb1dd91d2d382", + "https://bcr.bazel.build/modules/rules_python/0.28.0/MODULE.bazel": "cba2573d870babc976664a912539b320cbaa7114cd3e8f053c720171cde331ed", + "https://bcr.bazel.build/modules/rules_python/0.31.0/MODULE.bazel": "93a43dc47ee570e6ec9f5779b2e64c1476a6ce921c48cc9a1678a91dd5f8fd58", "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", + "https://bcr.bazel.build/modules/rules_python/0.40.0/MODULE.bazel": "9d1a3cd88ed7d8e39583d9ffe56ae8a244f67783ae89b60caafc9f5cf318ada7", + "https://bcr.bazel.build/modules/rules_python/0.40.0/source.json": "939d4bd2e3110f27bfb360292986bb79fd8dcefb874358ccd6cdaa7bda029320", + "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", + "https://bcr.bazel.build/modules/rules_shell/0.2.0/source.json": "7f27af3c28037d9701487c4744b5448d26537cc66cdef0d8df7ae85411f8de95", "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", - "https://bcr.bazel.build/modules/stardoc/0.5.1/source.json": "a96f95e02123320aa015b956f29c00cb818fa891ef823d55148e1a362caacf29", + "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", + "https://bcr.bazel.build/modules/stardoc/0.5.6/MODULE.bazel": "c43dabc564990eeab55e25ed61c07a1aadafe9ece96a4efabb3f8bf9063b71ef", + "https://bcr.bazel.build/modules/stardoc/0.7.0/MODULE.bazel": "05e3d6d30c099b6770e97da986c53bd31844d7f13d41412480ea265ac9e8079c", + "https://bcr.bazel.build/modules/stardoc/0.7.1/MODULE.bazel": "3548faea4ee5dda5580f9af150e79d0f6aea934fc60c1cc50f4efdd9420759e7", + "https://bcr.bazel.build/modules/stardoc/0.7.1/source.json": "b6500ffcd7b48cd72c29bb67bcac781e12701cc0d6d55d266a652583cfcdab01", "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", - "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/source.json": "f1ef7d3f9e0e26d4b23d1c39b5f5de71f584dd7d1b4ef83d9bbba6ec7a6a6459", "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", "https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/MODULE.bazel": "af322bc08976524477c79d1e45e241b6efbeb918c497e8840b8ab116802dda79", - "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/source.json": "2be409ac3c7601245958cd4fcdff4288be79ed23bd690b4b951f500d54ee6e7d" + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/source.json": "2be409ac3c7601245958cd4fcdff4288be79ed23bd690b4b951f500d54ee6e7d", + "https://bcr.bazel.build/modules/zlib/1.3.1/MODULE.bazel": "751c9940dcfe869f5f7274e1295422a34623555916eb98c174c1e945594bf198" }, "selectedYankedVersions": {}, "moduleExtensions": { - "@@apple_support~//crosstool:setup.bzl%apple_cc_configure_extension": { + "@@gazelle+//:extensions.bzl%go_deps": { "general": { - "bzlTransitiveDigest": "PjIds3feoYE8SGbbIq2SFTZy3zmxeO2tQevJZNDo7iY=", - "usagesDigest": "aLmqbvowmHkkBPve05yyDNGN7oh7QE9kBADr3QIZTZs=", - "recordedFileInputs": {}, + "bzlTransitiveDigest": "NRDE4UnZ6cmBs0uVATEd/eqkiMmHHYRSG7MGPgcsxcY=", + "usagesDigest": "X31CisIUzWc2NsaIRLVJUYLSqIE1ECDxgSyMjatXLAw=", + "recordedFileInputs": { + "@@//go.mod": "81efddfa305b4494db029558fa2040f7914adfe5e87e7c659835c8ec285cc047", + "@@//go.sum": "986462f0a6629b5b126d80147dedff91078e2a2a8853e670148ee50f70dcb90d", + "@@gazelle+//go.mod": "48dc6e771c3028ee1c18b9ffc81e596fd5f6d7e0016c5ef280e30f2821f60473", + "@@gazelle+//go.sum": "7c4460e8ecb5dd8691a51d4fa2e9e4751108b933636497ce46db499fc2e7a88d", + "@@rules_go+//go.mod": "de22304b720f7f61350ec1c9739de6c0a1b1103fd22bfeb6e92c6c843ddc6d6e", + "@@rules_go+//go.sum": "d56fdb19b21a5f12bcf625c49432371ac39c2def0f564098fbda107f7c080f40" + }, "recordedDirentsInputs": {}, "envVariables": {}, "generatedRepoSpecs": { - "local_config_apple_cc": { - "bzlFile": "@@apple_support~//crosstool:setup.bzl", - "ruleClassName": "_apple_cc_autoconf", - "attributes": {} + "io_opencensus_go_contrib_exporter_jaeger": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "contrib.go.opencensus.io/exporter/jaeger", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:yGBYzYMewVL0yO9qqJv3Z5+IRhPdU7e9o/2oKpX4YvI=", + "replace": "", + "version": "v0.2.1" + } }, - "local_config_apple_cc_toolchains": { - "bzlFile": "@@apple_support~//crosstool:setup.bzl", - "ruleClassName": "_apple_cc_autoconf_toolchains", - "attributes": {} + "com_github_bazelbuild_rules_go": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/bazelbuild/rules_go", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:ZPsHcsau3SXFQJOpqD+Ey9/RU6qjiUhdTAZI+Q8e2gY=", + "replace": "", + "version": "v0.45.0" + } + }, + "com_github_golang_glog": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/golang/glog", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY=", + "replace": "", + "version": "v1.2.2" + } + }, + "com_github_golang_groupcache": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/golang/groupcache", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=", + "replace": "", + "version": "v0.0.0-20210331224755-41bb18bfe9da" + } + }, + "com_github_google_go_cmp": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/google/go-cmp", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=", + "replace": "", + "version": "v0.6.0" + } + }, + "com_github_pkg_errors": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/pkg/errors", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=", + "replace": "", + "version": "v0.9.1" + } + }, + "com_github_prometheus_client_golang": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/prometheus/client_golang", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:DIsaGmiaBkSangBgMtWdNfxbMNdku5IK6iNhrEqWvdA=", + "replace": "", + "version": "v1.21.0" + } + }, + "com_github_prometheus_common": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/prometheus/common", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io=", + "replace": "", + "version": "v0.62.0" + } + }, + "io_opencensus_go": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "go.opencensus.io", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=", + "replace": "", + "version": "v0.24.0" + } + }, + "org_golang_x_sys": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "golang.org/x/sys", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=", + "replace": "", + "version": "v0.30.0" + } + }, + "com_github_beorn7_perks": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/beorn7/perks", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=", + "replace": "", + "version": "v1.0.1" + } + }, + "com_github_cespare_xxhash_v2": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/cespare/xxhash/v2", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=", + "replace": "", + "version": "v2.3.0" + } + }, + "com_github_golang_protobuf": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/golang/protobuf", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=", + "replace": "", + "version": "v1.5.3" + } + }, + "com_github_klauspost_compress": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/klauspost/compress", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc=", + "replace": "", + "version": "v1.17.11" + } + }, + "com_github_kylelemons_godebug": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/kylelemons/godebug", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=", + "replace": "", + "version": "v1.1.0" + } + }, + "com_github_munnerz_goautoneg": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/munnerz/goautoneg", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=", + "replace": "", + "version": "v0.0.0-20191010083416-a7dc8b61c822" + } + }, + "com_github_prometheus_client_model": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/prometheus/client_model", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=", + "replace": "", + "version": "v0.6.1" + } + }, + "com_github_prometheus_procfs": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/prometheus/procfs", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=", + "replace": "", + "version": "v0.15.1" + } + }, + "com_github_uber_jaeger_client_go": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/uber/jaeger-client-go", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:IxcNZ7WRY1Y3G4poYlx24szfsn/3LvK9QHCq9oQw8+U=", + "replace": "", + "version": "v2.25.0+incompatible" + } + }, + "org_golang_x_sync": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "golang.org/x/sync", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=", + "replace": "", + "version": "v0.7.0" + } + }, + "org_golang_google_api": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "google.golang.org/api", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:t6P9Jj+6XTn4U9I2wycQai6Q/Kz7iOT+QzjJ3G2V4x8=", + "replace": "", + "version": "v0.105.0" + } + }, + "org_golang_google_genproto": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "google.golang.org/genproto", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A=", + "replace": "", + "version": "v0.0.0-20230410155749-daa745c078e1" + } + }, + "org_golang_google_grpc": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "google.golang.org/grpc", + "build_directives": [ + "gazelle:proto disable" + ], + "build_file_generation": "on", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc=", + "replace": "", + "version": "v1.56.3" + } + }, + "org_golang_google_protobuf": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "google.golang.org/protobuf", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk=", + "replace": "", + "version": "v1.36.1" + } + }, + "com_github_gogo_protobuf": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/gogo/protobuf", + "build_directives": [ + "gazelle:proto disable" + ], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=", + "replace": "", + "version": "v1.3.2" + } + }, + "com_github_golang_mock": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/golang/mock", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:YojYx61/OLFsiv6Rw1Z96LpldJIy31o+UHmwAUMJ6/U=", + "replace": "", + "version": "v1.7.0-rc.1" + } + }, + "org_golang_x_net": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "golang.org/x/net", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg=", + "replace": "", + "version": "v0.18.0" + } + }, + "org_golang_x_tools": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "golang.org/x/tools", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8=", + "replace": "", + "version": "v0.15.0" + } + }, + "org_golang_google_grpc_cmd_protoc_gen_go_grpc": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "google.golang.org/grpc/cmd/protoc-gen-go-grpc", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:rNBFJjBCOgVr9pWD7rs/knKL4FRTKgpZmsRfV214zcA=", + "replace": "", + "version": "v1.3.0" + } + }, + "org_golang_x_mod": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "golang.org/x/mod", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=", + "replace": "", + "version": "v0.14.0" + } + }, + "org_golang_x_text": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "golang.org/x/text", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=", + "replace": "", + "version": "v0.14.0" + } + }, + "com_github_bazelbuild_buildtools": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/bazelbuild/buildtools", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:2Gc2Q6hVR1SJ8bBI9Ybzoggp8u/ED2WkM4MfvEIn9+c=", + "replace": "", + "version": "v0.0.0-20231115204819-d4c9dccdfbb1" + } + }, + "com_github_bmatcuk_doublestar_v4": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/bmatcuk/doublestar/v4", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:FH9SifrbvJhnlQpztAx++wlkk70QBf0iBWDwNy7PA4I=", + "replace": "", + "version": "v4.6.1" + } + }, + "com_github_fsnotify_fsnotify": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/fsnotify/fsnotify", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=", + "replace": "", + "version": "v1.7.0" + } + }, + "com_github_pmezard_go_difflib": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/pmezard/go-difflib", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=", + "replace": "", + "version": "v1.0.0" + } + }, + "org_golang_x_tools_go_vcs": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "golang.org/x/tools/go/vcs", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:cOIJqWBl99H1dH5LWizPa+0ImeeJq3t3cJjaeOWUAL4=", + "replace": "", + "version": "v0.1.0-deprecated" + } + }, + "bazel_gazelle_go_repository_config": { + "repoRuleId": "@@gazelle+//internal/bzlmod:go_deps.bzl%_go_repository_config", + "attributes": { + "importpaths": { + "io_opencensus_go_contrib_exporter_jaeger": "contrib.go.opencensus.io/exporter/jaeger", + "com_github_bazelbuild_rules_go": "github.com/bazelbuild/rules_go", + "com_github_golang_glog": "github.com/golang/glog", + "com_github_golang_groupcache": "github.com/golang/groupcache", + "com_github_google_go_cmp": "github.com/google/go-cmp", + "com_github_pkg_errors": "github.com/pkg/errors", + "com_github_prometheus_client_golang": "github.com/prometheus/client_golang", + "com_github_prometheus_common": "github.com/prometheus/common", + "io_opencensus_go": "go.opencensus.io", + "org_golang_x_sys": "golang.org/x/sys", + "com_github_beorn7_perks": "github.com/beorn7/perks", + "com_github_cespare_xxhash_v2": "github.com/cespare/xxhash/v2", + "com_github_golang_protobuf": "github.com/golang/protobuf", + "com_github_klauspost_compress": "github.com/klauspost/compress", + "com_github_kylelemons_godebug": "github.com/kylelemons/godebug", + "com_github_munnerz_goautoneg": "github.com/munnerz/goautoneg", + "com_github_prometheus_client_model": "github.com/prometheus/client_model", + "com_github_prometheus_procfs": "github.com/prometheus/procfs", + "com_github_uber_jaeger_client_go": "github.com/uber/jaeger-client-go", + "org_golang_x_sync": "golang.org/x/sync", + "org_golang_google_api": "google.golang.org/api", + "org_golang_google_genproto": "google.golang.org/genproto", + "org_golang_google_grpc": "google.golang.org/grpc", + "org_golang_google_protobuf": "google.golang.org/protobuf", + "com_github_gogo_protobuf": "github.com/gogo/protobuf", + "com_github_golang_mock": "github.com/golang/mock", + "org_golang_x_net": "golang.org/x/net", + "org_golang_x_tools": "golang.org/x/tools", + "org_golang_google_grpc_cmd_protoc_gen_go_grpc": "google.golang.org/grpc/cmd/protoc-gen-go-grpc", + "org_golang_x_mod": "golang.org/x/mod", + "org_golang_x_text": "golang.org/x/text", + "com_github_bazelbuild_buildtools": "github.com/bazelbuild/buildtools", + "com_github_bmatcuk_doublestar_v4": "github.com/bmatcuk/doublestar/v4", + "com_github_fsnotify_fsnotify": "github.com/fsnotify/fsnotify", + "com_github_pmezard_go_difflib": "github.com/pmezard/go-difflib", + "org_golang_x_tools_go_vcs": "golang.org/x/tools/go/vcs", + "@gazelle+": "github.com/bazelbuild/bazel-gazelle" + }, + "module_names": { + "@rules_go+": "rules_go", + "@gazelle+": "gazelle" + }, + "build_naming_conventions": {} + } } }, + "moduleExtensionMetadata": { + "explicitRootModuleDirectDeps": [ + "io_opencensus_go_contrib_exporter_jaeger", + "com_github_bazelbuild_rules_go", + "com_github_golang_glog", + "com_github_golang_groupcache", + "com_github_google_go_cmp", + "com_github_pkg_errors", + "com_github_prometheus_client_golang", + "com_github_prometheus_common", + "io_opencensus_go", + "org_golang_x_sys" + ], + "explicitRootModuleDirectDevDeps": [], + "useAllRepos": "NO", + "reproducible": false + }, "recordedRepoMappingEntries": [ [ - "apple_support~", + "gazelle+", "bazel_tools", "bazel_tools" ] ] } }, + "@@gazelle+//internal/bzlmod:non_module_deps.bzl%non_module_deps": { + "general": { + "bzlTransitiveDigest": "xNdST0Ab6CHJP2h2BsR70cR4mizNZN38jXc/Y2vtlzo=", + "usagesDigest": "QHSoo4eEHZcROcvTv5EDumvGWu1C7Aeqfn/15ZiV2+A=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "bazel_gazelle_go_repository_cache": { + "repoRuleId": "@@gazelle+//internal:go_repository_cache.bzl%go_repository_cache", + "attributes": { + "go_sdk_name": "@rules_go++go_sdk+go_default_sdk", + "go_env": {} + } + }, + "bazel_gazelle_go_repository_tools": { + "repoRuleId": "@@gazelle+//internal:go_repository_tools.bzl%go_repository_tools", + "attributes": { + "go_cache": "@@gazelle++non_module_deps+bazel_gazelle_go_repository_cache//:go.env" + } + }, + "bazel_gazelle_is_bazel_module": { + "repoRuleId": "@@gazelle+//internal:is_bazel_module.bzl%is_bazel_module", + "attributes": { + "is_bazel_module": true + } + } + }, + "recordedRepoMappingEntries": [ + [ + "gazelle+", + "bazel_gazelle_go_repository_cache", + "gazelle++non_module_deps+bazel_gazelle_go_repository_cache" + ], + [ + "gazelle+", + "go_host_compatible_sdk_label", + "rules_go++go_sdk+go_host_compatible_sdk_label" + ], + [ + "rules_go++go_sdk+go_host_compatible_sdk_label", + "go_default_sdk", + "rules_go++go_sdk+go_default_sdk" + ] + ] + } + }, "@@platforms//host:extension.bzl%host_platform": { "general": { "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", - "usagesDigest": "meSzxn3DUCcYEhq4HQwExWkWtU4EjriRBQLsZN+Q0SU=", + "usagesDigest": "SeQiIN/f8/Qt9vYQk7qcXp4I4wJeEC0RnQDiaaJ4tb8=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, "generatedRepoSpecs": { "host_platform": { - "bzlFile": "@@platforms//host:extension.bzl", - "ruleClassName": "host_platform_repo", + "repoRuleId": "@@platforms//host:extension.bzl%host_platform_repo", "attributes": {} } }, "recordedRepoMappingEntries": [] } + }, + "@@rules_go+//go:extensions.bzl%go_sdk": { + "os:linux,arch:amd64": { + "bzlTransitiveDigest": "7q0GvjiKE1iwTiVw8CcgFryZhxJIQetZaQD1qwDGZBg=", + "usagesDigest": "k0a0m8pdZW/Uc1QI8BP3Wr6STEXY1Xp1l8cd8kYgUKg=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "io_bazel_rules_nogo": { + "repoRuleId": "@@rules_go+//go/private:nogo.bzl%go_register_nogo", + "attributes": { + "nogo": "@io_bazel_rules_go//:default_nogo", + "includes": [ + "'@@//:__subpackages__'" + ], + "excludes": [] + } + }, + "go_default_sdk": { + "repoRuleId": "@@rules_go+//go/private:sdk.bzl%go_download_sdk_rule", + "attributes": { + "goos": "", + "goarch": "", + "sdks": {}, + "experiments": [], + "patches": [], + "patch_strip": 0, + "urls": [ + "https://dl.google.com/go/{}" + ], + "version": "1.21.1", + "strip_prefix": "go" + } + }, + "rules_go__download_0_darwin_amd64": { + "repoRuleId": "@@rules_go+//go/private:sdk.bzl%go_download_sdk_rule", + "attributes": { + "goos": "", + "goarch": "", + "sdks": {}, + "urls": [ + "https://dl.google.com/go/{}" + ], + "version": "1.21.1" + } + }, + "rules_go__download_0_darwin_arm64": { + "repoRuleId": "@@rules_go+//go/private:sdk.bzl%go_download_sdk_rule", + "attributes": { + "goos": "", + "goarch": "", + "sdks": {}, + "urls": [ + "https://dl.google.com/go/{}" + ], + "version": "1.21.1" + } + }, + "rules_go__download_0_linux_arm64": { + "repoRuleId": "@@rules_go+//go/private:sdk.bzl%go_download_sdk_rule", + "attributes": { + "goos": "", + "goarch": "", + "sdks": {}, + "urls": [ + "https://dl.google.com/go/{}" + ], + "version": "1.21.1" + } + }, + "rules_go__download_0_windows_amd64": { + "repoRuleId": "@@rules_go+//go/private:sdk.bzl%go_download_sdk_rule", + "attributes": { + "goos": "", + "goarch": "", + "sdks": {}, + "urls": [ + "https://dl.google.com/go/{}" + ], + "version": "1.21.1" + } + }, + "rules_go__download_0_windows_arm64": { + "repoRuleId": "@@rules_go+//go/private:sdk.bzl%go_download_sdk_rule", + "attributes": { + "goos": "", + "goarch": "", + "sdks": {}, + "urls": [ + "https://dl.google.com/go/{}" + ], + "version": "1.21.1" + } + }, + "go_host_compatible_sdk_label": { + "repoRuleId": "@@rules_go+//go/private:extensions.bzl%host_compatible_toolchain", + "attributes": { + "toolchain": "@go_default_sdk//:ROOT" + } + }, + "go_toolchains": { + "repoRuleId": "@@rules_go+//go/private:sdk.bzl%go_multiple_toolchains", + "attributes": { + "prefixes": [ + "_0000_go_default_sdk_", + "_0001_rules_go__download_0_darwin_amd64_", + "_0002_rules_go__download_0_darwin_arm64_", + "_0003_rules_go__download_0_linux_arm64_", + "_0004_rules_go__download_0_windows_amd64_", + "_0005_rules_go__download_0_windows_arm64_" + ], + "geese": [ + "", + "darwin", + "darwin", + "linux", + "windows", + "windows" + ], + "goarchs": [ + "", + "amd64", + "arm64", + "arm64", + "amd64", + "arm64" + ], + "sdk_repos": [ + "go_default_sdk", + "rules_go__download_0_darwin_amd64", + "rules_go__download_0_darwin_arm64", + "rules_go__download_0_linux_arm64", + "rules_go__download_0_windows_amd64", + "rules_go__download_0_windows_arm64" + ], + "sdk_types": [ + "remote", + "remote", + "remote", + "remote", + "remote", + "remote" + ], + "sdk_versions": [ + "1.21.1", + "1.21.1", + "1.21.1", + "1.21.1", + "1.21.1", + "1.21.1" + ] + } + } + }, + "recordedRepoMappingEntries": [ + [ + "bazel_features+", + "bazel_features_globals", + "bazel_features++version_extension+bazel_features_globals" + ], + [ + "bazel_features+", + "bazel_features_version", + "bazel_features++version_extension+bazel_features_version" + ], + [ + "rules_go+", + "bazel_features", + "bazel_features+" + ], + [ + "rules_go+", + "bazel_tools", + "bazel_tools" + ], + [ + "rules_go+", + "io_bazel_rules_go", + "rules_go+" + ] + ] + } + }, + "@@rules_java+//java:rules_java_deps.bzl%compatibility_proxy": { + "general": { + "bzlTransitiveDigest": "84xJEZ1jnXXwo8BXMprvBm++rRt4jsTu9liBxz0ivps=", + "usagesDigest": "jTQDdLDxsS43zuRmg1faAjIEPWdLAbDAowI1pInQSoo=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "compatibility_proxy": { + "repoRuleId": "@@rules_java+//java:rules_java_deps.bzl%_compatibility_proxy_repo_rule", + "attributes": {} + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_java+", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, + "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { + "general": { + "bzlTransitiveDigest": "sFhcgPbDQehmbD1EOXzX4H1q/CD5df8zwG4kp4jbvr8=", + "usagesDigest": "QI2z8ZUR+mqtbwsf2fLqYdJAkPOHdOV+tF2yVAUgRzw=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "com_github_jetbrains_kotlin_git": { + "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:compiler.bzl%kotlin_compiler_git_repository", + "attributes": { + "urls": [ + "https://github.com/JetBrains/kotlin/releases/download/v1.9.23/kotlin-compiler-1.9.23.zip" + ], + "sha256": "93137d3aab9afa9b27cb06a824c2324195c6b6f6179d8a8653f440f5bd58be88" + } + }, + "com_github_jetbrains_kotlin": { + "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:compiler.bzl%kotlin_capabilities_repository", + "attributes": { + "git_repository_name": "com_github_jetbrains_kotlin_git", + "compiler_version": "1.9.23" + } + }, + "com_github_google_ksp": { + "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:ksp.bzl%ksp_compiler_plugin_repository", + "attributes": { + "urls": [ + "https://github.com/google/ksp/releases/download/1.9.23-1.0.20/artifacts.zip" + ], + "sha256": "ee0618755913ef7fd6511288a232e8fad24838b9af6ea73972a76e81053c8c2d", + "strip_version": "1.9.23-1.0.20" + } + }, + "com_github_pinterest_ktlint": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_file", + "attributes": { + "sha256": "01b2e0ef893383a50dbeb13970fe7fa3be36ca3e83259e01649945b09d736985", + "urls": [ + "https://github.com/pinterest/ktlint/releases/download/1.3.0/ktlint" + ], + "executable": true + } + }, + "rules_android": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "sha256": "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806", + "strip_prefix": "rules_android-0.1.1", + "urls": [ + "https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip" + ] + } + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_kotlin+", + "bazel_tools", + "bazel_tools" + ] + ] + } } } } diff --git a/WORKSPACE b/WORKSPACE index a02090780..1c6bf46bd 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -3,7 +3,7 @@ workspace(name = "com_github_google_mtail") load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( - name = "io_bazel_rules_go", + name = "rules_go", integrity = "sha256-fHbWI2so/2laoozzX5XeMXqUcv0fsUrHl8m/aE8Js3w=", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.44.2/rules_go-v0.44.2.zip", @@ -21,7 +21,7 @@ http_archive( ) load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies") -load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") +load("@rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") load("//:deps.bzl", "go_dependencies") # gazelle:repository_macro deps.bzl%go_dependencies diff --git a/cmd/mdot/BUILD.bazel b/cmd/mdot/BUILD.bazel index 3bcdbb3cc..43a137453 100644 --- a/cmd/mdot/BUILD.bazel +++ b/cmd/mdot/BUILD.bazel @@ -1,16 +1,16 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") +load("@rules_go//go:def.bzl", "go_binary", "go_library") go_library( name = "mdot_lib", srcs = ["main.go"], - importpath = "github.com/google/mtail/cmd/mdot", + importpath = "github.com/jaqx0r/mtail/cmd/mdot", visibility = ["//visibility:private"], deps = [ "//internal/mtail", "//internal/runtime/compiler/ast", "//internal/runtime/compiler/checker", "//internal/runtime/compiler/parser", - "@com_github_golang_glog//:go_default_library", + "@com_github_golang_glog//:glog", ], ) diff --git a/cmd/mfmt/BUILD.bazel b/cmd/mfmt/BUILD.bazel index 8cb32ab9e..3c8db4ba5 100644 --- a/cmd/mfmt/BUILD.bazel +++ b/cmd/mfmt/BUILD.bazel @@ -1,14 +1,14 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") +load("@rules_go//go:def.bzl", "go_binary", "go_library") go_library( name = "mfmt_lib", srcs = ["main.go"], - importpath = "github.com/google/mtail/cmd/mfmt", + importpath = "github.com/jaqx0r/mtail/cmd/mfmt", visibility = ["//visibility:private"], deps = [ "//internal/runtime/compiler/checker", "//internal/runtime/compiler/parser", - "@com_github_golang_glog//:go_default_library", + "@com_github_golang_glog//:glog", ], ) diff --git a/cmd/mgen/BUILD.bazel b/cmd/mgen/BUILD.bazel index 014cf6e7f..c848ea7c9 100644 --- a/cmd/mgen/BUILD.bazel +++ b/cmd/mgen/BUILD.bazel @@ -1,9 +1,9 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") +load("@rules_go//go:def.bzl", "go_binary", "go_library") go_library( name = "mgen_lib", srcs = ["main.go"], - importpath = "github.com/google/mtail/cmd/mgen", + importpath = "github.com/jaqx0r/mtail/cmd/mgen", visibility = ["//visibility:private"], deps = ["//internal/runtime/compiler/parser"], ) diff --git a/cmd/mtail/BUILD.bazel b/cmd/mtail/BUILD.bazel index 178e7175a..423fa399c 100644 --- a/cmd/mtail/BUILD.bazel +++ b/cmd/mtail/BUILD.bazel @@ -1,17 +1,17 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") +load("@rules_go//go:def.bzl", "go_binary", "go_library") go_library( name = "mtail_lib", srcs = ["main.go"], - importpath = "github.com/google/mtail/cmd/mtail", + importpath = "github.com/jaqx0r/mtail/cmd/mtail", visibility = ["//visibility:private"], deps = [ "//internal/exporter", "//internal/metrics", "//internal/mtail", "//internal/waker", - "@com_github_golang_glog//:go_default_library", - "@io_opencensus_go//trace:go_default_library", + "@com_github_golang_glog//:glog", + "@io_opencensus_go//trace", ], ) diff --git a/internal/exporter/BUILD.bazel b/internal/exporter/BUILD.bazel index fc65644a4..f2162b2c8 100644 --- a/internal/exporter/BUILD.bazel +++ b/internal/exporter/BUILD.bazel @@ -1,4 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "exporter", @@ -11,15 +11,15 @@ go_library( "statsd.go", "varz.go", ], - importpath = "github.com/google/mtail/internal/exporter", + importpath = "github.com/jaqx0r/mtail/internal/exporter", visibility = ["//:__subpackages__"], deps = [ "//internal/metrics", "//internal/metrics/datum", - "@com_github_golang_glog//:go_default_library", - "@com_github_pkg_errors//:go_default_library", - "@com_github_prometheus_client_golang//prometheus:go_default_library", - "@com_github_prometheus_common//expfmt:go_default_library", + "@com_github_golang_glog//:glog", + "@com_github_pkg_errors//:errors", + "@com_github_prometheus_client_golang//prometheus", + "@com_github_prometheus_common//expfmt", ], ) @@ -38,6 +38,6 @@ go_test( "//internal/metrics", "//internal/metrics/datum", "//internal/testutil", - "@com_github_prometheus_client_golang//prometheus/testutil:go_default_library", + "@com_github_prometheus_client_golang//prometheus/testutil", ], ) diff --git a/internal/logline/BUILD.bazel b/internal/logline/BUILD.bazel index bcf8196b6..5776c3b92 100644 --- a/internal/logline/BUILD.bazel +++ b/internal/logline/BUILD.bazel @@ -1,8 +1,8 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library") +load("@rules_go//go:def.bzl", "go_library") go_library( name = "logline", srcs = ["logline.go"], - importpath = "github.com/google/mtail/internal/logline", + importpath = "github.com/jaqx0r/mtail/internal/logline", visibility = ["//:__subpackages__"], ) diff --git a/internal/metrics/BUILD.bazel b/internal/metrics/BUILD.bazel index 17eb4b1be..0aa6b9ea4 100644 --- a/internal/metrics/BUILD.bazel +++ b/internal/metrics/BUILD.bazel @@ -1,4 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "metrics", @@ -8,12 +8,12 @@ go_library( "testing.go", "type.go", ], - importpath = "github.com/google/mtail/internal/metrics", + importpath = "github.com/jaqx0r/mtail/internal/metrics", visibility = ["//:__subpackages__"], deps = [ "//internal/metrics/datum", - "@com_github_golang_glog//:go_default_library", - "@com_github_pkg_errors//:go_default_library", + "@com_github_golang_glog//:glog", + "@com_github_pkg_errors//:errors", ], ) @@ -29,6 +29,6 @@ go_test( deps = [ "//internal/metrics/datum", "//internal/testutil", - "@com_github_golang_glog//:go_default_library", + "@com_github_golang_glog//:glog", ], ) diff --git a/internal/metrics/datum/BUILD.bazel b/internal/metrics/datum/BUILD.bazel index c0ca562c8..279354049 100644 --- a/internal/metrics/datum/BUILD.bazel +++ b/internal/metrics/datum/BUILD.bazel @@ -1,4 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "datum", @@ -9,7 +9,7 @@ go_library( "int.go", "string.go", ], - importpath = "github.com/google/mtail/internal/metrics/datum", + importpath = "github.com/jaqx0r/mtail/internal/metrics/datum", visibility = ["//:__subpackages__"], ) diff --git a/internal/mtail/BUILD.bazel b/internal/mtail/BUILD.bazel index 750e9eef8..9e35437e3 100644 --- a/internal/mtail/BUILD.bazel +++ b/internal/mtail/BUILD.bazel @@ -1,4 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "mtail", @@ -10,7 +10,7 @@ go_library( "options.go", "testing.go", ], - importpath = "github.com/google/mtail/internal/mtail", + importpath = "github.com/jaqx0r/mtail/internal/mtail", visibility = ["//:__subpackages__"], deps = [ "//internal/exporter", @@ -21,14 +21,15 @@ go_library( "//internal/tailer", "//internal/testutil", "//internal/waker", - "@com_github_golang_glog//:go_default_library", - "@com_github_prometheus_client_golang//prometheus:go_default_library", - "@com_github_prometheus_client_golang//prometheus/collectors:go_default_library", - "@com_github_prometheus_client_golang//prometheus/promhttp:go_default_library", - "@com_github_prometheus_common//version:go_default_library", - "@io_opencensus_go//trace:go_default_library", - "@io_opencensus_go//zpages:go_default_library", - "@io_opencensus_go_contrib_exporter_jaeger//:go_default_library", + "@com_github_golang_glog//:glog", + "@com_github_prometheus_client_golang//prometheus", + "@com_github_prometheus_client_golang//prometheus/collectors", + "@com_github_prometheus_client_golang//prometheus/collectors/version", + "@com_github_prometheus_client_golang//prometheus/promhttp", + "@com_github_prometheus_common//version", + "@io_opencensus_go//trace", + "@io_opencensus_go//zpages", + "@io_opencensus_go_contrib_exporter_jaeger//:jaeger", ], ) @@ -67,41 +68,41 @@ go_test( "//internal/mtail/golden", "//internal/testutil", "//internal/waker", - "@com_github_golang_glog//:go_default_library", - "@io_bazel_rules_go//go/tools/bazel", + "@com_github_bazelbuild_rules_go//go/tools/bazel", + "@com_github_golang_glog//:glog", ] + select({ - "@io_bazel_rules_go//go/platform:aix": [ - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:aix": [ + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:android": [ - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:android": [ + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:darwin": [ - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:darwin": [ + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:dragonfly": [ - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:dragonfly": [ + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:freebsd": [ - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:freebsd": [ + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:illumos": [ - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:illumos": [ + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:ios": [ - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:ios": [ + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:linux": [ - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:linux": [ + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:netbsd": [ - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:netbsd": [ + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:openbsd": [ - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:openbsd": [ + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:solaris": [ - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:solaris": [ + "@org_golang_x_sys//unix", ], "//conditions:default": [], }), diff --git a/internal/mtail/golden/BUILD.bazel b/internal/mtail/golden/BUILD.bazel index 1b4cab94b..2ba65dc26 100644 --- a/internal/mtail/golden/BUILD.bazel +++ b/internal/mtail/golden/BUILD.bazel @@ -1,14 +1,14 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "golden", srcs = ["reader.go"], - importpath = "github.com/google/mtail/internal/mtail/golden", + importpath = "github.com/jaqx0r/mtail/internal/mtail/golden", visibility = ["//:__subpackages__"], deps = [ "//internal/metrics", "//internal/metrics/datum", - "@com_github_golang_glog//:go_default_library", + "@com_github_golang_glog//:glog", ], ) diff --git a/internal/runtime/BUILD.bazel b/internal/runtime/BUILD.bazel index 8448283e7..d4169b61b 100644 --- a/internal/runtime/BUILD.bazel +++ b/internal/runtime/BUILD.bazel @@ -1,4 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "runtime", @@ -7,16 +7,16 @@ go_library( "options.go", "runtime.go", ], - importpath = "github.com/google/mtail/internal/runtime", + importpath = "github.com/jaqx0r/mtail/internal/runtime", visibility = ["//:__subpackages__"], deps = [ "//internal/logline", "//internal/metrics", "//internal/runtime/compiler", "//internal/runtime/vm", - "@com_github_golang_glog//:go_default_library", - "@com_github_pkg_errors//:go_default_library", - "@com_github_prometheus_client_golang//prometheus:go_default_library", + "@com_github_golang_glog//:glog", + "@com_github_pkg_errors//:errors", + "@com_github_prometheus_client_golang//prometheus", ], ) @@ -33,6 +33,6 @@ go_test( "//internal/metrics", "//internal/metrics/datum", "//internal/testutil", - "@com_github_golang_glog//:go_default_library", + "@com_github_golang_glog//:glog", ], ) diff --git a/internal/runtime/code/BUILD.bazel b/internal/runtime/code/BUILD.bazel index fca1bdbe8..8b2cbbd18 100644 --- a/internal/runtime/code/BUILD.bazel +++ b/internal/runtime/code/BUILD.bazel @@ -1,4 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "code", @@ -7,7 +7,7 @@ go_library( "object.go", "opcodes.go", ], - importpath = "github.com/google/mtail/internal/runtime/code", + importpath = "github.com/jaqx0r/mtail/internal/runtime/code", visibility = ["//:__subpackages__"], deps = ["//internal/metrics"], ) diff --git a/internal/runtime/compiler/BUILD.bazel b/internal/runtime/compiler/BUILD.bazel index 3ebfd480f..c5598a6b9 100644 --- a/internal/runtime/compiler/BUILD.bazel +++ b/internal/runtime/compiler/BUILD.bazel @@ -1,9 +1,9 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "compiler", srcs = ["compiler.go"], - importpath = "github.com/google/mtail/internal/runtime/compiler", + importpath = "github.com/jaqx0r/mtail/internal/runtime/compiler", visibility = ["//:__subpackages__"], deps = [ "//internal/runtime/code", @@ -12,7 +12,7 @@ go_library( "//internal/runtime/compiler/codegen", "//internal/runtime/compiler/opt", "//internal/runtime/compiler/parser", - "@com_github_golang_glog//:go_default_library", + "@com_github_golang_glog//:glog", ], ) diff --git a/internal/runtime/compiler/ast/BUILD.bazel b/internal/runtime/compiler/ast/BUILD.bazel index edc6772fb..c2c5710a1 100644 --- a/internal/runtime/compiler/ast/BUILD.bazel +++ b/internal/runtime/compiler/ast/BUILD.bazel @@ -1,4 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "ast", @@ -6,14 +6,14 @@ go_library( "ast.go", "walk.go", ], - importpath = "github.com/google/mtail/internal/runtime/compiler/ast", + importpath = "github.com/jaqx0r/mtail/internal/runtime/compiler/ast", visibility = ["//:__subpackages__"], deps = [ "//internal/metrics", "//internal/runtime/compiler/position", "//internal/runtime/compiler/symbol", "//internal/runtime/compiler/types", - "@com_github_golang_glog//:go_default_library", + "@com_github_golang_glog//:glog", ], ) diff --git a/internal/runtime/compiler/checker/BUILD.bazel b/internal/runtime/compiler/checker/BUILD.bazel index 3bf22e976..00234ae1c 100644 --- a/internal/runtime/compiler/checker/BUILD.bazel +++ b/internal/runtime/compiler/checker/BUILD.bazel @@ -1,9 +1,9 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "checker", srcs = ["checker.go"], - importpath = "github.com/google/mtail/internal/runtime/compiler/checker", + importpath = "github.com/jaqx0r/mtail/internal/runtime/compiler/checker", visibility = ["//:__subpackages__"], deps = [ "//internal/metrics", @@ -12,7 +12,7 @@ go_library( "//internal/runtime/compiler/parser", "//internal/runtime/compiler/symbol", "//internal/runtime/compiler/types", - "@com_github_golang_glog//:go_default_library", + "@com_github_golang_glog//:glog", ], ) @@ -27,6 +27,6 @@ go_test( "//internal/runtime/compiler/symbol", "//internal/runtime/compiler/types", "//internal/testutil", - "@com_github_google_go_cmp//cmp/cmpopts:go_default_library", + "@com_github_google_go_cmp//cmp/cmpopts", ], ) diff --git a/internal/runtime/compiler/codegen/BUILD.bazel b/internal/runtime/compiler/codegen/BUILD.bazel index 179634074..0088f6094 100644 --- a/internal/runtime/compiler/codegen/BUILD.bazel +++ b/internal/runtime/compiler/codegen/BUILD.bazel @@ -1,9 +1,9 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "codegen", srcs = ["codegen.go"], - importpath = "github.com/google/mtail/internal/runtime/compiler/codegen", + importpath = "github.com/jaqx0r/mtail/internal/runtime/compiler/codegen", visibility = ["//:__subpackages__"], deps = [ "//internal/metrics", @@ -15,7 +15,7 @@ go_library( "//internal/runtime/compiler/position", "//internal/runtime/compiler/symbol", "//internal/runtime/compiler/types", - "@com_github_golang_glog//:go_default_library", + "@com_github_golang_glog//:glog", ], ) diff --git a/internal/runtime/compiler/errors/BUILD.bazel b/internal/runtime/compiler/errors/BUILD.bazel index 2806e8cc8..7ee65bbee 100644 --- a/internal/runtime/compiler/errors/BUILD.bazel +++ b/internal/runtime/compiler/errors/BUILD.bazel @@ -1,13 +1,13 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "errors", srcs = ["errors.go"], - importpath = "github.com/google/mtail/internal/runtime/compiler/errors", + importpath = "github.com/jaqx0r/mtail/internal/runtime/compiler/errors", visibility = ["//:__subpackages__"], deps = [ "//internal/runtime/compiler/position", - "@com_github_pkg_errors//:go_default_library", + "@com_github_pkg_errors//:errors", ], ) diff --git a/internal/runtime/compiler/opt/BUILD.bazel b/internal/runtime/compiler/opt/BUILD.bazel index 9a8361681..b1a084042 100644 --- a/internal/runtime/compiler/opt/BUILD.bazel +++ b/internal/runtime/compiler/opt/BUILD.bazel @@ -1,9 +1,9 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "opt", srcs = ["opt.go"], - importpath = "github.com/google/mtail/internal/runtime/compiler/opt", + importpath = "github.com/jaqx0r/mtail/internal/runtime/compiler/opt", visibility = ["//:__subpackages__"], deps = [ "//internal/runtime/compiler/ast", @@ -23,6 +23,6 @@ go_test( "//internal/runtime/compiler/ast", "//internal/runtime/compiler/parser", "//internal/testutil", - "@com_github_google_go_cmp//cmp:go_default_library", + "@com_github_google_go_cmp//cmp", ], ) diff --git a/internal/runtime/compiler/parser/BUILD.bazel b/internal/runtime/compiler/parser/BUILD.bazel index b3379610b..f32071e7c 100644 --- a/internal/runtime/compiler/parser/BUILD.bazel +++ b/internal/runtime/compiler/parser/BUILD.bazel @@ -1,4 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "parser", @@ -10,7 +10,7 @@ go_library( "tokens.go", "unparser.go", ], - importpath = "github.com/google/mtail/internal/runtime/compiler/parser", + importpath = "github.com/jaqx0r/mtail/internal/runtime/compiler/parser", visibility = ["//:__subpackages__"], deps = [ "//internal/metrics", @@ -18,7 +18,7 @@ go_library( "//internal/runtime/compiler/errors", "//internal/runtime/compiler/position", "//internal/runtime/compiler/symbol", - "@com_github_golang_glog//:go_default_library", + "@com_github_golang_glog//:glog", ], ) diff --git a/internal/runtime/compiler/position/BUILD.bazel b/internal/runtime/compiler/position/BUILD.bazel index b65648868..e3b553889 100644 --- a/internal/runtime/compiler/position/BUILD.bazel +++ b/internal/runtime/compiler/position/BUILD.bazel @@ -1,8 +1,8 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library") +load("@rules_go//go:def.bzl", "go_library") go_library( name = "position", srcs = ["position.go"], - importpath = "github.com/google/mtail/internal/runtime/compiler/position", + importpath = "github.com/jaqx0r/mtail/internal/runtime/compiler/position", visibility = ["//:__subpackages__"], ) diff --git a/internal/runtime/compiler/symbol/BUILD.bazel b/internal/runtime/compiler/symbol/BUILD.bazel index cf6f34b43..b3daedfce 100644 --- a/internal/runtime/compiler/symbol/BUILD.bazel +++ b/internal/runtime/compiler/symbol/BUILD.bazel @@ -1,9 +1,9 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "symbol", srcs = ["symtab.go"], - importpath = "github.com/google/mtail/internal/runtime/compiler/symbol", + importpath = "github.com/jaqx0r/mtail/internal/runtime/compiler/symbol", visibility = ["//:__subpackages__"], deps = [ "//internal/runtime/compiler/position", diff --git a/internal/runtime/compiler/types/BUILD.bazel b/internal/runtime/compiler/types/BUILD.bazel index 44e7243d4..9affd3624 100644 --- a/internal/runtime/compiler/types/BUILD.bazel +++ b/internal/runtime/compiler/types/BUILD.bazel @@ -1,4 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "types", @@ -6,9 +6,9 @@ go_library( "regexp.go", "types.go", ], - importpath = "github.com/google/mtail/internal/runtime/compiler/types", + importpath = "github.com/jaqx0r/mtail/internal/runtime/compiler/types", visibility = ["//:__subpackages__"], - deps = ["@com_github_golang_glog//:go_default_library"], + deps = ["@com_github_golang_glog//:glog"], ) go_test( diff --git a/internal/runtime/vm/BUILD.bazel b/internal/runtime/vm/BUILD.bazel index f6c5bce95..dcba024ec 100644 --- a/internal/runtime/vm/BUILD.bazel +++ b/internal/runtime/vm/BUILD.bazel @@ -1,19 +1,19 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "vm", srcs = ["vm.go"], - importpath = "github.com/google/mtail/internal/runtime/vm", + importpath = "github.com/jaqx0r/mtail/internal/runtime/vm", visibility = ["//:__subpackages__"], deps = [ "//internal/logline", "//internal/metrics", "//internal/metrics/datum", "//internal/runtime/code", - "@com_github_golang_glog//:go_default_library", - "@com_github_golang_groupcache//lru:go_default_library", - "@com_github_pkg_errors//:go_default_library", - "@com_github_prometheus_client_golang//prometheus:go_default_library", + "@com_github_golang_glog//:glog", + "@com_github_golang_groupcache//lru", + "@com_github_pkg_errors//:errors", + "@com_github_prometheus_client_golang//prometheus", ], ) diff --git a/internal/tailer/BUILD.bazel b/internal/tailer/BUILD.bazel index 5e0945e6b..061f02be9 100644 --- a/internal/tailer/BUILD.bazel +++ b/internal/tailer/BUILD.bazel @@ -1,4 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "tailer", @@ -6,13 +6,13 @@ go_library( "httpstatus.go", "tail.go", ], - importpath = "github.com/google/mtail/internal/tailer", + importpath = "github.com/jaqx0r/mtail/internal/tailer", visibility = ["//:__subpackages__"], deps = [ "//internal/logline", "//internal/tailer/logstream", "//internal/waker", - "@com_github_golang_glog//:go_default_library", + "@com_github_golang_glog//:glog", ], ) @@ -29,6 +29,41 @@ go_test( "//internal/logline", "//internal/testutil", "//internal/waker", - "@com_github_golang_glog//:go_default_library", - ], + "@com_github_golang_glog//:glog", + ] + select({ + "@rules_go//go/platform:aix": [ + "@org_golang_x_sys//unix", + ], + "@rules_go//go/platform:android": [ + "@org_golang_x_sys//unix", + ], + "@rules_go//go/platform:darwin": [ + "@org_golang_x_sys//unix", + ], + "@rules_go//go/platform:dragonfly": [ + "@org_golang_x_sys//unix", + ], + "@rules_go//go/platform:freebsd": [ + "@org_golang_x_sys//unix", + ], + "@rules_go//go/platform:illumos": [ + "@org_golang_x_sys//unix", + ], + "@rules_go//go/platform:ios": [ + "@org_golang_x_sys//unix", + ], + "@rules_go//go/platform:linux": [ + "@org_golang_x_sys//unix", + ], + "@rules_go//go/platform:netbsd": [ + "@org_golang_x_sys//unix", + ], + "@rules_go//go/platform:openbsd": [ + "@org_golang_x_sys//unix", + ], + "@rules_go//go/platform:solaris": [ + "@org_golang_x_sys//unix", + ], + "//conditions:default": [], + }), ) diff --git a/internal/tailer/logstream/BUILD.bazel b/internal/tailer/logstream/BUILD.bazel index b89384f8a..d9f974ce0 100644 --- a/internal/tailer/logstream/BUILD.bazel +++ b/internal/tailer/logstream/BUILD.bazel @@ -1,22 +1,23 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "logstream", srcs = [ + "base.go", "cancel.go", - "decode.go", "dgramstream.go", + "fifostream.go", "filestream.go", "logstream.go", - "pipestream.go", + "reader.go", "socketstream.go", ], - importpath = "github.com/google/mtail/internal/tailer/logstream", + importpath = "github.com/jaqx0r/mtail/internal/tailer/logstream", visibility = ["//:__subpackages__"], deps = [ "//internal/logline", "//internal/waker", - "@com_github_golang_glog//:go_default_library", + "@com_github_golang_glog//:glog", ], ) @@ -25,60 +26,65 @@ go_test( size = "small", srcs = [ "dgramstream_unix_test.go", + "fifostream_unix_test.go", "filestream_test.go", "filestream_unix_test.go", - "pipestream_unix_test.go", + "logstream_test.go", + "logstream_unix_test.go", + "reader_test.go", "socketstream_unix_test.go", ], + embed = [":logstream"], deps = [ - ":logstream", "//internal/logline", "//internal/testutil", "//internal/waker", + "@com_github_google_go_cmp//cmp", + "@com_github_google_go_cmp//cmp/cmpopts", ] + select({ - "@io_bazel_rules_go//go/platform:aix": [ - "@com_github_golang_glog//:go_default_library", - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:aix": [ + "@com_github_golang_glog//:glog", + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:android": [ - "@com_github_golang_glog//:go_default_library", - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:android": [ + "@com_github_golang_glog//:glog", + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:darwin": [ - "@com_github_golang_glog//:go_default_library", - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:darwin": [ + "@com_github_golang_glog//:glog", + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:dragonfly": [ - "@com_github_golang_glog//:go_default_library", - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:dragonfly": [ + "@com_github_golang_glog//:glog", + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:freebsd": [ - "@com_github_golang_glog//:go_default_library", - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:freebsd": [ + "@com_github_golang_glog//:glog", + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:illumos": [ - "@com_github_golang_glog//:go_default_library", - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:illumos": [ + "@com_github_golang_glog//:glog", + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:ios": [ - "@com_github_golang_glog//:go_default_library", - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:ios": [ + "@com_github_golang_glog//:glog", + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:linux": [ - "@com_github_golang_glog//:go_default_library", - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:linux": [ + "@com_github_golang_glog//:glog", + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:netbsd": [ - "@com_github_golang_glog//:go_default_library", - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:netbsd": [ + "@com_github_golang_glog//:glog", + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:openbsd": [ - "@com_github_golang_glog//:go_default_library", - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:openbsd": [ + "@com_github_golang_glog//:glog", + "@org_golang_x_sys//unix", ], - "@io_bazel_rules_go//go/platform:solaris": [ - "@com_github_golang_glog//:go_default_library", - "@org_golang_x_sys//unix:go_default_library", + "@rules_go//go/platform:solaris": [ + "@com_github_golang_glog//:glog", + "@org_golang_x_sys//unix", ], "//conditions:default": [], }), diff --git a/internal/testutil/BUILD.bazel b/internal/testutil/BUILD.bazel index fb97d71bb..5da62a3dd 100644 --- a/internal/testutil/BUILD.bazel +++ b/internal/testutil/BUILD.bazel @@ -1,4 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "testutil", @@ -15,15 +15,16 @@ go_library( "race.go", "root.go", "short.go", + "stdin.go", "timeout.go", ], - importpath = "github.com/google/mtail/internal/testutil", + importpath = "github.com/jaqx0r/mtail/internal/testutil", visibility = ["//:__subpackages__"], deps = [ "//internal/logline", - "@com_github_golang_glog//:go_default_library", - "@com_github_google_go_cmp//cmp:go_default_library", - "@com_github_google_go_cmp//cmp/cmpopts:go_default_library", + "@com_github_golang_glog//:glog", + "@com_github_google_go_cmp//cmp", + "@com_github_google_go_cmp//cmp/cmpopts", ], ) diff --git a/internal/waker/BUILD.bazel b/internal/waker/BUILD.bazel index 952416697..f2773b2d0 100644 --- a/internal/waker/BUILD.bazel +++ b/internal/waker/BUILD.bazel @@ -1,4 +1,4 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "waker", @@ -7,9 +7,9 @@ go_library( "timedwaker.go", "waker.go", ], - importpath = "github.com/google/mtail/internal/waker", + importpath = "github.com/jaqx0r/mtail/internal/waker", visibility = ["//:__subpackages__"], - deps = ["@com_github_golang_glog//:go_default_library"], + deps = ["@com_github_golang_glog//:glog"], ) go_test( From bf898cc765a34c00a2e01674ccd16fddc82a3733 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 23 Feb 2025 12:37:02 +1100 Subject: [PATCH 059/381] build: Update bazel deps to latest versions. --- MODULE.bazel | 5 +- MODULE.bazel.lock | 843 +------------------------------------ internal/mtail/BUILD.bazel | 2 +- 3 files changed, 11 insertions(+), 839 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index a1f1de881..e50f0111b 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -9,14 +9,13 @@ module( version = "3", ) -bazel_dep(name = "rules_go", version = "0.44.2") -bazel_dep(name = "gazelle", version = "0.35.0") +bazel_dep(name = "rules_go", version = "0.53.0") +bazel_dep(name = "gazelle", version = "0.36.0") go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps") go_deps.from_file(go_mod = "//:go.mod") use_repo( go_deps, - "com_github_bazelbuild_rules_go", "com_github_golang_glog", "com_github_golang_groupcache", "com_github_google_go_cmp", diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index b34f18360..69cb36dc8 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -38,8 +38,8 @@ "https://bcr.bazel.build/modules/gazelle/0.32.0/MODULE.bazel": "b499f58a5d0d3537f3cf5b76d8ada18242f64ec474d8391247438bf04f58c7b8", "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", - "https://bcr.bazel.build/modules/gazelle/0.35.0/MODULE.bazel": "bda67986233654255d52d56c2e8d8ce5649fdcf0acd96b1fdd04af4d7e038c36", - "https://bcr.bazel.build/modules/gazelle/0.35.0/source.json": "121e19120e03aa1ad21b0adfb2262d12d7cc907d447962d076951179ea6b6c51", + "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", + "https://bcr.bazel.build/modules/gazelle/0.36.0/source.json": "0823f097b127e0201ae55d85647c94095edfe27db0431a7ae880dcab08dfaa04", "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", @@ -87,9 +87,9 @@ "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/source.json": "c8b1e2c717646f1702290959a3302a178fb639d987ab61d548105019f11e527e", "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel": "55861d8e8bb0e62cbd2896f60ff303f62ffcb0eddb74ecb0e5c0cbe36fc292c8", "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", - "https://bcr.bazel.build/modules/rules_go/0.44.0/MODULE.bazel": "55b2d9e775d7881dbe9a2fc68440442cd6ba32730170c782f1f0e6023a6d8db6", - "https://bcr.bazel.build/modules/rules_go/0.44.2/MODULE.bazel": "5431efe55e0f2f1d3d23258c34210cd9dd94d5e6421eaab0455f8d868f2d95c8", - "https://bcr.bazel.build/modules/rules_go/0.44.2/source.json": "0be58c22bbc5076a66d558ae2b43f5487a98c3e9a391ac1cda34e41facbb32da", + "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", + "https://bcr.bazel.build/modules/rules_go/0.53.0/MODULE.bazel": "a4ed760d3ac0dbc0d7b967631a9a3fd9100d28f7d9fcf214b4df87d4bfff5f9a", + "https://bcr.bazel.build/modules/rules_go/0.53.0/source.json": "c6dc34fb5bb8838652221a167d8f35ca3c8fdcbff8568f13cc75719802f95cff", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", @@ -121,6 +121,7 @@ "https://bcr.bazel.build/modules/rules_pkg/1.0.1/source.json": "bd82e5d7b9ce2d31e380dd9f50c111d678c3bdaca190cb76b0e1c71b05e1ba8a", "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", + "https://bcr.bazel.build/modules/rules_proto/6.0.0/MODULE.bazel": "b531d7f09f58dce456cd61b4579ce8c86b38544da75184eadaf0a7cb7966453f", "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73", "https://bcr.bazel.build/modules/rules_proto/7.0.2/MODULE.bazel": "bf81793bd6d2ad89a37a40693e56c61b0ee30f7a7fdbaf3eabbf5f39de47dea2", "https://bcr.bazel.build/modules/rules_proto/7.0.2/source.json": "1e5e7260ae32ef4f2b52fd1d0de8d03b606a44c91b694d2f1afb1d3b28a48ce1", @@ -133,7 +134,8 @@ "https://bcr.bazel.build/modules/rules_python/0.40.0/MODULE.bazel": "9d1a3cd88ed7d8e39583d9ffe56ae8a244f67783ae89b60caafc9f5cf318ada7", "https://bcr.bazel.build/modules/rules_python/0.40.0/source.json": "939d4bd2e3110f27bfb360292986bb79fd8dcefb874358ccd6cdaa7bda029320", "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", - "https://bcr.bazel.build/modules/rules_shell/0.2.0/source.json": "7f27af3c28037d9701487c4744b5448d26537cc66cdef0d8df7ae85411f8de95", + "https://bcr.bazel.build/modules/rules_shell/0.3.0/MODULE.bazel": "de4402cd12f4cc8fda2354fce179fdb068c0b9ca1ec2d2b17b3e21b24c1a937b", + "https://bcr.bazel.build/modules/rules_shell/0.3.0/source.json": "c55ed591aa5009401ddf80ded9762ac32c358d2517ee7820be981e2de9756cf3", "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", "https://bcr.bazel.build/modules/stardoc/0.5.6/MODULE.bazel": "c43dabc564990eeab55e25ed61c07a1aadafe9ece96a4efabb3f8bf9063b71ef", @@ -149,652 +151,6 @@ }, "selectedYankedVersions": {}, "moduleExtensions": { - "@@gazelle+//:extensions.bzl%go_deps": { - "general": { - "bzlTransitiveDigest": "NRDE4UnZ6cmBs0uVATEd/eqkiMmHHYRSG7MGPgcsxcY=", - "usagesDigest": "X31CisIUzWc2NsaIRLVJUYLSqIE1ECDxgSyMjatXLAw=", - "recordedFileInputs": { - "@@//go.mod": "81efddfa305b4494db029558fa2040f7914adfe5e87e7c659835c8ec285cc047", - "@@//go.sum": "986462f0a6629b5b126d80147dedff91078e2a2a8853e670148ee50f70dcb90d", - "@@gazelle+//go.mod": "48dc6e771c3028ee1c18b9ffc81e596fd5f6d7e0016c5ef280e30f2821f60473", - "@@gazelle+//go.sum": "7c4460e8ecb5dd8691a51d4fa2e9e4751108b933636497ce46db499fc2e7a88d", - "@@rules_go+//go.mod": "de22304b720f7f61350ec1c9739de6c0a1b1103fd22bfeb6e92c6c843ddc6d6e", - "@@rules_go+//go.sum": "d56fdb19b21a5f12bcf625c49432371ac39c2def0f564098fbda107f7c080f40" - }, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "io_opencensus_go_contrib_exporter_jaeger": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "contrib.go.opencensus.io/exporter/jaeger", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:yGBYzYMewVL0yO9qqJv3Z5+IRhPdU7e9o/2oKpX4YvI=", - "replace": "", - "version": "v0.2.1" - } - }, - "com_github_bazelbuild_rules_go": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/bazelbuild/rules_go", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:ZPsHcsau3SXFQJOpqD+Ey9/RU6qjiUhdTAZI+Q8e2gY=", - "replace": "", - "version": "v0.45.0" - } - }, - "com_github_golang_glog": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/golang/glog", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY=", - "replace": "", - "version": "v1.2.2" - } - }, - "com_github_golang_groupcache": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/golang/groupcache", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=", - "replace": "", - "version": "v0.0.0-20210331224755-41bb18bfe9da" - } - }, - "com_github_google_go_cmp": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/google/go-cmp", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=", - "replace": "", - "version": "v0.6.0" - } - }, - "com_github_pkg_errors": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/pkg/errors", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=", - "replace": "", - "version": "v0.9.1" - } - }, - "com_github_prometheus_client_golang": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/prometheus/client_golang", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:DIsaGmiaBkSangBgMtWdNfxbMNdku5IK6iNhrEqWvdA=", - "replace": "", - "version": "v1.21.0" - } - }, - "com_github_prometheus_common": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/prometheus/common", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io=", - "replace": "", - "version": "v0.62.0" - } - }, - "io_opencensus_go": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "go.opencensus.io", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=", - "replace": "", - "version": "v0.24.0" - } - }, - "org_golang_x_sys": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "golang.org/x/sys", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=", - "replace": "", - "version": "v0.30.0" - } - }, - "com_github_beorn7_perks": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/beorn7/perks", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=", - "replace": "", - "version": "v1.0.1" - } - }, - "com_github_cespare_xxhash_v2": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/cespare/xxhash/v2", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=", - "replace": "", - "version": "v2.3.0" - } - }, - "com_github_golang_protobuf": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/golang/protobuf", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=", - "replace": "", - "version": "v1.5.3" - } - }, - "com_github_klauspost_compress": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/klauspost/compress", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc=", - "replace": "", - "version": "v1.17.11" - } - }, - "com_github_kylelemons_godebug": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/kylelemons/godebug", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=", - "replace": "", - "version": "v1.1.0" - } - }, - "com_github_munnerz_goautoneg": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/munnerz/goautoneg", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=", - "replace": "", - "version": "v0.0.0-20191010083416-a7dc8b61c822" - } - }, - "com_github_prometheus_client_model": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/prometheus/client_model", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=", - "replace": "", - "version": "v0.6.1" - } - }, - "com_github_prometheus_procfs": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/prometheus/procfs", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=", - "replace": "", - "version": "v0.15.1" - } - }, - "com_github_uber_jaeger_client_go": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/uber/jaeger-client-go", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:IxcNZ7WRY1Y3G4poYlx24szfsn/3LvK9QHCq9oQw8+U=", - "replace": "", - "version": "v2.25.0+incompatible" - } - }, - "org_golang_x_sync": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "golang.org/x/sync", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=", - "replace": "", - "version": "v0.7.0" - } - }, - "org_golang_google_api": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "google.golang.org/api", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:t6P9Jj+6XTn4U9I2wycQai6Q/Kz7iOT+QzjJ3G2V4x8=", - "replace": "", - "version": "v0.105.0" - } - }, - "org_golang_google_genproto": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "google.golang.org/genproto", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A=", - "replace": "", - "version": "v0.0.0-20230410155749-daa745c078e1" - } - }, - "org_golang_google_grpc": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "google.golang.org/grpc", - "build_directives": [ - "gazelle:proto disable" - ], - "build_file_generation": "on", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc=", - "replace": "", - "version": "v1.56.3" - } - }, - "org_golang_google_protobuf": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "google.golang.org/protobuf", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk=", - "replace": "", - "version": "v1.36.1" - } - }, - "com_github_gogo_protobuf": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/gogo/protobuf", - "build_directives": [ - "gazelle:proto disable" - ], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=", - "replace": "", - "version": "v1.3.2" - } - }, - "com_github_golang_mock": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/golang/mock", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:YojYx61/OLFsiv6Rw1Z96LpldJIy31o+UHmwAUMJ6/U=", - "replace": "", - "version": "v1.7.0-rc.1" - } - }, - "org_golang_x_net": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "golang.org/x/net", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg=", - "replace": "", - "version": "v0.18.0" - } - }, - "org_golang_x_tools": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "golang.org/x/tools", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8=", - "replace": "", - "version": "v0.15.0" - } - }, - "org_golang_google_grpc_cmd_protoc_gen_go_grpc": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "google.golang.org/grpc/cmd/protoc-gen-go-grpc", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:rNBFJjBCOgVr9pWD7rs/knKL4FRTKgpZmsRfV214zcA=", - "replace": "", - "version": "v1.3.0" - } - }, - "org_golang_x_mod": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "golang.org/x/mod", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=", - "replace": "", - "version": "v0.14.0" - } - }, - "org_golang_x_text": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "golang.org/x/text", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=", - "replace": "", - "version": "v0.14.0" - } - }, - "com_github_bazelbuild_buildtools": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/bazelbuild/buildtools", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:2Gc2Q6hVR1SJ8bBI9Ybzoggp8u/ED2WkM4MfvEIn9+c=", - "replace": "", - "version": "v0.0.0-20231115204819-d4c9dccdfbb1" - } - }, - "com_github_bmatcuk_doublestar_v4": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/bmatcuk/doublestar/v4", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:FH9SifrbvJhnlQpztAx++wlkk70QBf0iBWDwNy7PA4I=", - "replace": "", - "version": "v4.6.1" - } - }, - "com_github_fsnotify_fsnotify": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/fsnotify/fsnotify", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=", - "replace": "", - "version": "v1.7.0" - } - }, - "com_github_pmezard_go_difflib": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "github.com/pmezard/go-difflib", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=", - "replace": "", - "version": "v1.0.0" - } - }, - "org_golang_x_tools_go_vcs": { - "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", - "attributes": { - "importpath": "golang.org/x/tools/go/vcs", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:cOIJqWBl99H1dH5LWizPa+0ImeeJq3t3cJjaeOWUAL4=", - "replace": "", - "version": "v0.1.0-deprecated" - } - }, - "bazel_gazelle_go_repository_config": { - "repoRuleId": "@@gazelle+//internal/bzlmod:go_deps.bzl%_go_repository_config", - "attributes": { - "importpaths": { - "io_opencensus_go_contrib_exporter_jaeger": "contrib.go.opencensus.io/exporter/jaeger", - "com_github_bazelbuild_rules_go": "github.com/bazelbuild/rules_go", - "com_github_golang_glog": "github.com/golang/glog", - "com_github_golang_groupcache": "github.com/golang/groupcache", - "com_github_google_go_cmp": "github.com/google/go-cmp", - "com_github_pkg_errors": "github.com/pkg/errors", - "com_github_prometheus_client_golang": "github.com/prometheus/client_golang", - "com_github_prometheus_common": "github.com/prometheus/common", - "io_opencensus_go": "go.opencensus.io", - "org_golang_x_sys": "golang.org/x/sys", - "com_github_beorn7_perks": "github.com/beorn7/perks", - "com_github_cespare_xxhash_v2": "github.com/cespare/xxhash/v2", - "com_github_golang_protobuf": "github.com/golang/protobuf", - "com_github_klauspost_compress": "github.com/klauspost/compress", - "com_github_kylelemons_godebug": "github.com/kylelemons/godebug", - "com_github_munnerz_goautoneg": "github.com/munnerz/goautoneg", - "com_github_prometheus_client_model": "github.com/prometheus/client_model", - "com_github_prometheus_procfs": "github.com/prometheus/procfs", - "com_github_uber_jaeger_client_go": "github.com/uber/jaeger-client-go", - "org_golang_x_sync": "golang.org/x/sync", - "org_golang_google_api": "google.golang.org/api", - "org_golang_google_genproto": "google.golang.org/genproto", - "org_golang_google_grpc": "google.golang.org/grpc", - "org_golang_google_protobuf": "google.golang.org/protobuf", - "com_github_gogo_protobuf": "github.com/gogo/protobuf", - "com_github_golang_mock": "github.com/golang/mock", - "org_golang_x_net": "golang.org/x/net", - "org_golang_x_tools": "golang.org/x/tools", - "org_golang_google_grpc_cmd_protoc_gen_go_grpc": "google.golang.org/grpc/cmd/protoc-gen-go-grpc", - "org_golang_x_mod": "golang.org/x/mod", - "org_golang_x_text": "golang.org/x/text", - "com_github_bazelbuild_buildtools": "github.com/bazelbuild/buildtools", - "com_github_bmatcuk_doublestar_v4": "github.com/bmatcuk/doublestar/v4", - "com_github_fsnotify_fsnotify": "github.com/fsnotify/fsnotify", - "com_github_pmezard_go_difflib": "github.com/pmezard/go-difflib", - "org_golang_x_tools_go_vcs": "golang.org/x/tools/go/vcs", - "@gazelle+": "github.com/bazelbuild/bazel-gazelle" - }, - "module_names": { - "@rules_go+": "rules_go", - "@gazelle+": "gazelle" - }, - "build_naming_conventions": {} - } - } - }, - "moduleExtensionMetadata": { - "explicitRootModuleDirectDeps": [ - "io_opencensus_go_contrib_exporter_jaeger", - "com_github_bazelbuild_rules_go", - "com_github_golang_glog", - "com_github_golang_groupcache", - "com_github_google_go_cmp", - "com_github_pkg_errors", - "com_github_prometheus_client_golang", - "com_github_prometheus_common", - "io_opencensus_go", - "org_golang_x_sys" - ], - "explicitRootModuleDirectDevDeps": [], - "useAllRepos": "NO", - "reproducible": false - }, - "recordedRepoMappingEntries": [ - [ - "gazelle+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@gazelle+//internal/bzlmod:non_module_deps.bzl%non_module_deps": { - "general": { - "bzlTransitiveDigest": "xNdST0Ab6CHJP2h2BsR70cR4mizNZN38jXc/Y2vtlzo=", - "usagesDigest": "QHSoo4eEHZcROcvTv5EDumvGWu1C7Aeqfn/15ZiV2+A=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "bazel_gazelle_go_repository_cache": { - "repoRuleId": "@@gazelle+//internal:go_repository_cache.bzl%go_repository_cache", - "attributes": { - "go_sdk_name": "@rules_go++go_sdk+go_default_sdk", - "go_env": {} - } - }, - "bazel_gazelle_go_repository_tools": { - "repoRuleId": "@@gazelle+//internal:go_repository_tools.bzl%go_repository_tools", - "attributes": { - "go_cache": "@@gazelle++non_module_deps+bazel_gazelle_go_repository_cache//:go.env" - } - }, - "bazel_gazelle_is_bazel_module": { - "repoRuleId": "@@gazelle+//internal:is_bazel_module.bzl%is_bazel_module", - "attributes": { - "is_bazel_module": true - } - } - }, - "recordedRepoMappingEntries": [ - [ - "gazelle+", - "bazel_gazelle_go_repository_cache", - "gazelle++non_module_deps+bazel_gazelle_go_repository_cache" - ], - [ - "gazelle+", - "go_host_compatible_sdk_label", - "rules_go++go_sdk+go_host_compatible_sdk_label" - ], - [ - "rules_go++go_sdk+go_host_compatible_sdk_label", - "go_default_sdk", - "rules_go++go_sdk+go_default_sdk" - ] - ] - } - }, "@@platforms//host:extension.bzl%host_platform": { "general": { "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", @@ -811,189 +167,6 @@ "recordedRepoMappingEntries": [] } }, - "@@rules_go+//go:extensions.bzl%go_sdk": { - "os:linux,arch:amd64": { - "bzlTransitiveDigest": "7q0GvjiKE1iwTiVw8CcgFryZhxJIQetZaQD1qwDGZBg=", - "usagesDigest": "k0a0m8pdZW/Uc1QI8BP3Wr6STEXY1Xp1l8cd8kYgUKg=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "io_bazel_rules_nogo": { - "repoRuleId": "@@rules_go+//go/private:nogo.bzl%go_register_nogo", - "attributes": { - "nogo": "@io_bazel_rules_go//:default_nogo", - "includes": [ - "'@@//:__subpackages__'" - ], - "excludes": [] - } - }, - "go_default_sdk": { - "repoRuleId": "@@rules_go+//go/private:sdk.bzl%go_download_sdk_rule", - "attributes": { - "goos": "", - "goarch": "", - "sdks": {}, - "experiments": [], - "patches": [], - "patch_strip": 0, - "urls": [ - "https://dl.google.com/go/{}" - ], - "version": "1.21.1", - "strip_prefix": "go" - } - }, - "rules_go__download_0_darwin_amd64": { - "repoRuleId": "@@rules_go+//go/private:sdk.bzl%go_download_sdk_rule", - "attributes": { - "goos": "", - "goarch": "", - "sdks": {}, - "urls": [ - "https://dl.google.com/go/{}" - ], - "version": "1.21.1" - } - }, - "rules_go__download_0_darwin_arm64": { - "repoRuleId": "@@rules_go+//go/private:sdk.bzl%go_download_sdk_rule", - "attributes": { - "goos": "", - "goarch": "", - "sdks": {}, - "urls": [ - "https://dl.google.com/go/{}" - ], - "version": "1.21.1" - } - }, - "rules_go__download_0_linux_arm64": { - "repoRuleId": "@@rules_go+//go/private:sdk.bzl%go_download_sdk_rule", - "attributes": { - "goos": "", - "goarch": "", - "sdks": {}, - "urls": [ - "https://dl.google.com/go/{}" - ], - "version": "1.21.1" - } - }, - "rules_go__download_0_windows_amd64": { - "repoRuleId": "@@rules_go+//go/private:sdk.bzl%go_download_sdk_rule", - "attributes": { - "goos": "", - "goarch": "", - "sdks": {}, - "urls": [ - "https://dl.google.com/go/{}" - ], - "version": "1.21.1" - } - }, - "rules_go__download_0_windows_arm64": { - "repoRuleId": "@@rules_go+//go/private:sdk.bzl%go_download_sdk_rule", - "attributes": { - "goos": "", - "goarch": "", - "sdks": {}, - "urls": [ - "https://dl.google.com/go/{}" - ], - "version": "1.21.1" - } - }, - "go_host_compatible_sdk_label": { - "repoRuleId": "@@rules_go+//go/private:extensions.bzl%host_compatible_toolchain", - "attributes": { - "toolchain": "@go_default_sdk//:ROOT" - } - }, - "go_toolchains": { - "repoRuleId": "@@rules_go+//go/private:sdk.bzl%go_multiple_toolchains", - "attributes": { - "prefixes": [ - "_0000_go_default_sdk_", - "_0001_rules_go__download_0_darwin_amd64_", - "_0002_rules_go__download_0_darwin_arm64_", - "_0003_rules_go__download_0_linux_arm64_", - "_0004_rules_go__download_0_windows_amd64_", - "_0005_rules_go__download_0_windows_arm64_" - ], - "geese": [ - "", - "darwin", - "darwin", - "linux", - "windows", - "windows" - ], - "goarchs": [ - "", - "amd64", - "arm64", - "arm64", - "amd64", - "arm64" - ], - "sdk_repos": [ - "go_default_sdk", - "rules_go__download_0_darwin_amd64", - "rules_go__download_0_darwin_arm64", - "rules_go__download_0_linux_arm64", - "rules_go__download_0_windows_amd64", - "rules_go__download_0_windows_arm64" - ], - "sdk_types": [ - "remote", - "remote", - "remote", - "remote", - "remote", - "remote" - ], - "sdk_versions": [ - "1.21.1", - "1.21.1", - "1.21.1", - "1.21.1", - "1.21.1", - "1.21.1" - ] - } - } - }, - "recordedRepoMappingEntries": [ - [ - "bazel_features+", - "bazel_features_globals", - "bazel_features++version_extension+bazel_features_globals" - ], - [ - "bazel_features+", - "bazel_features_version", - "bazel_features++version_extension+bazel_features_version" - ], - [ - "rules_go+", - "bazel_features", - "bazel_features+" - ], - [ - "rules_go+", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_go+", - "io_bazel_rules_go", - "rules_go+" - ] - ] - } - }, "@@rules_java+//java:rules_java_deps.bzl%compatibility_proxy": { "general": { "bzlTransitiveDigest": "84xJEZ1jnXXwo8BXMprvBm++rRt4jsTu9liBxz0ivps=", diff --git a/internal/mtail/BUILD.bazel b/internal/mtail/BUILD.bazel index 9e35437e3..4aad3030a 100644 --- a/internal/mtail/BUILD.bazel +++ b/internal/mtail/BUILD.bazel @@ -68,8 +68,8 @@ go_test( "//internal/mtail/golden", "//internal/testutil", "//internal/waker", - "@com_github_bazelbuild_rules_go//go/tools/bazel", "@com_github_golang_glog//:glog", + "@rules_go//go/tools/bazel:go_default_library", ] + select({ "@rules_go//go/platform:aix": [ "@org_golang_x_sys//unix", From 413daf65c17955cf5491c63e8325ea4f3f5f5581 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 23 Feb 2025 15:20:09 +1100 Subject: [PATCH 060/381] build: Remove obsolete WORKSPACE. --- .bazelversion | 2 +- WORKSPACE | 34 ---------------------------------- 2 files changed, 1 insertion(+), 35 deletions(-) delete mode 100644 WORKSPACE diff --git a/.bazelversion b/.bazelversion index 72906051c..8104cabd3 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1 +1 @@ -7.5 \ No newline at end of file +8.1.0 diff --git a/WORKSPACE b/WORKSPACE deleted file mode 100644 index 1c6bf46bd..000000000 --- a/WORKSPACE +++ /dev/null @@ -1,34 +0,0 @@ -workspace(name = "com_github_google_mtail") - -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") - -http_archive( - name = "rules_go", - integrity = "sha256-fHbWI2so/2laoozzX5XeMXqUcv0fsUrHl8m/aE8Js3w=", - urls = [ - "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.44.2/rules_go-v0.44.2.zip", - "https://github.com/bazelbuild/rules_go/releases/download/v0.44.2/rules_go-v0.44.2.zip", - ], -) - -http_archive( - name = "bazel_gazelle", - integrity = "sha256-MpOL2hbmcABjA1R5Bj2dJMYO2o15/Uc5Vj9Q0zHLMgk=", - urls = [ - "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.35.0/bazel-gazelle-v0.35.0.tar.gz", - "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.35.0/bazel-gazelle-v0.35.0.tar.gz", - ], -) - -load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies") -load("@rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") -load("//:deps.bzl", "go_dependencies") - -# gazelle:repository_macro deps.bzl%go_dependencies -go_dependencies() - -go_rules_dependencies() - -go_register_toolchains(version = "1.21.6") - -gazelle_dependencies() From 0a87fb80fe7e39b5bc8d1c4ea6b2aa0f12adf0d2 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 30 Mar 2025 13:18:48 +1100 Subject: [PATCH 061/381] build: Add `nogo` rule. --- BUILD.bazel | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/BUILD.bazel b/BUILD.bazel index 7148320a6..3f56765a9 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,4 +1,11 @@ load("@gazelle//:def.bzl", "gazelle") +load("@rules_go//go:def.bzl", "nogo") # gazelle:prefix github.com/jaqx0r/mtail gazelle(name = "gazelle") + +nogo( + name = "nogo", + vet = True, + visibility = ["//visibility:public"], +) From e1fb8497fcff5f3ec8802ad6d5301abee7fbc680 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 30 Mar 2025 13:23:26 +1100 Subject: [PATCH 062/381] ci: Remove obsolete parameter `file` from codecov-action. --- .github/workflows/ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cb79c981a..ebb2a5491 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,7 +44,5 @@ jobs: test-results/**/test.xml - uses: codecov/codecov-action@v5 if: always() - with: - file: coverage_report.dat env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From 90bff24847a4c0d2a55a0f117398f608104ca8c4 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 30 Mar 2025 14:18:15 +1100 Subject: [PATCH 063/381] ci: Use `setup-bazel` action instead of `cache`. This is smarter and also pins the bazel version. --- .github/workflows/ci.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ebb2a5491..a92c94a9f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,11 +25,15 @@ jobs: checks: write steps: - uses: actions/checkout@v4 - - name: mount bazel cache - uses: actions/cache@v4 + - uses: bazel-contrib/setup-bazel@0.14.0 with: - path: "~/.cache/bazel" - key: bazel-${{ hashFiles('WORKSPACE', 'MODULE.bazel') }} + # Avoid downloading Bazel each time + bazelisk-cache: true + # Store build cache per workflow + disk-cache: ${{ github.workflow }} + # Share repository cache between workflows + repository-cache: true + - run: bazel build //... - name: bazel test run: bazel coverage --test_output=all --combined_report=lcov --instrument_test_targets --nocache_test_results --instrumentation_filter="^//" //... - name: copy test results into workspace From 5e40810f0f9f6a377003c173aec23db073b7695d Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 30 Mar 2025 14:18:43 +1100 Subject: [PATCH 064/381] build: First cut at translating the OCI image build to Bazel. --- BUILD.bazel | 45 +++++ MODULE.bazel | 17 ++ MODULE.bazel.lock | 465 ++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 510 insertions(+), 17 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index 3f56765a9..0e4e7bce8 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,5 +1,8 @@ +load("@aspect_bazel_lib//lib:tar.bzl", "mtree_mutate", "mtree_spec", "tar") +load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_filegroup") load("@gazelle//:def.bzl", "gazelle") load("@rules_go//go:def.bzl", "nogo") +load("@rules_oci//oci:defs.bzl", "oci_image", "oci_load", "oci_push") # gazelle:prefix github.com/jaqx0r/mtail gazelle(name = "gazelle") @@ -9,3 +12,45 @@ nogo( vet = True, visibility = ["//visibility:public"], ) + +tar( + name = "mtail_layer", + srcs = ["//cmd/mtail"], +) + +platform_transition_filegroup( + name = "transitioned_layer", + srcs = [":mtail_layer"], + target_platform = select({ + "@platforms//cpu:arm64": "@rules_go//go/toolchain:linux_arm64", + "@platforms//cpu:x86_64": "@rules_go//go/toolchain:linux_amd64", + }), +) + +oci_image( + name = "oci_image", + base = "@distroless_base", + entrypoint = ["cmd/mtail/mtail_/mtail"], + exposed_ports = ["3903/tcp"], + labels = { + "org.opencontainers.image.ref.name": "jaqx0r/mtail", + "org.opencontainers.image.title": "mtail", + "org.opencontainers.image.description": "extract internal monitoring data from application logs for collection in a timeseries database", + "org.opencontainers.image.authors": "Jamie Wilkinson (@jaqx0r)", + "org.opencontainers.image.licenses": "Apache-2.0", + #"org.opencontainers.image.version": "$version", + #"org.opencontainers.image.revision": "$commit_hash", + #"org.opencontainers.image.source": "$vcs_url", + "org.opencontainers.image.documentation": "https://jaqx0r.github.io/mtail/", + #"org.opencontainers.image.created": "$build_date", + "org.opencontainers.image.url": "https://github.com/jaqx0r/mtail", + }, + tars = [":mtail_layer"], + visibility = ["//visibility:public"], +) + +oci_load( + name = "load_image", + image = ":oci_image", + repo_tags = ["mtail:latest"], +) diff --git a/MODULE.bazel b/MODULE.bazel index e50f0111b..c0e316dd1 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -26,3 +26,20 @@ use_repo( "io_opencensus_go_contrib_exporter_jaeger", "org_golang_x_sys", ) + +# `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. +bazel_dep(name = "aspect_bazel_lib", version = "2.14.0") +bazel_dep(name = "rules_oci", version = "2.2.3") +bazel_dep(name = "platforms", version = "0.0.11") + +oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") +oci.pull( + name = "distroless_base", + digest = "sha256:125eb09bbd8e818da4f9eac0dfc373892ca75bec4630aa642d315ecf35c1afb7", + image = "gcr.io/distroless/base", + platforms = [ + "linux/amd64", + "linux/arm64/v8", + ], +) +use_repo(oci, "distroless_base", "distroless_base_linux_amd64", "distroless_base_linux_arm64_v8") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 69cb36dc8..5abf07936 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -10,8 +10,12 @@ "https://bcr.bazel.build/modules/abseil-cpp/20230802.1/MODULE.bazel": "fa92e2eb41a04df73cdabeec37107316f7e5272650f81d6cc096418fe647b915", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/MODULE.bazel": "2b31ffcc9bdc8295b2167e07a757dbbc9ac8906e7028e5170a3708cecaac119f", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/source.json": "0cf1826853b0bef8b5cd19c0610d717500f5521aa2b38b72b2ec302ac5e7526c", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.2/MODULE.bazel": "780d1a6522b28f5edb7ea09630748720721dfe27690d65a2d33aa7509de77e07", "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd", + "https://bcr.bazel.build/modules/bazel_features/1.10.0/MODULE.bazel": "f75e8807570484a99be90abcd52b5e1f390362c258bcb73106f4544957a48101", "https://bcr.bazel.build/modules/bazel_features/1.11.0/MODULE.bazel": "f9382337dd5a474c3b7d334c2f83e50b6eaedc284253334cf823044a26de03e8", "https://bcr.bazel.build/modules/bazel_features/1.15.0/MODULE.bazel": "d38ff6e517149dc509406aca0db3ad1efdd890a85e049585b7234d04238e2a4d", "https://bcr.bazel.build/modules/bazel_features/1.17.0/MODULE.bazel": "039de32d21b816b47bd42c778e0454217e9c9caac4a3cf8e15c7231ee3ddee4d", @@ -20,6 +24,7 @@ "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", "https://bcr.bazel.build/modules/bazel_features/1.21.0/source.json": "3e8379efaaef53ce35b7b8ba419df829315a880cb0a030e5bb45c96d6d5ecb5f", "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", + "https://bcr.bazel.build/modules/bazel_features/1.9.0/MODULE.bazel": "885151d58d90d8d9c811eb75e3288c11f850e1d6b481a8c9f766adee4712358b", "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", "https://bcr.bazel.build/modules/bazel_skylib/1.1.1/MODULE.bazel": "1add3e7d93ff2e6998f9e118022c84d163917d912f5afafb3058e3d2f1545b5e", @@ -49,7 +54,8 @@ "https://bcr.bazel.build/modules/jsoncpp/1.9.5/source.json": "4108ee5085dd2885a341c7fab149429db457b3169b86eb081fa245eadf69169d", "https://bcr.bazel.build/modules/libpfm/4.11.0/MODULE.bazel": "45061ff025b301940f1e30d2c16bea596c25b176c8b6b3087e92615adbd52902", "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", - "https://bcr.bazel.build/modules/platforms/0.0.10/source.json": "f22828ff4cf021a6b577f1bf6341cb9dcd7965092a439f64fc1bb3b7a5ae4bd5", + "https://bcr.bazel.build/modules/platforms/0.0.11/MODULE.bazel": "0daefc49732e227caa8bfa834d65dc52e8cc18a2faf80df25e8caea151a9413f", + "https://bcr.bazel.build/modules/platforms/0.0.11/source.json": "f7e188b79ebedebfe75e9e1d098b8845226c7992b307e28e1496f23112e8fc29", "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", "https://bcr.bazel.build/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", @@ -93,6 +99,7 @@ "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", + "https://bcr.bazel.build/modules/rules_java/6.3.0/MODULE.bazel": "a97c7678c19f236a956ad260d59c86e10a463badb7eb2eda787490f4c969b963", "https://bcr.bazel.build/modules/rules_java/6.4.0/MODULE.bazel": "e986a9fe25aeaa84ac17ca093ef13a4637f6107375f64667a15999f77db6c8f6", "https://bcr.bazel.build/modules/rules_java/6.5.2/MODULE.bazel": "1d440d262d0e08453fa0c4d8f699ba81609ed0e9a9a0f02cd10b3e7942e61e31", "https://bcr.bazel.build/modules/rules_java/7.10.0/MODULE.bazel": "530c3beb3067e870561739f1144329a21c851ff771cd752a49e06e3dc9c2e71a", @@ -116,6 +123,8 @@ "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", "https://bcr.bazel.build/modules/rules_license/1.0.0/MODULE.bazel": "a7fda60eefdf3d8c827262ba499957e4df06f659330bbe6cdbdb975b768bb65c", "https://bcr.bazel.build/modules/rules_license/1.0.0/source.json": "a52c89e54cc311196e478f8382df91c15f7a2bfdf4c6cd0e2675cc2ff0b56efb", + "https://bcr.bazel.build/modules/rules_oci/2.2.3/MODULE.bazel": "1b6ecbe5aed7c1d0dc5659f3dff046ab88851f935df3af351b9e90fcf965135d", + "https://bcr.bazel.build/modules/rules_oci/2.2.3/source.json": "0b4fd9acc23a123b2712abf1bd339b87ce0ffe8875c0859458d41212d2a771aa", "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", "https://bcr.bazel.build/modules/rules_pkg/1.0.1/MODULE.bazel": "5b1df97dbc29623bccdf2b0dcd0f5cb08e2f2c9050aab1092fd39a41e82686ff", "https://bcr.bazel.build/modules/rules_pkg/1.0.1/source.json": "bd82e5d7b9ce2d31e380dd9f50c111d678c3bdaca190cb76b0e1c71b05e1ba8a", @@ -138,7 +147,9 @@ "https://bcr.bazel.build/modules/rules_shell/0.3.0/source.json": "c55ed591aa5009401ddf80ded9762ac32c358d2517ee7820be981e2de9756cf3", "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", + "https://bcr.bazel.build/modules/stardoc/0.5.4/MODULE.bazel": "6569966df04610b8520957cb8e97cf2e9faac2c0309657c537ab51c16c18a2a4", "https://bcr.bazel.build/modules/stardoc/0.5.6/MODULE.bazel": "c43dabc564990eeab55e25ed61c07a1aadafe9ece96a4efabb3f8bf9063b71ef", + "https://bcr.bazel.build/modules/stardoc/0.6.2/MODULE.bazel": "7060193196395f5dd668eda046ccbeacebfd98efc77fed418dbe2b82ffaa39fd", "https://bcr.bazel.build/modules/stardoc/0.7.0/MODULE.bazel": "05e3d6d30c099b6770e97da986c53bd31844d7f13d41412480ea265ac9e8079c", "https://bcr.bazel.build/modules/stardoc/0.7.1/MODULE.bazel": "3548faea4ee5dda5580f9af150e79d0f6aea934fc60c1cc50f4efdd9420759e7", "https://bcr.bazel.build/modules/stardoc/0.7.1/source.json": "b6500ffcd7b48cd72c29bb67bcac781e12701cc0d6d55d266a652583cfcdab01", @@ -151,22 +162,6 @@ }, "selectedYankedVersions": {}, "moduleExtensions": { - "@@platforms//host:extension.bzl%host_platform": { - "general": { - "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", - "usagesDigest": "SeQiIN/f8/Qt9vYQk7qcXp4I4wJeEC0RnQDiaaJ4tb8=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "host_platform": { - "repoRuleId": "@@platforms//host:extension.bzl%host_platform_repo", - "attributes": {} - } - }, - "recordedRepoMappingEntries": [] - } - }, "@@rules_java+//java:rules_java_deps.bzl%compatibility_proxy": { "general": { "bzlTransitiveDigest": "84xJEZ1jnXXwo8BXMprvBm++rRt4jsTu9liBxz0ivps=", @@ -252,6 +247,442 @@ ] ] } + }, + "@@rules_oci+//oci:extensions.bzl%oci": { + "general": { + "bzlTransitiveDigest": "YDlk1fPnlHbKEYsmKy4WSWzUgoLXLjuslR435yz/oRA=", + "usagesDigest": "RZF2ZU4f5Ed1shgRYurDOVj+qByNvswIGFGBrBm4JN4=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "distroless_base_linux_amd64": { + "repoRuleId": "@@rules_oci+//oci/private:pull.bzl%oci_pull", + "attributes": { + "scheme": "https", + "registry": "gcr.io", + "repository": "distroless/base", + "identifier": "sha256:125eb09bbd8e818da4f9eac0dfc373892ca75bec4630aa642d315ecf35c1afb7", + "platform": "linux/amd64", + "target_name": "distroless_base_linux_amd64", + "bazel_tags": [] + } + }, + "distroless_base_linux_arm64_v8": { + "repoRuleId": "@@rules_oci+//oci/private:pull.bzl%oci_pull", + "attributes": { + "scheme": "https", + "registry": "gcr.io", + "repository": "distroless/base", + "identifier": "sha256:125eb09bbd8e818da4f9eac0dfc373892ca75bec4630aa642d315ecf35c1afb7", + "platform": "linux/arm64/v8", + "target_name": "distroless_base_linux_arm64_v8", + "bazel_tags": [] + } + }, + "distroless_base": { + "repoRuleId": "@@rules_oci+//oci/private:pull.bzl%oci_alias", + "attributes": { + "target_name": "distroless_base", + "scheme": "https", + "registry": "gcr.io", + "repository": "distroless/base", + "identifier": "sha256:125eb09bbd8e818da4f9eac0dfc373892ca75bec4630aa642d315ecf35c1afb7", + "platforms": { + "@@platforms//cpu:x86_64": "@distroless_base_linux_amd64", + "@@platforms//cpu:arm64": "@distroless_base_linux_arm64_v8" + }, + "bzlmod_repository": "distroless_base", + "reproducible": true + } + }, + "bazel_features_version": { + "repoRuleId": "@@bazel_features+//private:version_repo.bzl%version_repo", + "attributes": {} + }, + "bazel_features_globals": { + "repoRuleId": "@@bazel_features+//private:globals_repo.bzl%globals_repo", + "attributes": { + "globals": { + "CcSharedLibraryInfo": "6.0.0-pre.20220630.1", + "CcSharedLibraryHintInfo": "7.0.0-pre.20230316.2", + "PackageSpecificationInfo": "6.4.0", + "RunEnvironmentInfo": "5.3.0", + "DefaultInfo": "0.0.1", + "__TestingOnly_NeverAvailable": "1000000000.0.0" + }, + "legacy_globals": { + "JavaInfo": "8.0.0", + "JavaPluginInfo": "8.0.0", + "ProtoInfo": "8.0.0", + "PyCcLinkParamsProvider": "8.0.0", + "PyInfo": "8.0.0", + "PyRuntimeInfo": "8.0.0" + } + } + }, + "bazel_skylib": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "sha256": "9f38886a40548c6e96c106b752f242130ee11aaa068a56ba7e56f4511f33e4f2", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.6.1/bazel-skylib-1.6.1.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.6.1/bazel-skylib-1.6.1.tar.gz" + ] + } + }, + "jq_darwin_amd64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_platform_repo", + "attributes": { + "platform": "darwin_amd64", + "version": "1.7" + } + }, + "jq_darwin_arm64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_platform_repo", + "attributes": { + "platform": "darwin_arm64", + "version": "1.7" + } + }, + "jq_linux_amd64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_platform_repo", + "attributes": { + "platform": "linux_amd64", + "version": "1.7" + } + }, + "jq_linux_arm64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_platform_repo", + "attributes": { + "platform": "linux_arm64", + "version": "1.7" + } + }, + "jq_windows_amd64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_platform_repo", + "attributes": { + "platform": "windows_amd64", + "version": "1.7" + } + }, + "jq": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_host_alias_repo", + "attributes": {} + }, + "jq_toolchains": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_toolchains_repo", + "attributes": { + "user_repository_name": "jq" + } + }, + "bsd_tar_darwin_amd64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:tar_toolchain.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "bsd_tar_darwin_arm64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:tar_toolchain.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "darwin_arm64" + } + }, + "bsd_tar_linux_amd64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:tar_toolchain.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "bsd_tar_linux_arm64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:tar_toolchain.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "bsd_tar_windows_amd64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:tar_toolchain.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "windows_amd64" + } + }, + "bsd_tar_toolchains": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:tar_toolchain.bzl%tar_toolchains_repo", + "attributes": { + "user_repository_name": "bsd_tar" + } + }, + "coreutils_darwin_amd64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", + "attributes": { + "platform": "darwin_amd64", + "version": "0.0.27" + } + }, + "coreutils_darwin_arm64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", + "attributes": { + "platform": "darwin_arm64", + "version": "0.0.27" + } + }, + "coreutils_linux_amd64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", + "attributes": { + "platform": "linux_amd64", + "version": "0.0.27" + } + }, + "coreutils_linux_arm64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", + "attributes": { + "platform": "linux_arm64", + "version": "0.0.27" + } + }, + "coreutils_windows_amd64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", + "attributes": { + "platform": "windows_amd64", + "version": "0.0.27" + } + }, + "coreutils_toolchains": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_toolchains_repo", + "attributes": { + "user_repository_name": "coreutils" + } + }, + "copy_to_directory_darwin_amd64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "copy_to_directory_darwin_arm64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", + "attributes": { + "platform": "darwin_arm64" + } + }, + "copy_to_directory_freebsd_amd64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", + "attributes": { + "platform": "freebsd_amd64" + } + }, + "copy_to_directory_linux_amd64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "copy_to_directory_linux_arm64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "copy_to_directory_linux_s390x": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", + "attributes": { + "platform": "linux_s390x" + } + }, + "copy_to_directory_windows_amd64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", + "attributes": { + "platform": "windows_amd64" + } + }, + "copy_to_directory_toolchains": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_toolchains_repo", + "attributes": { + "user_repository_name": "copy_to_directory" + } + }, + "zstd_darwin_amd64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:zstd_toolchain.bzl%zstd_binary_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "zstd_darwin_arm64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:zstd_toolchain.bzl%zstd_binary_repo", + "attributes": { + "platform": "darwin_arm64" + } + }, + "zstd_linux_amd64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:zstd_toolchain.bzl%zstd_binary_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "zstd_linux_arm64": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:zstd_toolchain.bzl%zstd_binary_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "zstd_toolchains": { + "repoRuleId": "@@aspect_bazel_lib+//lib/private:zstd_toolchain.bzl%zstd_toolchains_repo", + "attributes": { + "user_repository_name": "zstd" + } + }, + "oci_crane_darwin_amd64": { + "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", + "attributes": { + "platform": "darwin_amd64", + "crane_version": "v0.18.0" + } + }, + "oci_crane_darwin_arm64": { + "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", + "attributes": { + "platform": "darwin_arm64", + "crane_version": "v0.18.0" + } + }, + "oci_crane_linux_arm64": { + "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", + "attributes": { + "platform": "linux_arm64", + "crane_version": "v0.18.0" + } + }, + "oci_crane_linux_armv6": { + "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", + "attributes": { + "platform": "linux_armv6", + "crane_version": "v0.18.0" + } + }, + "oci_crane_linux_i386": { + "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", + "attributes": { + "platform": "linux_i386", + "crane_version": "v0.18.0" + } + }, + "oci_crane_linux_s390x": { + "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", + "attributes": { + "platform": "linux_s390x", + "crane_version": "v0.18.0" + } + }, + "oci_crane_linux_amd64": { + "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", + "attributes": { + "platform": "linux_amd64", + "crane_version": "v0.18.0" + } + }, + "oci_crane_windows_armv6": { + "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", + "attributes": { + "platform": "windows_armv6", + "crane_version": "v0.18.0" + } + }, + "oci_crane_windows_amd64": { + "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", + "attributes": { + "platform": "windows_amd64", + "crane_version": "v0.18.0" + } + }, + "oci_crane_toolchains": { + "repoRuleId": "@@rules_oci+//oci/private:toolchains_repo.bzl%toolchains_repo", + "attributes": { + "toolchain_type": "@rules_oci//oci:crane_toolchain_type", + "toolchain": "@oci_crane_{platform}//:crane_toolchain" + } + }, + "oci_regctl_darwin_amd64": { + "repoRuleId": "@@rules_oci+//oci:repositories.bzl%regctl_repositories", + "attributes": { + "platform": "darwin_amd64" + } + }, + "oci_regctl_darwin_arm64": { + "repoRuleId": "@@rules_oci+//oci:repositories.bzl%regctl_repositories", + "attributes": { + "platform": "darwin_arm64" + } + }, + "oci_regctl_linux_arm64": { + "repoRuleId": "@@rules_oci+//oci:repositories.bzl%regctl_repositories", + "attributes": { + "platform": "linux_arm64" + } + }, + "oci_regctl_linux_s390x": { + "repoRuleId": "@@rules_oci+//oci:repositories.bzl%regctl_repositories", + "attributes": { + "platform": "linux_s390x" + } + }, + "oci_regctl_linux_amd64": { + "repoRuleId": "@@rules_oci+//oci:repositories.bzl%regctl_repositories", + "attributes": { + "platform": "linux_amd64" + } + }, + "oci_regctl_windows_amd64": { + "repoRuleId": "@@rules_oci+//oci:repositories.bzl%regctl_repositories", + "attributes": { + "platform": "windows_amd64" + } + }, + "oci_regctl_toolchains": { + "repoRuleId": "@@rules_oci+//oci/private:toolchains_repo.bzl%toolchains_repo", + "attributes": { + "toolchain_type": "@rules_oci//oci:regctl_toolchain_type", + "toolchain": "@oci_regctl_{platform}//:regctl_toolchain" + } + } + }, + "moduleExtensionMetadata": { + "explicitRootModuleDirectDeps": [ + "distroless_base", + "distroless_base_linux_amd64", + "distroless_base_linux_arm64_v8" + ], + "explicitRootModuleDirectDevDeps": [], + "useAllRepos": "NO", + "reproducible": false + }, + "recordedRepoMappingEntries": [ + [ + "aspect_bazel_lib+", + "bazel_tools", + "bazel_tools" + ], + [ + "bazel_features+", + "bazel_tools", + "bazel_tools" + ], + [ + "rules_oci+", + "aspect_bazel_lib", + "aspect_bazel_lib+" + ], + [ + "rules_oci+", + "bazel_features", + "bazel_features+" + ], + [ + "rules_oci+", + "bazel_skylib", + "bazel_skylib+" + ] + ] + } } } } From 0f3047a94440fe41089d9225e40e1efb237d45ec Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 30 Mar 2025 14:25:34 +1100 Subject: [PATCH 065/381] ci: Extract paths from bazel info to use for finding test and coverage. --- .github/workflows/ci.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a92c94a9f..f160806d3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,9 +1,10 @@ -name: CI +name: ci on: push: pull_request: merge_group: + env: GOPROXY: "https://proxy.golang.org" @@ -36,17 +37,18 @@ jobs: - run: bazel build //... - name: bazel test run: bazel coverage --test_output=all --combined_report=lcov --instrument_test_targets --nocache_test_results --instrumentation_filter="^//" //... - - name: copy test results into workspace + - name: output bazel paths for test and coverage if: always() + id: bazel_info run: | - cp -Lpr $(bazel info bazel-testlogs)/ test-results - cp -Lpr $(bazel info output_path)/_coverage/_coverage_report.dat coverage_report.dat - - uses: EnricoMi/publish-unit-test-result-action@v2 + bazel info bazel-testlogs output_path | sed -e 's/: /=/' >> $GITHUB_OUTPUT + - uses: EnricoMi/publish-unit-test-result-action/linux@v2 if: always() with: - files: | - test-results/**/test.xml + files: ${{ steps.bazel_info.outputs.bazel-testlogs }}/**/test.xml - uses: codecov/codecov-action@v5 if: always() env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + with: + files: ${{ steps.bazel_info.outputs.output_path }}/_coverage/_coverage_report.dat From 62e910198b86e3fa99530d41320fd0709b3bbe49 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 30 Mar 2025 15:14:23 +1100 Subject: [PATCH 066/381] build: Update versions so that `bazel` can succeed on CI. --- MODULE.bazel | 20 +++++++++++++------- MODULE.bazel.lock | 4 +++- go.mod | 12 ++++++------ go.sum | 24 ++++++++++-------------- internal/mtail/BUILD.bazel | 2 +- 5 files changed, 33 insertions(+), 29 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index c0e316dd1..55f6e8200 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -1,17 +1,23 @@ -############################################################################### -# Bazel now uses Bzlmod by default to manage external dependencies. -# Please consider migrating your external dependencies from WORKSPACE to MODULE.bazel. -# -# For more details, please check https://github.com/bazelbuild/bazel/issues/18958 -############################################################################### module( name = "mtail", version = "3", ) bazel_dep(name = "rules_go", version = "0.53.0") -bazel_dep(name = "gazelle", version = "0.36.0") +go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") +go_sdk.download(version = "1.23.7") + +# https://github.com/bazel-contrib/rules_go/blob/master/go/nogo.rst +# Like golangci-lint, but integrated into the build. +go_sdk.nogo(nogo = "//:nogo") + +bazel_dep(name = "gazelle", version = "0.42.0") + +# Update dependencies with +# `bazel run //:gazelle`. +# and then +# `bazel run @rules_go//go -- mod tidy` go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps") go_deps.from_file(go_mod = "//:go.mod") use_repo( diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 5abf07936..974d158e0 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -44,7 +44,8 @@ "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", - "https://bcr.bazel.build/modules/gazelle/0.36.0/source.json": "0823f097b127e0201ae55d85647c94095edfe27db0431a7ae880dcab08dfaa04", + "https://bcr.bazel.build/modules/gazelle/0.42.0/MODULE.bazel": "fa140a7c019f3a22779ba7c6132ffff9d2d10a51dba2f3304dee61523d11fef4", + "https://bcr.bazel.build/modules/gazelle/0.42.0/source.json": "eb6f7b0cb76c52d2679164910a01fa6ddcee409e6a7fee06e602ef259f65165c", "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", @@ -94,6 +95,7 @@ "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel": "55861d8e8bb0e62cbd2896f60ff303f62ffcb0eddb74ecb0e5c0cbe36fc292c8", "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", + "https://bcr.bazel.build/modules/rules_go/0.50.1/MODULE.bazel": "b91a308dc5782bb0a8021ad4330c81fea5bda77f96b9e4c117b9b9c8f6665ee0", "https://bcr.bazel.build/modules/rules_go/0.53.0/MODULE.bazel": "a4ed760d3ac0dbc0d7b967631a9a3fd9100d28f7d9fcf214b4df87d4bfff5f9a", "https://bcr.bazel.build/modules/rules_go/0.53.0/source.json": "c6dc34fb5bb8838652221a167d8f35ca3c8fdcbff8568f13cc75719802f95cff", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", diff --git a/go.mod b/go.mod index 0dc56a627..e8545a7d8 100644 --- a/go.mod +++ b/go.mod @@ -1,12 +1,13 @@ module github.com/jaqx0r/mtail -go 1.21.1 +go 1.23.0 + toolchain go1.23.7 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 + github.com/bazelbuild/rules_go v0.53.0 github.com/golang/glog v1.2.4 - github.com/bazelbuild/rules_go v0.45.0 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 @@ -19,16 +20,15 @@ require ( require ( github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/golang/protobuf v1.5.3 // indirect github.com/klauspost/compress v1.17.11 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect - golang.org/x/sync v0.7.0 // indirect + golang.org/x/sync v0.8.0 // indirect google.golang.org/api v0.105.0 // indirect - google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect - google.golang.org/grpc v1.56.3 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect + google.golang.org/grpc v1.67.3 // indirect google.golang.org/protobuf v1.36.5 // indirect ) diff --git a/go.sum b/go.sum index 6fa806266..5f571e387 100644 --- a/go.sum +++ b/go.sum @@ -25,8 +25,8 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXV 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/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/bazelbuild/rules_go v0.45.0 h1:ZPsHcsau3SXFQJOpqD+Ey9/RU6qjiUhdTAZI+Q8e2gY= -github.com/bazelbuild/rules_go v0.45.0/go.mod h1:Dhcz716Kqg1RHNWos+N6MlXNkjNP2EwZQ0LukRKJfMs= +github.com/bazelbuild/rules_go v0.53.0 h1:u160DT+RRb+Xb2aSO4piN8xhs4aZvWz2UDXCq48F4ao= +github.com/bazelbuild/rules_go v0.53.0/go.mod h1:xB1jfsYHWlnZyPPxzlOSst4q2ZAwS251Mp9Iw6TPuBc= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -72,9 +72,8 @@ github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:W github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= 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.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= 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/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -83,7 +82,6 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.4.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.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= @@ -211,8 +209,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -315,8 +313,8 @@ google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -327,8 +325,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.56.3 h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc= -google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.67.3 h1:OgPcDAFKHnH8X3O4WcO4XUc8GRDeKsKReqbQtiCj7N8= +google.golang.org/grpc v1.67.3/go.mod h1:YGaHCc6Oap+FzBJTZLBzkGSYt/cvGPFTPxkn7QfSU8s= 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-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -338,8 +336,6 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= 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/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/internal/mtail/BUILD.bazel b/internal/mtail/BUILD.bazel index 4aad3030a..42b83ec2c 100644 --- a/internal/mtail/BUILD.bazel +++ b/internal/mtail/BUILD.bazel @@ -69,7 +69,7 @@ go_test( "//internal/testutil", "//internal/waker", "@com_github_golang_glog//:glog", - "@rules_go//go/tools/bazel:go_default_library", + "@rules_go//go/tools/bazel", ] + select({ "@rules_go//go/platform:aix": [ "@org_golang_x_sys//unix", From 9a2e04ed93797bf737e7c7cf8e0c925a40a94feb Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 30 Mar 2025 19:36:05 +1100 Subject: [PATCH 067/381] ci: Issue ci on workflow_dispatch. --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f160806d3..fb707272c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,8 +2,12 @@ name: ci on: push: + tags: + branches: + - main pull_request: merge_group: + workflow_dispatch: env: GOPROXY: "https://proxy.golang.org" From 49ad5515874c4f92ab7e14e5bd1e011803594a30 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 30 Mar 2025 19:39:55 +1100 Subject: [PATCH 068/381] ci: Remove golangci-lint, replaced by `nogo` as part of build. --- .github/workflows/golangci-lint.yml | 32 ----------------------------- 1 file changed, 32 deletions(-) delete mode 100644 .github/workflows/golangci-lint.yml diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml deleted file mode 100644 index 897db9475..000000000 --- a/.github/workflows/golangci-lint.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: golangci-lint -on: - push: - branches: - - main - pull_request: - -jobs: - golangci: - name: lint - runs-on: ubuntu-latest - permissions: - # contents required to read the change - contents: read - # allow read access to any pull request - pull-requests: read - # golangci-lint does annotations, not comments, which needs `checks` to annotate the code. - # These are hidden in the code, and not visible as comments in the PR. - # https://github.com/golangci/golangci-lint-action/issues/5 - # No-one knows what an annotation is, but I suspect it's printing file:line: msg to stdout. - # https://github.community/t/what-are-annotations/16173/2 - checks: write - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - - uses: golangci/golangci-lint-action@v7 - with: - # Required: the version of golangci-lint is required and must be - # specified without patch version: we always use the latest patch - # version. - version: v1.64 - only-new-issues: ${{ github.event_name == 'pull_request' }} From e9c146963e945bdd6f5a933b932082f5110f506b Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 30 Mar 2025 19:44:23 +1100 Subject: [PATCH 069/381] doc: Update README for new build system. --- README.md | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 510374122..b8d8cfcc7 100644 --- a/README.md +++ b/README.md @@ -49,29 +49,27 @@ Windows, OSX and Linux binaries are available. ### Building from source -The simplest way to get `mtail` is to `go get` it directly. +`mtail` uses [`bazel`](https://bazel.build) for its speed, hermeticity, and support for cross-language compilation. Install [`bazelisk`](https://bazel.build/install/bazelisk) to manage Bazel for you. -`go get github.com/jaqx0r/mtail/cmd/mtail` - -This assumes you have a working Go environment with a recent Go version. Usually mtail is tested to work with the last two minor versions (e.g. Go 1.12 and Go 1.11). - -If you want to fetch everything, you need to turn on Go Modules to succeed because of the way Go Modules have changed the way go get treats source trees with no Go code at the top level. +Then: ``` -GO111MODULE=on go get -u github.com/jaqx0r/mtail -cd $GOPATH/src/github.com/jaqx0r/mtail -make install +bazel build //cmd/mtail ``` -If you develop the compiler you will need some additional tools -like `goyacc` to be able to rebuild the parser. - See the [Build instructions](https://jaqx0r.github.io/mtail/Building) for more details. -A `Dockerfile` is included in this repository for local development as an -alternative to installing Go in your environment, and takes care of all the -build dependency installation, if you don't care for that. +The build system can also emit an OCI container image for you. +``` +bazel build //:oci_image +``` + +will create it, but to run it the best option is to load it into your local container runtime + +``` +bazel run //:load_image +``` ## Deployment From 6ae7f083f72699055ab9e0b5bb742588947ccb1d Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 17 Apr 2025 10:28:46 +1000 Subject: [PATCH 070/381] Use go_sdk.from_file to get Go toolchain version from go.mod --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 55f6e8200..c5186b733 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -6,7 +6,7 @@ module( bazel_dep(name = "rules_go", version = "0.53.0") go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") -go_sdk.download(version = "1.23.7") +go_sdk.from_file(go_mod = "//:go.mod") # https://github.com/bazel-contrib/rules_go/blob/master/go/nogo.rst # Like golangci-lint, but integrated into the build. From a592533bea746ad1890bbff63551dfac4ddbf904 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 17 Apr 2025 11:23:12 +1000 Subject: [PATCH 071/381] Update rules_go to 0.54 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index c5186b733..371c0a9f8 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -3,7 +3,7 @@ module( version = "3", ) -bazel_dep(name = "rules_go", version = "0.53.0") +bazel_dep(name = "rules_go", version = "0.54.0") go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") go_sdk.from_file(go_mod = "//:go.mod") From ac0aefc296f321176a96d43583e4a7f0e75d3450 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 18 Apr 2025 01:15:17 +0000 Subject: [PATCH 072/381] Add renovate.json --- renovate.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 renovate.json diff --git a/renovate.json b/renovate.json new file mode 100644 index 000000000..5db72dd6a --- /dev/null +++ b/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ] +} From 1a5e66bd3a3042e187ef45b63a2e472c58b3de94 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 18 Apr 2025 02:20:20 +0000 Subject: [PATCH 073/381] build(deps): bump golang.org/x/sys from 0.31.0 to 0.32.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.31.0 to 0.32.0. - [Commits](https://github.com/golang/sys/compare/v0.31.0...v0.32.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-version: 0.32.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e8545a7d8..2ffb75302 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/prometheus/client_golang v1.21.1 github.com/prometheus/common v0.63.0 go.opencensus.io v0.24.0 - golang.org/x/sys v0.31.0 + golang.org/x/sys v0.32.0 ) require ( diff --git a/go.sum b/go.sum index 5f571e387..a3e92017e 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From bf216dfe0cb86628960c6ab6feb8b777465cbcf8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 18 Apr 2025 02:24:40 +0000 Subject: [PATCH 074/381] build(deps): bump github.com/prometheus/client_golang Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.21.1 to 1.22.0. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.21.1...v1.22.0) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-version: 1.22.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 3 +-- go.sum | 8 ++++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 2ffb75302..c614f3a3e 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 - github.com/prometheus/client_golang v1.21.1 + github.com/prometheus/client_golang v1.22.0 github.com/prometheus/common v0.63.0 go.opencensus.io v0.24.0 golang.org/x/sys v0.32.0 @@ -20,7 +20,6 @@ require ( require ( github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/klauspost/compress v1.17.11 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/prometheus/client_model v0.6.1 // indirect diff --git a/go.sum b/go.sum index a3e92017e..5ad8028d0 100644 --- a/go.sum +++ b/go.sum @@ -100,8 +100,8 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1: github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= -github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= +github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= +github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -113,8 +113,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.21.1 h1:DOvXXTqVzvkIewV/CDPFdejpMCGeMcbGCQ8YOmu+Ibk= -github.com/prometheus/client_golang v1.21.1/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg= +github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q= +github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= From ed26b144dc8e14ea80f019231111cd389d4c23e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 18 Apr 2025 02:28:58 +0000 Subject: [PATCH 075/381] build(deps): bump github.com/bazelbuild/rules_go from 0.53.0 to 0.54.0 Bumps [github.com/bazelbuild/rules_go](https://github.com/bazelbuild/rules_go) from 0.53.0 to 0.54.0. - [Release notes](https://github.com/bazelbuild/rules_go/releases) - [Commits](https://github.com/bazelbuild/rules_go/compare/v0.53.0...v0.54.0) --- updated-dependencies: - dependency-name: github.com/bazelbuild/rules_go dependency-version: 0.54.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index c614f3a3e..b2b22bed2 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.23.7 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 - github.com/bazelbuild/rules_go v0.53.0 + github.com/bazelbuild/rules_go v0.54.0 github.com/golang/glog v1.2.4 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da github.com/google/go-cmp v0.7.0 @@ -25,7 +25,7 @@ require ( github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect - golang.org/x/sync v0.8.0 // indirect + golang.org/x/sync v0.11.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect google.golang.org/grpc v1.67.3 // indirect diff --git a/go.sum b/go.sum index 5ad8028d0..845f9c9db 100644 --- a/go.sum +++ b/go.sum @@ -25,8 +25,8 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXV 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/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/bazelbuild/rules_go v0.53.0 h1:u160DT+RRb+Xb2aSO4piN8xhs4aZvWz2UDXCq48F4ao= -github.com/bazelbuild/rules_go v0.53.0/go.mod h1:xB1jfsYHWlnZyPPxzlOSst4q2ZAwS251Mp9Iw6TPuBc= +github.com/bazelbuild/rules_go v0.54.0 h1:D9aCU7j5rdRxg2rXOZX5zHZ395XC0KbgC4rnyaQ3ofM= +github.com/bazelbuild/rules_go v0.54.0/go.mod h1:T90Gpyq4HDFlsrvtQa2CBdHNJ2P4rAu/uUTmQbanzf0= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -209,8 +209,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= +golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= From 6ee2022bcc770aa46f37f30c13fadbb2de0c0e54 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 18 Apr 2025 02:32:07 +0000 Subject: [PATCH 076/381] chore(deps): update distroless_base docker digest to 2776987 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 371c0a9f8..44c5286ce 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -41,7 +41,7 @@ bazel_dep(name = "platforms", version = "0.0.11") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:125eb09bbd8e818da4f9eac0dfc373892ca75bec4630aa642d315ecf35c1afb7", + digest = "sha256:27769871031f67460f1545a52dfacead6d18a9f197db77110cfc649ca2a91f44", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From 2aa310947977aa5c1b4e0cf47e79b52e1fc9ccbf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 18 Apr 2025 02:35:17 +0000 Subject: [PATCH 077/381] chore(deps): update hmarr/auto-approve-action digest to 8f92909 --- .github/workflows/automerge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index aa12eae84..4e4c7185f 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -55,6 +55,6 @@ jobs: # auto-approve-action requires write on pull-requests pull-requests: write steps: - - uses: hmarr/auto-approve-action@f0939ea97e9205ef24d872e76833fa908a770363 + - uses: hmarr/auto-approve-action@8f929096a962e83ccdfa8afcf855f39f12d4dac7 with: github-token: "${{ secrets.GITHUB_TOKEN }}" From 2083c6980ce3260a4d2580c201dcae514f047b8e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 18 Apr 2025 02:39:12 +0000 Subject: [PATCH 078/381] fix(deps): update github.com/golang/groupcache digest to 2c02b82 --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index b2b22bed2..a6f21a2ba 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 github.com/bazelbuild/rules_go v0.54.0 github.com/golang/glog v1.2.4 - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da + github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.22.0 diff --git a/go.sum b/go.sum index 845f9c9db..a0371eb14 100644 --- a/go.sum +++ b/go.sum @@ -55,6 +55,8 @@ github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4er github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= From a8282f7b0fd94d3beedeb981d1ddf75dec5b5dc4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 18 Apr 2025 02:42:05 +0000 Subject: [PATCH 079/381] chore(deps): update dependency rules_oci to v2.2.5 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 44c5286ce..8f7ed1b6b 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -35,7 +35,7 @@ use_repo( # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. bazel_dep(name = "aspect_bazel_lib", version = "2.14.0") -bazel_dep(name = "rules_oci", version = "2.2.3") +bazel_dep(name = "rules_oci", version = "2.2.5") bazel_dep(name = "platforms", version = "0.0.11") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") From c72cd96e60602625fa49b19485cf85a20e4c6f2d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 18 Apr 2025 05:27:27 +0000 Subject: [PATCH 080/381] chore(deps): update dependency gazelle to v0.43.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 8f7ed1b6b..d4284b834 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -12,7 +12,7 @@ go_sdk.from_file(go_mod = "//:go.mod") # Like golangci-lint, but integrated into the build. go_sdk.nogo(nogo = "//:nogo") -bazel_dep(name = "gazelle", version = "0.42.0") +bazel_dep(name = "gazelle", version = "0.43.0") # Update dependencies with # `bazel run //:gazelle`. From 5e76e59c8b34057b627a89dc2c4913b325014b5b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 18 Apr 2025 12:06:11 +0000 Subject: [PATCH 081/381] chore(deps): update dependency go to v1.24.2 --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index a6f21a2ba..a6d116dfe 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/jaqx0r/mtail go 1.23.0 -toolchain go1.23.7 +toolchain go1.24.2 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 From 80787e8b1af840ecc865d3048577e238e421c50a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 03:46:50 +0000 Subject: [PATCH 082/381] chore(deps): update dependency rules_oci to v2.2.6 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index d4284b834..942839795 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -35,7 +35,7 @@ use_repo( # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. bazel_dep(name = "aspect_bazel_lib", version = "2.14.0") -bazel_dep(name = "rules_oci", version = "2.2.5") +bazel_dep(name = "rules_oci", version = "2.2.6") bazel_dep(name = "platforms", version = "0.0.11") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") From f9a6b462abaa291e37a14c0aacb4f965fb48bf7a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 23:10:37 +0000 Subject: [PATCH 083/381] build(deps): bump sigstore/cosign-installer from 3.8.1 to 3.8.2 Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.8.1 to 3.8.2. - [Release notes](https://github.com/sigstore/cosign-installer/releases) - [Commits](https://github.com/sigstore/cosign-installer/compare/v3.8.1...v3.8.2) --- updated-dependencies: - dependency-name: sigstore/cosign-installer dependency-version: 3.8.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 20b454bbc..7be28345a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -138,7 +138,7 @@ jobs: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - uses: sigstore/cosign-installer@v3.8.1 + - uses: sigstore/cosign-installer@v3.8.2 - name: verify image env: IMAGE: ${{ matrix.image }} From 3c6f70feff0d3ce5ab27a8a76c67f6919a99c85d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Apr 2025 11:26:15 +0000 Subject: [PATCH 084/381] chore(deps): update dependency aspect_bazel_lib to v2.15.3 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 942839795..d6e450034 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -34,7 +34,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.14.0") +bazel_dep(name = "aspect_bazel_lib", version = "2.15.3") bazel_dep(name = "rules_oci", version = "2.2.6") bazel_dep(name = "platforms", version = "0.0.11") From b4d0e4100f3eaa84e58b2e07f14ad2152baa7d2f Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 5 Apr 2025 13:49:26 +1100 Subject: [PATCH 085/381] feat: Support OpenTelemetry in the Exporter. Adds basic support for converting an integer counter from the Store into an OTel counter metric. --- MODULE.bazel | 4 + MODULE.bazel.lock | 290 +++------------------------------- go.mod | 20 ++- go.sum | 39 ++++- internal/exporter/BUILD.bazel | 4 + internal/exporter/otel.go | 85 ++++++++++ internal/mtail/BUILD.bazel | 4 + internal/mtail/mtail.go | 22 +++ 8 files changed, 188 insertions(+), 280 deletions(-) create mode 100644 internal/exporter/otel.go diff --git a/MODULE.bazel b/MODULE.bazel index d6e450034..9c6728bc3 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -30,6 +30,10 @@ use_repo( "com_github_prometheus_common", "io_opencensus_go", "io_opencensus_go_contrib_exporter_jaeger", + "io_opentelemetry_go_otel", + "io_opentelemetry_go_otel_exporters_otlp_otlpmetric_otlpmetricgrpc", + "io_opentelemetry_go_otel_sdk", + "io_opentelemetry_go_otel_sdk_metric", "org_golang_x_sys", ) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 974d158e0..05691b944 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -10,8 +10,8 @@ "https://bcr.bazel.build/modules/abseil-cpp/20230802.1/MODULE.bazel": "fa92e2eb41a04df73cdabeec37107316f7e5272650f81d6cc096418fe647b915", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/MODULE.bazel": "2b31ffcc9bdc8295b2167e07a757dbbc9ac8906e7028e5170a3708cecaac119f", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/source.json": "0cf1826853b0bef8b5cd19c0610d717500f5521aa2b38b72b2ec302ac5e7526c", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.15.3/MODULE.bazel": "c2940c50bb0a57edcc4339fe59cf00f0dbdefe1404b40f820ce97562df8fbdde", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.15.3/source.json": "4bf591ea07df41bbdfcec94e86e2a656a2c20553736dc4e9b8858b186347e2c9", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.2/MODULE.bazel": "780d1a6522b28f5edb7ea09630748720721dfe27690d65a2d33aa7509de77e07", "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd", @@ -44,8 +44,8 @@ "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", - "https://bcr.bazel.build/modules/gazelle/0.42.0/MODULE.bazel": "fa140a7c019f3a22779ba7c6132ffff9d2d10a51dba2f3304dee61523d11fef4", - "https://bcr.bazel.build/modules/gazelle/0.42.0/source.json": "eb6f7b0cb76c52d2679164910a01fa6ddcee409e6a7fee06e602ef259f65165c", + "https://bcr.bazel.build/modules/gazelle/0.43.0/MODULE.bazel": "846e1fe396eefc0f9ddad2b33e9bd364dd993fc2f42a88e31590fe0b0eefa3f0", + "https://bcr.bazel.build/modules/gazelle/0.43.0/source.json": "021a77f6625906d9d176e2fa351175e842622a5d45989312f2ad4924aab72df6", "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", @@ -96,8 +96,8 @@ "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", "https://bcr.bazel.build/modules/rules_go/0.50.1/MODULE.bazel": "b91a308dc5782bb0a8021ad4330c81fea5bda77f96b9e4c117b9b9c8f6665ee0", - "https://bcr.bazel.build/modules/rules_go/0.53.0/MODULE.bazel": "a4ed760d3ac0dbc0d7b967631a9a3fd9100d28f7d9fcf214b4df87d4bfff5f9a", - "https://bcr.bazel.build/modules/rules_go/0.53.0/source.json": "c6dc34fb5bb8838652221a167d8f35ca3c8fdcbff8568f13cc75719802f95cff", + "https://bcr.bazel.build/modules/rules_go/0.54.0/MODULE.bazel": "ebec39ed510d0d4122b60764623dda92ca7f175479b511bf7cd5de7f38e86747", + "https://bcr.bazel.build/modules/rules_go/0.54.0/source.json": "6eb9b4f4fc27ab5be79d84dcfcf971beea6caa91a1b02088a9ee314c88915cf3", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", @@ -109,8 +109,8 @@ "https://bcr.bazel.build/modules/rules_java/7.2.0/MODULE.bazel": "06c0334c9be61e6cef2c8c84a7800cef502063269a5af25ceb100b192453d4ab", "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel": "50dece891cfdf1741ea230d001aa9c14398062f2b7c066470accace78e412bc2", "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", - "https://bcr.bazel.build/modules/rules_java/8.6.1/MODULE.bazel": "f4808e2ab5b0197f094cabce9f4b006a27766beb6a9975931da07099560ca9c2", - "https://bcr.bazel.build/modules/rules_java/8.6.1/source.json": "f18d9ad3c4c54945bf422ad584fa6c5ca5b3116ff55a5b1bc77e5c1210be5960", + "https://bcr.bazel.build/modules/rules_java/8.11.0/MODULE.bazel": "c3d280bc5ff1038dcb3bacb95d3f6b83da8dd27bba57820ec89ea4085da767ad", + "https://bcr.bazel.build/modules/rules_java/8.11.0/source.json": "302b52a39259a85aa06ca3addb9787864ca3e03b432a5f964ea68244397e7544", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", @@ -125,8 +125,8 @@ "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", "https://bcr.bazel.build/modules/rules_license/1.0.0/MODULE.bazel": "a7fda60eefdf3d8c827262ba499957e4df06f659330bbe6cdbdb975b768bb65c", "https://bcr.bazel.build/modules/rules_license/1.0.0/source.json": "a52c89e54cc311196e478f8382df91c15f7a2bfdf4c6cd0e2675cc2ff0b56efb", - "https://bcr.bazel.build/modules/rules_oci/2.2.3/MODULE.bazel": "1b6ecbe5aed7c1d0dc5659f3dff046ab88851f935df3af351b9e90fcf965135d", - "https://bcr.bazel.build/modules/rules_oci/2.2.3/source.json": "0b4fd9acc23a123b2712abf1bd339b87ce0ffe8875c0859458d41212d2a771aa", + "https://bcr.bazel.build/modules/rules_oci/2.2.6/MODULE.bazel": "2ba6ddd679269e00aeffe9ca04faa2d0ca4129650982c9246d0d459fe2da47d9", + "https://bcr.bazel.build/modules/rules_oci/2.2.6/source.json": "94e7decb8f95d9465b0bbea71c65064cd16083be1350c7468f131818641dc4a5", "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", "https://bcr.bazel.build/modules/rules_pkg/1.0.1/MODULE.bazel": "5b1df97dbc29623bccdf2b0dcd0f5cb08e2f2c9050aab1092fd39a41e82686ff", "https://bcr.bazel.build/modules/rules_pkg/1.0.1/source.json": "bd82e5d7b9ce2d31e380dd9f50c111d678c3bdaca190cb76b0e1c71b05e1ba8a", @@ -164,28 +164,6 @@ }, "selectedYankedVersions": {}, "moduleExtensions": { - "@@rules_java+//java:rules_java_deps.bzl%compatibility_proxy": { - "general": { - "bzlTransitiveDigest": "84xJEZ1jnXXwo8BXMprvBm++rRt4jsTu9liBxz0ivps=", - "usagesDigest": "jTQDdLDxsS43zuRmg1faAjIEPWdLAbDAowI1pInQSoo=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "compatibility_proxy": { - "repoRuleId": "@@rules_java+//java:rules_java_deps.bzl%_compatibility_proxy_repo_rule", - "attributes": {} - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_java+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { "general": { "bzlTransitiveDigest": "sFhcgPbDQehmbD1EOXzX4H1q/CD5df8zwG4kp4jbvr8=", @@ -252,8 +230,8 @@ }, "@@rules_oci+//oci:extensions.bzl%oci": { "general": { - "bzlTransitiveDigest": "YDlk1fPnlHbKEYsmKy4WSWzUgoLXLjuslR435yz/oRA=", - "usagesDigest": "RZF2ZU4f5Ed1shgRYurDOVj+qByNvswIGFGBrBm4JN4=", + "bzlTransitiveDigest": "k571LUWYDKcUXkjL1xsFtUyXbWobEhtJzqAAw919IIk=", + "usagesDigest": "xawQJ9me2bCOm4HadLO6KUXfLI5Zp40G7uxMtPEF838=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -261,10 +239,11 @@ "distroless_base_linux_amd64": { "repoRuleId": "@@rules_oci+//oci/private:pull.bzl%oci_pull", "attributes": { + "www_authenticate_challenges": {}, "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:125eb09bbd8e818da4f9eac0dfc373892ca75bec4630aa642d315ecf35c1afb7", + "identifier": "sha256:27769871031f67460f1545a52dfacead6d18a9f197db77110cfc649ca2a91f44", "platform": "linux/amd64", "target_name": "distroless_base_linux_amd64", "bazel_tags": [] @@ -273,10 +252,11 @@ "distroless_base_linux_arm64_v8": { "repoRuleId": "@@rules_oci+//oci/private:pull.bzl%oci_pull", "attributes": { + "www_authenticate_challenges": {}, "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:125eb09bbd8e818da4f9eac0dfc373892ca75bec4630aa642d315ecf35c1afb7", + "identifier": "sha256:27769871031f67460f1545a52dfacead6d18a9f197db77110cfc649ca2a91f44", "platform": "linux/arm64/v8", "target_name": "distroless_base_linux_arm64_v8", "bazel_tags": [] @@ -286,10 +266,11 @@ "repoRuleId": "@@rules_oci+//oci/private:pull.bzl%oci_alias", "attributes": { "target_name": "distroless_base", + "www_authenticate_challenges": {}, "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:125eb09bbd8e818da4f9eac0dfc373892ca75bec4630aa642d315ecf35c1afb7", + "identifier": "sha256:27769871031f67460f1545a52dfacead6d18a9f197db77110cfc649ca2a91f44", "platforms": { "@@platforms//cpu:x86_64": "@distroless_base_linux_amd64", "@@platforms//cpu:arm64": "@distroless_base_linux_arm64_v8" @@ -298,241 +279,6 @@ "reproducible": true } }, - "bazel_features_version": { - "repoRuleId": "@@bazel_features+//private:version_repo.bzl%version_repo", - "attributes": {} - }, - "bazel_features_globals": { - "repoRuleId": "@@bazel_features+//private:globals_repo.bzl%globals_repo", - "attributes": { - "globals": { - "CcSharedLibraryInfo": "6.0.0-pre.20220630.1", - "CcSharedLibraryHintInfo": "7.0.0-pre.20230316.2", - "PackageSpecificationInfo": "6.4.0", - "RunEnvironmentInfo": "5.3.0", - "DefaultInfo": "0.0.1", - "__TestingOnly_NeverAvailable": "1000000000.0.0" - }, - "legacy_globals": { - "JavaInfo": "8.0.0", - "JavaPluginInfo": "8.0.0", - "ProtoInfo": "8.0.0", - "PyCcLinkParamsProvider": "8.0.0", - "PyInfo": "8.0.0", - "PyRuntimeInfo": "8.0.0" - } - } - }, - "bazel_skylib": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "sha256": "9f38886a40548c6e96c106b752f242130ee11aaa068a56ba7e56f4511f33e4f2", - "urls": [ - "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.6.1/bazel-skylib-1.6.1.tar.gz", - "https://github.com/bazelbuild/bazel-skylib/releases/download/1.6.1/bazel-skylib-1.6.1.tar.gz" - ] - } - }, - "jq_darwin_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_platform_repo", - "attributes": { - "platform": "darwin_amd64", - "version": "1.7" - } - }, - "jq_darwin_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_platform_repo", - "attributes": { - "platform": "darwin_arm64", - "version": "1.7" - } - }, - "jq_linux_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_platform_repo", - "attributes": { - "platform": "linux_amd64", - "version": "1.7" - } - }, - "jq_linux_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_platform_repo", - "attributes": { - "platform": "linux_arm64", - "version": "1.7" - } - }, - "jq_windows_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_platform_repo", - "attributes": { - "platform": "windows_amd64", - "version": "1.7" - } - }, - "jq": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_host_alias_repo", - "attributes": {} - }, - "jq_toolchains": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_toolchains_repo", - "attributes": { - "user_repository_name": "jq" - } - }, - "bsd_tar_darwin_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:tar_toolchain.bzl%bsdtar_binary_repo", - "attributes": { - "platform": "darwin_amd64" - } - }, - "bsd_tar_darwin_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:tar_toolchain.bzl%bsdtar_binary_repo", - "attributes": { - "platform": "darwin_arm64" - } - }, - "bsd_tar_linux_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:tar_toolchain.bzl%bsdtar_binary_repo", - "attributes": { - "platform": "linux_amd64" - } - }, - "bsd_tar_linux_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:tar_toolchain.bzl%bsdtar_binary_repo", - "attributes": { - "platform": "linux_arm64" - } - }, - "bsd_tar_windows_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:tar_toolchain.bzl%bsdtar_binary_repo", - "attributes": { - "platform": "windows_amd64" - } - }, - "bsd_tar_toolchains": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:tar_toolchain.bzl%tar_toolchains_repo", - "attributes": { - "user_repository_name": "bsd_tar" - } - }, - "coreutils_darwin_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", - "attributes": { - "platform": "darwin_amd64", - "version": "0.0.27" - } - }, - "coreutils_darwin_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", - "attributes": { - "platform": "darwin_arm64", - "version": "0.0.27" - } - }, - "coreutils_linux_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", - "attributes": { - "platform": "linux_amd64", - "version": "0.0.27" - } - }, - "coreutils_linux_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", - "attributes": { - "platform": "linux_arm64", - "version": "0.0.27" - } - }, - "coreutils_windows_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", - "attributes": { - "platform": "windows_amd64", - "version": "0.0.27" - } - }, - "coreutils_toolchains": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_toolchains_repo", - "attributes": { - "user_repository_name": "coreutils" - } - }, - "copy_to_directory_darwin_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", - "attributes": { - "platform": "darwin_amd64" - } - }, - "copy_to_directory_darwin_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", - "attributes": { - "platform": "darwin_arm64" - } - }, - "copy_to_directory_freebsd_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", - "attributes": { - "platform": "freebsd_amd64" - } - }, - "copy_to_directory_linux_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", - "attributes": { - "platform": "linux_amd64" - } - }, - "copy_to_directory_linux_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", - "attributes": { - "platform": "linux_arm64" - } - }, - "copy_to_directory_linux_s390x": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", - "attributes": { - "platform": "linux_s390x" - } - }, - "copy_to_directory_windows_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", - "attributes": { - "platform": "windows_amd64" - } - }, - "copy_to_directory_toolchains": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_toolchains_repo", - "attributes": { - "user_repository_name": "copy_to_directory" - } - }, - "zstd_darwin_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:zstd_toolchain.bzl%zstd_binary_repo", - "attributes": { - "platform": "darwin_amd64" - } - }, - "zstd_darwin_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:zstd_toolchain.bzl%zstd_binary_repo", - "attributes": { - "platform": "darwin_arm64" - } - }, - "zstd_linux_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:zstd_toolchain.bzl%zstd_binary_repo", - "attributes": { - "platform": "linux_amd64" - } - }, - "zstd_linux_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:zstd_toolchain.bzl%zstd_binary_repo", - "attributes": { - "platform": "linux_arm64" - } - }, - "zstd_toolchains": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:zstd_toolchain.bzl%zstd_toolchains_repo", - "attributes": { - "user_repository_name": "zstd" - } - }, "oci_crane_darwin_amd64": { "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", "attributes": { diff --git a/go.mod b/go.mod index a6d116dfe..3dd76c1bd 100644 --- a/go.mod +++ b/go.mod @@ -14,20 +14,36 @@ require ( github.com/prometheus/client_golang v1.22.0 github.com/prometheus/common v0.63.0 go.opencensus.io v0.24.0 + go.opentelemetry.io/otel v1.35.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.35.0 + go.opentelemetry.io/otel/sdk v1.35.0 + go.opentelemetry.io/otel/sdk/metric v1.35.0 golang.org/x/sys v0.32.0 ) require ( github.com/beorn7/perks v1.0.1 // indirect + github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/go-logr/logr v1.4.2 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect + go.opentelemetry.io/auto/sdk v1.1.0 // indirect + go.opentelemetry.io/otel/metric v1.35.0 // indirect + go.opentelemetry.io/otel/trace v1.35.0 // indirect + go.opentelemetry.io/proto/otlp v1.5.0 // indirect + golang.org/x/net v0.35.0 // indirect golang.org/x/sync v0.11.0 // indirect + golang.org/x/text v0.22.0 // indirect google.golang.org/api v0.105.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.67.3 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a // indirect + google.golang.org/grpc v1.71.0 // indirect google.golang.org/protobuf v1.36.5 // indirect ) diff --git a/go.sum b/go.sum index a0371eb14..0d8800028 100644 --- a/go.sum +++ b/go.sum @@ -29,6 +29,8 @@ github.com/bazelbuild/rules_go v0.54.0 h1:D9aCU7j5rdRxg2rXOZX5zHZ395XC0KbgC4rnya github.com/bazelbuild/rules_go v0.54.0/go.mod h1:T90Gpyq4HDFlsrvtQa2CBdHNJ2P4rAu/uUTmQbanzf0= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -47,14 +49,17 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7 github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.2.4 h1:CNNw5U8lSiiBk7druxtSHHTsRWcxKoac6kZKm2peBBc= github.com/golang/glog v1.2.4/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= @@ -94,8 +99,12 @@ 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/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.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.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.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 h1:e9Rjr40Z98/clHv5Yg79Is0NtosR5LXRvdr7o/6NwbA= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1/go.mod h1:tIxuGz/9mpox++sgp9fJjHO0+q1X9/UOWd798aAm22M= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -144,6 +153,22 @@ 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.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= +go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.35.0 h1:QcFwRrZLc82r8wODjvyCbP7Ifp3UANaBSmhDSFjnqSc= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.35.0/go.mod h1:CXIWhUomyWBG/oY2/r/kLp6K/cmx9e/7DLpBuuGdLCA= +go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M= +go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE= +go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY= +go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg= +go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5JpUCaEqEI9o= +go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w= +go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= +go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= +go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= +go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -315,8 +340,10 @@ google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= +google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a h1:nwKuGPlUAt+aR+pcrkfFRrTU1BVrSmYyYMxYbUIVHr0= +google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a/go.mod h1:3kWAYMk1I75K4vykHtKt2ycnOgpA6974V7bREqbsenU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a h1:51aaUVRocpvUOSQKM6Q7VuoaktNIaMCLuhZB6DKksq4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a/go.mod h1:uRxBH1mhmO8PGhU89cMcHaXKZqO+OfakD8QQO0oYwlQ= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -327,8 +354,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.67.3 h1:OgPcDAFKHnH8X3O4WcO4XUc8GRDeKsKReqbQtiCj7N8= -google.golang.org/grpc v1.67.3/go.mod h1:YGaHCc6Oap+FzBJTZLBzkGSYt/cvGPFTPxkn7QfSU8s= +google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg= +google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= 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-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/internal/exporter/BUILD.bazel b/internal/exporter/BUILD.bazel index f2162b2c8..95831e9b5 100644 --- a/internal/exporter/BUILD.bazel +++ b/internal/exporter/BUILD.bazel @@ -7,6 +7,7 @@ go_library( "export.go", "graphite.go", "json.go", + "otel.go", "prometheus.go", "statsd.go", "varz.go", @@ -20,6 +21,9 @@ go_library( "@com_github_pkg_errors//:errors", "@com_github_prometheus_client_golang//prometheus", "@com_github_prometheus_common//expfmt", + "@io_opentelemetry_go_otel//attribute", + "@io_opentelemetry_go_otel_sdk//instrumentation", + "@io_opentelemetry_go_otel_sdk_metric//metricdata", ], ) diff --git a/internal/exporter/otel.go b/internal/exporter/otel.go new file mode 100644 index 000000000..1a021dc28 --- /dev/null +++ b/internal/exporter/otel.go @@ -0,0 +1,85 @@ +// Copyright 2025 The mtail Authors. All Rights Reserved +// This file is available under the Apache license. + +package exporter + +import ( + "context" + "fmt" + "time" + + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/sdk/instrumentation" + "go.opentelemetry.io/otel/sdk/metric/metricdata" +) + +var processStartTime = time.Now() + +// Produce implements the opentelemetry Producer.Produce method. +func (e *Exporter) Produce(context.Context) ([]metricdata.ScopeMetrics, error) { + otelMetrics := make([]metricdata.Metrics, 0) + + e.store.Range(func(m *metrics.Metric) error { + m.RLock() + defer m.RUnlock() + + newMetric := metricdata.Metrics{ + Name: m.Name, + Description: fmt.Sprintf("%s defined at %s", m.Name, m.Source), + } + switch m.Kind { + case metrics.Counter: + switch m.Type { + case metrics.Int: + newMetric.Data = otelIntCounter(m, e.omitProgLabel) + default: + return nil + } + default: + return nil + } + otelMetrics = append(otelMetrics, newMetric) + return nil + }) + + return []metricdata.ScopeMetrics{{ + Scope: instrumentation.Scope{Name: "mtail_program"}, + Metrics: otelMetrics, + }}, nil +} + +func otelIntCounter(m *metrics.Metric, omitProgLabel bool) metricdata.Sum[int64] { + counter := metricdata.Sum[int64]{ + DataPoints: make([]metricdata.DataPoint[int64], 0), + Temporality: metricdata.CumulativeTemporality, + IsMonotonic: true, + } + lsc := make(chan *metrics.LabelSet) + go m.EmitLabelSets(lsc) + for ls := range lsc { + dp := metricdata.DataPoint[int64]{ + Attributes: otelLabels(ls.Labels, omitProgLabel, m.Program), + StartTime: processStartTime, + Time: ls.Datum.TimeUTC(), + Value: datum.GetInt(ls.Datum), + } + counter.DataPoints = append(counter.DataPoints, dp) + } + return counter + +} + +func otelLabels(labels map[string]string, omitProgLabel bool, programName string) attribute.Set { + kvs := make([]attribute.KeyValue, len(labels)) + i := 0 + for k, v := range labels { + kvs[i] = attribute.String(k, v) + i++ + } + if omitProgLabel { + kvs[i] = attribute.String("prog", programName) + } + return attribute.NewSet(kvs...) +} diff --git a/internal/mtail/BUILD.bazel b/internal/mtail/BUILD.bazel index 42b83ec2c..55faad8f4 100644 --- a/internal/mtail/BUILD.bazel +++ b/internal/mtail/BUILD.bazel @@ -30,6 +30,10 @@ go_library( "@io_opencensus_go//trace", "@io_opencensus_go//zpages", "@io_opencensus_go_contrib_exporter_jaeger//:jaeger", + "@io_opentelemetry_go_otel//:otel", + "@io_opentelemetry_go_otel_exporters_otlp_otlpmetric_otlpmetricgrpc//:otlpmetricgrpc", + "@io_opentelemetry_go_otel_sdk//resource", + "@io_opentelemetry_go_otel_sdk_metric//:metric", ], ) diff --git a/internal/mtail/mtail.go b/internal/mtail/mtail.go index 58739130f..b515b065e 100644 --- a/internal/mtail/mtail.go +++ b/internal/mtail/mtail.go @@ -25,6 +25,10 @@ import ( "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/prometheus/common/version" "go.opencensus.io/zpages" + "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc" + "go.opentelemetry.io/otel/sdk/metric" + "go.opentelemetry.io/otel/sdk/resource" ) // Server contains the state of the main mtail program. @@ -83,6 +87,24 @@ func (m *Server) initExporter() (err error) { }) m.reg.MustRegister(vc.NewCollector("mtail")) + otlpexp, err := otlpmetricgrpc.New(m.ctx) + if err != nil { + return err + } + res, err := resource.New(m.ctx, resource.WithProcess()) + otelMeterProvider := metric.NewMeterProvider( + metric.WithReader(metric.NewPeriodicReader( + otlpexp, + metric.WithProducer(m.e))), + metric.WithResource(res)) + otel.SetMeterProvider(otelMeterProvider) + + // Shut down the otel meter provider at exit + go func() { + <-m.ctx.Done() + otelMeterProvider.Shutdown(m.ctx) + }() + return nil } From 04c4d8afcdb220ee4a8d9770954d245606fcd5e3 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 7 Apr 2025 09:46:59 +1000 Subject: [PATCH 086/381] test: Add tests for the otel producer. --- internal/exporter/BUILD.bazel | 4 + internal/exporter/otel.go | 13 +- internal/exporter/otel_test.go | 340 +++++++++++++++++++++++++++++++++ 3 files changed, 354 insertions(+), 3 deletions(-) create mode 100644 internal/exporter/otel_test.go diff --git a/internal/exporter/BUILD.bazel b/internal/exporter/BUILD.bazel index 95831e9b5..6cfa80cef 100644 --- a/internal/exporter/BUILD.bazel +++ b/internal/exporter/BUILD.bazel @@ -34,6 +34,7 @@ go_test( "export_test.go", "graphite_test.go", "json_test.go", + "otel_test.go", "prometheus_test.go", "varz_test.go", ], @@ -43,5 +44,8 @@ go_test( "//internal/metrics/datum", "//internal/testutil", "@com_github_prometheus_client_golang//prometheus/testutil", + "@io_opentelemetry_go_otel_sdk//instrumentation", + "@io_opentelemetry_go_otel_sdk_metric//metricdata", + "@io_opentelemetry_go_otel_sdk_metric//metricdata/metricdatatest", ], ) diff --git a/internal/exporter/otel.go b/internal/exporter/otel.go index 1a021dc28..5b4f74a1e 100644 --- a/internal/exporter/otel.go +++ b/internal/exporter/otel.go @@ -44,6 +44,10 @@ func (e *Exporter) Produce(context.Context) ([]metricdata.ScopeMetrics, error) { return nil }) + if len(otelMetrics) == 0 { + return nil, nil + } + return []metricdata.ScopeMetrics{{ Scope: instrumentation.Scope{Name: "mtail_program"}, Metrics: otelMetrics, @@ -68,17 +72,20 @@ func otelIntCounter(m *metrics.Metric, omitProgLabel bool) metricdata.Sum[int64] counter.DataPoints = append(counter.DataPoints, dp) } return counter - } func otelLabels(labels map[string]string, omitProgLabel bool, programName string) attribute.Set { - kvs := make([]attribute.KeyValue, len(labels)) + l := len(labels) + if !omitProgLabel { + l++ + } + kvs := make([]attribute.KeyValue, l) i := 0 for k, v := range labels { kvs[i] = attribute.String(k, v) i++ } - if omitProgLabel { + if !omitProgLabel { kvs[i] = attribute.String("prog", programName) } return attribute.NewSet(kvs...) diff --git a/internal/exporter/otel_test.go b/internal/exporter/otel_test.go new file mode 100644 index 000000000..0e913e727 --- /dev/null +++ b/internal/exporter/otel_test.go @@ -0,0 +1,340 @@ +// Copyright 2025 The mtail Authors. All Rights Reserved. +// This file is available under the Apache license. +// SPDX-License-Identifier: Apache-2.0 + +package exporter + +import ( + "context" + "testing" + "time" + + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/testutil" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/sdk/instrumentation" + "go.opentelemetry.io/otel/sdk/metric/metricdata" + "go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest" +) + +var otelTestCases = []struct { + name string + progLabel bool + metrics []*metrics.Metric + expected []metricdata.ScopeMetrics +}{ + { + name: "empty", + metrics: []*metrics.Metric{}, + }, + { + name: "single", + metrics: []*metrics.Metric{ + { + Name: "foo", + Program: "test", + Kind: metrics.Counter, + Type: metrics.Int, + LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + }, + }, + expected: []metricdata.ScopeMetrics{{ + Scope: instrumentation.Scope{Name: "mtail_program"}, + Metrics: []metricdata.Metrics{ + { + Name: "foo", + Description: "foo defined at ", + Data: metricdata.Sum[int64]{ + Temporality: metricdata.CumulativeTemporality, + IsMonotonic: true, + DataPoints: []metricdata.DataPoint[int64]{ + { + Value: 1, + }, + }, + }, + }, + }, + }}, + }, + { + name: "with prog label", + progLabel: true, + metrics: []*metrics.Metric{ + { + Name: "foo", + Program: "test", + Kind: metrics.Counter, + LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + }, + }, + expected: []metricdata.ScopeMetrics{{ + Scope: instrumentation.Scope{Name: "mtail_program"}, + Metrics: []metricdata.Metrics{ + { + Name: "foo", + Description: "foo defined at ", + Data: metricdata.Sum[int64]{ + Temporality: metricdata.CumulativeTemporality, + IsMonotonic: true, + DataPoints: []metricdata.DataPoint[int64]{ + { + Attributes: attribute.NewSet(attribute.String("prog", "test")), + Value: 1, + }, + }, + }, + }, + }, + }}, + }, + { + name: "dimensioned", + metrics: []*metrics.Metric{ + { + Name: "foo", + Program: "test", + Kind: metrics.Counter, + Keys: []string{"a", "b"}, + LabelValues: []*metrics.LabelValue{{Labels: []string{"1", "2"}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + }, + }, + expected: []metricdata.ScopeMetrics{{ + Scope: instrumentation.Scope{Name: "mtail_program"}, + Metrics: []metricdata.Metrics{ + { + Name: "foo", + Description: "foo defined at ", + Data: metricdata.Sum[int64]{ + Temporality: metricdata.CumulativeTemporality, + IsMonotonic: true, + DataPoints: []metricdata.DataPoint[int64]{ + { + Attributes: attribute.NewSet(attribute.String("a", "1"), attribute.String("b", "2")), + Value: 1, + }, + }, + }, + }, + }, + }}, + }, + // { + // "gauge", + // false, + // []*metrics.Metric{ + // { + // Name: "foo", + // Program: "test", + // Kind: metrics.Gauge, + // LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + // }, + // }, + // `# HELP foo defined at + // + // # TYPE foo gauge + // foo{} 1 + // `, + // + // }, + // { + // "timer", + // false, + // []*metrics.Metric{ + // { + // Name: "foo", + // Program: "test", + // Kind: metrics.Timer, + // LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + // }, + // }, + // `# HELP foo defined at + // + // # TYPE foo gauge + // foo{} 1 + // `, + // + // }, + // { + // "text", + // false, + // []*metrics.Metric{ + // { + // Name: "foo", + // Program: "test", + // Kind: metrics.Text, + // LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeString("hi", time.Unix(0, 0))}}, + // }, + // }, + // "", + // }, + // { + // "quotes", + // false, + // []*metrics.Metric{ + // { + // Name: "foo", + // Program: "test", + // Kind: metrics.Counter, + // Keys: []string{"a"}, + // LabelValues: []*metrics.LabelValue{{Labels: []string{"str\"bang\"blah"}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + // }, + // }, + // `# HELP foo defined at + // + // # TYPE foo counter + // foo{a="str\"bang\"blah"} 1 + // `, + // + // }, + // { + // "help", + // false, + // []*metrics.Metric{ + // { + // Name: "foo", + // Program: "test", + // Kind: metrics.Counter, + // LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + // Source: "location.mtail:37", + // }, + // }, + // `# HELP foo defined at location.mtail:37 + // + // # TYPE foo counter + // foo{} 1 + // `, + // + // }, + // { + // "2 help with label", + // true, + // []*metrics.Metric{ + // { + // Name: "foo", + // Program: "test2", + // Kind: metrics.Counter, + // LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + // Source: "location.mtail:37", + // }, + // { + // Name: "foo", + // Program: "test1", + // Kind: metrics.Counter, + // LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + // Source: "different.mtail:37", + // }, + // }, + // `# HELP foo defined at location.mtail:37 + // + // # TYPE foo counter + // foo{prog="test2"} 1 + // foo{prog="test1"} 1 + // `, + // + // }, + // { + // "histo", + // true, + // []*metrics.Metric{ + // { + // Name: "foo", + // Program: "test", + // Kind: metrics.Histogram, + // Keys: []string{"a"}, + // LabelValues: []*metrics.LabelValue{{Labels: []string{"bar"}, Value: datum.MakeBuckets([]datum.Range{{0, 1}, {1, 2}}, time.Unix(0, 0))}}, + // Source: "location.mtail:37", + // }, + // }, + // `# HELP foo defined at location.mtail:37 + // + // # TYPE foo histogram + // foo_bucket{a="bar",prog="test",le="1"} 0 + // foo_bucket{a="bar",prog="test",le="2"} 0 + // foo_bucket{a="bar",prog="test",le="+Inf"} 0 + // foo_sum{a="bar",prog="test"} 0 + // foo_count{a="bar",prog="test"} 0 + // `, + // + // }, + // { + // "histo-count-eq-inf", + // true, + // []*metrics.Metric{ + // { + // Name: "foo", + // Program: "test", + // Kind: metrics.Histogram, + // Keys: []string{"a"}, + // LabelValues: []*metrics.LabelValue{ + // { + // Labels: []string{"bar"}, + // Value: &datum.Buckets{ + // Buckets: []datum.BucketCount{ + // { + // Range: datum.Range{Min: 0, Max: 1}, + // Count: 1, + // }, + // { + // Range: datum.Range{Min: 1, Max: 2}, + // Count: 1, + // }, + // { + // Range: datum.Range{Min: 2, Max: math.Inf(+1)}, + // Count: 2, + // }, + // }, + // Count: 4, + // Sum: 5, + // }, + // }, + // }, + // Source: "location.mtail:37", + // }, + // }, + // `# HELP foo defined at location.mtail:37 + // + // # TYPE foo histogram + // foo_bucket{a="bar",prog="test",le="1"} 1 + // foo_bucket{a="bar",prog="test",le="2"} 2 + // foo_bucket{a="bar",prog="test",le="+Inf"} 4 + // foo_sum{a="bar",prog="test"} 5 + // foo_count{a="bar",prog="test"} 4 + // `, + // + // }, +} + +func TestOtelExport(t *testing.T) { + for _, tc := range otelTestCases { + t.Run(tc.name, func(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + ms := metrics.NewStore() + for _, metric := range tc.metrics { + testutil.FatalIfErr(t, ms.Add(metric)) + } + opts := []Option{ + Hostname("gunstar"), + } + if !tc.progLabel { + opts = append(opts, OmitProgLabel()) + } + e, err := New(ctx, ms, opts...) + testutil.FatalIfErr(t, err) + output, err := e.Produce(ctx) + if err != nil { + t.Error(err) + } + if len(output) != len(tc.expected) { + t.Fatalf("output size doesn't match expected want %d got %d", len(tc.expected), len(output)) + } + for i := range tc.expected { + metricdatatest.AssertEqual(t, tc.expected[i], output[i], metricdatatest.IgnoreTimestamp()) + } + e.Stop() + }) + } +} From ef787673bfe16e006902e76303676910e3cde43b Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 9 Apr 2025 19:32:07 +1000 Subject: [PATCH 087/381] feat: Support gauge and ignore text types. --- internal/exporter/otel.go | 54 ++++++- internal/exporter/otel_test.go | 286 +++++++++++++++++++-------------- 2 files changed, 217 insertions(+), 123 deletions(-) diff --git a/internal/exporter/otel.go b/internal/exporter/otel.go index 5b4f74a1e..347d3e1b8 100644 --- a/internal/exporter/otel.go +++ b/internal/exporter/otel.go @@ -37,6 +37,22 @@ func (e *Exporter) Produce(context.Context) ([]metricdata.ScopeMetrics, error) { default: return nil } + case metrics.Gauge: + switch m.Type { + case metrics.Int: + newMetric.Data = otelIntGauge(m, e.omitProgLabel) + case metrics.Float: + newMetric.Data = otelFloatGauge(m, e.omitProgLabel) + default: + return nil + } + case metrics.Timer: + switch m.Type { + case metrics.Float: + newMetric.Data = otelFloatGauge(m, e.omitProgLabel) + default: + return nil + } default: return nil } @@ -56,7 +72,7 @@ func (e *Exporter) Produce(context.Context) ([]metricdata.ScopeMetrics, error) { func otelIntCounter(m *metrics.Metric, omitProgLabel bool) metricdata.Sum[int64] { counter := metricdata.Sum[int64]{ - DataPoints: make([]metricdata.DataPoint[int64], 0), + DataPoints: make([]metricdata.DataPoint[int64], 0, len(m.LabelValues)), Temporality: metricdata.CumulativeTemporality, IsMonotonic: true, } @@ -74,6 +90,42 @@ func otelIntCounter(m *metrics.Metric, omitProgLabel bool) metricdata.Sum[int64] return counter } +func otelIntGauge(m *metrics.Metric, omitProgLabel bool) metricdata.Gauge[int64] { + gauge := metricdata.Gauge[int64]{ + DataPoints: make([]metricdata.DataPoint[int64], 0, len(m.LabelValues)), + } + lsc := make(chan *metrics.LabelSet) + go m.EmitLabelSets(lsc) + for ls := range lsc { + dp := metricdata.DataPoint[int64]{ + Attributes: otelLabels(ls.Labels, omitProgLabel, m.Program), + StartTime: processStartTime, + Time: ls.Datum.TimeUTC(), + Value: datum.GetInt(ls.Datum), + } + gauge.DataPoints = append(gauge.DataPoints, dp) + } + return gauge +} + +func otelFloatGauge(m *metrics.Metric, omitProgLabel bool) metricdata.Gauge[float64] { + gauge := metricdata.Gauge[float64]{ + DataPoints: make([]metricdata.DataPoint[float64], 0, len(m.LabelValues)), + } + lsc := make(chan *metrics.LabelSet) + go m.EmitLabelSets(lsc) + for ls := range lsc { + dp := metricdata.DataPoint[float64]{ + Attributes: otelLabels(ls.Labels, omitProgLabel, m.Program), + StartTime: processStartTime, + Time: ls.Datum.TimeUTC(), + Value: datum.GetFloat(ls.Datum), + } + gauge.DataPoints = append(gauge.DataPoints, dp) + } + return gauge +} + func otelLabels(labels map[string]string, omitProgLabel bool, programName string) attribute.Set { l := len(labels) if !omitProgLabel { diff --git a/internal/exporter/otel_test.go b/internal/exporter/otel_test.go index 0e913e727..aee0c2c40 100644 --- a/internal/exporter/otel_test.go +++ b/internal/exporter/otel_test.go @@ -89,17 +89,143 @@ var otelTestCases = []struct { }, }}, }, - { - name: "dimensioned", - metrics: []*metrics.Metric{ + { + name: "dimensioned", + metrics: []*metrics.Metric{ + { + Name: "foo", + Program: "test", + Kind: metrics.Counter, + Keys: []string{"a", "b"}, + LabelValues: []*metrics.LabelValue{{Labels: []string{"1", "2"}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + }, + }, + expected: []metricdata.ScopeMetrics{{ + Scope: instrumentation.Scope{Name: "mtail_program"}, + Metrics: []metricdata.Metrics{ { Name: "foo", - Program: "test", - Kind: metrics.Counter, - Keys: []string{"a", "b"}, - LabelValues: []*metrics.LabelValue{{Labels: []string{"1", "2"}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + Description: "foo defined at ", + Data: metricdata.Sum[int64]{ + Temporality: metricdata.CumulativeTemporality, + IsMonotonic: true, + DataPoints: []metricdata.DataPoint[int64]{ + { + Attributes: attribute.NewSet(attribute.String("a", "1"), attribute.String("b", "2")), + Value: 1, + }, + }, + }, }, }, + }}, + }, + { + name: "gauge", + metrics: []*metrics.Metric{ + { + Name: "foo", + Program: "test", + Kind: metrics.Gauge, + LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + }, + }, + expected: []metricdata.ScopeMetrics{{ + Scope: instrumentation.Scope{Name: "mtail_program"}, + Metrics: []metricdata.Metrics{ + { + Name: "foo", + Description: "foo defined at ", + Data: metricdata.Gauge[int64]{ + DataPoints: []metricdata.DataPoint[int64]{ + { + Value: 1, + }, + }, + }, + }, + }, + }}, + }, + { + name: "float gauge", + metrics: []*metrics.Metric{ + { + Name: "foo", + Program: "test", + Kind: metrics.Gauge, + Type: metrics.Float, + LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeFloat(1.0, time.Unix(0, 0))}}, + }, + }, + expected: []metricdata.ScopeMetrics{{ + Scope: instrumentation.Scope{Name: "mtail_program"}, + Metrics: []metricdata.Metrics{ + { + Name: "foo", + Description: "foo defined at ", + Data: metricdata.Gauge[float64]{ + DataPoints: []metricdata.DataPoint[float64]{ + { + Value: 1.0, + }, + }, + }, + }, + }, + }}, + }, + { + name: "timer", + metrics: []*metrics.Metric{ + { + Name: "foo", + Program: "test", + Kind: metrics.Timer, + Type: metrics.Float, + LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeFloat(1, time.Unix(0, 0))}}, + }, + }, + expected: []metricdata.ScopeMetrics{{ + Scope: instrumentation.Scope{Name: "mtail_program"}, + Metrics: []metricdata.Metrics{ + { + Name: "foo", + Description: "foo defined at ", + Data: metricdata.Gauge[float64]{ + DataPoints: []metricdata.DataPoint[float64]{ + { + Value: 1.0, + }, + }, + }, + }, + }, + }}, + }, + { + name: "text", + metrics: []*metrics.Metric{ + { + Name: "foo", + Program: "test", + Kind: metrics.Text, + LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeString("hi", time.Unix(0, 0))}}, + }, + }, + expected: []metricdata.ScopeMetrics{}, + }, + { + name: "quotes", + metrics: []*metrics.Metric{ + { + Name: "foo", + Program: "test", + Kind: metrics.Counter, + Keys: []string{"a"}, + LabelValues: []*metrics.LabelValue{{Labels: []string{"str\"bang\"blah"}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + }, + }, expected: []metricdata.ScopeMetrics{{ Scope: instrumentation.Scope{Name: "mtail_program"}, Metrics: []metricdata.Metrics{ @@ -111,7 +237,7 @@ var otelTestCases = []struct { IsMonotonic: true, DataPoints: []metricdata.DataPoint[int64]{ { - Attributes: attribute.NewSet(attribute.String("a", "1"), attribute.String("b", "2")), + Attributes: attribute.NewSet(attribute.String("a", "str\"bang\"blah")), Value: 1, }, }, @@ -119,121 +245,37 @@ var otelTestCases = []struct { }, }, }}, + }, + { + name: "description", + metrics: []*metrics.Metric{ + { + Name: "foo", + Program: "test", + Kind: metrics.Counter, + LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + Source: "location.mtail:37", + }, }, - // { - // "gauge", - // false, - // []*metrics.Metric{ - // { - // Name: "foo", - // Program: "test", - // Kind: metrics.Gauge, - // LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, - // }, - // }, - // `# HELP foo defined at - // - // # TYPE foo gauge - // foo{} 1 - // `, - // - // }, - // { - // "timer", - // false, - // []*metrics.Metric{ - // { - // Name: "foo", - // Program: "test", - // Kind: metrics.Timer, - // LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, - // }, - // }, - // `# HELP foo defined at - // - // # TYPE foo gauge - // foo{} 1 - // `, - // - // }, - // { - // "text", - // false, - // []*metrics.Metric{ - // { - // Name: "foo", - // Program: "test", - // Kind: metrics.Text, - // LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeString("hi", time.Unix(0, 0))}}, - // }, - // }, - // "", - // }, - // { - // "quotes", - // false, - // []*metrics.Metric{ - // { - // Name: "foo", - // Program: "test", - // Kind: metrics.Counter, - // Keys: []string{"a"}, - // LabelValues: []*metrics.LabelValue{{Labels: []string{"str\"bang\"blah"}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, - // }, - // }, - // `# HELP foo defined at - // - // # TYPE foo counter - // foo{a="str\"bang\"blah"} 1 - // `, - // - // }, - // { - // "help", - // false, - // []*metrics.Metric{ - // { - // Name: "foo", - // Program: "test", - // Kind: metrics.Counter, - // LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, - // Source: "location.mtail:37", - // }, - // }, - // `# HELP foo defined at location.mtail:37 - // - // # TYPE foo counter - // foo{} 1 - // `, - // - // }, - // { - // "2 help with label", - // true, - // []*metrics.Metric{ - // { - // Name: "foo", - // Program: "test2", - // Kind: metrics.Counter, - // LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, - // Source: "location.mtail:37", - // }, - // { - // Name: "foo", - // Program: "test1", - // Kind: metrics.Counter, - // LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, - // Source: "different.mtail:37", - // }, - // }, - // `# HELP foo defined at location.mtail:37 - // - // # TYPE foo counter - // foo{prog="test2"} 1 - // foo{prog="test1"} 1 - // `, - // - // }, + expected: []metricdata.ScopeMetrics{{ + Scope: instrumentation.Scope{Name: "mtail_program"}, + Metrics: []metricdata.Metrics{ + { + Name: "foo", + Description: "foo defined at location.mtail:37", + Data: metricdata.Sum[int64]{ + Temporality: metricdata.CumulativeTemporality, + IsMonotonic: true, + DataPoints: []metricdata.DataPoint[int64]{ + { + Value: 1, + }, + }, + }, + }, + }, + }}, + }, // { // "histo", // true, From 8ecc4ba2149397ea2061d86a3d5713a07f072cda Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 26 Apr 2025 16:39:45 +1000 Subject: [PATCH 088/381] test: Improve the bucket boundary test. --- internal/metrics/datum/buckets.go | 1 + internal/metrics/datum/buckets_test.go | 14 ++++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/internal/metrics/datum/buckets.go b/internal/metrics/datum/buckets.go index ef15f0cb0..b1f3b8625 100644 --- a/internal/metrics/datum/buckets.go +++ b/internal/metrics/datum/buckets.go @@ -39,6 +39,7 @@ func (d *Buckets) ValueString() string { return fmt.Sprintf("%g", d.GetSum()) } +// Observe records a value in the buckets. The buckets contain the number of samples between (min,max] func (d *Buckets) Observe(v float64, ts time.Time) { d.Lock() defer d.Unlock() diff --git a/internal/metrics/datum/buckets_test.go b/internal/metrics/datum/buckets_test.go index 94f8e9c0f..6292fbdba 100644 --- a/internal/metrics/datum/buckets_test.go +++ b/internal/metrics/datum/buckets_test.go @@ -10,9 +10,10 @@ import ( "time" "github.com/jaqx0r/mtail/internal/metrics/datum" + "github.com/jaqx0r/mtail/internal/testutil" ) -func TestBucketContains(t *testing.T) { +func TestRangeContains(t *testing.T) { if err := quick.Check(func(lo, hi, val float64) bool { r := &datum.Range{Min: lo, Max: hi} truth := val < hi && val >= lo @@ -38,10 +39,11 @@ func TestMakeBucket(t *testing.T) { t.Errorf("count not 1, got %v", r) } bs := datum.GetBucketsCumByMax(b) - if r := datum.GetBucketsCount(b); r != bs[math.Inf(+1)] { - t.Errorf("Inf bucket des not equal total observation count: %v vs %v", bs[math.Inf(+1)], r) - } - if len(bs) != len(r)+1 { - t.Errorf("missing buckets from BucketsByMax: expected %d, got %v", len(r)+1, len(bs)) + expected := map[float64]uint64{ + 1: 0, + 2: 1, + 4: 1, + math.Inf(+1): 1, } + testutil.ExpectNoDiff(t, expected, bs) } From 53854a2908ed528704a7c8559e959d5223fa202f Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 26 Apr 2025 16:42:11 +1000 Subject: [PATCH 089/381] feat: Add support for converting histograms to OTel. --- internal/exporter/otel.go | 64 +++++++++- internal/exporter/otel_test.go | 163 ++++++++++++++----------- internal/metrics/datum/buckets_test.go | 6 +- 3 files changed, 154 insertions(+), 79 deletions(-) diff --git a/internal/exporter/otel.go b/internal/exporter/otel.go index 347d3e1b8..002a28bd8 100644 --- a/internal/exporter/otel.go +++ b/internal/exporter/otel.go @@ -6,6 +6,7 @@ package exporter import ( "context" "fmt" + "math" "time" "github.com/jaqx0r/mtail/internal/metrics" @@ -53,6 +54,13 @@ func (e *Exporter) Produce(context.Context) ([]metricdata.ScopeMetrics, error) { default: return nil } + case metrics.Histogram: + switch m.Type { + case metrics.Buckets: + newMetric.Data = otelHisto(m, e.omitProgLabel) + default: + return nil + } default: return nil } @@ -99,9 +107,9 @@ func otelIntGauge(m *metrics.Metric, omitProgLabel bool) metricdata.Gauge[int64] for ls := range lsc { dp := metricdata.DataPoint[int64]{ Attributes: otelLabels(ls.Labels, omitProgLabel, m.Program), - StartTime: processStartTime, - Time: ls.Datum.TimeUTC(), - Value: datum.GetInt(ls.Datum), + StartTime: processStartTime, + Time: ls.Datum.TimeUTC(), + Value: datum.GetInt(ls.Datum), } gauge.DataPoints = append(gauge.DataPoints, dp) } @@ -117,15 +125,59 @@ func otelFloatGauge(m *metrics.Metric, omitProgLabel bool) metricdata.Gauge[floa for ls := range lsc { dp := metricdata.DataPoint[float64]{ Attributes: otelLabels(ls.Labels, omitProgLabel, m.Program), - StartTime: processStartTime, - Time: ls.Datum.TimeUTC(), - Value: datum.GetFloat(ls.Datum), + StartTime: processStartTime, + Time: ls.Datum.TimeUTC(), + Value: datum.GetFloat(ls.Datum), } gauge.DataPoints = append(gauge.DataPoints, dp) } return gauge } +func otelHisto(m *metrics.Metric, omitProgLabel bool) metricdata.Histogram[float64] { + histo := metricdata.Histogram[float64]{ + DataPoints: make([]metricdata.HistogramDataPoint[float64], 0, len(m.LabelValues)), + Temporality: metricdata.CumulativeTemporality, + } + lsc := make(chan *metrics.LabelSet) + go m.EmitLabelSets(lsc) + for ls := range lsc { + bounds, counts := otelConvertBuckets(datum.GetBuckets(ls.Datum)) + dp := metricdata.HistogramDataPoint[float64]{ + Attributes: otelLabels(ls.Labels, omitProgLabel, m.Program), + StartTime: processStartTime, + Time: ls.Datum.TimeUTC(), + Count: datum.GetBucketsCount(ls.Datum), + Sum: datum.GetBucketsSum(ls.Datum), + Bounds: bounds, + BucketCounts: counts, + } + histo.DataPoints = append(histo.DataPoints, dp) + } + return histo +} + +func otelConvertBuckets(d *datum.Buckets) (bounds []float64, counts []uint64) { + if len(d.Buckets) == 0 { + // Should never happen? + return nil, nil + } + // The last bucket may be the +Inf bucket, which is implied in OTel, but explicit in mtail. + if math.IsInf(d.Buckets[len(d.Buckets)-1].Range.Max, +1) { + bounds = make([]float64, len(d.Buckets)-1) + } else { + bounds = make([]float64, len(d.Buckets)) + } + counts = make([]uint64, len(d.Buckets)) + for i, bucket := range d.Buckets { + if bound := bucket.Range.Max; !math.IsInf(bound, +1) { + bounds[i] = bound + } + counts[i] = bucket.Count + } + return +} + func otelLabels(labels map[string]string, omitProgLabel bool, programName string) attribute.Set { l := len(labels) if !omitProgLabel { diff --git a/internal/exporter/otel_test.go b/internal/exporter/otel_test.go index aee0c2c40..1e3658a74 100644 --- a/internal/exporter/otel_test.go +++ b/internal/exporter/otel_test.go @@ -6,6 +6,7 @@ package exporter import ( "context" + "math" "testing" "time" @@ -276,76 +277,98 @@ var otelTestCases = []struct { }, }}, }, - // { - // "histo", - // true, - // []*metrics.Metric{ - // { - // Name: "foo", - // Program: "test", - // Kind: metrics.Histogram, - // Keys: []string{"a"}, - // LabelValues: []*metrics.LabelValue{{Labels: []string{"bar"}, Value: datum.MakeBuckets([]datum.Range{{0, 1}, {1, 2}}, time.Unix(0, 0))}}, - // Source: "location.mtail:37", - // }, - // }, - // `# HELP foo defined at location.mtail:37 - // - // # TYPE foo histogram - // foo_bucket{a="bar",prog="test",le="1"} 0 - // foo_bucket{a="bar",prog="test",le="2"} 0 - // foo_bucket{a="bar",prog="test",le="+Inf"} 0 - // foo_sum{a="bar",prog="test"} 0 - // foo_count{a="bar",prog="test"} 0 - // `, - // - // }, - // { - // "histo-count-eq-inf", - // true, - // []*metrics.Metric{ - // { - // Name: "foo", - // Program: "test", - // Kind: metrics.Histogram, - // Keys: []string{"a"}, - // LabelValues: []*metrics.LabelValue{ - // { - // Labels: []string{"bar"}, - // Value: &datum.Buckets{ - // Buckets: []datum.BucketCount{ - // { - // Range: datum.Range{Min: 0, Max: 1}, - // Count: 1, - // }, - // { - // Range: datum.Range{Min: 1, Max: 2}, - // Count: 1, - // }, - // { - // Range: datum.Range{Min: 2, Max: math.Inf(+1)}, - // Count: 2, - // }, - // }, - // Count: 4, - // Sum: 5, - // }, - // }, - // }, - // Source: "location.mtail:37", - // }, - // }, - // `# HELP foo defined at location.mtail:37 - // - // # TYPE foo histogram - // foo_bucket{a="bar",prog="test",le="1"} 1 - // foo_bucket{a="bar",prog="test",le="2"} 2 - // foo_bucket{a="bar",prog="test",le="+Inf"} 4 - // foo_sum{a="bar",prog="test"} 5 - // foo_count{a="bar",prog="test"} 4 - // `, - // - // }, + { + name: "histo", + metrics: []*metrics.Metric{ + { + Name: "foo", + Program: "test", + Kind: metrics.Histogram, + Type: metrics.Buckets, + Keys: []string{"a"}, + LabelValues: []*metrics.LabelValue{{Labels: []string{"bar"}, Value: datum.MakeBuckets([]datum.Range{{0, 1}, {1, 2}}, time.Unix(0, 0))}}, + Source: "location.mtail:37", + }, + }, + expected: []metricdata.ScopeMetrics{{ + Scope: instrumentation.Scope{Name: "mtail_program"}, + Metrics: []metricdata.Metrics{ + { + Name: "foo", + Description: "foo defined at location.mtail:37", + Data: metricdata.Histogram[float64]{ + Temporality: metricdata.CumulativeTemporality, + DataPoints: []metricdata.HistogramDataPoint[float64]{ + { + Count: 0, + Sum: 0, + Bounds: []float64{1, 2}, + BucketCounts: []uint64{0, 0, 0}, + Attributes: attribute.NewSet(attribute.String("a", "bar")), + }, + }, + }, + }, + }, + }}, + }, + { + name: "histo-count-eq-inf", + metrics: []*metrics.Metric{ + { + Name: "foo", + Program: "test", + Kind: metrics.Histogram, + Type: metrics.Buckets, + Keys: []string{"a"}, + LabelValues: []*metrics.LabelValue{ + { + Labels: []string{"bar"}, + Value: &datum.Buckets{ + Buckets: []datum.BucketCount{ + { + Range: datum.Range{Min: 0, Max: 1}, + Count: 1, + }, + { + Range: datum.Range{Min: 1, Max: 2}, + Count: 1, + }, + { + Range: datum.Range{Min: 2, Max: math.Inf(+1)}, + Count: 2, + }, + }, + Count: 4, + Sum: 5, + }, + }, + }, + Source: "location.mtail:37", + }, + }, + expected: []metricdata.ScopeMetrics{{ + Scope: instrumentation.Scope{Name: "mtail_program"}, + Metrics: []metricdata.Metrics{ + { + Name: "foo", + Description: "foo defined at location.mtail:37", + Data: metricdata.Histogram[float64]{ + Temporality: metricdata.CumulativeTemporality, + DataPoints: []metricdata.HistogramDataPoint[float64]{ + { + Count: 4, + Sum: 5, + Bounds: []float64{1, 2}, + BucketCounts: []uint64{1, 1, 2}, + Attributes: attribute.NewSet(attribute.String("a", "bar")), + }, + }, + }, + }, + }, + }}, + }, } func TestOtelExport(t *testing.T) { diff --git a/internal/metrics/datum/buckets_test.go b/internal/metrics/datum/buckets_test.go index 6292fbdba..c2f03ad84 100644 --- a/internal/metrics/datum/buckets_test.go +++ b/internal/metrics/datum/buckets_test.go @@ -40,9 +40,9 @@ func TestMakeBucket(t *testing.T) { } bs := datum.GetBucketsCumByMax(b) expected := map[float64]uint64{ - 1: 0, - 2: 1, - 4: 1, + 1: 0, + 2: 1, + 4: 1, math.Inf(+1): 1, } testutil.ExpectNoDiff(t, expected, bs) From 95019f0aeac8dd1deb76c2f2cea40dd099fb6621 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 26 Apr 2025 17:23:52 +1000 Subject: [PATCH 090/381] feat: Set the otel metric scope as the progname. --- internal/exporter/otel.go | 51 +++++++------- internal/exporter/otel_test.go | 121 +++++++++++++++++++-------------- 2 files changed, 94 insertions(+), 78 deletions(-) diff --git a/internal/exporter/otel.go b/internal/exporter/otel.go index 002a28bd8..65e2b8313 100644 --- a/internal/exporter/otel.go +++ b/internal/exporter/otel.go @@ -20,7 +20,7 @@ var processStartTime = time.Now() // Produce implements the opentelemetry Producer.Produce method. func (e *Exporter) Produce(context.Context) ([]metricdata.ScopeMetrics, error) { - otelMetrics := make([]metricdata.Metrics, 0) + scopedOtelMetrics := make(map[string][]metricdata.Metrics) e.store.Range(func(m *metrics.Metric) error { m.RLock() @@ -34,51 +34,54 @@ func (e *Exporter) Produce(context.Context) ([]metricdata.ScopeMetrics, error) { case metrics.Counter: switch m.Type { case metrics.Int: - newMetric.Data = otelIntCounter(m, e.omitProgLabel) + newMetric.Data = otelIntCounter(m) default: return nil } case metrics.Gauge: switch m.Type { case metrics.Int: - newMetric.Data = otelIntGauge(m, e.omitProgLabel) + newMetric.Data = otelIntGauge(m) case metrics.Float: - newMetric.Data = otelFloatGauge(m, e.omitProgLabel) + newMetric.Data = otelFloatGauge(m) default: return nil } case metrics.Timer: switch m.Type { case metrics.Float: - newMetric.Data = otelFloatGauge(m, e.omitProgLabel) + newMetric.Data = otelFloatGauge(m) default: return nil } case metrics.Histogram: switch m.Type { case metrics.Buckets: - newMetric.Data = otelHisto(m, e.omitProgLabel) + newMetric.Data = otelHisto(m) default: return nil } default: return nil } - otelMetrics = append(otelMetrics, newMetric) + scopedOtelMetrics[m.Program] = append(scopedOtelMetrics[m.Program], newMetric) return nil }) - if len(otelMetrics) == 0 { + if len(scopedOtelMetrics) == 0 { return nil, nil } - return []metricdata.ScopeMetrics{{ - Scope: instrumentation.Scope{Name: "mtail_program"}, - Metrics: otelMetrics, - }}, nil + otelMetrics := make([]metricdata.ScopeMetrics, 0, len(scopedOtelMetrics)) + for prog, metrics := range scopedOtelMetrics { + otelMetrics = append(otelMetrics, metricdata.ScopeMetrics{Scope: instrumentation.Scope{Name: prog}, + Metrics: metrics, + }) + } + return otelMetrics, nil } -func otelIntCounter(m *metrics.Metric, omitProgLabel bool) metricdata.Sum[int64] { +func otelIntCounter(m *metrics.Metric) metricdata.Sum[int64] { counter := metricdata.Sum[int64]{ DataPoints: make([]metricdata.DataPoint[int64], 0, len(m.LabelValues)), Temporality: metricdata.CumulativeTemporality, @@ -88,7 +91,7 @@ func otelIntCounter(m *metrics.Metric, omitProgLabel bool) metricdata.Sum[int64] go m.EmitLabelSets(lsc) for ls := range lsc { dp := metricdata.DataPoint[int64]{ - Attributes: otelLabels(ls.Labels, omitProgLabel, m.Program), + Attributes: otelLabels(ls.Labels), StartTime: processStartTime, Time: ls.Datum.TimeUTC(), Value: datum.GetInt(ls.Datum), @@ -98,7 +101,7 @@ func otelIntCounter(m *metrics.Metric, omitProgLabel bool) metricdata.Sum[int64] return counter } -func otelIntGauge(m *metrics.Metric, omitProgLabel bool) metricdata.Gauge[int64] { +func otelIntGauge(m *metrics.Metric) metricdata.Gauge[int64] { gauge := metricdata.Gauge[int64]{ DataPoints: make([]metricdata.DataPoint[int64], 0, len(m.LabelValues)), } @@ -106,7 +109,7 @@ func otelIntGauge(m *metrics.Metric, omitProgLabel bool) metricdata.Gauge[int64] go m.EmitLabelSets(lsc) for ls := range lsc { dp := metricdata.DataPoint[int64]{ - Attributes: otelLabels(ls.Labels, omitProgLabel, m.Program), + Attributes: otelLabels(ls.Labels), StartTime: processStartTime, Time: ls.Datum.TimeUTC(), Value: datum.GetInt(ls.Datum), @@ -116,7 +119,7 @@ func otelIntGauge(m *metrics.Metric, omitProgLabel bool) metricdata.Gauge[int64] return gauge } -func otelFloatGauge(m *metrics.Metric, omitProgLabel bool) metricdata.Gauge[float64] { +func otelFloatGauge(m *metrics.Metric) metricdata.Gauge[float64] { gauge := metricdata.Gauge[float64]{ DataPoints: make([]metricdata.DataPoint[float64], 0, len(m.LabelValues)), } @@ -124,7 +127,7 @@ func otelFloatGauge(m *metrics.Metric, omitProgLabel bool) metricdata.Gauge[floa go m.EmitLabelSets(lsc) for ls := range lsc { dp := metricdata.DataPoint[float64]{ - Attributes: otelLabels(ls.Labels, omitProgLabel, m.Program), + Attributes: otelLabels(ls.Labels), StartTime: processStartTime, Time: ls.Datum.TimeUTC(), Value: datum.GetFloat(ls.Datum), @@ -134,7 +137,7 @@ func otelFloatGauge(m *metrics.Metric, omitProgLabel bool) metricdata.Gauge[floa return gauge } -func otelHisto(m *metrics.Metric, omitProgLabel bool) metricdata.Histogram[float64] { +func otelHisto(m *metrics.Metric) metricdata.Histogram[float64] { histo := metricdata.Histogram[float64]{ DataPoints: make([]metricdata.HistogramDataPoint[float64], 0, len(m.LabelValues)), Temporality: metricdata.CumulativeTemporality, @@ -144,7 +147,7 @@ func otelHisto(m *metrics.Metric, omitProgLabel bool) metricdata.Histogram[float for ls := range lsc { bounds, counts := otelConvertBuckets(datum.GetBuckets(ls.Datum)) dp := metricdata.HistogramDataPoint[float64]{ - Attributes: otelLabels(ls.Labels, omitProgLabel, m.Program), + Attributes: otelLabels(ls.Labels), StartTime: processStartTime, Time: ls.Datum.TimeUTC(), Count: datum.GetBucketsCount(ls.Datum), @@ -178,19 +181,13 @@ func otelConvertBuckets(d *datum.Buckets) (bounds []float64, counts []uint64) { return } -func otelLabels(labels map[string]string, omitProgLabel bool, programName string) attribute.Set { +func otelLabels(labels map[string]string) attribute.Set { l := len(labels) - if !omitProgLabel { - l++ - } kvs := make([]attribute.KeyValue, l) i := 0 for k, v := range labels { kvs[i] = attribute.String(k, v) i++ } - if !omitProgLabel { - kvs[i] = attribute.String("prog", programName) - } return attribute.NewSet(kvs...) } diff --git a/internal/exporter/otel_test.go b/internal/exporter/otel_test.go index 1e3658a74..03cd14e56 100644 --- a/internal/exporter/otel_test.go +++ b/internal/exporter/otel_test.go @@ -20,10 +20,9 @@ import ( ) var otelTestCases = []struct { - name string - progLabel bool - metrics []*metrics.Metric - expected []metricdata.ScopeMetrics + name string + metrics []*metrics.Metric + expected []metricdata.ScopeMetrics }{ { name: "empty", @@ -41,7 +40,7 @@ var otelTestCases = []struct { }, }, expected: []metricdata.ScopeMetrics{{ - Scope: instrumentation.Scope{Name: "mtail_program"}, + Scope: instrumentation.Scope{Name: "test"}, Metrics: []metricdata.Metrics{ { Name: "foo", @@ -59,37 +58,6 @@ var otelTestCases = []struct { }, }}, }, - { - name: "with prog label", - progLabel: true, - metrics: []*metrics.Metric{ - { - Name: "foo", - Program: "test", - Kind: metrics.Counter, - LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, - }, - }, - expected: []metricdata.ScopeMetrics{{ - Scope: instrumentation.Scope{Name: "mtail_program"}, - Metrics: []metricdata.Metrics{ - { - Name: "foo", - Description: "foo defined at ", - Data: metricdata.Sum[int64]{ - Temporality: metricdata.CumulativeTemporality, - IsMonotonic: true, - DataPoints: []metricdata.DataPoint[int64]{ - { - Attributes: attribute.NewSet(attribute.String("prog", "test")), - Value: 1, - }, - }, - }, - }, - }, - }}, - }, { name: "dimensioned", metrics: []*metrics.Metric{ @@ -102,7 +70,7 @@ var otelTestCases = []struct { }, }, expected: []metricdata.ScopeMetrics{{ - Scope: instrumentation.Scope{Name: "mtail_program"}, + Scope: instrumentation.Scope{Name: "test"}, Metrics: []metricdata.Metrics{ { Name: "foo", @@ -132,7 +100,7 @@ var otelTestCases = []struct { }, }, expected: []metricdata.ScopeMetrics{{ - Scope: instrumentation.Scope{Name: "mtail_program"}, + Scope: instrumentation.Scope{Name: "test"}, Metrics: []metricdata.Metrics{ { Name: "foo", @@ -160,7 +128,7 @@ var otelTestCases = []struct { }, }, expected: []metricdata.ScopeMetrics{{ - Scope: instrumentation.Scope{Name: "mtail_program"}, + Scope: instrumentation.Scope{Name: "test"}, Metrics: []metricdata.Metrics{ { Name: "foo", @@ -188,7 +156,7 @@ var otelTestCases = []struct { }, }, expected: []metricdata.ScopeMetrics{{ - Scope: instrumentation.Scope{Name: "mtail_program"}, + Scope: instrumentation.Scope{Name: "test"}, Metrics: []metricdata.Metrics{ { Name: "foo", @@ -228,7 +196,7 @@ var otelTestCases = []struct { }, }, expected: []metricdata.ScopeMetrics{{ - Scope: instrumentation.Scope{Name: "mtail_program"}, + Scope: instrumentation.Scope{Name: "test"}, Metrics: []metricdata.Metrics{ { Name: "foo", @@ -259,7 +227,7 @@ var otelTestCases = []struct { }, }, expected: []metricdata.ScopeMetrics{{ - Scope: instrumentation.Scope{Name: "mtail_program"}, + Scope: instrumentation.Scope{Name: "test"}, Metrics: []metricdata.Metrics{ { Name: "foo", @@ -278,20 +246,20 @@ var otelTestCases = []struct { }}, }, { - name: "histo", + name: "histo", metrics: []*metrics.Metric{ { Name: "foo", Program: "test", Kind: metrics.Histogram, - Type: metrics.Buckets, + Type: metrics.Buckets, Keys: []string{"a"}, LabelValues: []*metrics.LabelValue{{Labels: []string{"bar"}, Value: datum.MakeBuckets([]datum.Range{{0, 1}, {1, 2}}, time.Unix(0, 0))}}, Source: "location.mtail:37", }, }, expected: []metricdata.ScopeMetrics{{ - Scope: instrumentation.Scope{Name: "mtail_program"}, + Scope: instrumentation.Scope{Name: "test"}, Metrics: []metricdata.Metrics{ { Name: "foo", @@ -313,13 +281,13 @@ var otelTestCases = []struct { }}, }, { - name: "histo-count-eq-inf", + name: "histo-count-eq-inf", metrics: []*metrics.Metric{ { Name: "foo", Program: "test", Kind: metrics.Histogram, - Type: metrics.Buckets, + Type: metrics.Buckets, Keys: []string{"a"}, LabelValues: []*metrics.LabelValue{ { @@ -348,7 +316,7 @@ var otelTestCases = []struct { }, }, expected: []metricdata.ScopeMetrics{{ - Scope: instrumentation.Scope{Name: "mtail_program"}, + Scope: instrumentation.Scope{Name: "test"}, Metrics: []metricdata.Metrics{ { Name: "foo", @@ -369,6 +337,60 @@ var otelTestCases = []struct { }, }}, }, + { + name: "two scopes", + metrics: []*metrics.Metric{ + { + Name: "foo1", + Program: "test1", + Kind: metrics.Counter, + Type: metrics.Int, + LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + }, + { + Name: "foo2", + Program: "test2", + Kind: metrics.Gauge, + Type: metrics.Int, + LabelValues: []*metrics.LabelValue{{Labels: []string{}, Value: datum.MakeInt(1, time.Unix(0, 0))}}, + }, + }, + expected: []metricdata.ScopeMetrics{ + { + Scope: instrumentation.Scope{Name: "test1"}, + Metrics: []metricdata.Metrics{ + { + Name: "foo1", + Description: "foo1 defined at ", + Data: metricdata.Sum[int64]{ + Temporality: metricdata.CumulativeTemporality, + IsMonotonic: true, + DataPoints: []metricdata.DataPoint[int64]{ + { + Value: 1, + }, + }, + }, + }, + }, + }, + { + Scope: instrumentation.Scope{Name: "test2"}, + Metrics: []metricdata.Metrics{{ + Name: "foo2", + Description: "foo2 defined at ", + Data: metricdata.Gauge[int64]{ + DataPoints: []metricdata.DataPoint[int64]{ + { + Value: 1, + }, + }, + }, + }, + }, + }, + }, + }, } func TestOtelExport(t *testing.T) { @@ -384,9 +406,6 @@ func TestOtelExport(t *testing.T) { opts := []Option{ Hostname("gunstar"), } - if !tc.progLabel { - opts = append(opts, OmitProgLabel()) - } e, err := New(ctx, ms, opts...) testutil.FatalIfErr(t, err) output, err := e.Produce(ctx) From 4d6deccf3ddbb34daa1a90e3dd4c625b5b16b416 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 26 Apr 2025 19:39:13 +1000 Subject: [PATCH 091/381] fix: Sort the scope keys for stability of export. --- internal/exporter/otel.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/exporter/otel.go b/internal/exporter/otel.go index 65e2b8313..98ea6be07 100644 --- a/internal/exporter/otel.go +++ b/internal/exporter/otel.go @@ -6,7 +6,9 @@ package exporter import ( "context" "fmt" + "maps" "math" + "slices" "time" "github.com/jaqx0r/mtail/internal/metrics" @@ -73,9 +75,9 @@ func (e *Exporter) Produce(context.Context) ([]metricdata.ScopeMetrics, error) { } otelMetrics := make([]metricdata.ScopeMetrics, 0, len(scopedOtelMetrics)) - for prog, metrics := range scopedOtelMetrics { + for _, prog := range slices.Sorted(maps.Keys(scopedOtelMetrics)) { otelMetrics = append(otelMetrics, metricdata.ScopeMetrics{Scope: instrumentation.Scope{Name: prog}, - Metrics: metrics, + Metrics: scopedOtelMetrics[prog], }) } return otelMetrics, nil From fcb107c933b76f25b581ef9a1ff79e52422b64de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 26 Apr 2025 11:09:32 +0000 Subject: [PATCH 092/381] build(deps): bump golang.org/x/net from 0.35.0 to 0.38.0 Bumps [golang.org/x/net](https://github.com/golang/net) from 0.35.0 to 0.38.0. - [Commits](https://github.com/golang/net/compare/v0.35.0...v0.38.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-version: 0.38.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 3dd76c1bd..581c013b7 100644 --- a/go.mod +++ b/go.mod @@ -38,9 +38,9 @@ require ( go.opentelemetry.io/otel/metric v1.35.0 // indirect go.opentelemetry.io/otel/trace v1.35.0 // indirect go.opentelemetry.io/proto/otlp v1.5.0 // indirect - golang.org/x/net v0.35.0 // indirect - golang.org/x/sync v0.11.0 // indirect - golang.org/x/text v0.22.0 // indirect + golang.org/x/net v0.38.0 // indirect + golang.org/x/sync v0.12.0 // indirect + golang.org/x/text v0.23.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a // indirect diff --git a/go.sum b/go.sum index 0d8800028..5f2258bc1 100644 --- a/go.sum +++ b/go.sum @@ -221,8 +221,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= -golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= +golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= +golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -236,8 +236,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= -golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= +golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -265,8 +265,8 @@ 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.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.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= -golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= +golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From e313196cb4cc7a9c0ba1851ea500037778ffd6be Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 26 Apr 2025 19:30:51 +1000 Subject: [PATCH 093/381] feat: Support `goyacc` in the BUILD rules. --- MODULE.bazel | 1 + go.mod | 1 + go.sum | 2 + internal/runtime/compiler/parser/BUILD.bazel | 10 +- internal/runtime/compiler/parser/goyacc.bzl | 39 + internal/runtime/compiler/parser/parser.go | 1504 ------------------ tools/tools.go | 5 + 7 files changed, 57 insertions(+), 1505 deletions(-) create mode 100644 internal/runtime/compiler/parser/goyacc.bzl delete mode 100644 internal/runtime/compiler/parser/parser.go create mode 100644 tools/tools.go diff --git a/MODULE.bazel b/MODULE.bazel index 9c6728bc3..35d1d1663 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -35,6 +35,7 @@ use_repo( "io_opentelemetry_go_otel_sdk", "io_opentelemetry_go_otel_sdk_metric", "org_golang_x_sys", + "org_golang_x_tools", ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. diff --git a/go.mod b/go.mod index 581c013b7..2062b3c0a 100644 --- a/go.mod +++ b/go.mod @@ -19,6 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.35.0 go.opentelemetry.io/otel/sdk/metric v1.35.0 golang.org/x/sys v0.32.0 + golang.org/x/tools v0.30.0 ) require ( diff --git a/go.sum b/go.sum index 5f2258bc1..2ae1f2810 100644 --- a/go.sum +++ b/go.sum @@ -300,6 +300,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= +golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/internal/runtime/compiler/parser/BUILD.bazel b/internal/runtime/compiler/parser/BUILD.bazel index f32071e7c..156130961 100644 --- a/internal/runtime/compiler/parser/BUILD.bazel +++ b/internal/runtime/compiler/parser/BUILD.bazel @@ -1,11 +1,19 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") +load(":goyacc.bzl", "go_yacc") + +go_yacc( + name = "parser_go_gen", + src = "parser.y", + out = "parser.go", + prefix = "mtail", +) go_library( name = "parser", srcs = [ "driver.go", "lexer.go", - "parser.go", + "parser.go", # keep "sexp.go", "tokens.go", "unparser.go", diff --git a/internal/runtime/compiler/parser/goyacc.bzl b/internal/runtime/compiler/parser/goyacc.bzl new file mode 100644 index 000000000..b4d9690b3 --- /dev/null +++ b/internal/runtime/compiler/parser/goyacc.bzl @@ -0,0 +1,39 @@ +"""Provides go_yacc rule.""" + +_GO_YACC_TOOL = "@org_golang_x_tools//cmd/goyacc" + +def _go_yacc_impl(ctx): + args = ctx.actions.args() + args.add("-o", ctx.outputs.out) + args.add("-p", ctx.attr.prefix) + args.add(ctx.file.src) + goroot = "%s/.." % ctx.executable._go_yacc_tool.dirname + ctx.actions.run( + executable = ctx.executable._go_yacc_tool, + arguments = [args], + inputs = [ctx.file.src], + outputs = [ctx.outputs.out], + env = { + "GOROOT": goroot, + }, + ) + return DefaultInfo( + files = depset([ctx.outputs.out]), + ) + +go_yacc = rule( + implementation = _go_yacc_impl, + attrs = { + "src": attr.label( + allow_single_file = True, + ), + "out": attr.output(), + "prefix": attr.string(), + "_go_yacc_tool": attr.label( + default = _GO_YACC_TOOL, + allow_single_file = True, + executable = True, + cfg = "exec", + ), + }, +) diff --git a/internal/runtime/compiler/parser/parser.go b/internal/runtime/compiler/parser/parser.go deleted file mode 100644 index 3256cf1dd..000000000 --- a/internal/runtime/compiler/parser/parser.go +++ /dev/null @@ -1,1504 +0,0 @@ -// Code generated by goyacc -v y.output -o parser.go -p mtail parser.y. DO NOT EDIT. - -//line parser.y:5 -/* #nosec G104 generated code, errors reported do not make sense */ -package parser - -import __yyfmt__ "fmt" - -//line parser.y:6 - -import ( - "time" - - "github.com/golang/glog" - "github.com/jaqx0r/mtail/internal/metrics" - "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" - "github.com/jaqx0r/mtail/internal/runtime/compiler/position" -) - -//line parser.y:19 -type mtailSymType struct { - yys int - intVal int64 - floatVal float64 - floats []float64 - op int - text string - texts []string - flag bool - n ast.Node - kind metrics.Kind - duration time.Duration -} - -const INVALID = 57346 -const COUNTER = 57347 -const GAUGE = 57348 -const TIMER = 57349 -const TEXT = 57350 -const HISTOGRAM = 57351 -const AFTER = 57352 -const AS = 57353 -const BY = 57354 -const CONST = 57355 -const HIDDEN = 57356 -const DEF = 57357 -const DEL = 57358 -const NEXT = 57359 -const OTHERWISE = 57360 -const ELSE = 57361 -const STOP = 57362 -const BUCKETS = 57363 -const LIMIT = 57364 -const BUILTIN = 57365 -const REGEX = 57366 -const STRING = 57367 -const CAPREF = 57368 -const CAPREF_NAMED = 57369 -const ID = 57370 -const DECO = 57371 -const INTLITERAL = 57372 -const FLOATLITERAL = 57373 -const DURATIONLITERAL = 57374 -const INC = 57375 -const DEC = 57376 -const DIV = 57377 -const MOD = 57378 -const MUL = 57379 -const MINUS = 57380 -const PLUS = 57381 -const POW = 57382 -const SHL = 57383 -const SHR = 57384 -const LT = 57385 -const GT = 57386 -const LE = 57387 -const GE = 57388 -const EQ = 57389 -const NE = 57390 -const BITAND = 57391 -const XOR = 57392 -const BITOR = 57393 -const NOT = 57394 -const AND = 57395 -const OR = 57396 -const ADD_ASSIGN = 57397 -const ASSIGN = 57398 -const MATCH = 57399 -const NOT_MATCH = 57400 -const LCURLY = 57401 -const RCURLY = 57402 -const LPAREN = 57403 -const RPAREN = 57404 -const LSQUARE = 57405 -const RSQUARE = 57406 -const COMMA = 57407 -const NL = 57408 - -var mtailToknames = [...]string{ - "$end", - "error", - "$unk", - "INVALID", - "COUNTER", - "GAUGE", - "TIMER", - "TEXT", - "HISTOGRAM", - "AFTER", - "AS", - "BY", - "CONST", - "HIDDEN", - "DEF", - "DEL", - "NEXT", - "OTHERWISE", - "ELSE", - "STOP", - "BUCKETS", - "LIMIT", - "BUILTIN", - "REGEX", - "STRING", - "CAPREF", - "CAPREF_NAMED", - "ID", - "DECO", - "INTLITERAL", - "FLOATLITERAL", - "DURATIONLITERAL", - "INC", - "DEC", - "DIV", - "MOD", - "MUL", - "MINUS", - "PLUS", - "POW", - "SHL", - "SHR", - "LT", - "GT", - "LE", - "GE", - "EQ", - "NE", - "BITAND", - "XOR", - "BITOR", - "NOT", - "AND", - "OR", - "ADD_ASSIGN", - "ASSIGN", - "MATCH", - "NOT_MATCH", - "LCURLY", - "RCURLY", - "LPAREN", - "RPAREN", - "LSQUARE", - "RSQUARE", - "COMMA", - "NL", -} - -var mtailStatenames = [...]string{} - -const mtailEofCode = 1 -const mtailErrCode = 2 -const mtailInitialStackSize = 16 - -//line parser.y:733 - -// tokenpos returns the position of the current token. -func tokenpos(mtaillex mtailLexer) position.Position { - return mtaillex.(*parser).t.Pos -} - -// markedpos returns the position recorded from the most recent mark_pos -// production. -func markedpos(mtaillex mtailLexer) position.Position { - return mtaillex.(*parser).pos -} - -// positionFromMark returns a position spanning from the last mark to the current position. -func positionFromMark(mtaillex mtailLexer) position.Position { - tp := tokenpos(mtaillex) - mp := markedpos(mtaillex) - return *position.Merge(&mp, &tp) -} - -//line yacctab:1 -var mtailExca = [...]int{ - -1, 1, - 1, -1, - -2, 0, - -1, 2, - 1, 1, - 5, 93, - 6, 93, - 7, 93, - 8, 93, - 9, 93, - -2, 124, - -1, 22, - 66, 24, - -2, 68, - -1, 106, - 5, 93, - 6, 93, - 7, 93, - 8, 93, - 9, 93, - -2, 124, -} - -const mtailPrivate = 57344 - -const mtailLast = 249 - -var mtailAct = [...]int{ - 171, 88, 126, 28, 15, 91, 42, 44, 27, 30, - 103, 127, 41, 24, 20, 86, 40, 167, 22, 128, - 163, 182, 19, 26, 45, 29, 104, 25, 36, 34, - 35, 43, 54, 38, 39, 87, 181, 85, 89, 125, - 108, 46, 36, 34, 35, 43, 47, 38, 39, 90, - 162, 163, 62, 63, 2, 31, 49, 87, 76, 77, - 68, 130, 74, 73, 37, 138, 62, 63, 50, 112, - 93, 94, 117, 97, 96, 118, 168, 50, 37, 119, - 120, 70, 72, 71, 121, 122, 123, 66, 67, 124, - 107, 129, 185, 184, 111, 79, 80, 81, 82, 83, - 84, 169, 106, 131, 179, 135, 132, 175, 15, 133, - 129, 43, 27, 110, 100, 101, 99, 134, 20, 102, - 174, 135, 22, 173, 87, 129, 19, 160, 87, 151, - 156, 142, 155, 157, 158, 87, 87, 87, 164, 166, - 165, 161, 153, 159, 140, 154, 152, 136, 139, 178, - 177, 13, 141, 116, 66, 67, 115, 49, 105, 109, - 11, 23, 1, 176, 10, 129, 180, 12, 64, 145, - 13, 65, 36, 34, 35, 43, 75, 38, 39, 11, - 23, 98, 183, 10, 95, 69, 12, 92, 61, 78, - 18, 36, 34, 35, 43, 170, 38, 39, 143, 31, - 56, 57, 58, 59, 60, 172, 144, 137, 37, 36, - 34, 35, 43, 16, 38, 39, 146, 55, 31, 33, - 51, 53, 114, 48, 9, 8, 7, 37, 49, 113, - 6, 32, 16, 21, 52, 17, 31, 148, 147, 5, - 50, 14, 4, 3, 0, 37, 0, 149, 150, -} - -var mtailPact = [...]int{ - -1000, -1000, 166, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 83, -1000, -1000, -13, 205, -1000, -34, 195, 13, - 13, -1000, 54, -1000, 21, 32, -1000, 7, 1, -1000, - 52, 184, -25, -1000, -1000, -1000, -1000, 184, -1000, -1000, - 29, -1000, 35, -1000, 79, -40, 139, -1000, -13, -21, - -1000, 85, -13, 17, -1000, 128, -1000, -1000, -1000, -1000, - -1000, -40, -1000, -1000, -40, -1000, -1000, -1000, -40, -40, - -1000, -1000, -1000, -40, -40, -40, -1000, -1000, -40, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 54, -1000, 134, 184, - -1, -1000, -40, -1000, -1000, -40, -1000, -1000, -40, -1000, - -1000, -1000, -1000, -1000, -1000, -13, 147, -1000, 3, 120, - -13, -1000, 121, 226, -1000, -1000, -1000, 184, 184, 83, - 184, 184, 184, 17, 184, -14, -1000, 13, -1000, 33, - -1000, 184, 184, 184, 21, 42, -1000, -1000, -1000, -45, - 41, -1000, 69, -1000, -1000, -1000, -1000, 95, 82, 119, - 74, 13, 32, -1000, -1000, -1000, 52, 13, 13, -1000, - -1000, 29, -1000, 184, 35, 79, -1000, -1000, -1000, -1000, - -29, -1000, -1000, -1000, -1000, -1000, -44, -1000, -1000, -1000, - -1000, 95, 62, -1000, -1000, -1000, -} - -var mtailPgo = [...]int{ - 0, 54, 243, 39, 41, 242, 241, 239, 235, 3, - 7, 6, 15, 5, 233, 9, 16, 27, 11, 231, - 12, 13, 19, 230, 229, 226, 225, 25, 23, 224, - 222, 219, 2, 217, 216, 206, 205, 0, 198, 195, - 190, 189, 187, 185, 168, 184, 181, 176, 171, 169, - 163, 162, 10, 1, 159, -} - -var mtailR1 = [...]int{ - 0, 51, 1, 1, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 5, 5, 5, 6, 6, 6, - 7, 7, 4, 8, 8, 14, 14, 18, 18, 18, - 18, 44, 44, 17, 17, 43, 43, 43, 15, 15, - 41, 41, 41, 41, 41, 41, 16, 16, 42, 42, - 11, 11, 45, 45, 28, 28, 47, 47, 22, 21, - 21, 21, 10, 10, 46, 46, 46, 46, 13, 13, - 12, 12, 48, 48, 9, 9, 9, 9, 9, 9, - 9, 9, 19, 19, 20, 31, 31, 3, 3, 32, - 32, 27, 23, 40, 40, 24, 24, 24, 24, 24, - 30, 30, 33, 33, 33, 33, 33, 38, 39, 39, - 37, 35, 34, 49, 50, 50, 50, 50, 25, 26, - 29, 29, 36, 36, 53, 54, 52, 52, -} - -var mtailR2 = [...]int{ - 0, 1, 0, 2, 1, 1, 1, 1, 1, 1, - 1, 4, 1, 1, 4, 2, 3, 1, 4, 1, - 1, 2, 3, 1, 1, 4, 4, 1, 1, 4, - 4, 1, 1, 1, 4, 1, 1, 1, 1, 4, - 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, - 1, 4, 1, 1, 4, 4, 1, 1, 1, 1, - 4, 4, 1, 4, 1, 1, 1, 1, 1, 2, - 1, 2, 1, 1, 1, 1, 1, 1, 1, 3, - 1, 1, 1, 4, 1, 4, 5, 1, 3, 1, - 1, 5, 3, 0, 1, 2, 2, 2, 2, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, - 1, 2, 2, 2, 1, 1, 3, 3, 4, 3, - 5, 3, 1, 1, 0, 0, 0, 1, -} - -var mtailChk = [...]int{ - -1000, -51, -1, -2, -5, -7, -23, -25, -26, -29, - 17, 13, 20, 4, -6, -53, 66, -8, -40, -22, - -18, -14, -12, 14, -21, -17, -28, -13, -9, -27, - -15, 52, -19, -31, 26, 27, 25, 61, 30, 31, - -16, -20, -11, 28, -10, -20, -4, 59, 18, 23, - 35, 15, 29, 16, 66, -33, 5, 6, 7, 8, - 9, -44, 53, 54, -44, -48, 33, 34, 39, -43, - 49, 51, 50, 56, 55, -47, 57, 58, -41, 43, - 44, 45, 46, 47, 48, -13, -12, -9, -53, 63, - -18, -13, -42, 41, 42, -45, 39, 38, -46, 37, - 35, 36, 40, -52, 66, 19, -1, -4, 61, -54, - 28, -4, -12, -24, -30, 28, 25, -52, -52, -52, - -52, -52, -52, -52, -52, -3, -32, -18, -22, -53, - 62, -52, -52, -52, -21, -53, -4, 60, 62, -3, - 24, -4, 10, -38, -35, -49, -34, 12, 11, 21, - 22, -18, -17, -28, -27, -20, -15, -18, -18, -22, - -9, -16, 64, 65, -11, -10, -13, 62, 35, 32, - -39, -37, -36, 28, 25, 25, -50, 31, 30, 30, - -32, 65, 65, -37, 31, 30, -} - -var mtailDef = [...]int{ - 2, -2, -2, 3, 4, 5, 6, 7, 8, 9, - 10, 0, 12, 13, 0, 0, 20, 0, 0, 17, - 19, 23, -2, 94, 58, 27, 28, 62, 70, 59, - 33, 124, 74, 75, 76, 77, 78, 124, 80, 81, - 38, 82, 46, 84, 50, 126, 15, 2, 0, 0, - 125, 0, 0, 124, 21, 0, 102, 103, 104, 105, - 106, 126, 31, 32, 126, 71, 72, 73, 126, 126, - 35, 36, 37, 126, 126, 126, 56, 57, 126, 40, - 41, 42, 43, 44, 45, 69, 68, 70, 0, 124, - 0, 62, 126, 48, 49, 126, 52, 53, 126, 64, - 65, 66, 67, 124, 127, 0, -2, 16, 124, 0, - 0, 119, 121, 92, 99, 100, 101, 124, 124, 124, - 124, 124, 124, 124, 124, 0, 87, 89, 90, 0, - 79, 124, 124, 124, 11, 0, 14, 22, 85, 0, - 0, 118, 0, 95, 96, 97, 98, 0, 0, 0, - 0, 18, 29, 30, 60, 61, 34, 25, 26, 54, - 55, 39, 83, 124, 47, 51, 63, 86, 91, 120, - 107, 108, 110, 122, 123, 111, 113, 114, 115, 112, - 88, 0, 0, 109, 116, 117, -} - -var mtailTok1 = [...]int{ - 1, -} - -var mtailTok2 = [...]int{ - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, -} - -var mtailTok3 = [...]int{ - 0, -} - -var mtailErrorMessages = [...]struct { - state int - token int - msg string -}{ - {109, 4, "unexpected end of file, expecting '/' to end regex"}, - {15, 1, "unexpected end of file, expecting '}' to end block"}, - {15, 1, "unexpected end of file, expecting '}' to end block"}, - {15, 1, "unexpected end of file, expecting '}' to end block"}, - {14, 63, "unexpected indexing of an expression"}, - {14, 66, "statement with no effect, missing an assignment, `+' concatenation, or `{}' block?"}, -} - -//line yaccpar:1 - -/* parser for yacc output */ - -var ( - mtailDebug = 0 - mtailErrorVerbose = false -) - -type mtailLexer interface { - Lex(lval *mtailSymType) int - Error(s string) -} - -type mtailParser interface { - Parse(mtailLexer) int - Lookahead() int -} - -type mtailParserImpl struct { - lval mtailSymType - stack [mtailInitialStackSize]mtailSymType - char int -} - -func (p *mtailParserImpl) Lookahead() int { - return p.char -} - -func mtailNewParser() mtailParser { - return &mtailParserImpl{} -} - -const mtailFlag = -1000 - -func mtailTokname(c int) string { - if c >= 1 && c-1 < len(mtailToknames) { - if mtailToknames[c-1] != "" { - return mtailToknames[c-1] - } - } - return __yyfmt__.Sprintf("tok-%v", c) -} - -func mtailStatname(s int) string { - if s >= 0 && s < len(mtailStatenames) { - if mtailStatenames[s] != "" { - return mtailStatenames[s] - } - } - return __yyfmt__.Sprintf("state-%v", s) -} - -func mtailErrorMessage(state, lookAhead int) string { - const TOKSTART = 4 - - if !mtailErrorVerbose { - return "syntax error" - } - - for _, e := range mtailErrorMessages { - if e.state == state && e.token == lookAhead { - return "syntax error: " + e.msg - } - } - - res := "syntax error: unexpected " + mtailTokname(lookAhead) - - // To match Bison, suggest at most four expected tokens. - expected := make([]int, 0, 4) - - // Look for shiftable tokens. - base := mtailPact[state] - for tok := TOKSTART; tok-1 < len(mtailToknames); tok++ { - if n := base + tok; n >= 0 && n < mtailLast && mtailChk[mtailAct[n]] == tok { - if len(expected) == cap(expected) { - return res - } - expected = append(expected, tok) - } - } - - if mtailDef[state] == -2 { - i := 0 - for mtailExca[i] != -1 || mtailExca[i+1] != state { - i += 2 - } - - // Look for tokens that we accept or reduce. - for i += 2; mtailExca[i] >= 0; i += 2 { - tok := mtailExca[i] - if tok < TOKSTART || mtailExca[i+1] == 0 { - continue - } - if len(expected) == cap(expected) { - return res - } - expected = append(expected, tok) - } - - // If the default action is to accept or reduce, give up. - if mtailExca[i+1] != 0 { - return res - } - } - - for i, tok := range expected { - if i == 0 { - res += ", expecting " - } else { - res += " or " - } - res += mtailTokname(tok) - } - return res -} - -func mtaillex1(lex mtailLexer, lval *mtailSymType) (char, token int) { - token = 0 - char = lex.Lex(lval) - if char <= 0 { - token = mtailTok1[0] - goto out - } - if char < len(mtailTok1) { - token = mtailTok1[char] - goto out - } - if char >= mtailPrivate { - if char < mtailPrivate+len(mtailTok2) { - token = mtailTok2[char-mtailPrivate] - goto out - } - } - for i := 0; i < len(mtailTok3); i += 2 { - token = mtailTok3[i+0] - if token == char { - token = mtailTok3[i+1] - goto out - } - } - -out: - if token == 0 { - token = mtailTok2[1] /* unknown char */ - } - if mtailDebug >= 3 { - __yyfmt__.Printf("lex %s(%d)\n", mtailTokname(token), uint(char)) - } - return char, token -} - -func mtailParse(mtaillex mtailLexer) int { - return mtailNewParser().Parse(mtaillex) -} - -func (mtailrcvr *mtailParserImpl) Parse(mtaillex mtailLexer) int { - var mtailn int - var mtailVAL mtailSymType - var mtailDollar []mtailSymType - _ = mtailDollar // silence set and not used - mtailS := mtailrcvr.stack[:] - - Nerrs := 0 /* number of errors */ - Errflag := 0 /* error recovery flag */ - mtailstate := 0 - mtailrcvr.char = -1 - mtailtoken := -1 // mtailrcvr.char translated into internal numbering - defer func() { - // Make sure we report no lookahead when not parsing. - mtailstate = -1 - mtailrcvr.char = -1 - mtailtoken = -1 - }() - mtailp := -1 - goto mtailstack - -ret0: - return 0 - -ret1: - return 1 - -mtailstack: - /* put a state and value onto the stack */ - if mtailDebug >= 4 { - __yyfmt__.Printf("char %v in %v\n", mtailTokname(mtailtoken), mtailStatname(mtailstate)) - } - - mtailp++ - if mtailp >= len(mtailS) { - nyys := make([]mtailSymType, len(mtailS)*2) - copy(nyys, mtailS) - mtailS = nyys - } - mtailS[mtailp] = mtailVAL - mtailS[mtailp].yys = mtailstate - -mtailnewstate: - mtailn = mtailPact[mtailstate] - if mtailn <= mtailFlag { - goto mtaildefault /* simple state */ - } - if mtailrcvr.char < 0 { - mtailrcvr.char, mtailtoken = mtaillex1(mtaillex, &mtailrcvr.lval) - } - mtailn += mtailtoken - if mtailn < 0 || mtailn >= mtailLast { - goto mtaildefault - } - mtailn = mtailAct[mtailn] - if mtailChk[mtailn] == mtailtoken { /* valid shift */ - mtailrcvr.char = -1 - mtailtoken = -1 - mtailVAL = mtailrcvr.lval - mtailstate = mtailn - if Errflag > 0 { - Errflag-- - } - goto mtailstack - } - -mtaildefault: - /* default state action */ - mtailn = mtailDef[mtailstate] - if mtailn == -2 { - if mtailrcvr.char < 0 { - mtailrcvr.char, mtailtoken = mtaillex1(mtaillex, &mtailrcvr.lval) - } - - /* look through exception table */ - xi := 0 - for { - if mtailExca[xi+0] == -1 && mtailExca[xi+1] == mtailstate { - break - } - xi += 2 - } - for xi += 2; ; xi += 2 { - mtailn = mtailExca[xi+0] - if mtailn < 0 || mtailn == mtailtoken { - break - } - } - mtailn = mtailExca[xi+1] - if mtailn < 0 { - goto ret0 - } - } - if mtailn == 0 { - /* error ... attempt to resume parsing */ - switch Errflag { - case 0: /* brand new error */ - mtaillex.Error(mtailErrorMessage(mtailstate, mtailtoken)) - Nerrs++ - if mtailDebug >= 1 { - __yyfmt__.Printf("%s", mtailStatname(mtailstate)) - __yyfmt__.Printf(" saw %s\n", mtailTokname(mtailtoken)) - } - fallthrough - - case 1, 2: /* incompletely recovered error ... try again */ - Errflag = 3 - - /* find a state where "error" is a legal shift action */ - for mtailp >= 0 { - mtailn = mtailPact[mtailS[mtailp].yys] + mtailErrCode - if mtailn >= 0 && mtailn < mtailLast { - mtailstate = mtailAct[mtailn] /* simulate a shift of "error" */ - if mtailChk[mtailstate] == mtailErrCode { - goto mtailstack - } - } - - /* the current p has no shift on "error", pop stack */ - if mtailDebug >= 2 { - __yyfmt__.Printf("error recovery pops state %d\n", mtailS[mtailp].yys) - } - mtailp-- - } - /* there is no state on the stack with an error shift ... abort */ - goto ret1 - - case 3: /* no shift yet; clobber input char */ - if mtailDebug >= 2 { - __yyfmt__.Printf("error recovery discards %s\n", mtailTokname(mtailtoken)) - } - if mtailtoken == mtailEofCode { - goto ret1 - } - mtailrcvr.char = -1 - mtailtoken = -1 - goto mtailnewstate /* try again in the same state */ - } - } - - /* reduction by production mtailn */ - if mtailDebug >= 2 { - __yyfmt__.Printf("reduce %v in:\n\t%v\n", mtailn, mtailStatname(mtailstate)) - } - - mtailnt := mtailn - mtailpt := mtailp - _ = mtailpt // guard against "declared and not used" - - mtailp -= mtailR2[mtailn] - // mtailp is now the index of $0. Perform the default action. Iff the - // reduced production is Îĩ, $1 is possibly out of range. - if mtailp+1 >= len(mtailS) { - nyys := make([]mtailSymType, len(mtailS)*2) - copy(nyys, mtailS) - mtailS = nyys - } - mtailVAL = mtailS[mtailp+1] - - /* consult goto table to find next state */ - mtailn = mtailR1[mtailn] - mtailg := mtailPgo[mtailn] - mtailj := mtailg + mtailS[mtailp].yys + 1 - - if mtailj >= mtailLast { - mtailstate = mtailAct[mtailg] - } else { - mtailstate = mtailAct[mtailj] - if mtailChk[mtailstate] != -mtailn { - mtailstate = mtailAct[mtailg] - } - } - // dummy call; replaced with literal code - switch mtailnt { - - case 1: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:93 - { - mtaillex.(*parser).root = mtailDollar[1].n - } - case 2: - mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:101 - { - mtailVAL.n = &ast.StmtList{} - } - case 3: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:105 - { - mtailVAL.n = mtailDollar[1].n - if mtailDollar[2].n != nil { - mtailVAL.n.(*ast.StmtList).Children = append(mtailVAL.n.(*ast.StmtList).Children, mtailDollar[2].n) - } - } - case 4: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:116 - { - mtailVAL.n = mtailDollar[1].n - } - case 5: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:118 - { - mtailVAL.n = mtailDollar[1].n - } - case 6: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:120 - { - mtailVAL.n = mtailDollar[1].n - } - case 7: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:122 - { - mtailVAL.n = mtailDollar[1].n - } - case 8: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:124 - { - mtailVAL.n = mtailDollar[1].n - } - case 9: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:126 - { - mtailVAL.n = mtailDollar[1].n - } - case 10: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:128 - { - mtailVAL.n = &ast.NextStmt{tokenpos(mtaillex)} - } - case 11: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:132 - { - mtailVAL.n = &ast.PatternFragment{ID: mtailDollar[2].n, Expr: mtailDollar[4].n} - } - case 12: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:136 - { - mtailVAL.n = &ast.StopStmt{tokenpos(mtaillex)} - } - case 13: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:140 - { - mtailVAL.n = &ast.Error{tokenpos(mtaillex), mtailDollar[1].text} - } - case 14: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:148 - { - mtailVAL.n = &ast.CondStmt{mtailDollar[1].n, mtailDollar[2].n, mtailDollar[4].n, nil} - } - case 15: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:152 - { - if mtailDollar[1].n != nil { - mtailVAL.n = &ast.CondStmt{mtailDollar[1].n, mtailDollar[2].n, nil, nil} - } else { - mtailVAL.n = mtailDollar[2].n - } - } - case 16: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:160 - { - o := &ast.OtherwiseStmt{positionFromMark(mtaillex)} - mtailVAL.n = &ast.CondStmt{o, mtailDollar[3].n, nil, nil} - } - case 17: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:168 - { - mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: MATCH} - } - case 18: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:172 - { - mtailVAL.n = &ast.BinaryExpr{ - LHS: &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: MATCH}, - RHS: mtailDollar[4].n, - Op: mtailDollar[2].op, - } - } - case 19: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:180 - { - mtailVAL.n = mtailDollar[1].n - } - case 20: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:186 - { - mtailVAL.n = nil - } - case 21: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:188 - { - mtailVAL.n = mtailDollar[1].n - } - case 22: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:194 - { - mtailVAL.n = mtailDollar[2].n - } - case 23: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:202 - { - mtailVAL.n = mtailDollar[1].n - } - case 24: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:204 - { - mtailVAL.n = mtailDollar[1].n - } - case 25: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:210 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 26: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:214 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 27: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:222 - { - mtailVAL.n = mtailDollar[1].n - } - case 28: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:224 - { - mtailVAL.n = mtailDollar[1].n - } - case 29: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:226 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 30: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:230 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 31: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:237 - { - mtailVAL.op = mtailDollar[1].op - } - case 32: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:239 - { - mtailVAL.op = mtailDollar[1].op - } - case 33: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:245 - { - mtailVAL.n = mtailDollar[1].n - } - case 34: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:247 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 35: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:254 - { - mtailVAL.op = mtailDollar[1].op - } - case 36: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:256 - { - mtailVAL.op = mtailDollar[1].op - } - case 37: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:258 - { - mtailVAL.op = mtailDollar[1].op - } - case 38: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:264 - { - mtailVAL.n = mtailDollar[1].n - } - case 39: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:266 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 40: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:273 - { - mtailVAL.op = mtailDollar[1].op - } - case 41: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:275 - { - mtailVAL.op = mtailDollar[1].op - } - case 42: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:277 - { - mtailVAL.op = mtailDollar[1].op - } - case 43: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:279 - { - mtailVAL.op = mtailDollar[1].op - } - case 44: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:281 - { - mtailVAL.op = mtailDollar[1].op - } - case 45: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:283 - { - mtailVAL.op = mtailDollar[1].op - } - case 46: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:289 - { - mtailVAL.n = mtailDollar[1].n - } - case 47: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:291 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 48: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:298 - { - mtailVAL.op = mtailDollar[1].op - } - case 49: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:300 - { - mtailVAL.op = mtailDollar[1].op - } - case 50: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:306 - { - mtailVAL.n = mtailDollar[1].n - } - case 51: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:308 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 52: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:315 - { - mtailVAL.op = mtailDollar[1].op - } - case 53: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:317 - { - mtailVAL.op = mtailDollar[1].op - } - case 54: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:323 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 55: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:327 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 56: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:334 - { - mtailVAL.op = mtailDollar[1].op - } - case 57: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:336 - { - mtailVAL.op = mtailDollar[1].op - } - case 58: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:343 - { - mtailVAL.n = &ast.PatternExpr{Expr: mtailDollar[1].n} - } - case 59: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:351 - { - mtailVAL.n = mtailDollar[1].n - } - case 60: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:353 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: PLUS} - } - case 61: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:357 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: PLUS} - } - case 62: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:365 - { - mtailVAL.n = mtailDollar[1].n - } - case 63: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:367 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 64: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:374 - { - mtailVAL.op = mtailDollar[1].op - } - case 65: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:376 - { - mtailVAL.op = mtailDollar[1].op - } - case 66: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:378 - { - mtailVAL.op = mtailDollar[1].op - } - case 67: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:380 - { - mtailVAL.op = mtailDollar[1].op - } - case 68: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:386 - { - mtailVAL.n = mtailDollar[1].n - } - case 69: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:388 - { - mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[2].n, Op: mtailDollar[1].op} - } - case 70: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:396 - { - mtailVAL.n = mtailDollar[1].n - } - case 71: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:398 - { - mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: mtailDollar[2].op} - } - case 72: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:405 - { - mtailVAL.op = mtailDollar[1].op - } - case 73: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:407 - { - mtailVAL.op = mtailDollar[1].op - } - case 74: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:413 - { - mtailVAL.n = mtailDollar[1].n - } - case 75: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:415 - { - mtailVAL.n = mtailDollar[1].n - } - case 76: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:417 - { - mtailVAL.n = &ast.CaprefTerm{tokenpos(mtaillex), mtailDollar[1].text, false, nil} - } - case 77: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:421 - { - mtailVAL.n = &ast.CaprefTerm{tokenpos(mtaillex), mtailDollar[1].text, true, nil} - } - case 78: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:425 - { - mtailVAL.n = &ast.StringLit{tokenpos(mtaillex), mtailDollar[1].text} - } - case 79: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:429 - { - mtailVAL.n = mtailDollar[2].n - } - case 80: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:433 - { - mtailVAL.n = &ast.IntLit{tokenpos(mtaillex), mtailDollar[1].intVal} - } - case 81: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:437 - { - mtailVAL.n = &ast.FloatLit{tokenpos(mtaillex), mtailDollar[1].floatVal} - } - case 82: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:445 - { - // Build an empty IndexedExpr so that the recursive rule below doesn't need to handle the alternative. - mtailVAL.n = &ast.IndexedExpr{LHS: mtailDollar[1].n, Index: &ast.ExprList{}} - } - case 83: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:450 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.IndexedExpr).Index.(*ast.ExprList).Children = append( - mtailVAL.n.(*ast.IndexedExpr).Index.(*ast.ExprList).Children, - mtailDollar[3].n.(*ast.ExprList).Children...) - } - case 84: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:461 - { - mtailVAL.n = &ast.IDTerm{tokenpos(mtaillex), mtailDollar[1].text, nil, false} - } - case 85: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:469 - { - mtailVAL.n = &ast.BuiltinExpr{P: positionFromMark(mtaillex), Name: mtailDollar[2].text, Args: nil} - } - case 86: - mtailDollar = mtailS[mtailpt-5 : mtailpt+1] -//line parser.y:473 - { - mtailVAL.n = &ast.BuiltinExpr{P: positionFromMark(mtaillex), Name: mtailDollar[2].text, Args: mtailDollar[4].n} - } - case 87: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:482 - { - mtailVAL.n = &ast.ExprList{} - mtailVAL.n.(*ast.ExprList).Children = append(mtailVAL.n.(*ast.ExprList).Children, mtailDollar[1].n) - } - case 88: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:487 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.ExprList).Children = append(mtailVAL.n.(*ast.ExprList).Children, mtailDollar[3].n) - } - case 89: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:495 - { - mtailVAL.n = mtailDollar[1].n - } - case 90: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:497 - { - mtailVAL.n = mtailDollar[1].n - } - case 91: - mtailDollar = mtailS[mtailpt-5 : mtailpt+1] -//line parser.y:503 - { - mtailVAL.n = &ast.PatternLit{P: positionFromMark(mtaillex), Pattern: mtailDollar[4].text} - } - case 92: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:511 - { - mtailVAL.n = mtailDollar[3].n - d := mtailVAL.n.(*ast.VarDecl) - d.Kind = mtailDollar[2].kind - d.Hidden = mtailDollar[1].flag - } - case 93: - mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:522 - { - mtailVAL.flag = false - } - case 94: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:526 - { - mtailVAL.flag = true - } - case 95: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:534 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.VarDecl).Keys = mtailDollar[2].texts - } - case 96: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:539 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.VarDecl).ExportedName = mtailDollar[2].text - } - case 97: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:544 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.VarDecl).Buckets = mtailDollar[2].floats - } - case 98: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:549 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.VarDecl).Limit = mtailDollar[2].intVal - } - case 99: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:554 - { - mtailVAL.n = mtailDollar[1].n - } - case 100: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:562 - { - mtailVAL.n = &ast.VarDecl{P: tokenpos(mtaillex), Name: mtailDollar[1].text} - } - case 101: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:566 - { - mtailVAL.n = &ast.VarDecl{P: tokenpos(mtaillex), Name: mtailDollar[1].text} - } - case 102: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:574 - { - mtailVAL.kind = metrics.Counter - } - case 103: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:578 - { - mtailVAL.kind = metrics.Gauge - } - case 104: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:582 - { - mtailVAL.kind = metrics.Timer - } - case 105: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:586 - { - mtailVAL.kind = metrics.Text - } - case 106: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:590 - { - mtailVAL.kind = metrics.Histogram - } - case 107: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:598 - { - mtailVAL.texts = mtailDollar[2].texts - } - case 108: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:605 - { - mtailVAL.texts = make([]string, 0) - mtailVAL.texts = append(mtailVAL.texts, mtailDollar[1].text) - } - case 109: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:610 - { - mtailVAL.texts = mtailDollar[1].texts - mtailVAL.texts = append(mtailVAL.texts, mtailDollar[3].text) - } - case 110: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:618 - { - mtailVAL.text = mtailDollar[1].text - } - case 111: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:624 - { - mtailVAL.text = mtailDollar[2].text - } - case 112: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:631 - { - mtailVAL.intVal = mtailDollar[2].intVal - } - case 113: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:639 - { - mtailVAL.floats = mtailDollar[2].floats - } - case 114: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:645 - { - mtailVAL.floats = make([]float64, 0) - mtailVAL.floats = append(mtailVAL.floats, mtailDollar[1].floatVal) - } - case 115: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:650 - { - mtailVAL.floats = make([]float64, 0) - mtailVAL.floats = append(mtailVAL.floats, float64(mtailDollar[1].intVal)) - } - case 116: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:655 - { - mtailVAL.floats = mtailDollar[1].floats - mtailVAL.floats = append(mtailVAL.floats, mtailDollar[3].floatVal) - } - case 117: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:660 - { - mtailVAL.floats = mtailDollar[1].floats - mtailVAL.floats = append(mtailVAL.floats, float64(mtailDollar[3].intVal)) - } - case 118: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:668 - { - mtailVAL.n = &ast.DecoDecl{P: markedpos(mtaillex), Name: mtailDollar[3].text, Block: mtailDollar[4].n} - } - case 119: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:676 - { - mtailVAL.n = &ast.DecoStmt{markedpos(mtaillex), mtailDollar[2].text, mtailDollar[3].n, nil, nil} - } - case 120: - mtailDollar = mtailS[mtailpt-5 : mtailpt+1] -//line parser.y:684 - { - mtailVAL.n = &ast.DelStmt{P: positionFromMark(mtaillex), N: mtailDollar[3].n, Expiry: mtailDollar[5].duration} - } - case 121: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:688 - { - mtailVAL.n = &ast.DelStmt{P: positionFromMark(mtaillex), N: mtailDollar[3].n} - } - case 122: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:695 - { - mtailVAL.text = mtailDollar[1].text - } - case 123: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:699 - { - mtailVAL.text = mtailDollar[1].text - } - case 124: - mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:709 - { - glog.V(2).Infof("position marked at %v", tokenpos(mtaillex)) - mtaillex.(*parser).pos = tokenpos(mtaillex) - } - case 125: - mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:719 - { - mtaillex.(*parser).inRegex() - } - } - goto mtailstack /* stack new state and value */ -} diff --git a/tools/tools.go b/tools/tools.go new file mode 100644 index 000000000..aff1ae235 --- /dev/null +++ b/tools/tools.go @@ -0,0 +1,5 @@ +package tools + +import ( + _ "golang.org/x/tools/cmd/goyacc" +) From a8462ed9488f375e110f47ddebc15b44540e2a53 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 26 Apr 2025 19:43:05 +1000 Subject: [PATCH 094/381] chore: Move goyacc.bzl to `tools` at the top level. This will let us set up //tools for more build tools. --- internal/runtime/compiler/parser/BUILD.bazel | 2 +- internal/runtime/compiler/parser/y.output | 1840 ----------------- tools/BUILD.bazel | 0 .../compiler/parser => tools}/goyacc.bzl | 0 4 files changed, 1 insertion(+), 1841 deletions(-) delete mode 100644 internal/runtime/compiler/parser/y.output create mode 100644 tools/BUILD.bazel rename {internal/runtime/compiler/parser => tools}/goyacc.bzl (100%) diff --git a/internal/runtime/compiler/parser/BUILD.bazel b/internal/runtime/compiler/parser/BUILD.bazel index 156130961..9682c1be5 100644 --- a/internal/runtime/compiler/parser/BUILD.bazel +++ b/internal/runtime/compiler/parser/BUILD.bazel @@ -1,5 +1,5 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") -load(":goyacc.bzl", "go_yacc") +load("//tools:goyacc.bzl", "go_yacc") go_yacc( name = "parser_go_gen", diff --git a/internal/runtime/compiler/parser/y.output b/internal/runtime/compiler/parser/y.output deleted file mode 100644 index d7620a328..000000000 --- a/internal/runtime/compiler/parser/y.output +++ /dev/null @@ -1,1840 +0,0 @@ - -state 0 - $accept: .start $end - stmt_list: . (2) - - . reduce 2 (src line 99) - - stmt_list goto 2 - start goto 1 - -state 1 - $accept: start.$end - - $end accept - . error - - -state 2 - start: stmt_list. (1) - stmt_list: stmt_list.stmt - mark_pos: . (124) - metric_hide_spec: . (93) - - $end reduce 1 (src line 91) - INVALID shift 13 - COUNTER reduce 93 (src line 520) - GAUGE reduce 93 (src line 520) - TIMER reduce 93 (src line 520) - TEXT reduce 93 (src line 520) - HISTOGRAM reduce 93 (src line 520) - CONST shift 11 - HIDDEN shift 23 - NEXT shift 10 - STOP shift 12 - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - NL shift 16 - . reduce 124 (src line 707) - - stmt goto 3 - conditional_stmt goto 4 - conditional_expr goto 14 - expr_stmt goto 5 - expr goto 17 - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 22 - unary_expr goto 27 - assign_expr goto 21 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 20 - indexed_expr goto 32 - id_expr goto 41 - concat_expr goto 24 - pattern_expr goto 19 - metric_declaration goto 6 - decorator_declaration goto 7 - decoration_stmt goto 8 - regex_pattern goto 29 - match_expr goto 26 - delete_stmt goto 9 - builtin_expr goto 33 - metric_hide_spec goto 18 - mark_pos goto 15 - -state 3 - stmt_list: stmt_list stmt. (3) - - . reduce 3 (src line 104) - - -state 4 - stmt: conditional_stmt. (4) - - . reduce 4 (src line 114) - - -state 5 - stmt: expr_stmt. (5) - - . reduce 5 (src line 117) - - -state 6 - stmt: metric_declaration. (6) - - . reduce 6 (src line 119) - - -state 7 - stmt: decorator_declaration. (7) - - . reduce 7 (src line 121) - - -state 8 - stmt: decoration_stmt. (8) - - . reduce 8 (src line 123) - - -state 9 - stmt: delete_stmt. (9) - - . reduce 9 (src line 125) - - -state 10 - stmt: NEXT. (10) - - . reduce 10 (src line 127) - - -state 11 - stmt: CONST.id_expr opt_nl concat_expr - - ID shift 43 - . error - - id_expr goto 45 - -state 12 - stmt: STOP. (12) - - . reduce 12 (src line 135) - - -state 13 - stmt: INVALID. (13) - - . reduce 13 (src line 139) - - -state 14 - conditional_stmt: conditional_expr.compound_stmt ELSE compound_stmt - conditional_stmt: conditional_expr.compound_stmt - - LCURLY shift 47 - . error - - compound_stmt goto 46 - -state 15 - conditional_stmt: mark_pos.OTHERWISE compound_stmt - builtin_expr: mark_pos.BUILTIN LPAREN RPAREN - builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN - regex_pattern: mark_pos.DIV in_regex REGEX DIV - decorator_declaration: mark_pos.DEF ID compound_stmt - decoration_stmt: mark_pos.DECO compound_stmt - delete_stmt: mark_pos.DEL postfix_expr AFTER DURATIONLITERAL - delete_stmt: mark_pos.DEL postfix_expr - - DEF shift 51 - DEL shift 53 - OTHERWISE shift 48 - BUILTIN shift 49 - DECO shift 52 - DIV shift 50 - . error - - -state 16 - expr_stmt: NL. (20) - - . reduce 20 (src line 184) - - -state 17 - expr_stmt: expr.NL - - NL shift 54 - . error - - -state 18 - metric_declaration: metric_hide_spec.metric_type_spec metric_decl_attr_spec - - COUNTER shift 56 - GAUGE shift 57 - TIMER shift 58 - TEXT shift 59 - HISTOGRAM shift 60 - . error - - metric_type_spec goto 55 - -state 19 - conditional_expr: pattern_expr. (17) - conditional_expr: pattern_expr.logical_op opt_nl logical_expr - - AND shift 62 - OR shift 63 - . reduce 17 (src line 166) - - logical_op goto 61 - -state 20 - conditional_expr: logical_expr. (19) - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - - AND shift 62 - OR shift 63 - . reduce 19 (src line 179) - - logical_op goto 64 - -state 21 - expr: assign_expr. (23) - - . reduce 23 (src line 200) - - -state 22 - expr: postfix_expr. (24) - unary_expr: postfix_expr. (68) - postfix_expr: postfix_expr.postfix_op - - INC shift 66 - DEC shift 67 - NL reduce 24 (src line 203) - . reduce 68 (src line 384) - - postfix_op goto 65 - -state 23 - metric_hide_spec: HIDDEN. (94) - - . reduce 94 (src line 525) - - -state 24 - pattern_expr: concat_expr. (58) - concat_expr: concat_expr.PLUS opt_nl regex_pattern - concat_expr: concat_expr.PLUS opt_nl id_expr - - PLUS shift 68 - . reduce 58 (src line 341) - - -state 25 - logical_expr: bitwise_expr. (27) - bitwise_expr: bitwise_expr.bitwise_op opt_nl rel_expr - - BITAND shift 70 - XOR shift 72 - BITOR shift 71 - . reduce 27 (src line 220) - - bitwise_op goto 69 - -state 26 - logical_expr: match_expr. (28) - - . reduce 28 (src line 223) - - -state 27 - assign_expr: unary_expr.ASSIGN opt_nl logical_expr - assign_expr: unary_expr.ADD_ASSIGN opt_nl logical_expr - multiplicative_expr: unary_expr. (62) - - ADD_ASSIGN shift 74 - ASSIGN shift 73 - . reduce 62 (src line 363) - - -state 28 - match_expr: primary_expr.match_op opt_nl pattern_expr - match_expr: primary_expr.match_op opt_nl primary_expr - postfix_expr: primary_expr. (70) - - MATCH shift 76 - NOT_MATCH shift 77 - . reduce 70 (src line 394) - - match_op goto 75 - -state 29 - concat_expr: regex_pattern. (59) - - . reduce 59 (src line 349) - - -state 30 - bitwise_expr: rel_expr. (33) - rel_expr: rel_expr.rel_op opt_nl shift_expr - - LT shift 79 - GT shift 80 - LE shift 81 - GE shift 82 - EQ shift 83 - NE shift 84 - . reduce 33 (src line 243) - - rel_op goto 78 - -state 31 - unary_expr: NOT.unary_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 87 - postfix_expr goto 86 - unary_expr goto 85 - indexed_expr goto 32 - id_expr goto 41 - builtin_expr goto 33 - mark_pos goto 88 - -state 32 - primary_expr: indexed_expr. (74) - indexed_expr: indexed_expr.LSQUARE arg_expr_list RSQUARE - - LSQUARE shift 89 - . reduce 74 (src line 411) - - -state 33 - primary_expr: builtin_expr. (75) - - . reduce 75 (src line 414) - - -state 34 - primary_expr: CAPREF. (76) - - . reduce 76 (src line 416) - - -state 35 - primary_expr: CAPREF_NAMED. (77) - - . reduce 77 (src line 420) - - -state 36 - primary_expr: STRING. (78) - - . reduce 78 (src line 424) - - -state 37 - primary_expr: LPAREN.logical_expr RPAREN - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 90 - indexed_expr goto 32 - id_expr goto 41 - match_expr goto 26 - builtin_expr goto 33 - mark_pos goto 88 - -state 38 - primary_expr: INTLITERAL. (80) - - . reduce 80 (src line 432) - - -state 39 - primary_expr: FLOATLITERAL. (81) - - . reduce 81 (src line 436) - - -state 40 - rel_expr: shift_expr. (38) - shift_expr: shift_expr.shift_op opt_nl additive_expr - - SHL shift 93 - SHR shift 94 - . reduce 38 (src line 262) - - shift_op goto 92 - -state 41 - indexed_expr: id_expr. (82) - - . reduce 82 (src line 443) - - -state 42 - shift_expr: additive_expr. (46) - additive_expr: additive_expr.add_op opt_nl multiplicative_expr - - MINUS shift 97 - PLUS shift 96 - . reduce 46 (src line 287) - - add_op goto 95 - -state 43 - id_expr: ID. (84) - - . reduce 84 (src line 459) - - -state 44 - additive_expr: multiplicative_expr. (50) - multiplicative_expr: multiplicative_expr.mul_op opt_nl unary_expr - - DIV shift 100 - MOD shift 101 - MUL shift 99 - POW shift 102 - . reduce 50 (src line 304) - - mul_op goto 98 - -state 45 - stmt: CONST id_expr.opt_nl concat_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 103 - -state 46 - conditional_stmt: conditional_expr compound_stmt.ELSE compound_stmt - conditional_stmt: conditional_expr compound_stmt. (15) - - ELSE shift 105 - . reduce 15 (src line 151) - - -state 47 - compound_stmt: LCURLY.stmt_list RCURLY - stmt_list: . (2) - - . reduce 2 (src line 99) - - stmt_list goto 106 - -state 48 - conditional_stmt: mark_pos OTHERWISE.compound_stmt - - LCURLY shift 47 - . error - - compound_stmt goto 107 - -state 49 - builtin_expr: mark_pos BUILTIN.LPAREN RPAREN - builtin_expr: mark_pos BUILTIN.LPAREN arg_expr_list RPAREN - - LPAREN shift 108 - . error - - -state 50 - regex_pattern: mark_pos DIV.in_regex REGEX DIV - in_regex: . (125) - - . reduce 125 (src line 717) - - in_regex goto 109 - -state 51 - decorator_declaration: mark_pos DEF.ID compound_stmt - - ID shift 110 - . error - - -state 52 - decoration_stmt: mark_pos DECO.compound_stmt - - LCURLY shift 47 - . error - - compound_stmt goto 111 - -state 53 - delete_stmt: mark_pos DEL.postfix_expr AFTER DURATIONLITERAL - delete_stmt: mark_pos DEL.postfix_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 87 - postfix_expr goto 112 - indexed_expr goto 32 - id_expr goto 41 - builtin_expr goto 33 - mark_pos goto 88 - -state 54 - expr_stmt: expr NL. (21) - - . reduce 21 (src line 187) - - -state 55 - metric_declaration: metric_hide_spec metric_type_spec.metric_decl_attr_spec - - STRING shift 116 - ID shift 115 - . error - - metric_decl_attr_spec goto 113 - metric_name_spec goto 114 - -state 56 - metric_type_spec: COUNTER. (102) - - . reduce 102 (src line 572) - - -state 57 - metric_type_spec: GAUGE. (103) - - . reduce 103 (src line 577) - - -state 58 - metric_type_spec: TIMER. (104) - - . reduce 104 (src line 581) - - -state 59 - metric_type_spec: TEXT. (105) - - . reduce 105 (src line 585) - - -state 60 - metric_type_spec: HISTOGRAM. (106) - - . reduce 106 (src line 589) - - -state 61 - conditional_expr: pattern_expr logical_op.opt_nl logical_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 117 - -state 62 - logical_op: AND. (31) - - . reduce 31 (src line 235) - - -state 63 - logical_op: OR. (32) - - . reduce 32 (src line 238) - - -state 64 - logical_expr: logical_expr logical_op.opt_nl bitwise_expr - logical_expr: logical_expr logical_op.opt_nl match_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 118 - -state 65 - postfix_expr: postfix_expr postfix_op. (71) - - . reduce 71 (src line 397) - - -state 66 - postfix_op: INC. (72) - - . reduce 72 (src line 403) - - -state 67 - postfix_op: DEC. (73) - - . reduce 73 (src line 406) - - -state 68 - concat_expr: concat_expr PLUS.opt_nl regex_pattern - concat_expr: concat_expr PLUS.opt_nl id_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 119 - -state 69 - bitwise_expr: bitwise_expr bitwise_op.opt_nl rel_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 120 - -state 70 - bitwise_op: BITAND. (35) - - . reduce 35 (src line 252) - - -state 71 - bitwise_op: BITOR. (36) - - . reduce 36 (src line 255) - - -state 72 - bitwise_op: XOR. (37) - - . reduce 37 (src line 257) - - -state 73 - assign_expr: unary_expr ASSIGN.opt_nl logical_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 121 - -state 74 - assign_expr: unary_expr ADD_ASSIGN.opt_nl logical_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 122 - -state 75 - match_expr: primary_expr match_op.opt_nl pattern_expr - match_expr: primary_expr match_op.opt_nl primary_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 123 - -state 76 - match_op: MATCH. (56) - - . reduce 56 (src line 332) - - -state 77 - match_op: NOT_MATCH. (57) - - . reduce 57 (src line 335) - - -state 78 - rel_expr: rel_expr rel_op.opt_nl shift_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 124 - -state 79 - rel_op: LT. (40) - - . reduce 40 (src line 271) - - -state 80 - rel_op: GT. (41) - - . reduce 41 (src line 274) - - -state 81 - rel_op: LE. (42) - - . reduce 42 (src line 276) - - -state 82 - rel_op: GE. (43) - - . reduce 43 (src line 278) - - -state 83 - rel_op: EQ. (44) - - . reduce 44 (src line 280) - - -state 84 - rel_op: NE. (45) - - . reduce 45 (src line 282) - - -state 85 - unary_expr: NOT unary_expr. (69) - - . reduce 69 (src line 387) - - -state 86 - unary_expr: postfix_expr. (68) - postfix_expr: postfix_expr.postfix_op - - INC shift 66 - DEC shift 67 - . reduce 68 (src line 384) - - postfix_op goto 65 - -state 87 - postfix_expr: primary_expr. (70) - - . reduce 70 (src line 394) - - -state 88 - builtin_expr: mark_pos.BUILTIN LPAREN RPAREN - builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN - - BUILTIN shift 49 - . error - - -state 89 - indexed_expr: indexed_expr LSQUARE.arg_expr_list RSQUARE - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - arg_expr_list goto 125 - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 127 - indexed_expr goto 32 - id_expr goto 41 - concat_expr goto 24 - pattern_expr goto 128 - regex_pattern goto 29 - match_expr goto 26 - builtin_expr goto 33 - arg_expr goto 126 - mark_pos goto 129 - -state 90 - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - primary_expr: LPAREN logical_expr.RPAREN - - AND shift 62 - OR shift 63 - RPAREN shift 130 - . error - - logical_op goto 64 - -state 91 - multiplicative_expr: unary_expr. (62) - - . reduce 62 (src line 363) - - -state 92 - shift_expr: shift_expr shift_op.opt_nl additive_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 131 - -state 93 - shift_op: SHL. (48) - - . reduce 48 (src line 296) - - -state 94 - shift_op: SHR. (49) - - . reduce 49 (src line 299) - - -state 95 - additive_expr: additive_expr add_op.opt_nl multiplicative_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 132 - -state 96 - add_op: PLUS. (52) - - . reduce 52 (src line 313) - - -state 97 - add_op: MINUS. (53) - - . reduce 53 (src line 316) - - -state 98 - multiplicative_expr: multiplicative_expr mul_op.opt_nl unary_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 133 - -state 99 - mul_op: MUL. (64) - - . reduce 64 (src line 372) - - -state 100 - mul_op: DIV. (65) - - . reduce 65 (src line 375) - - -state 101 - mul_op: MOD. (66) - - . reduce 66 (src line 377) - - -state 102 - mul_op: POW. (67) - - . reduce 67 (src line 379) - - -state 103 - stmt: CONST id_expr opt_nl.concat_expr - mark_pos: . (124) - - . reduce 124 (src line 707) - - concat_expr goto 134 - regex_pattern goto 29 - mark_pos goto 135 - -state 104 - opt_nl: NL. (127) - - . reduce 127 (src line 729) - - -state 105 - conditional_stmt: conditional_expr compound_stmt ELSE.compound_stmt - - LCURLY shift 47 - . error - - compound_stmt goto 136 - -state 106 - stmt_list: stmt_list.stmt - compound_stmt: LCURLY stmt_list.RCURLY - mark_pos: . (124) - metric_hide_spec: . (93) - - INVALID shift 13 - COUNTER reduce 93 (src line 520) - GAUGE reduce 93 (src line 520) - TIMER reduce 93 (src line 520) - TEXT reduce 93 (src line 520) - HISTOGRAM reduce 93 (src line 520) - CONST shift 11 - HIDDEN shift 23 - NEXT shift 10 - STOP shift 12 - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - RCURLY shift 137 - LPAREN shift 37 - NL shift 16 - . reduce 124 (src line 707) - - stmt goto 3 - conditional_stmt goto 4 - conditional_expr goto 14 - expr_stmt goto 5 - expr goto 17 - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 22 - unary_expr goto 27 - assign_expr goto 21 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 20 - indexed_expr goto 32 - id_expr goto 41 - concat_expr goto 24 - pattern_expr goto 19 - metric_declaration goto 6 - decorator_declaration goto 7 - decoration_stmt goto 8 - regex_pattern goto 29 - match_expr goto 26 - delete_stmt goto 9 - builtin_expr goto 33 - metric_hide_spec goto 18 - mark_pos goto 15 - -state 107 - conditional_stmt: mark_pos OTHERWISE compound_stmt. (16) - - . reduce 16 (src line 159) - - -state 108 - builtin_expr: mark_pos BUILTIN LPAREN.RPAREN - builtin_expr: mark_pos BUILTIN LPAREN.arg_expr_list RPAREN - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - RPAREN shift 138 - . reduce 124 (src line 707) - - arg_expr_list goto 139 - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 127 - indexed_expr goto 32 - id_expr goto 41 - concat_expr goto 24 - pattern_expr goto 128 - regex_pattern goto 29 - match_expr goto 26 - builtin_expr goto 33 - arg_expr goto 126 - mark_pos goto 129 - -state 109 - regex_pattern: mark_pos DIV in_regex.REGEX DIV - - REGEX shift 140 - . error - - -state 110 - decorator_declaration: mark_pos DEF ID.compound_stmt - - LCURLY shift 47 - . error - - compound_stmt goto 141 - -state 111 - decoration_stmt: mark_pos DECO compound_stmt. (119) - - . reduce 119 (src line 674) - - -state 112 - postfix_expr: postfix_expr.postfix_op - delete_stmt: mark_pos DEL postfix_expr.AFTER DURATIONLITERAL - delete_stmt: mark_pos DEL postfix_expr. (121) - - AFTER shift 142 - INC shift 66 - DEC shift 67 - . reduce 121 (src line 687) - - postfix_op goto 65 - -state 113 - metric_declaration: metric_hide_spec metric_type_spec metric_decl_attr_spec. (92) - metric_decl_attr_spec: metric_decl_attr_spec.metric_by_spec - metric_decl_attr_spec: metric_decl_attr_spec.metric_as_spec - metric_decl_attr_spec: metric_decl_attr_spec.metric_buckets_spec - metric_decl_attr_spec: metric_decl_attr_spec.metric_limit_spec - - AS shift 148 - BY shift 147 - BUCKETS shift 149 - LIMIT shift 150 - . reduce 92 (src line 509) - - metric_limit_spec goto 146 - metric_as_spec goto 144 - metric_by_spec goto 143 - metric_buckets_spec goto 145 - -state 114 - metric_decl_attr_spec: metric_name_spec. (99) - - . reduce 99 (src line 553) - - -state 115 - metric_name_spec: ID. (100) - - . reduce 100 (src line 560) - - -state 116 - metric_name_spec: STRING. (101) - - . reduce 101 (src line 565) - - -state 117 - conditional_expr: pattern_expr logical_op opt_nl.logical_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 151 - indexed_expr goto 32 - id_expr goto 41 - match_expr goto 26 - builtin_expr goto 33 - mark_pos goto 88 - -state 118 - logical_expr: logical_expr logical_op opt_nl.bitwise_expr - logical_expr: logical_expr logical_op opt_nl.match_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 152 - indexed_expr goto 32 - id_expr goto 41 - match_expr goto 153 - builtin_expr goto 33 - mark_pos goto 88 - -state 119 - concat_expr: concat_expr PLUS opt_nl.regex_pattern - concat_expr: concat_expr PLUS opt_nl.id_expr - mark_pos: . (124) - - ID shift 43 - . reduce 124 (src line 707) - - id_expr goto 155 - regex_pattern goto 154 - mark_pos goto 135 - -state 120 - bitwise_expr: bitwise_expr bitwise_op opt_nl.rel_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 87 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 156 - shift_expr goto 40 - indexed_expr goto 32 - id_expr goto 41 - builtin_expr goto 33 - mark_pos goto 88 - -state 121 - assign_expr: unary_expr ASSIGN opt_nl.logical_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 157 - indexed_expr goto 32 - id_expr goto 41 - match_expr goto 26 - builtin_expr goto 33 - mark_pos goto 88 - -state 122 - assign_expr: unary_expr ADD_ASSIGN opt_nl.logical_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 158 - indexed_expr goto 32 - id_expr goto 41 - match_expr goto 26 - builtin_expr goto 33 - mark_pos goto 88 - -state 123 - match_expr: primary_expr match_op opt_nl.pattern_expr - match_expr: primary_expr match_op opt_nl.primary_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 160 - indexed_expr goto 32 - id_expr goto 41 - concat_expr goto 24 - pattern_expr goto 159 - regex_pattern goto 29 - builtin_expr goto 33 - mark_pos goto 129 - -state 124 - rel_expr: rel_expr rel_op opt_nl.shift_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 87 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - shift_expr goto 161 - indexed_expr goto 32 - id_expr goto 41 - builtin_expr goto 33 - mark_pos goto 88 - -state 125 - indexed_expr: indexed_expr LSQUARE arg_expr_list.RSQUARE - arg_expr_list: arg_expr_list.COMMA arg_expr - - RSQUARE shift 162 - COMMA shift 163 - . error - - -state 126 - arg_expr_list: arg_expr. (87) - - . reduce 87 (src line 480) - - -state 127 - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - arg_expr: logical_expr. (89) - - AND shift 62 - OR shift 63 - . reduce 89 (src line 493) - - logical_op goto 64 - -state 128 - arg_expr: pattern_expr. (90) - - . reduce 90 (src line 496) - - -state 129 - builtin_expr: mark_pos.BUILTIN LPAREN RPAREN - builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN - regex_pattern: mark_pos.DIV in_regex REGEX DIV - - BUILTIN shift 49 - DIV shift 50 - . error - - -state 130 - primary_expr: LPAREN logical_expr RPAREN. (79) - - . reduce 79 (src line 428) - - -state 131 - shift_expr: shift_expr shift_op opt_nl.additive_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 87 - multiplicative_expr goto 44 - additive_expr goto 164 - postfix_expr goto 86 - unary_expr goto 91 - indexed_expr goto 32 - id_expr goto 41 - builtin_expr goto 33 - mark_pos goto 88 - -state 132 - additive_expr: additive_expr add_op opt_nl.multiplicative_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 87 - multiplicative_expr goto 165 - postfix_expr goto 86 - unary_expr goto 91 - indexed_expr goto 32 - id_expr goto 41 - builtin_expr goto 33 - mark_pos goto 88 - -state 133 - multiplicative_expr: multiplicative_expr mul_op opt_nl.unary_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 87 - postfix_expr goto 86 - unary_expr goto 166 - indexed_expr goto 32 - id_expr goto 41 - builtin_expr goto 33 - mark_pos goto 88 - -state 134 - stmt: CONST id_expr opt_nl concat_expr. (11) - concat_expr: concat_expr.PLUS opt_nl regex_pattern - concat_expr: concat_expr.PLUS opt_nl id_expr - - PLUS shift 68 - . reduce 11 (src line 131) - - -state 135 - regex_pattern: mark_pos.DIV in_regex REGEX DIV - - DIV shift 50 - . error - - -state 136 - conditional_stmt: conditional_expr compound_stmt ELSE compound_stmt. (14) - - . reduce 14 (src line 146) - - -state 137 - compound_stmt: LCURLY stmt_list RCURLY. (22) - - . reduce 22 (src line 192) - - -state 138 - builtin_expr: mark_pos BUILTIN LPAREN RPAREN. (85) - - . reduce 85 (src line 467) - - -state 139 - builtin_expr: mark_pos BUILTIN LPAREN arg_expr_list.RPAREN - arg_expr_list: arg_expr_list.COMMA arg_expr - - RPAREN shift 167 - COMMA shift 163 - . error - - -state 140 - regex_pattern: mark_pos DIV in_regex REGEX.DIV - - DIV shift 168 - . error - - -state 141 - decorator_declaration: mark_pos DEF ID compound_stmt. (118) - - . reduce 118 (src line 666) - - -state 142 - delete_stmt: mark_pos DEL postfix_expr AFTER.DURATIONLITERAL - - DURATIONLITERAL shift 169 - . error - - -state 143 - metric_decl_attr_spec: metric_decl_attr_spec metric_by_spec. (95) - - . reduce 95 (src line 532) - - -state 144 - metric_decl_attr_spec: metric_decl_attr_spec metric_as_spec. (96) - - . reduce 96 (src line 538) - - -state 145 - metric_decl_attr_spec: metric_decl_attr_spec metric_buckets_spec. (97) - - . reduce 97 (src line 543) - - -state 146 - metric_decl_attr_spec: metric_decl_attr_spec metric_limit_spec. (98) - - . reduce 98 (src line 548) - - -state 147 - metric_by_spec: BY.metric_by_expr_list - - STRING shift 174 - ID shift 173 - . error - - id_or_string goto 172 - metric_by_expr goto 171 - metric_by_expr_list goto 170 - -state 148 - metric_as_spec: AS.STRING - - STRING shift 175 - . error - - -state 149 - metric_buckets_spec: BUCKETS.metric_buckets_list - - INTLITERAL shift 178 - FLOATLITERAL shift 177 - . error - - metric_buckets_list goto 176 - -state 150 - metric_limit_spec: LIMIT.INTLITERAL - - INTLITERAL shift 179 - . error - - -state 151 - conditional_expr: pattern_expr logical_op opt_nl logical_expr. (18) - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - - AND shift 62 - OR shift 63 - . reduce 18 (src line 171) - - logical_op goto 64 - -state 152 - logical_expr: logical_expr logical_op opt_nl bitwise_expr. (29) - bitwise_expr: bitwise_expr.bitwise_op opt_nl rel_expr - - BITAND shift 70 - XOR shift 72 - BITOR shift 71 - . reduce 29 (src line 225) - - bitwise_op goto 69 - -state 153 - logical_expr: logical_expr logical_op opt_nl match_expr. (30) - - . reduce 30 (src line 229) - - -state 154 - concat_expr: concat_expr PLUS opt_nl regex_pattern. (60) - - . reduce 60 (src line 352) - - -state 155 - concat_expr: concat_expr PLUS opt_nl id_expr. (61) - - . reduce 61 (src line 356) - - -state 156 - bitwise_expr: bitwise_expr bitwise_op opt_nl rel_expr. (34) - rel_expr: rel_expr.rel_op opt_nl shift_expr - - LT shift 79 - GT shift 80 - LE shift 81 - GE shift 82 - EQ shift 83 - NE shift 84 - . reduce 34 (src line 246) - - rel_op goto 78 - -state 157 - assign_expr: unary_expr ASSIGN opt_nl logical_expr. (25) - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - - AND shift 62 - OR shift 63 - . reduce 25 (src line 208) - - logical_op goto 64 - -state 158 - assign_expr: unary_expr ADD_ASSIGN opt_nl logical_expr. (26) - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - - AND shift 62 - OR shift 63 - . reduce 26 (src line 213) - - logical_op goto 64 - -state 159 - match_expr: primary_expr match_op opt_nl pattern_expr. (54) - - . reduce 54 (src line 321) - - -state 160 - match_expr: primary_expr match_op opt_nl primary_expr. (55) - - . reduce 55 (src line 326) - - -state 161 - rel_expr: rel_expr rel_op opt_nl shift_expr. (39) - shift_expr: shift_expr.shift_op opt_nl additive_expr - - SHL shift 93 - SHR shift 94 - . reduce 39 (src line 265) - - shift_op goto 92 - -state 162 - indexed_expr: indexed_expr LSQUARE arg_expr_list RSQUARE. (83) - - . reduce 83 (src line 449) - - -state 163 - arg_expr_list: arg_expr_list COMMA.arg_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 127 - indexed_expr goto 32 - id_expr goto 41 - concat_expr goto 24 - pattern_expr goto 128 - regex_pattern goto 29 - match_expr goto 26 - builtin_expr goto 33 - arg_expr goto 180 - mark_pos goto 129 - -state 164 - shift_expr: shift_expr shift_op opt_nl additive_expr. (47) - additive_expr: additive_expr.add_op opt_nl multiplicative_expr - - MINUS shift 97 - PLUS shift 96 - . reduce 47 (src line 290) - - add_op goto 95 - -state 165 - additive_expr: additive_expr add_op opt_nl multiplicative_expr. (51) - multiplicative_expr: multiplicative_expr.mul_op opt_nl unary_expr - - DIV shift 100 - MOD shift 101 - MUL shift 99 - POW shift 102 - . reduce 51 (src line 307) - - mul_op goto 98 - -state 166 - multiplicative_expr: multiplicative_expr mul_op opt_nl unary_expr. (63) - - . reduce 63 (src line 366) - - -state 167 - builtin_expr: mark_pos BUILTIN LPAREN arg_expr_list RPAREN. (86) - - . reduce 86 (src line 472) - - -state 168 - regex_pattern: mark_pos DIV in_regex REGEX DIV. (91) - - . reduce 91 (src line 501) - - -state 169 - delete_stmt: mark_pos DEL postfix_expr AFTER DURATIONLITERAL. (120) - - . reduce 120 (src line 682) - - -state 170 - metric_by_spec: BY metric_by_expr_list. (107) - metric_by_expr_list: metric_by_expr_list.COMMA metric_by_expr - - COMMA shift 181 - . reduce 107 (src line 596) - - -state 171 - metric_by_expr_list: metric_by_expr. (108) - - . reduce 108 (src line 603) - - -state 172 - metric_by_expr: id_or_string. (110) - - . reduce 110 (src line 616) - - -state 173 - id_or_string: ID. (122) - - . reduce 122 (src line 693) - - -state 174 - id_or_string: STRING. (123) - - . reduce 123 (src line 698) - - -state 175 - metric_as_spec: AS STRING. (111) - - . reduce 111 (src line 622) - - -state 176 - metric_buckets_spec: BUCKETS metric_buckets_list. (113) - metric_buckets_list: metric_buckets_list.COMMA FLOATLITERAL - metric_buckets_list: metric_buckets_list.COMMA INTLITERAL - - COMMA shift 182 - . reduce 113 (src line 637) - - -state 177 - metric_buckets_list: FLOATLITERAL. (114) - - . reduce 114 (src line 643) - - -state 178 - metric_buckets_list: INTLITERAL. (115) - - . reduce 115 (src line 649) - - -state 179 - metric_limit_spec: LIMIT INTLITERAL. (112) - - . reduce 112 (src line 629) - - -state 180 - arg_expr_list: arg_expr_list COMMA arg_expr. (88) - - . reduce 88 (src line 486) - - -state 181 - metric_by_expr_list: metric_by_expr_list COMMA.metric_by_expr - - STRING shift 174 - ID shift 173 - . error - - id_or_string goto 172 - metric_by_expr goto 183 - -state 182 - metric_buckets_list: metric_buckets_list COMMA.FLOATLITERAL - metric_buckets_list: metric_buckets_list COMMA.INTLITERAL - - INTLITERAL shift 185 - FLOATLITERAL shift 184 - . error - - -state 183 - metric_by_expr_list: metric_by_expr_list COMMA metric_by_expr. (109) - - . reduce 109 (src line 609) - - -state 184 - metric_buckets_list: metric_buckets_list COMMA FLOATLITERAL. (116) - - . reduce 116 (src line 654) - - -state 185 - metric_buckets_list: metric_buckets_list COMMA INTLITERAL. (117) - - . reduce 117 (src line 659) - - -66 terminals, 55 nonterminals -128 grammar rules, 186/16000 states -0 shift/reduce, 0 reduce/reduce conflicts reported -104 working sets used -memory: parser 397/240000 -169 extra closures -282 shift entries, 13 exceptions -116 goto entries -193 entries saved by goto default -Optimizer space used: output 249/240000 -249 table entries, 2 zero -maximum spread: 66, maximum offset: 181 diff --git a/tools/BUILD.bazel b/tools/BUILD.bazel new file mode 100644 index 000000000..e69de29bb diff --git a/internal/runtime/compiler/parser/goyacc.bzl b/tools/goyacc.bzl similarity index 100% rename from internal/runtime/compiler/parser/goyacc.bzl rename to tools/goyacc.bzl From 228ac1b15ee2185aa58f10db11d7d2bcbaed5ecc Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 26 Apr 2025 20:20:09 +1000 Subject: [PATCH 095/381] fix: Add a mnemonic for goyacc. --- tools/goyacc.bzl | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/goyacc.bzl b/tools/goyacc.bzl index b4d9690b3..a8ff374e8 100644 --- a/tools/goyacc.bzl +++ b/tools/goyacc.bzl @@ -9,6 +9,7 @@ def _go_yacc_impl(ctx): args.add(ctx.file.src) goroot = "%s/.." % ctx.executable._go_yacc_tool.dirname ctx.actions.run( + mnemonic = "GoYacc", executable = ctx.executable._go_yacc_tool, arguments = [args], inputs = [ctx.file.src], From 79774a26e185e468c992b207d7feb8fd49d714b7 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 26 Apr 2025 20:25:46 +1000 Subject: [PATCH 096/381] feat: Replace the use of `togo` with a go:embed call. --- Makefile | 12 +- internal/mtail/BUILD.bazel | 2 +- internal/mtail/httpstatus.go | 4 + internal/mtail/logo.ico.go | 2008 ---------------------------------- tools/tools.go | 2 + 5 files changed, 8 insertions(+), 2020 deletions(-) delete mode 100755 internal/mtail/logo.ico.go diff --git a/Makefile b/Makefile index 504c22e47..44805dfbd 100644 --- a/Makefile +++ b/Makefile @@ -48,24 +48,18 @@ GOFILES=$(shell find . -name '*.go' -a ! -name '*_test.go') GOTESTFILES=$(shell find . -name '*_test.go') -GOGENFILES=internal/runtime/compiler/parser/parser.go\ - internal/mtail/logo.ico.go +GOGENFILES=internal/runtime/compiler/parser/parser.go CLEANFILES+=\ internal/runtime/compiler/parser/parser.go\ internal/runtime/compiler/parser/y.output\ - internal/mtail/logo.ico.go\ internal/mtail/logo.ico\ # A place to install tool dependencies. GOBIN ?= $(firstword $(subst :, ,$(shell go env GOPATH)))/bin export PATH := $(GOBIN):$(PATH) -TOGO = $(GOBIN)/togo -$(TOGO): - go install github.com/flazz/togo@latest - GOYACC = $(GOBIN)/goyacc $(GOYACC): go install golang.org/x/tools/cmd/goyacc@latest @@ -144,10 +138,6 @@ internal/runtime/compiler/parser/parser.go: internal/runtime/compiler/parser/par internal/mtail/logo.ico: logo.png /usr/bin/convert $< -define icon:auto-resize=64,48,32,16 $@ || touch $@ -internal/mtail/logo.ico.go: | internal/mtail/logo.ico $(TOGO) - togo -pkg mtail -name logoFavicon -input internal/mtail/logo.ico - - ### ## Emit the current toolchain version at the start of every goal, if that goal depends on this. # diff --git a/internal/mtail/BUILD.bazel b/internal/mtail/BUILD.bazel index 55faad8f4..bef45f2cb 100644 --- a/internal/mtail/BUILD.bazel +++ b/internal/mtail/BUILD.bazel @@ -5,11 +5,11 @@ go_library( srcs = [ "buildinfo.go", "httpstatus.go", - "logo.ico.go", "mtail.go", "options.go", "testing.go", ], + embedsrcs = ["logo.ico"], importpath = "github.com/jaqx0r/mtail/internal/mtail", visibility = ["//:__subpackages__"], deps = [ diff --git a/internal/mtail/httpstatus.go b/internal/mtail/httpstatus.go index 2db5cc51f..c9922e280 100644 --- a/internal/mtail/httpstatus.go +++ b/internal/mtail/httpstatus.go @@ -4,6 +4,7 @@ package mtail import ( + _ "embed" "html/template" "net/http" @@ -76,6 +77,9 @@ func (m *Server) ServeHTTP(w http.ResponseWriter, _ *http.Request) { } } +//go:embed logo.ico +var logoFavicon []byte + // FaviconHandler is used to serve up the favicon.ico for mtail's http server. func FaviconHandler(w http.ResponseWriter, _ *http.Request) { w.Header().Set("Content-Type", "image/x-icon") diff --git a/internal/mtail/logo.ico.go b/internal/mtail/logo.ico.go deleted file mode 100755 index 1e0d9d445..000000000 --- a/internal/mtail/logo.ico.go +++ /dev/null @@ -1,2008 +0,0 @@ -package mtail - -var logoFavicon = []byte{ - // 32038 bytes from internal/mtail/logo.ico - 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x40, 0x40, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x28, 0x42, - 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0xa8, 0x25, - 0x00, 0x00, 0x6e, 0x42, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0xa8, 0x10, - 0x00, 0x00, 0x16, 0x68, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x68, 0x04, - 0x00, 0x00, 0xbe, 0x78, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, - 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x13, 0x0b, - 0x00, 0x00, 0x13, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0x81, 0xda, 0x97, 0x33, 0x1c, 0xda, 0x97, 0x33, 0x00, 0xd7, 0x94, 0x30, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x25, 0xdb, 0x98, - 0x34, 0xd3, 0xdb, 0x98, 0x34, 0x8f, 0xda, 0x97, 0x33, 0x15, 0xdc, 0x99, 0x35, 0x00, 0xdb, 0x98, - 0x34, 0x00, 0xda, 0x97, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x25, 0xdb, 0x98, - 0x34, 0xdf, 0xdb, 0x98, 0x34, 0xf6, 0xda, 0x97, 0x33, 0x8e, 0xda, 0x97, 0x33, 0x14, 0xda, 0x97, - 0x33, 0x00, 0xda, 0x97, 0x33, 0x00, 0xda, 0x97, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x25, 0xdb, 0x98, - 0x34, 0xdf, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf4, 0xda, 0x97, 0x33, 0x8e, 0xda, 0x97, - 0x33, 0x16, 0xda, 0x97, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x25, 0xdb, 0x98, - 0x34, 0xdf, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf4, 0xdb, 0x98, - 0x34, 0x8e, 0xda, 0x97, 0x33, 0x15, 0xdb, 0x98, 0x34, 0x00, 0xdc, 0x99, 0x35, 0x00, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x25, 0xdb, 0x98, - 0x34, 0xdf, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xf4, 0xdb, 0x98, 0x34, 0x8e, 0xda, 0x97, 0x33, 0x14, 0xdb, 0x98, 0x34, 0x00, 0xd6, 0x93, - 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xde, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf4, 0xdb, 0x98, 0x34, 0x8e, 0xda, 0x97, 0x33, 0x15, 0xda, 0x97, - 0x33, 0x00, 0xd8, 0x95, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x31, 0x00, 0xda, 0x99, 0x2f, 0x02, 0xdb, 0x98, - 0x33, 0x10, 0xdb, 0x98, 0x34, 0x1a, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x41, 0xdb, 0x98, - 0x34, 0xe2, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf4, 0xdb, 0x98, 0x34, 0x8e, 0xda, 0x97, - 0x33, 0x16, 0xdb, 0x98, 0x34, 0x00, 0xda, 0x97, 0x33, 0x00, 0xda, 0x97, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xa0, 0x02, 0x00, 0xdc, 0x97, - 0x3b, 0x00, 0xdb, 0x99, 0x32, 0x08, 0xdb, 0x97, 0x33, 0x36, 0xdb, 0x98, 0x33, 0x6c, 0xdb, 0x98, - 0x34, 0xa3, 0xdb, 0x98, 0x34, 0xc2, 0xdb, 0x98, 0x34, 0xd9, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, - 0x34, 0xfa, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf4, 0xda, 0x97, - 0x33, 0x8e, 0xda, 0x97, 0x33, 0x15, 0xda, 0x98, 0x33, 0x00, 0xda, 0x97, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x97, 0x33, 0x01, 0xdb, 0x99, - 0x33, 0x2a, 0xdb, 0x98, 0x33, 0x8d, 0xdb, 0x98, 0x34, 0xd9, 0xdb, 0x98, 0x34, 0xfa, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xf5, 0xda, 0x97, 0x33, 0x89, 0xda, 0x97, 0x33, 0x0c, 0xda, 0x97, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xdb, 0x9a, 0x32, 0x00, 0xdd, 0x9c, 0x30, 0x02, 0xdb, 0x98, 0x33, 0x42, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0xfb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xf5, 0xda, 0x98, 0x33, 0x88, 0xda, 0x98, 0x33, 0x0c, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0xaf, 0x26, 0x00, 0xda, 0x96, 0x34, 0x00, 0xdc, 0x99, - 0x33, 0x07, 0xdb, 0x98, 0x34, 0x1d, 0xdb, 0x98, 0x34, 0x1d, 0xdb, 0x97, 0x34, 0x08, 0xdb, 0x97, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0xaf, 0x26, 0x00, 0xda, 0x96, 0x34, 0x00, 0xdc, 0x99, - 0x33, 0x07, 0xdb, 0x98, 0x34, 0x1d, 0xdb, 0x98, 0x34, 0x1d, 0xdb, 0x97, 0x34, 0x08, 0xdb, 0x97, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x96, - 0x35, 0x00, 0xdc, 0x9a, 0x32, 0x00, 0xdb, 0x97, 0x34, 0x39, 0xdb, 0x98, 0x34, 0xcd, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xfa, 0xdb, 0x98, 0x34, 0xeb, 0xdb, 0x98, 0x34, 0xe2, 0xdb, 0x98, 0x34, 0xe2, 0xdb, 0x98, - 0x34, 0xfb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf4, 0xdb, 0x98, - 0x34, 0x8d, 0xda, 0x98, 0x33, 0x15, 0xda, 0x97, 0x33, 0x00, 0xda, 0x99, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x99, 0x33, 0x00, 0xdb, 0x99, 0x32, 0x07, 0xdb, 0x98, - 0x33, 0x67, 0xdb, 0x98, 0x34, 0xd1, 0xdb, 0x98, 0x34, 0xd4, 0xdb, 0x98, 0x34, 0x69, 0xdc, 0x99, - 0x32, 0x07, 0xdb, 0x99, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x99, 0x33, 0x00, 0xdb, 0x99, 0x32, 0x07, 0xdb, 0x98, - 0x33, 0x67, 0xdb, 0x98, 0x34, 0xd1, 0xdb, 0x98, 0x34, 0xd4, 0xdb, 0x98, 0x34, 0x69, 0xdc, 0x99, - 0x32, 0x07, 0xdb, 0x99, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0x8f, 0x24, 0x00, 0xda, 0x98, - 0x34, 0x00, 0xdc, 0x97, 0x32, 0x16, 0xdb, 0x98, 0x34, 0xab, 0xdb, 0x98, 0x34, 0xfe, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfa, 0xdb, 0x98, 0x34, 0xc4, 0xdb, 0x98, - 0x34, 0x80, 0xdb, 0x99, 0x34, 0x49, 0xdc, 0x98, 0x34, 0x2a, 0xdb, 0x98, 0x34, 0x41, 0xdb, 0x98, - 0x34, 0xe2, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf4, 0xdb, 0x98, 0x34, 0x8d, 0xda, 0x98, - 0x33, 0x15, 0xda, 0x98, 0x33, 0x00, 0xd9, 0x98, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x1f, 0xdb, 0x98, - 0x34, 0xd1, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xcf, 0xdb, 0x98, - 0x33, 0x1f, 0xdb, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x1f, 0xdb, 0x98, - 0x34, 0xd1, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xcf, 0xdb, 0x98, - 0x33, 0x1f, 0xdb, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x97, 0x32, 0x00, 0xd7, 0x92, - 0x2a, 0x00, 0xdb, 0x98, 0x33, 0x60, 0xdb, 0x98, 0x34, 0xf0, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf6, 0xdb, 0x98, 0x34, 0x95, 0xda, 0x98, 0x33, 0x23, 0xd8, 0x9c, - 0x2c, 0x01, 0xe0, 0x9c, 0x2c, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xde, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf4, 0xda, 0x98, 0x33, 0x8d, 0xda, 0x98, 0x33, 0x14, 0xda, 0x98, - 0x33, 0x00, 0xd9, 0x98, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdc, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdc, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x99, 0x31, 0x00, 0xdb, 0x9a, 0x32, 0x00, 0xdb, 0x9a, - 0x32, 0x11, 0xdb, 0x98, 0x34, 0xae, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xfe, 0xdb, 0x98, 0x34, 0xa7, 0xdb, 0x98, 0x34, 0x19, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x25, 0xdb, 0x98, - 0x34, 0xdf, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xf5, 0xda, 0x98, 0x33, 0x8e, 0xda, 0x98, 0x33, 0x14, 0xdb, 0x98, 0x34, 0x00, 0xd8, 0x98, - 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x33, 0x3f, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xde, 0xdc, 0x98, 0x33, 0x41, 0xd9, 0x98, 0x35, 0x00, 0xe4, 0x96, 0x2d, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x25, 0xdb, 0x98, - 0x34, 0xdf, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf4, 0xdb, 0x98, - 0x34, 0x8d, 0xda, 0x98, 0x33, 0x15, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x98, 0x33, 0x00, 0xd7, 0x98, 0x37, 0x00, 0xdb, 0x98, - 0x34, 0x69, 0xdb, 0x98, 0x34, 0xfb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xa8, 0xdd, 0x97, 0x32, 0x0b, 0xdd, 0x97, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x25, 0xdb, 0x98, - 0x34, 0xdf, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf4, 0xda, 0x98, 0x33, 0x8d, 0xda, 0x98, - 0x33, 0x15, 0xda, 0x98, 0x33, 0x00, 0xdc, 0x98, 0x35, 0x00, 0xdc, 0x98, 0x35, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x97, 0x34, 0x00, 0xdb, 0x96, 0x33, 0x0b, 0xdb, 0x98, - 0x34, 0x94, 0xdb, 0x98, 0x34, 0xfe, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfa, 0xda, 0x98, - 0x33, 0x7c, 0xd9, 0x97, 0x31, 0x01, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x25, 0xdb, 0x98, - 0x34, 0xdf, 0xdb, 0x98, 0x34, 0xf7, 0xdb, 0x98, 0x34, 0x8d, 0xda, 0x98, 0x33, 0x14, 0xda, 0x98, - 0x33, 0x00, 0xda, 0x98, 0x33, 0x00, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x97, 0x33, 0x00, 0xda, 0x97, 0x33, 0x16, 0xdb, 0x97, - 0x34, 0xb4, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xee, 0xdb, 0x98, - 0x33, 0x52, 0xdc, 0x97, 0x37, 0x00, 0xdb, 0x98, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x26, 0xdb, 0x98, - 0x34, 0xd5, 0xdb, 0x98, 0x34, 0x90, 0xda, 0x98, 0x33, 0x15, 0xdb, 0x98, 0x34, 0x00, 0xd9, 0x98, - 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x98, 0x33, 0x00, 0xda, 0x98, 0x33, 0x1c, 0xdb, 0x98, - 0x34, 0xc9, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe7, 0xdb, 0x98, - 0x34, 0x3b, 0xdb, 0x99, 0x34, 0x00, 0xdb, 0x96, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x98, 0x33, 0x00, 0xda, 0x98, 0x33, 0x1c, 0xda, 0x98, - 0x33, 0x72, 0xda, 0x98, 0x33, 0x18, 0xda, 0x98, 0x33, 0x00, 0xda, 0x98, 0x33, 0x00, 0xda, 0x98, - 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0xda, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, - 0x34, 0x27, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x96, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x98, 0x33, 0x00, 0xda, 0x98, 0x33, 0x03, 0xda, 0x98, - 0x33, 0x09, 0xda, 0x98, 0x33, 0x00, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x24, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xd9, 0x9b, 0x2e, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x33, 0x29, 0xdb, 0x98, - 0x34, 0xde, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xd7, 0xdb, 0x98, - 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xdb, 0x98, 0x32, 0x00, 0xdb, 0x98, 0x35, 0x00, 0xdb, 0x98, 0x33, 0x3d, 0xdb, 0x98, - 0x34, 0xe5, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xd3, 0xdb, 0x98, - 0x33, 0x20, 0xdb, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xde, 0xdb, 0x98, - 0x34, 0x24, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x34, 0xdb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xdb, 0x97, 0x34, 0x00, 0xd8, 0x9b, 0x36, 0x00, 0xdb, 0x98, 0x34, 0x50, 0xdb, 0x98, - 0x34, 0xeb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, - 0x33, 0x2a, 0xdb, 0x98, 0x35, 0x00, 0xd8, 0x9e, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xd9, 0x9c, 0x2c, 0x00, 0xdb, 0x97, 0x35, 0x00, 0xdb, 0x98, 0x33, 0x29, 0xdb, 0x98, - 0x34, 0xde, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, - 0x33, 0x2a, 0xdb, 0x98, 0x35, 0x00, 0xd8, 0x9e, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xd9, 0x9c, 0x2c, 0x00, 0xdb, 0x97, 0x35, 0x00, 0xdb, 0x98, 0x33, 0x29, 0xdb, 0x98, - 0x34, 0xde, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xd7, 0xdb, 0x98, - 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xdc, 0x98, 0x34, 0x00, 0xdc, 0x98, 0x33, 0x02, 0xdb, 0x98, 0x34, 0x7b, 0xdb, 0x98, - 0x34, 0xf8, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xec, 0xdb, 0x98, - 0x33, 0x4c, 0xdd, 0x98, 0x38, 0x00, 0xda, 0x98, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xda, 0x98, 0x31, 0x00, 0xde, 0x99, 0x38, 0x00, 0xdb, 0x98, 0x33, 0x4c, 0xdb, 0x98, - 0x34, 0xea, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xec, 0xdb, 0x98, - 0x33, 0x4c, 0xdd, 0x98, 0x38, 0x00, 0xda, 0x98, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xda, 0x98, 0x31, 0x00, 0xde, 0x99, 0x38, 0x00, 0xdb, 0x98, 0x33, 0x4c, 0xdb, 0x98, - 0x34, 0xea, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xc1, 0xda, 0x97, - 0x34, 0x1a, 0xdb, 0x97, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xdb, 0x98, 0x32, 0x00, 0xdb, 0x98, 0x32, 0x10, 0xdb, 0x98, 0x33, 0xab, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfd, 0xdb, 0x97, - 0x34, 0x92, 0xdb, 0x97, 0x34, 0x07, 0xdb, 0x97, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xdb, 0x97, 0x34, 0x00, 0xdb, 0x97, 0x34, 0x08, 0xdb, 0x98, 0x34, 0x92, 0xdb, 0x98, - 0x34, 0xfc, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfd, 0xdb, 0x97, - 0x34, 0x92, 0xdb, 0x97, 0x34, 0x07, 0xdb, 0x97, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xdb, 0x97, 0x34, 0x00, 0xdb, 0x97, 0x34, 0x08, 0xdb, 0x98, 0x34, 0x92, 0xdb, 0x98, - 0x34, 0xfc, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfe, 0xdb, 0x98, 0x34, 0x96, 0xdc, 0x98, - 0x32, 0x0d, 0xdc, 0x98, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x8a, - 0x39, 0x00, 0xda, 0x98, 0x33, 0x00, 0xdb, 0x97, 0x34, 0x3f, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xde, 0xdb, 0x98, 0x33, 0x4a, 0xde, 0x99, 0x34, 0x01, 0xdc, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x97, - 0x34, 0x00, 0xe1, 0x93, 0x36, 0x01, 0xdb, 0x98, 0x33, 0x4a, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xde, 0xdb, 0x98, 0x33, 0x4a, 0xde, 0x99, 0x34, 0x01, 0xdc, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x97, - 0x34, 0x00, 0xe1, 0x93, 0x36, 0x01, 0xdb, 0x98, 0x33, 0x4a, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf3, 0xda, 0x98, 0x33, 0x58, 0xdb, 0x95, - 0x39, 0x00, 0xda, 0x9c, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x98, - 0x33, 0x00, 0xda, 0x97, 0x33, 0x0a, 0xdb, 0x98, 0x34, 0x91, 0xdb, 0x98, 0x34, 0xfd, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xcc, 0xdb, 0x98, 0x33, 0x4a, 0xdb, 0x96, 0x34, 0x07, 0xdb, 0x98, - 0x34, 0x00, 0xdb, 0x96, 0x34, 0x00, 0xdb, 0x96, 0x34, 0x00, 0xda, 0x98, 0x33, 0x00, 0xdb, 0x97, - 0x34, 0x07, 0xdb, 0x98, 0x33, 0x49, 0xdb, 0x98, 0x34, 0xcc, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xcc, 0xdb, 0x98, 0x33, 0x4a, 0xdb, 0x96, 0x34, 0x07, 0xdb, 0x98, - 0x34, 0x00, 0xdb, 0x96, 0x34, 0x00, 0xdb, 0x96, 0x34, 0x00, 0xda, 0x98, 0x33, 0x00, 0xdb, 0x97, - 0x34, 0x07, 0xdb, 0x98, 0x33, 0x49, 0xdb, 0x98, 0x34, 0xcc, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x33, 0xbe, 0xda, 0x99, 0x32, 0x1f, 0xdb, 0x99, - 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x97, 0x33, 0x00, 0xd9, 0x96, - 0x32, 0x06, 0xda, 0x97, 0x33, 0x5f, 0xdb, 0x98, 0x34, 0xe8, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfd, 0xdb, 0x98, 0x34, 0xf9, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xde, 0xdb, 0x97, 0x34, 0x92, 0xdb, 0x98, - 0x33, 0x4c, 0xdb, 0x98, 0x33, 0x29, 0xdb, 0x98, 0x33, 0x2a, 0xda, 0x98, 0x33, 0x4c, 0xdb, 0x98, - 0x34, 0x91, 0xdb, 0x98, 0x34, 0xde, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf5, 0xdb, 0x98, 0x34, 0xf6, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xde, 0xdb, 0x97, 0x34, 0x92, 0xdb, 0x98, - 0x33, 0x4c, 0xdb, 0x98, 0x33, 0x29, 0xdb, 0x98, 0x33, 0x2a, 0xda, 0x98, 0x33, 0x4c, 0xdb, 0x98, - 0x34, 0x91, 0xdb, 0x98, 0x34, 0xde, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xeb, 0xdb, 0x98, 0x33, 0x5d, 0xda, 0x9b, 0x30, 0x01, 0xdb, 0x99, - 0x33, 0x00, 0xdb, 0x99, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x98, 0x33, 0x00, 0xde, 0x98, 0x32, 0x05, 0xdb, 0x98, - 0x33, 0x59, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x33, 0xc9, 0xdb, 0x98, 0x34, 0x9b, 0xdb, 0x98, 0x34, 0xf1, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfc, 0xdb, 0x98, - 0x34, 0xec, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xec, 0xdb, 0x98, - 0x34, 0xfb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xf2, 0xdb, 0x98, 0x34, 0x8a, 0xdb, 0x98, 0x34, 0x8a, 0xdb, 0x98, 0x34, 0xf2, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfc, 0xdb, 0x98, - 0x34, 0xec, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xec, 0xdb, 0x98, - 0x34, 0xfb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xf4, 0xdb, 0x98, 0x34, 0x83, 0xdc, 0x98, 0x34, 0x0c, 0xda, 0x97, 0x34, 0x00, 0xe6, 0xa0, - 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x98, 0x33, 0x1d, 0xdb, 0x98, - 0x34, 0xc9, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xe5, 0xdb, 0x98, 0x33, 0x53, 0xda, 0x98, 0x32, 0x15, 0xdb, 0x98, 0x34, 0x82, 0xdb, 0x98, - 0x34, 0xea, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xeb, 0xdb, 0x98, - 0x34, 0x83, 0xda, 0x98, 0x33, 0x14, 0xda, 0x98, 0x33, 0x14, 0xdb, 0x98, 0x34, 0x83, 0xdb, 0x98, - 0x34, 0xeb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xeb, 0xdb, 0x98, - 0x34, 0x83, 0xda, 0x98, 0x33, 0x15, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xd5, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xed, 0xdb, 0x98, - 0x34, 0x72, 0xdc, 0x9a, 0x32, 0x09, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x98, 0x34, 0x0c, 0xdb, 0x98, - 0x34, 0x59, 0xdb, 0x98, 0x34, 0xc1, 0xdb, 0x98, 0x34, 0xf4, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf4, 0xdb, 0x98, 0x34, 0xc1, 0xdb, 0x98, 0x33, 0x5e, 0xdc, 0x99, - 0x34, 0x0d, 0xdc, 0x98, 0x34, 0x00, 0xdc, 0x99, 0x34, 0x00, 0xdc, 0x99, 0x34, 0x0d, 0xdb, 0x98, - 0x33, 0x5e, 0xdb, 0x98, 0x34, 0xc1, 0xdb, 0x98, 0x34, 0xf4, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xfe, 0xdb, 0x98, 0x34, 0xf6, 0xdb, 0x98, 0x34, 0xc0, 0xdb, 0x98, 0x33, 0x5d, 0xdc, 0x99, - 0x34, 0x0d, 0xdc, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x98, 0x33, 0x00, 0xdc, 0x98, 0x33, 0x09, 0xdb, 0x98, - 0x33, 0x6d, 0xdb, 0x98, 0x34, 0xd1, 0xdb, 0x98, 0x34, 0xc8, 0xdb, 0x98, 0x34, 0x66, 0xda, 0x9a, - 0x34, 0x0b, 0xda, 0x99, 0x34, 0x00, 0xdb, 0x99, 0x34, 0x00, 0xde, 0x9e, 0x31, 0x00, 0xdd, 0x9f, - 0x30, 0x01, 0xdb, 0x99, 0x33, 0x22, 0xdb, 0x98, 0x34, 0x60, 0xdb, 0x98, 0x34, 0x9c, 0xdb, 0x98, - 0x34, 0xc9, 0xdb, 0x98, 0x34, 0xdc, 0xdb, 0x98, 0x34, 0xdc, 0xdb, 0x98, 0x34, 0xc8, 0xdb, 0x98, - 0x34, 0x9c, 0xdb, 0x98, 0x34, 0x5f, 0xdb, 0x99, 0x34, 0x23, 0xdb, 0x9a, 0x33, 0x01, 0xdb, 0x99, - 0x33, 0x00, 0xdb, 0x99, 0x34, 0x00, 0xdb, 0x99, 0x34, 0x00, 0xde, 0x9d, 0x31, 0x00, 0xde, 0x9f, - 0x30, 0x01, 0xdb, 0x99, 0x33, 0x22, 0xdb, 0x98, 0x34, 0x60, 0xdb, 0x98, 0x34, 0x9c, 0xdb, 0x98, - 0x34, 0xc9, 0xdb, 0x98, 0x34, 0xdc, 0xdb, 0x98, 0x34, 0xd6, 0xdb, 0x98, 0x34, 0xc1, 0xdb, 0x98, - 0x34, 0x97, 0xdb, 0x98, 0x33, 0x5d, 0xdb, 0x99, 0x34, 0x22, 0xda, 0x9a, 0x33, 0x01, 0xda, 0x99, - 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, 0xd9, 0x99, 0x36, 0x00, 0xdc, 0x98, - 0x31, 0x08, 0xdb, 0x98, 0x33, 0x1f, 0xdb, 0x98, 0x33, 0x1c, 0xdb, 0x98, 0x34, 0x05, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x02, 0xdb, 0x98, 0x34, 0x0e, 0xdb, 0x98, - 0x34, 0x1c, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, 0x34, 0x1c, 0xdb, 0x98, - 0x34, 0x0e, 0xdc, 0x98, 0x35, 0x01, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x02, 0xdb, 0x98, 0x34, 0x0e, 0xdb, 0x98, - 0x34, 0x1c, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x1a, 0xdb, 0x98, - 0x33, 0x0d, 0xd9, 0x9d, 0x2d, 0x00, 0xda, 0x9b, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0x7f, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xe0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x7f, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xe0, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x05, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xf8, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x01, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xc0, 0x00, 0x01, 0xff, 0x0f, 0xff, 0x0f, 0xff, 0xc0, 0x00, 0x03, 0xfe, 0x07, - 0xfe, 0x07, 0xff, 0x80, 0x00, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0x00, 0x60, 0x0f, 0xfe, 0x07, - 0xfe, 0x07, 0xff, 0x01, 0xe0, 0x1f, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0x03, 0xe0, 0x3f, 0xfe, 0x07, - 0xfe, 0x07, 0xff, 0x03, 0xe0, 0x5f, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x03, 0xe0, 0xbf, 0xfe, 0x07, - 0xfe, 0x07, 0xfe, 0x07, 0xe1, 0xff, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xe2, 0xff, 0xfe, 0x07, - 0xfe, 0x07, 0xfe, 0x07, 0xe3, 0xff, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, - 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, - 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, - 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, - 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, - 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, - 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, - 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, - 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, - 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, - 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, - 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, - 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfe, 0x07, - 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfc, 0x07, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0xff, 0xfc, 0x03, - 0xfc, 0x03, 0xfc, 0x07, 0xff, 0xff, 0xfc, 0x01, 0xf8, 0x01, 0xf8, 0x0f, 0xff, 0xff, 0xf8, 0x00, - 0xf0, 0x00, 0xf0, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xe0, 0x00, - 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xe0, 0x20, - 0x00, 0x60, 0x00, 0x7f, 0xff, 0xff, 0xe0, 0x50, 0x00, 0xd0, 0x00, 0xff, 0xff, 0xff, 0xf0, 0xfc, - 0x03, 0xfc, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x28, 0x00, - 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x13, 0x0b, 0x00, 0x00, 0x13, 0x0b, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x20, 0xdb, 0x98, 0x34, 0x7e, 0xda, 0x97, 0x33, 0x14, 0xda, 0x97, 0x33, 0x00, 0xda, 0x97, - 0x33, 0x00, 0xda, 0x97, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x23, 0xdb, 0x98, 0x34, 0xd7, 0xdb, 0x98, 0x34, 0x8c, 0xda, 0x97, 0x33, 0x10, 0xda, 0x97, - 0x33, 0x00, 0xda, 0x97, 0x33, 0x00, 0xda, 0x97, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x23, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xf8, 0xdb, 0x98, 0x34, 0x8b, 0xda, 0x97, - 0x33, 0x10, 0xda, 0x97, 0x33, 0x00, 0xda, 0x97, 0x33, 0x00, 0xda, 0x97, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x23, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf6, 0xdb, 0x98, - 0x34, 0x8b, 0xda, 0x97, 0x33, 0x10, 0xda, 0x97, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x22, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xf6, 0xdb, 0x98, 0x34, 0x8b, 0xda, 0x97, 0x33, 0x10, 0xda, 0x97, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, - 0x32, 0x00, 0xdb, 0x98, 0x31, 0x02, 0xdb, 0x98, 0x33, 0x11, 0xdb, 0x98, 0x34, 0x1b, 0xdb, 0x98, - 0x34, 0x3f, 0xdb, 0x98, 0x34, 0xe4, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf6, 0xdb, 0x98, 0x34, 0x8b, 0xda, 0x97, 0x33, 0x10, 0xda, 0x97, - 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x99, 0x32, 0x00, 0xdb, 0x99, 0x31, 0x07, 0xdb, 0x98, - 0x33, 0x3a, 0xdb, 0x98, 0x34, 0x83, 0xdb, 0x98, 0x34, 0xb7, 0xdb, 0x98, 0x34, 0xd4, 0xdb, 0x98, - 0x34, 0xe2, 0xdb, 0x98, 0x34, 0xfb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf6, 0xdb, 0x98, 0x34, 0x8c, 0xda, 0x97, - 0x33, 0x12, 0xda, 0x97, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x9b, - 0x30, 0x00, 0xdb, 0x97, 0x34, 0x00, 0xdb, 0x99, 0x33, 0x15, 0xdb, 0x98, 0x33, 0x84, 0xdb, 0x98, - 0x34, 0xe4, 0xdb, 0x98, 0x34, 0xfe, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xec, 0xda, 0x98, - 0x33, 0x4b, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0xa6, 0x2a, 0x00, 0xda, 0x96, 0x35, 0x00, 0xdb, 0x98, - 0x33, 0x0b, 0xdb, 0x98, 0x34, 0x1e, 0xdb, 0x97, 0x34, 0x0c, 0xdb, 0x97, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0xa6, 0x2a, 0x00, 0xda, 0x96, 0x35, 0x00, 0xdb, 0x98, - 0x33, 0x0b, 0xdb, 0x98, 0x34, 0x1e, 0xdb, 0x97, 0x34, 0x0c, 0xdb, 0x97, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x92, 0x3b, 0x00, 0xdb, 0x98, - 0x34, 0x00, 0xdb, 0x97, 0x34, 0x10, 0xdb, 0x98, 0x34, 0x99, 0xdb, 0x98, 0x34, 0xfa, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf7, 0xdb, 0x98, 0x34, 0xe6, 0xdb, 0x98, - 0x34, 0xe4, 0xdb, 0x98, 0x34, 0xfb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf6, 0xdb, 0x98, 0x34, 0x8b, 0xda, 0x98, - 0x33, 0x12, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x98, 0x33, 0x0c, 0xdb, 0x98, - 0x34, 0x8d, 0xdb, 0x98, 0x34, 0xdd, 0xdb, 0x98, 0x34, 0x8e, 0xdb, 0x98, 0x32, 0x0c, 0xdb, 0x98, - 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x98, 0x33, 0x0c, 0xdb, 0x98, - 0x34, 0x8d, 0xdb, 0x98, 0x34, 0xdd, 0xdb, 0x98, 0x34, 0x8e, 0xdb, 0x98, 0x32, 0x0c, 0xdb, 0x98, - 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x96, 0x31, 0x00, 0xdd, 0x92, - 0x29, 0x01, 0xdb, 0x98, 0x33, 0x6a, 0xdb, 0x98, 0x34, 0xf6, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xf8, 0xdb, 0x98, 0x34, 0xb1, 0xdb, 0x98, 0x34, 0x5f, 0xdb, 0x99, 0x34, 0x2f, 0xdb, 0x98, - 0x34, 0x3f, 0xdb, 0x98, 0x34, 0xe4, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf6, 0xdb, 0x98, 0x34, 0x8a, 0xda, 0x98, 0x33, 0x10, 0xda, 0x98, - 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xdc, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdd, 0xdb, 0x98, 0x33, 0x21, 0xdb, 0x98, - 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xdc, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdd, 0xdb, 0x98, 0x33, 0x21, 0xdb, 0x98, - 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x9a, 0x30, 0x00, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x98, - 0x33, 0x1d, 0xdb, 0x98, 0x34, 0xca, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfc, 0xdb, 0x98, - 0x34, 0x94, 0xda, 0x98, 0x33, 0x13, 0xdb, 0x96, 0x36, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x22, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xf6, 0xdb, 0x98, 0x34, 0x8a, 0xda, 0x98, 0x33, 0x10, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xde, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xde, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x58, 0xdb, 0x98, 0x34, 0xf4, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xc9, 0xdc, 0x98, - 0x33, 0x22, 0xdb, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x23, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf6, 0xdb, 0x98, - 0x34, 0x8a, 0xda, 0x98, 0x33, 0x10, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x97, 0x34, 0x00, 0xdc, 0x97, 0x33, 0x03, 0xdb, 0x98, - 0x34, 0x8e, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0x80, 0xb8, 0x9f, - 0x54, 0x00, 0xde, 0x97, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x23, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xf8, 0xdb, 0x98, 0x34, 0x8a, 0xda, 0x98, - 0x33, 0x10, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x97, 0x33, 0x00, 0xda, 0x97, 0x33, 0x11, 0xdb, 0x98, - 0x34, 0xb5, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf3, 0xdb, 0x98, 0x33, 0x53, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x24, 0xdb, 0x98, 0x34, 0xd8, 0xdb, 0x98, 0x34, 0x8c, 0xda, 0x98, 0x33, 0x0f, 0xda, 0x98, - 0x33, 0x00, 0xda, 0x98, 0x33, 0x00, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x98, 0x33, 0x00, 0xda, 0x98, 0x33, 0x1a, 0xdb, 0x98, - 0x34, 0xcd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe8, 0xdb, 0x98, 0x34, 0x35, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x1c, 0xda, 0x98, 0x33, 0x6f, 0xda, 0x98, 0x33, 0x11, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xdc, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, 0x34, 0x25, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x98, 0x33, 0x00, 0xda, 0x98, - 0x33, 0x03, 0xda, 0x98, 0x33, 0x06, 0xda, 0x98, 0x33, 0x00, 0xd9, 0x98, 0x32, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xda, 0x99, 0x30, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x33, 0x29, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xd9, 0xdb, 0x98, 0x34, 0x1f, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xdd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x3a, 0xdb, 0x98, - 0x34, 0xe8, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xdd, 0xdb, 0x98, 0x33, 0x22, 0xdb, 0x98, - 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xd8, 0xa0, 0x26, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xde, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe0, 0xdb, 0x98, 0x34, 0x23, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xd8, 0xa0, 0x26, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0xde, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xde, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xdc, 0x99, 0x33, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x5c, 0xdb, 0x98, - 0x34, 0xf5, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xea, 0xdb, 0x98, 0x33, 0x3b, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xda, 0x98, 0x30, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x33, 0x3b, 0xdb, 0x98, - 0x34, 0xe8, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xea, 0xdb, 0x98, 0x33, 0x3b, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xda, 0x98, 0x30, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x33, 0x3b, 0xdb, 0x98, - 0x34, 0xe8, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xcd, 0xda, 0x98, 0x34, 0x1b, 0xdb, 0x98, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xdb, 0x97, 0x33, 0x00, 0xda, 0x97, 0x32, 0x05, 0xdb, 0x98, 0x34, 0x93, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfd, 0xdb, 0x98, 0x34, 0x82, 0xdb, 0x98, - 0x32, 0x03, 0xdb, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xda, 0x98, 0x33, 0x00, 0xda, 0x98, 0x32, 0x03, 0xdb, 0x98, 0x34, 0x82, 0xdb, 0x98, - 0x34, 0xfd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfd, 0xdb, 0x98, 0x34, 0x82, 0xdb, 0x98, - 0x32, 0x03, 0xdb, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xda, 0x98, 0x33, 0x00, 0xda, 0x98, 0x32, 0x03, 0xdb, 0x98, 0x34, 0x82, 0xdb, 0x98, - 0x34, 0xfd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xa2, 0xdc, 0x98, 0x32, 0x0a, 0xdb, 0x98, - 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x97, 0x34, 0x2b, 0xdb, 0x98, 0x34, 0xd7, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, - 0x34, 0x50, 0xdb, 0x98, 0x32, 0x03, 0xdb, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x99, - 0x32, 0x00, 0xda, 0x98, 0x31, 0x03, 0xdb, 0x98, 0x34, 0x4f, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, - 0x34, 0x50, 0xdb, 0x98, 0x32, 0x03, 0xdb, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x99, - 0x32, 0x00, 0xda, 0x98, 0x31, 0x03, 0xdb, 0x98, 0x34, 0x4f, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf5, 0xdb, 0x98, 0x33, 0x5c, 0xdb, 0x97, 0x34, 0x00, 0xd9, 0x9b, - 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x97, - 0x33, 0x00, 0xda, 0x97, 0x33, 0x10, 0xdb, 0x98, 0x34, 0x96, 0xdb, 0x98, 0x34, 0xfd, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfb, 0xdb, 0x98, 0x34, 0xfe, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0x82, 0xdb, 0x98, 0x33, 0x3b, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x33, 0x3b, 0xdb, 0x98, 0x34, 0x82, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xfd, 0xdb, 0x98, 0x34, 0xf4, 0xdb, 0x98, 0x34, 0xfd, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0x82, 0xdb, 0x98, 0x33, 0x3b, 0xdb, 0x98, 0x34, 0x24, 0xdb, 0x98, - 0x33, 0x3b, 0xdb, 0x98, 0x34, 0x82, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xb4, 0xdb, 0x98, 0x33, 0x15, 0xdb, 0x98, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x98, 0x33, 0x00, 0xdc, 0x98, - 0x33, 0x09, 0xdb, 0x98, 0x34, 0x85, 0xdb, 0x98, 0x34, 0xf6, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xf1, 0xdb, 0x98, 0x33, 0x8f, 0xdb, 0x98, 0x34, 0xca, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfc, 0xdb, 0x98, 0x34, 0xea, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, - 0x34, 0xea, 0xdb, 0x98, 0x34, 0xfc, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xcb, 0xdb, 0x98, 0x34, 0x67, 0xdb, 0x98, 0x34, 0xca, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfc, 0xdb, 0x98, 0x34, 0xea, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, - 0x34, 0xea, 0xdb, 0x98, 0x34, 0xfc, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xcd, 0xdb, 0x98, 0x34, 0x36, 0xd9, 0x97, 0x34, 0x00, 0xde, 0x9a, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x20, 0xdb, 0x98, 0x34, 0xda, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfb, 0xdb, 0x98, - 0x34, 0x96, 0xdb, 0x98, 0x32, 0x0f, 0xdb, 0x98, 0x34, 0x34, 0xdb, 0x98, 0x34, 0xb2, 0xdb, 0x98, - 0x34, 0xf6, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf6, 0xdb, 0x98, 0x34, 0xb5, 0xdb, 0x98, - 0x34, 0x36, 0xd4, 0x98, 0x2e, 0x01, 0xdb, 0x98, 0x34, 0x36, 0xdb, 0x98, 0x34, 0xb5, 0xdb, 0x98, - 0x34, 0xf6, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf6, 0xdb, 0x98, 0x34, 0xb4, 0xdb, 0x98, - 0x34, 0x36, 0xd2, 0x98, 0x2c, 0x00, 0xd9, 0x98, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x0e, 0xdb, 0x98, 0x34, 0x92, 0xdb, 0x98, 0x34, 0xd9, 0xdb, 0x98, 0x34, 0x90, 0xda, 0x99, - 0x34, 0x18, 0xda, 0x98, 0x34, 0x00, 0xdb, 0x9c, 0x33, 0x00, 0xdb, 0x99, 0x33, 0x16, 0xdb, 0x98, - 0x34, 0x61, 0xdb, 0x98, 0x34, 0xa8, 0xdb, 0x98, 0x34, 0xd2, 0xdb, 0x98, 0x34, 0xde, 0xdb, 0x98, - 0x34, 0xd2, 0xdb, 0x98, 0x34, 0xa7, 0xdb, 0x98, 0x34, 0x61, 0xdb, 0x99, 0x33, 0x17, 0xd6, 0x93, - 0x3b, 0x00, 0xdf, 0x9c, 0x31, 0x00, 0xc7, 0x8f, 0x40, 0x00, 0xdb, 0x99, 0x33, 0x17, 0xdb, 0x98, - 0x34, 0x61, 0xdb, 0x98, 0x34, 0xa8, 0xdb, 0x98, 0x34, 0xd2, 0xdb, 0x98, 0x34, 0xdd, 0xdb, 0x98, - 0x34, 0xcd, 0xdb, 0x98, 0x34, 0xa4, 0xdb, 0x98, 0x34, 0x61, 0xdb, 0x99, 0x33, 0x16, 0xd4, 0x92, - 0x3a, 0x00, 0xde, 0x9c, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x8e, 0x16, 0x00, 0xd6, 0x9a, - 0x39, 0x00, 0xdb, 0x98, 0x33, 0x0d, 0xdb, 0x98, 0x33, 0x1e, 0xdb, 0x99, 0x33, 0x0a, 0xda, 0x95, - 0x34, 0x00, 0xfd, 0xd8, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x00, 0xdb, 0x98, 0x34, 0x0c, 0xdb, 0x98, 0x34, 0x1d, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, - 0x34, 0x1d, 0xdb, 0x98, 0x34, 0x0c, 0xdc, 0x98, 0x35, 0x00, 0xdc, 0x98, 0x35, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x00, 0xdb, 0x98, 0x34, 0x0c, 0xdb, 0x98, 0x34, 0x1d, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0x1a, 0xdb, 0x98, 0x33, 0x0a, 0xdd, 0x92, 0x3c, 0x00, 0xda, 0x9a, 0x31, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x5f, 0x00, 0x00, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0x00, 0x00, 0xff, 0xff, - 0xff, 0xff, 0xfc, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x07, 0x00, 0x00, 0xff, 0xff, - 0xff, 0xff, 0xe0, 0x03, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x80, 0x01, 0x00, 0x00, 0xff, 0xff, - 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0xfc, 0x7f, 0xc7, 0xfe, 0x00, 0x01, 0x00, 0x00, 0xf8, 0x3f, - 0x83, 0xfc, 0x00, 0x03, 0x00, 0x00, 0xf8, 0x3f, 0x83, 0xfc, 0x0c, 0x07, 0x00, 0x00, 0xf8, 0x3f, - 0x83, 0xfc, 0x1c, 0x0f, 0x00, 0x00, 0xf8, 0x3f, 0x83, 0xf8, 0x3c, 0x1f, 0x00, 0x00, 0xf8, 0x3f, - 0x83, 0xf8, 0x3c, 0x2f, 0x00, 0x00, 0xf8, 0x3f, 0x83, 0xf8, 0x3c, 0x7f, 0x00, 0x00, 0xf8, 0x3f, - 0x83, 0xf8, 0x3c, 0xff, 0x00, 0x00, 0xf8, 0x3f, 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, - 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, - 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, - 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, - 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, - 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, - 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, - 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, - 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, - 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf8, 0x3f, - 0x83, 0xf8, 0x3f, 0xff, 0x00, 0x00, 0xf0, 0x1f, 0x01, 0xf0, 0x3f, 0xff, 0x00, 0x00, 0xf0, 0x0e, - 0x00, 0xe0, 0x7f, 0xff, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xc0, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xc1, 0x80, - 0x38, 0x03, 0xff, 0xff, 0x00, 0x00, 0xe3, 0xc0, 0x7c, 0x0f, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, - 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x13, 0x0b, - 0x00, 0x00, 0x13, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, - 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, 0x34, 0x7a, 0xda, 0x97, 0x33, 0x10, 0xda, 0x97, - 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, - 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0xd8, 0xdb, 0x98, 0x34, 0x88, 0xda, 0x97, - 0x33, 0x0c, 0xda, 0x97, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, - 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xfa, 0xdb, 0x98, - 0x34, 0x87, 0xda, 0x97, 0x33, 0x0c, 0xda, 0x97, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xdb, 0x8c, 0x2b, 0x00, 0xdb, 0x99, 0x33, 0x00, 0xdb, 0x98, 0x32, 0x04, 0xdb, 0x98, - 0x34, 0x13, 0xdb, 0x98, 0x34, 0x3c, 0xdb, 0x98, 0x34, 0xe4, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xf7, 0xdb, 0x98, 0x34, 0x87, 0xda, 0x97, 0x33, 0x0c, 0xda, 0x97, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x99, - 0x33, 0x00, 0xdb, 0x99, 0x32, 0x02, 0xdb, 0x98, 0x33, 0x3a, 0xdb, 0x98, 0x34, 0x98, 0xdb, 0x98, - 0x34, 0xcd, 0xdb, 0x98, 0x34, 0xe4, 0xdb, 0x98, 0x34, 0xfb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf8, 0xdb, 0x98, 0x34, 0x83, 0xda, 0x97, 0x33, 0x07, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x9b, 0x31, 0x00, 0xe0, 0xa5, 0x21, 0x00, 0xdb, 0x98, - 0x34, 0x12, 0xdb, 0x98, 0x34, 0x12, 0xdf, 0x94, 0x2e, 0x00, 0xdc, 0x98, 0x32, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x9b, 0x31, 0x00, 0xe0, 0xa5, 0x21, 0x00, 0xdb, 0x98, - 0x34, 0x12, 0xdb, 0x98, 0x34, 0x12, 0xdf, 0x94, 0x2e, 0x00, 0xdc, 0x98, 0x32, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x97, 0x34, 0x00, 0xdf, 0x8d, - 0x34, 0x00, 0xdb, 0x98, 0x34, 0x58, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xf2, 0xdb, 0x98, 0x34, 0xe7, 0xdb, 0x98, 0x34, 0xfb, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xf8, 0xdb, 0x98, 0x34, 0x83, 0xda, 0x98, 0x33, 0x07, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x12, 0xdb, 0x98, - 0x34, 0xb0, 0xdb, 0x98, 0x34, 0xb0, 0xdb, 0x98, 0x33, 0x12, 0xdb, 0x98, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x12, 0xdb, 0x98, - 0x34, 0xb0, 0xdb, 0x98, 0x34, 0xb0, 0xdb, 0x98, 0x33, 0x12, 0xdb, 0x98, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x98, - 0x33, 0x29, 0xdb, 0x98, 0x34, 0xd9, 0xdb, 0x98, 0x34, 0xfa, 0xdb, 0x98, 0x34, 0x9b, 0xdb, 0x98, - 0x34, 0x3d, 0xdb, 0x98, 0x34, 0x3f, 0xdb, 0x98, 0x34, 0xe4, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xf7, 0xdb, 0x98, 0x34, 0x87, 0xda, 0x98, 0x33, 0x0c, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x97, 0x35, 0x00, 0xdb, 0x98, - 0x34, 0x78, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, 0x34, 0xab, 0xdb, 0x98, 0x33, 0x0f, 0xdb, 0x98, - 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xf9, 0xdb, 0x98, - 0x34, 0x87, 0xda, 0x98, 0x33, 0x0c, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x97, 0x34, 0x00, 0xdb, 0x97, 0x34, 0x09, 0xdb, 0x98, - 0x34, 0xb4, 0xdb, 0x98, 0x34, 0xfc, 0xdb, 0x98, 0x33, 0x56, 0xda, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x00, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0xd9, 0xdb, 0x98, 0x34, 0x89, 0xda, 0x98, - 0x33, 0x0c, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x97, 0x33, 0x00, 0xda, 0x97, 0x33, 0x18, 0xdb, 0x98, - 0x34, 0xd3, 0xdb, 0x98, 0x34, 0xec, 0xdb, 0x98, 0x34, 0x31, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x00, 0xdb, 0x98, 0x34, 0x1c, 0xdb, 0x98, 0x34, 0x6b, 0xda, 0x98, 0x33, 0x0e, 0xda, 0x98, - 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe0, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0xda, 0x98, - 0x33, 0x00, 0xda, 0x98, 0x33, 0x03, 0xda, 0x98, 0x33, 0x05, 0xda, 0x98, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe2, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe2, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x27, 0xdb, 0x98, - 0x34, 0xe5, 0xdb, 0x98, 0x34, 0xdf, 0xdb, 0x98, 0x34, 0x1f, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe2, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x20, 0xdb, 0x98, - 0x34, 0xe1, 0xdb, 0x98, 0x34, 0xe3, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x3f, 0xdb, 0x98, - 0x34, 0xf1, 0xdb, 0x98, 0x34, 0xe8, 0xdb, 0x98, 0x33, 0x2d, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x33, 0x2c, 0xdb, 0x98, - 0x34, 0xe7, 0xdb, 0x98, 0x34, 0xe9, 0xdb, 0x98, 0x33, 0x2d, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x33, 0x2c, 0xdb, 0x98, - 0x34, 0xe8, 0xdb, 0x98, 0x34, 0xd9, 0xdb, 0x98, 0x34, 0x1c, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xda, 0x97, 0x33, 0x00, 0xdc, 0x9a, 0x36, 0x00, 0xdb, 0x98, 0x34, 0x79, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfc, 0xdb, 0x98, 0x34, 0x76, 0xdb, 0x99, 0x32, 0x02, 0xdb, 0x98, - 0x34, 0x00, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x98, 0x31, 0x01, 0xdb, 0x98, 0x34, 0x76, 0xdb, 0x98, - 0x34, 0xfc, 0xdb, 0x98, 0x34, 0xfc, 0xdb, 0x98, 0x34, 0x76, 0xdb, 0x99, 0x32, 0x02, 0xdb, 0x98, - 0x34, 0x00, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x98, 0x31, 0x01, 0xdb, 0x98, 0x34, 0x76, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xae, 0xdb, 0x98, 0x33, 0x09, 0xdb, 0x98, 0x33, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x97, - 0x33, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xda, 0x98, 0x33, 0x2a, 0xdb, 0x98, 0x34, 0xd2, 0xdb, 0x98, - 0x34, 0xff, 0xdb, 0x98, 0x34, 0xfd, 0xdb, 0x98, 0x34, 0xe9, 0xdb, 0x98, 0x34, 0x76, 0xdb, 0x98, - 0x33, 0x2b, 0xdb, 0x98, 0x33, 0x2b, 0xdb, 0x98, 0x34, 0x76, 0xdb, 0x98, 0x34, 0xe9, 0xdb, 0x98, - 0x34, 0xfa, 0xdb, 0x98, 0x34, 0xfa, 0xdb, 0x98, 0x34, 0xe9, 0xdb, 0x98, 0x34, 0x76, 0xdb, 0x98, - 0x33, 0x2b, 0xdb, 0x98, 0x33, 0x2b, 0xdb, 0x98, 0x34, 0x76, 0xdb, 0x98, 0x34, 0xe9, 0xdb, 0x98, - 0x34, 0xf3, 0xdb, 0x98, 0x33, 0x56, 0xdb, 0x98, 0x35, 0x00, 0xda, 0x99, 0x32, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, - 0x33, 0x00, 0xdb, 0x98, 0x33, 0x10, 0xdb, 0x98, 0x34, 0xb3, 0xdb, 0x98, 0x34, 0xff, 0xdb, 0x98, - 0x34, 0xb7, 0xdb, 0x98, 0x34, 0x8d, 0xdb, 0x98, 0x34, 0xf2, 0xdb, 0x98, 0x34, 0xfd, 0xdb, 0x98, - 0x34, 0xe9, 0xdb, 0x98, 0x34, 0xe9, 0xdb, 0x98, 0x34, 0xfd, 0xdb, 0x98, 0x34, 0xf3, 0xdb, 0x98, - 0x34, 0x86, 0xdb, 0x98, 0x34, 0x86, 0xdb, 0x98, 0x34, 0xf3, 0xdb, 0x98, 0x34, 0xfd, 0xdb, 0x98, - 0x34, 0xe9, 0xdb, 0x98, 0x34, 0xe9, 0xdb, 0x98, 0x34, 0xfd, 0xdb, 0x98, 0x34, 0xf3, 0xdb, 0x98, - 0x34, 0x81, 0xdb, 0x98, 0x33, 0x08, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, - 0x34, 0x00, 0xdb, 0x98, 0x34, 0x14, 0xdb, 0x98, 0x34, 0xb2, 0xdb, 0x98, 0x34, 0xba, 0xdb, 0x98, - 0x34, 0x2d, 0xdb, 0x98, 0x34, 0x07, 0xdb, 0x98, 0x34, 0x56, 0xdb, 0x98, 0x34, 0xb2, 0xdb, 0x98, - 0x34, 0xdc, 0xdb, 0x98, 0x34, 0xdc, 0xdb, 0x98, 0x34, 0xb2, 0xdb, 0x98, 0x34, 0x57, 0xdb, 0x98, - 0x33, 0x08, 0xdb, 0x99, 0x34, 0x08, 0xdb, 0x98, 0x34, 0x57, 0xdb, 0x98, 0x34, 0xb2, 0xdb, 0x98, - 0x34, 0xdc, 0xdb, 0x98, 0x34, 0xd9, 0xdb, 0x98, 0x34, 0xb0, 0xdb, 0x98, 0x34, 0x57, 0xdb, 0x98, - 0x34, 0x09, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0x97, - 0x31, 0x00, 0xe1, 0x96, 0x2d, 0x00, 0xdb, 0x98, 0x33, 0x13, 0xdb, 0x98, 0x33, 0x11, 0x00, 0x00, - 0xff, 0x00, 0xda, 0x9a, 0x32, 0x00, 0xe1, 0x98, 0x3a, 0x00, 0xdb, 0x98, 0x34, 0x0b, 0xdb, 0x98, - 0x34, 0x1d, 0xdb, 0x98, 0x34, 0x1d, 0xdb, 0x98, 0x34, 0x0a, 0xe1, 0x98, 0x3a, 0x00, 0xd8, 0x98, - 0x31, 0x00, 0xd8, 0x98, 0x31, 0x00, 0xe1, 0x98, 0x3a, 0x00, 0xdb, 0x98, 0x34, 0x0b, 0xdb, 0x98, - 0x34, 0x1d, 0xdb, 0x98, 0x34, 0x1c, 0xdb, 0x98, 0x33, 0x09, 0xdc, 0x97, 0x3b, 0x00, 0xdb, 0x98, - 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, - 0xff, 0x8f, 0xff, 0xff, 0xff, 0x87, 0xff, 0xff, 0xff, 0x83, 0xff, 0xff, 0xfe, 0x01, 0xff, 0xff, - 0xf8, 0x00, 0xe1, 0xe1, 0xf0, 0x00, 0xe1, 0xe1, 0xf0, 0x01, 0xe1, 0xe1, 0xf0, 0x83, 0xe1, 0xe1, - 0xe1, 0x87, 0xe1, 0xe1, 0xe1, 0x8f, 0xe1, 0xe1, 0xe1, 0x9f, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, - 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, - 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, - 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe0, 0xc0, - 0xc1, 0xff, 0xc0, 0x00, 0x03, 0xff, 0x80, 0x00, 0x03, 0xff, 0x80, 0x00, 0x07, 0xff, 0x8e, 0x1e, - 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x28, 0x00, - 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x13, 0x0b, 0x00, 0x00, 0x13, 0x0b, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x1f, 0xdb, 0x98, 0x34, 0x75, 0xdb, 0x98, - 0x34, 0x0d, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x9b, 0x2a, 0x00, 0xdb, 0x98, - 0x34, 0x00, 0xdb, 0x98, 0x33, 0x05, 0xdb, 0x98, 0x34, 0x38, 0xdb, 0x98, 0x34, 0xdd, 0xdb, 0x98, - 0x34, 0x84, 0xdb, 0x98, 0x34, 0x0c, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x98, 0x33, 0x02, 0xdb, 0x98, - 0x34, 0x12, 0xdb, 0x98, 0x34, 0x02, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x98, 0x33, 0x02, 0xdb, 0x98, - 0x34, 0x12, 0xdb, 0x98, 0x34, 0x02, 0xdb, 0x98, 0x33, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, - 0x34, 0x22, 0xdb, 0x98, 0x34, 0x9f, 0xdb, 0x98, 0x34, 0xcb, 0xdb, 0x98, 0x34, 0xf9, 0xdb, 0x98, - 0x34, 0xec, 0xdb, 0x98, 0x34, 0x4d, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x1a, 0xdb, 0x98, - 0x34, 0xa1, 0xdb, 0x98, 0x34, 0x1b, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x1a, 0xdb, 0x98, - 0x34, 0xa1, 0xdb, 0x98, 0x34, 0x1b, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x33, 0x02, 0xdb, 0x98, - 0x34, 0x96, 0xdb, 0x98, 0x34, 0x98, 0xdb, 0x98, 0x34, 0x46, 0xdb, 0x98, 0x34, 0xdd, 0xdb, 0x98, - 0x34, 0x85, 0xda, 0x98, 0x33, 0x0c, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x17, 0xdb, 0x98, - 0x34, 0xbf, 0xdb, 0x98, 0x34, 0x32, 0xdb, 0x98, 0x34, 0x18, 0xdb, 0x98, 0x34, 0x67, 0xdb, 0x98, - 0x34, 0x0b, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xd2, 0x98, 0x2c, 0x00, 0xda, 0x98, 0x33, 0x04, 0xda, 0x98, - 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc1, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc1, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x21, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x22, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x2a, 0xdb, 0x98, - 0x34, 0xcb, 0xdb, 0x98, 0x34, 0x25, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x25, 0xdb, 0x98, - 0x34, 0xc8, 0xdb, 0x98, 0x34, 0x26, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x34, 0x26, 0xdb, 0x98, - 0x34, 0xc2, 0xdb, 0x98, 0x34, 0x1f, 0xdb, 0x98, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x99, 0x36, 0x00, 0xdb, 0x98, 0x34, 0x68, 0xdb, 0x98, - 0x34, 0xf2, 0xdb, 0x98, 0x34, 0x7f, 0xdb, 0x98, 0x34, 0x26, 0xdb, 0x98, 0x34, 0x7f, 0xdb, 0x98, - 0x34, 0xee, 0xdb, 0x98, 0x34, 0x7f, 0xdb, 0x98, 0x34, 0x26, 0xdb, 0x98, 0x34, 0x82, 0xdb, 0x98, - 0x34, 0xab, 0xdb, 0x98, 0x33, 0x0a, 0xdb, 0x98, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x15, 0xdb, 0x98, 0x34, 0xa1, 0xdb, 0x98, - 0x34, 0x73, 0xdb, 0x98, 0x34, 0xa9, 0xdb, 0x98, 0x34, 0xc5, 0xdb, 0x98, 0x34, 0xaa, 0xdb, 0x98, - 0x34, 0x5c, 0xdb, 0x98, 0x34, 0xaa, 0xdb, 0x98, 0x34, 0xc5, 0xdb, 0x98, 0x34, 0xac, 0xdb, 0x98, - 0x34, 0x30, 0xdb, 0x98, 0x34, 0x00, 0xdb, 0x98, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x98, 0x34, 0x03, 0xdb, 0x98, 0x34, 0x12, 0xdb, 0x98, - 0x34, 0x02, 0xdb, 0x98, 0x34, 0x0b, 0xdb, 0x98, 0x34, 0x1d, 0xdb, 0x98, 0x34, 0x0b, 0xdb, 0x97, - 0x35, 0x00, 0xdb, 0x98, 0x34, 0x0b, 0xdb, 0x98, 0x34, 0x1d, 0xdb, 0x98, 0x34, 0x0b, 0xdb, 0x98, - 0x35, 0x00, 0xd9, 0x99, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf1, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x88, 0xc0, - 0x00, 0x00, 0x88, 0x80, 0x00, 0x00, 0x88, 0x81, 0x00, 0x00, 0x88, 0x83, 0x00, 0x00, 0x88, 0x8f, - 0x00, 0x00, 0x88, 0x8f, 0x00, 0x00, 0x88, 0x8f, 0x00, 0x00, 0x88, 0x8f, 0x00, 0x00, 0x88, 0x8f, - 0x00, 0x00, 0x88, 0x8f, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x02, 0x3f, - 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, -} diff --git a/tools/tools.go b/tools/tools.go index aff1ae235..49889c499 100644 --- a/tools/tools.go +++ b/tools/tools.go @@ -1,3 +1,5 @@ +//go:build tools + package tools import ( From 2ea89822fc625d386ed29ff681e8b940af79725d Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 27 Apr 2025 15:11:43 +1000 Subject: [PATCH 097/381] ci: Generate generated files within goreleaser config. --- .goreleaser.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.goreleaser.yml b/.goreleaser.yml index 607a47082..aca21085b 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -2,6 +2,7 @@ version: 2 before: hooks: - go mod download + - go generate ./... builds: - id: mtail main: ./cmd/mtail/main.go From bc7fd3aa36c82c15f15694c2d1464bad14764012 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 27 Apr 2025 15:19:09 +1000 Subject: [PATCH 098/381] ci: Install `goyacc` in goreleaser. --- .goreleaser.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.goreleaser.yml b/.goreleaser.yml index aca21085b..9a4506deb 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -2,6 +2,7 @@ version: 2 before: hooks: - go mod download + - go install golang.org/x/tools/cmd/goyacc - go generate ./... builds: - id: mtail From 87218a0e6f531d5f960ec8ee99dac4e1745d9eeb Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 27 Apr 2025 15:33:54 +1000 Subject: [PATCH 099/381] chore(deps): update module golang.org/x/tools to v0.32.0 Manually run with `bazel run @rules_go//go -- get golang.org/x/tools@v0.32.0` to force a subsequent `go mod tidy` and get the correct `go.sum` for `x/tools`. --- go.mod | 8 ++++---- go.sum | 8 ++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 2062b3c0a..3eaa8d6df 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.35.0 go.opentelemetry.io/otel/sdk/metric v1.35.0 golang.org/x/sys v0.32.0 - golang.org/x/tools v0.30.0 + golang.org/x/tools v0.32.0 ) require ( @@ -39,9 +39,9 @@ require ( go.opentelemetry.io/otel/metric v1.35.0 // indirect go.opentelemetry.io/otel/trace v1.35.0 // indirect go.opentelemetry.io/proto/otlp v1.5.0 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/sync v0.12.0 // indirect - golang.org/x/text v0.23.0 // indirect + golang.org/x/net v0.39.0 // indirect + golang.org/x/sync v0.13.0 // indirect + golang.org/x/text v0.24.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a // indirect diff --git a/go.sum b/go.sum index 2ae1f2810..463f17fa5 100644 --- a/go.sum +++ b/go.sum @@ -223,6 +223,8 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -238,6 +240,8 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610= +golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -267,6 +271,8 @@ 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.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= +golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= +golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -302,6 +308,8 @@ golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= +golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= +golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From e7d144c4b7bff79df32259b8e51f8b10b4354be4 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 27 Apr 2025 16:53:21 +1000 Subject: [PATCH 100/381] build: Rename `tools` to `build`. New name is more apt for the subsequent changes to improve the build. --- .gitignore | 1 - {tools => build}/BUILD.bazel | 0 {tools => build}/goyacc.bzl | 0 {tools => build}/tools.go | 0 internal/runtime/compiler/parser/BUILD.bazel | 2 +- 5 files changed, 1 insertion(+), 2 deletions(-) rename {tools => build}/BUILD.bazel (100%) rename {tools => build}/goyacc.bzl (100%) rename {tools => build}/tools.go (100%) diff --git a/.gitignore b/.gitignore index ccb9bc9cb..4350c0320 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,6 @@ foo.log /.*dep-stamp /cpu.out /mem.out -/build /.ghi.yml /vm-fuzz.zip workdir/* diff --git a/tools/BUILD.bazel b/build/BUILD.bazel similarity index 100% rename from tools/BUILD.bazel rename to build/BUILD.bazel diff --git a/tools/goyacc.bzl b/build/goyacc.bzl similarity index 100% rename from tools/goyacc.bzl rename to build/goyacc.bzl diff --git a/tools/tools.go b/build/tools.go similarity index 100% rename from tools/tools.go rename to build/tools.go diff --git a/internal/runtime/compiler/parser/BUILD.bazel b/internal/runtime/compiler/parser/BUILD.bazel index 9682c1be5..f32de7704 100644 --- a/internal/runtime/compiler/parser/BUILD.bazel +++ b/internal/runtime/compiler/parser/BUILD.bazel @@ -1,5 +1,5 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") -load("//tools:goyacc.bzl", "go_yacc") +load("//build:goyacc.bzl", "go_yacc") go_yacc( name = "parser_go_gen", From 83784857916cb2ed955181d0788cd0caabaa7208 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 27 Apr 2025 17:18:58 +1000 Subject: [PATCH 101/381] build: Stamp the build with workspace attributes. This puts the git tag and revision back into the binary, matching the Makefile feature. --- .bazelrc | 5 +++++ build/workspace_status.sh | 5 +++++ cmd/mtail/BUILD.bazel | 5 +++++ 3 files changed, 15 insertions(+) create mode 100644 .bazelrc create mode 100755 build/workspace_status.sh diff --git a/.bazelrc b/.bazelrc new file mode 100644 index 000000000..a3352fe5f --- /dev/null +++ b/.bazelrc @@ -0,0 +1,5 @@ +# Get workspace status information to stamp into the build. +build --workspace_status_command=build/workspace_status.sh + +# Enable build stamping to inject the workspace status variables. +build --stamp diff --git a/build/workspace_status.sh b/build/workspace_status.sh new file mode 100755 index 000000000..198bc0354 --- /dev/null +++ b/build/workspace_status.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +echo STABLE_GIT_BRANCH $(git --no-pager rev-parse --abbrev-ref HEAD) +echo STABLE_GIT_VERSION $(git --no-pager describe --tags --always --dirty) +echo STABLE_GIT_REVISION $(git --no-pager rev-parse HEAD) diff --git a/cmd/mtail/BUILD.bazel b/cmd/mtail/BUILD.bazel index 423fa399c..18e09ec74 100644 --- a/cmd/mtail/BUILD.bazel +++ b/cmd/mtail/BUILD.bazel @@ -19,4 +19,9 @@ go_binary( name = "mtail", embed = [":mtail_lib"], visibility = ["//visibility:public"], + x_defs = { + "main.Branch": "{STABLE_GIT_BRANCH}", + "main.Version": "{STABLE_GIT_VERSION}", + "main.Revision": "{STABLE_GIT_REVISION}", + }, ) From c1e7a5eedb1188b45891a8e76e8aed69ef136536 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 27 Apr 2025 17:21:30 +1000 Subject: [PATCH 102/381] doc: Update the default no-build values for the build stamp. --- cmd/mtail/main.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/cmd/mtail/main.go b/cmd/mtail/main.go index 5a10a63a6..979b906e1 100644 --- a/cmd/mtail/main.go +++ b/cmd/mtail/main.go @@ -90,13 +90,13 @@ func init() { } var ( - // Branch as well as Version and Revision identifies where in the git - // history the build came from, as supplied by the linker when copmiled - // with `make'. The defaults here indicate that the user did not use - // `make' as instructed. - Branch = "invalid:-use-make-to-build" - Version = "invalid:-use-make-to-build" - Revision = "invalid:-use-make-to-build" + // Branch, Version and Revision identifies where in the git history the + // build came from, as supplied by the linker when compiled with `bazel`. + // The defaults here indicate that the user did not use `bazel` as + // instructed. + Branch = "invalid:-use-bazel-to-build" + Version = "invalid:-use-bazel-to-build" + Revision = "invalid:-use-bazel-to-build" ) func main() { From 3467de9965bd9b9ab6de1ded539d55b321d53f29 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 27 Apr 2025 17:25:51 +1000 Subject: [PATCH 103/381] build: Embed the build label from `bazel` if set. --- cmd/mtail/BUILD.bazel | 1 + cmd/mtail/main.go | 5 +++++ internal/mtail/buildinfo.go | 7 ++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/cmd/mtail/BUILD.bazel b/cmd/mtail/BUILD.bazel index 18e09ec74..e7a8233c7 100644 --- a/cmd/mtail/BUILD.bazel +++ b/cmd/mtail/BUILD.bazel @@ -23,5 +23,6 @@ go_binary( "main.Branch": "{STABLE_GIT_BRANCH}", "main.Version": "{STABLE_GIT_VERSION}", "main.Revision": "{STABLE_GIT_REVISION}", + "main.EmbedLabel": "{BUILD_EMBED_LABEL}", }, ) diff --git a/cmd/mtail/main.go b/cmd/mtail/main.go index 979b906e1..ccf98a467 100644 --- a/cmd/mtail/main.go +++ b/cmd/mtail/main.go @@ -97,6 +97,10 @@ var ( Branch = "invalid:-use-bazel-to-build" Version = "invalid:-use-bazel-to-build" Revision = "invalid:-use-bazel-to-build" + // EmbedLabel can be set on the bazel command line with `--embed_label` and + // is used during releases to inject the release version name into the + // build. + EmbedLabel = "" ) func main() { @@ -104,6 +108,7 @@ func main() { Branch: Branch, Version: Version, Revision: Revision, + EmbedLabel: EmbedLabel, } flag.Usage = func() { diff --git a/internal/mtail/buildinfo.go b/internal/mtail/buildinfo.go index eb5e9f1dd..ad618f70f 100644 --- a/internal/mtail/buildinfo.go +++ b/internal/mtail/buildinfo.go @@ -13,9 +13,14 @@ type BuildInfo struct { Branch string Version string Revision string + EmbedLabel string } func (b BuildInfo) String() string { + label := "" + if b.EmbedLabel != "" { + label = fmt.Sprintf(" label %s", b.EmbedLabel) + } return fmt.Sprintf( "mtail version %s git revision %s go version %s go arch %s go os %s", b.Version, @@ -23,5 +28,5 @@ func (b BuildInfo) String() string { runtime.Version(), runtime.GOARCH, runtime.GOOS, - ) + ) + label } From 0a75a63c1e196505cad015f38ffdeed371a189b2 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 28 Apr 2025 10:50:32 +1000 Subject: [PATCH 104/381] feat: Experimental Open Telemetry exporter support. This adds a new command line flag `experimental_enable_opentelemetry` that will start exporting metrics to an `otel-collector`. At the moment it assumes gRPC and no TLS. --- internal/exporter/BUILD.bazel | 4 ++++ internal/exporter/export.go | 7 +++++++ internal/exporter/otel.go | 14 ++++++++++++++ 3 files changed, 25 insertions(+) diff --git a/internal/exporter/BUILD.bazel b/internal/exporter/BUILD.bazel index 6cfa80cef..d34e8a37f 100644 --- a/internal/exporter/BUILD.bazel +++ b/internal/exporter/BUILD.bazel @@ -21,8 +21,11 @@ go_library( "@com_github_pkg_errors//:errors", "@com_github_prometheus_client_golang//prometheus", "@com_github_prometheus_common//expfmt", + "@io_opentelemetry_go_otel//:otel", "@io_opentelemetry_go_otel//attribute", + "@io_opentelemetry_go_otel_exporters_otlp_otlpmetric_otlpmetricgrpc//:otlpmetricgrpc", "@io_opentelemetry_go_otel_sdk//instrumentation", + "@io_opentelemetry_go_otel_sdk_metric//:metric", "@io_opentelemetry_go_otel_sdk_metric//metricdata", ], ) @@ -44,6 +47,7 @@ go_test( "//internal/metrics/datum", "//internal/testutil", "@com_github_prometheus_client_golang//prometheus/testutil", + "@io_opentelemetry_go_otel//attribute", "@io_opentelemetry_go_otel_sdk//instrumentation", "@io_opentelemetry_go_otel_sdk_metric//metricdata", "@io_opentelemetry_go_otel_sdk_metric//metricdata/metricdatatest", diff --git a/internal/exporter/export.go b/internal/exporter/export.go index c7f1702f4..6ce9401be 100644 --- a/internal/exporter/export.go +++ b/internal/exporter/export.go @@ -26,6 +26,7 @@ import ( // Commandline Flags. var ( writeDeadline = flag.Duration("metric_push_write_deadline", 10*time.Second, "Time to wait for a push to succeed before exiting with an error.") + enableOpenTelemetry = flag.Bool("experimental_enable_opentelemetry", false, "Enable the experimental Open Telemetry metric pusher.") ) // Exporter manages the export of metrics to passive and active collectors. @@ -123,6 +124,12 @@ func New(ctx context.Context, store *metrics.Store, options ...Option) (*Exporte o := pushOptions{"udp", *statsdHostPort, metricToStatsd, statsdExportTotal, statsdExportSuccess} e.RegisterPushExport(o) } + if *enableOpenTelemetry { + err := e.InitOtel(ctx) + if err != nil { + return nil, err + } + } e.StartMetricPush() // This routine manages shutdown of the Exporter. diff --git a/internal/exporter/otel.go b/internal/exporter/otel.go index 98ea6be07..454d7b7ea 100644 --- a/internal/exporter/otel.go +++ b/internal/exporter/otel.go @@ -13,8 +13,11 @@ import ( "github.com/jaqx0r/mtail/internal/metrics" "github.com/jaqx0r/mtail/internal/metrics/datum" + "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc" "go.opentelemetry.io/otel/sdk/instrumentation" + "go.opentelemetry.io/otel/sdk/metric" "go.opentelemetry.io/otel/sdk/metric/metricdata" ) @@ -193,3 +196,14 @@ func otelLabels(labels map[string]string) attribute.Set { } return attribute.NewSet(kvs...) } + +func (e *Exporter) InitOtel(ctx context.Context) error { + otlpexp, err := otlpmetricgrpc.New(ctx, otlpmetricgrpc.WithInsecure(), otlpmetricgrpc.WithTimeout(*writeDeadline)) + if err != nil { + return err + } + reader := metric.NewPeriodicReader(otlpexp, metric.WithInterval(e.pushInterval), metric.WithProducer(e)) + meterProvider := metric.NewMeterProvider(metric.WithReader(reader)) + otel.SetMeterProvider(meterProvider) + return nil +} From ad33b58885ad4f69e8fcb66b9db836d2ea0df26d Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 28 Apr 2025 11:28:42 +1000 Subject: [PATCH 105/381] fix: Remove duplicate otel exporter setup. Add service name, version, and host resource to export. Shutdown the otel exporter whrn the Exporter does. --- internal/exporter/BUILD.bazel | 1 + internal/exporter/export.go | 9 +++++++++ internal/exporter/otel.go | 21 ++++++++++++++++++++- internal/mtail/BUILD.bazel | 4 ---- internal/mtail/mtail.go | 23 +---------------------- 5 files changed, 31 insertions(+), 27 deletions(-) diff --git a/internal/exporter/BUILD.bazel b/internal/exporter/BUILD.bazel index d34e8a37f..058cf6b40 100644 --- a/internal/exporter/BUILD.bazel +++ b/internal/exporter/BUILD.bazel @@ -25,6 +25,7 @@ go_library( "@io_opentelemetry_go_otel//attribute", "@io_opentelemetry_go_otel_exporters_otlp_otlpmetric_otlpmetricgrpc//:otlpmetricgrpc", "@io_opentelemetry_go_otel_sdk//instrumentation", + "@io_opentelemetry_go_otel_sdk//resource", "@io_opentelemetry_go_otel_sdk_metric//:metric", "@io_opentelemetry_go_otel_sdk_metric//metricdata", ], diff --git a/internal/exporter/export.go b/internal/exporter/export.go index 6ce9401be..ea8ef35c2 100644 --- a/internal/exporter/export.go +++ b/internal/exporter/export.go @@ -37,6 +37,7 @@ type Exporter struct { store *metrics.Store pushInterval time.Duration hostname string + version string omitProgLabel bool emitTimestamp bool exportDisabled bool @@ -56,6 +57,14 @@ func Hostname(hostname string) Option { } } +// Version specifies the mtail version to use in exported metrics. +func Version(version string) Option { + return func (e *Exporter) error { + e.version = version + return nil + } +} + // OmitProgLabel sets the Exporter to not put program names in metric labels. func OmitProgLabel() Option { return func(e *Exporter) error { diff --git a/internal/exporter/otel.go b/internal/exporter/otel.go index 454d7b7ea..2e385fa63 100644 --- a/internal/exporter/otel.go +++ b/internal/exporter/otel.go @@ -19,6 +19,7 @@ import ( "go.opentelemetry.io/otel/sdk/instrumentation" "go.opentelemetry.io/otel/sdk/metric" "go.opentelemetry.io/otel/sdk/metric/metricdata" + "go.opentelemetry.io/otel/sdk/resource" ) var processStartTime = time.Now() @@ -198,12 +199,30 @@ func otelLabels(labels map[string]string) attribute.Set { } func (e *Exporter) InitOtel(ctx context.Context) error { + res, err := resource.New(ctx, + resource.WithHost(), + resource.WithAttributes( + attribute.String("service.name", "mtail"), + attribute.String("service.version", e.version), + )) + if err != nil { + return err + } otlpexp, err := otlpmetricgrpc.New(ctx, otlpmetricgrpc.WithInsecure(), otlpmetricgrpc.WithTimeout(*writeDeadline)) if err != nil { return err } reader := metric.NewPeriodicReader(otlpexp, metric.WithInterval(e.pushInterval), metric.WithProducer(e)) - meterProvider := metric.NewMeterProvider(metric.WithReader(reader)) + meterProvider := metric.NewMeterProvider(metric.WithReader(reader), metric.WithResource(res)) otel.SetMeterProvider(meterProvider) + + e.wg.Add(1) + // Shut down the otel meter provider at exit + go func() { + defer e.wg.Done() + <-e.ctx.Done() + meterProvider.Shutdown(ctx) + }() + return nil } diff --git a/internal/mtail/BUILD.bazel b/internal/mtail/BUILD.bazel index bef45f2cb..f1a5586ef 100644 --- a/internal/mtail/BUILD.bazel +++ b/internal/mtail/BUILD.bazel @@ -30,10 +30,6 @@ go_library( "@io_opencensus_go//trace", "@io_opencensus_go//zpages", "@io_opencensus_go_contrib_exporter_jaeger//:jaeger", - "@io_opentelemetry_go_otel//:otel", - "@io_opentelemetry_go_otel_exporters_otlp_otlpmetric_otlpmetricgrpc//:otlpmetricgrpc", - "@io_opentelemetry_go_otel_sdk//resource", - "@io_opentelemetry_go_otel_sdk_metric//:metric", ], ) diff --git a/internal/mtail/mtail.go b/internal/mtail/mtail.go index b515b065e..55a4bf59e 100644 --- a/internal/mtail/mtail.go +++ b/internal/mtail/mtail.go @@ -25,10 +25,6 @@ import ( "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/prometheus/common/version" "go.opencensus.io/zpages" - "go.opentelemetry.io/otel" - "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc" - "go.opentelemetry.io/otel/sdk/metric" - "go.opentelemetry.io/otel/sdk/resource" ) // Server contains the state of the main mtail program. @@ -73,6 +69,7 @@ func (m *Server) initRuntime() (err error) { // initExporter sets up an Exporter for this Server. func (m *Server) initExporter() (err error) { + m.eOpts = append(m.eOpts, exporter.Version(m.buildInfo.Version)) m.e, err = exporter.New(m.ctx, m.store, m.eOpts...) if err != nil { return err @@ -87,24 +84,6 @@ func (m *Server) initExporter() (err error) { }) m.reg.MustRegister(vc.NewCollector("mtail")) - otlpexp, err := otlpmetricgrpc.New(m.ctx) - if err != nil { - return err - } - res, err := resource.New(m.ctx, resource.WithProcess()) - otelMeterProvider := metric.NewMeterProvider( - metric.WithReader(metric.NewPeriodicReader( - otlpexp, - metric.WithProducer(m.e))), - metric.WithResource(res)) - otel.SetMeterProvider(otelMeterProvider) - - // Shut down the otel meter provider at exit - go func() { - <-m.ctx.Done() - otelMeterProvider.Shutdown(m.ctx) - }() - return nil } From 689cbf0759f7402de213e974e69a884e037e8243 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Apr 2025 23:31:13 +0000 Subject: [PATCH 106/381] build(deps): bump github.com/golang/glog from 1.2.4 to 1.2.5 Bumps [github.com/golang/glog](https://github.com/golang/glog) from 1.2.4 to 1.2.5. - [Release notes](https://github.com/golang/glog/releases) - [Commits](https://github.com/golang/glog/compare/v1.2.4...v1.2.5) --- updated-dependencies: - dependency-name: github.com/golang/glog dependency-version: 1.2.5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 12 ++---------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index 3eaa8d6df..7050ce46a 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ toolchain go1.24.2 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 github.com/bazelbuild/rules_go v0.54.0 - github.com/golang/glog v1.2.4 + github.com/golang/glog v1.2.5 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 diff --git a/go.sum b/go.sum index 463f17fa5..adcfd7414 100644 --- a/go.sum +++ b/go.sum @@ -55,8 +55,8 @@ github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ4 github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.2.4 h1:CNNw5U8lSiiBk7druxtSHHTsRWcxKoac6kZKm2peBBc= -github.com/golang/glog v1.2.4/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.5 h1:DrW6hGnjIhtvhOIiAKT6Psh/Kd/ldepEa81DKeiRJ5I= +github.com/golang/glog v1.2.5/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -221,8 +221,6 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -238,8 +236,6 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= -golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610= golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -269,8 +265,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.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.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -306,8 +300,6 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 8fd98e5b5e20ec07a2b6d8cad78d87cb83aac385 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 May 2025 00:05:16 +0000 Subject: [PATCH 107/381] build(deps): bump golang.org/x/sys from 0.32.0 to 0.33.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.32.0 to 0.33.0. - [Commits](https://github.com/golang/sys/compare/v0.32.0...v0.33.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-version: 0.33.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7050ce46a..9ac2d4ef3 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.35.0 go.opentelemetry.io/otel/sdk v1.35.0 go.opentelemetry.io/otel/sdk/metric v1.35.0 - golang.org/x/sys v0.32.0 + golang.org/x/sys v0.33.0 golang.org/x/tools v0.32.0 ) diff --git a/go.sum b/go.sum index adcfd7414..17292be01 100644 --- a/go.sum +++ b/go.sum @@ -258,8 +258,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= -golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From 82b4ff714ebcc56746c21b0dbb11d7b7f6b80c5c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 6 May 2025 23:51:59 +0000 Subject: [PATCH 108/381] chore(deps): update dependency aspect_bazel_lib to v2.16.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 35d1d1663..b0eb88ecc 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.15.3") +bazel_dep(name = "aspect_bazel_lib", version = "2.16.0") bazel_dep(name = "rules_oci", version = "2.2.6") bazel_dep(name = "platforms", version = "0.0.11") From e138ac5e45ba0c41f2cb23bd6d005d90b4c4e4d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 15 May 2025 23:29:12 +0000 Subject: [PATCH 109/381] build(deps): bump github.com/prometheus/common from 0.63.0 to 0.64.0 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.63.0 to 0.64.0. - [Release notes](https://github.com/prometheus/common/releases) - [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md) - [Commits](https://github.com/prometheus/common/compare/v0.63.0...v0.64.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-version: 0.64.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 12 ++++++------ go.sum | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/go.mod b/go.mod index 9ac2d4ef3..2038e1d05 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.22.0 - github.com/prometheus/common v0.63.0 + github.com/prometheus/common v0.64.0 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.35.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.35.0 @@ -32,19 +32,19 @@ require ( github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/client_model v0.6.2 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/otel/metric v1.35.0 // indirect go.opentelemetry.io/otel/trace v1.35.0 // indirect go.opentelemetry.io/proto/otlp v1.5.0 // indirect - golang.org/x/net v0.39.0 // indirect - golang.org/x/sync v0.13.0 // indirect - golang.org/x/text v0.24.0 // indirect + golang.org/x/net v0.40.0 // indirect + golang.org/x/sync v0.14.0 // indirect + golang.org/x/text v0.25.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a // indirect google.golang.org/grpc v1.71.0 // indirect - google.golang.org/protobuf v1.36.5 // indirect + google.golang.org/protobuf v1.36.6 // indirect ) diff --git a/go.sum b/go.sum index 17292be01..772b660ce 100644 --- a/go.sum +++ b/go.sum @@ -127,10 +127,10 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q= github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.63.0 h1:YR/EIY1o3mEFP/kZCD7iDMnLPlGyuU2Gb3HIcXnA98k= -github.com/prometheus/common v0.63.0/go.mod h1:VVFF/fBIoToEnWRVkYoXEkq3R3paCoxG9PXP74SnV18= +github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= +github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= +github.com/prometheus/common v0.64.0 h1:pdZeA+g617P7oGv1CzdTzyeShxAGrTBsolKNOLQPGO4= +github.com/prometheus/common v0.64.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -221,8 +221,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= -golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -236,8 +236,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610= -golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= +golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -265,8 +265,8 @@ 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.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.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= -golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -367,8 +367,8 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= -google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= +google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= From 5190d892ab452138ecf049c4fa2ce5948316025a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 15 May 2025 23:34:21 +0000 Subject: [PATCH 110/381] build(deps): bump golang.org/x/tools from 0.32.0 to 0.33.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.32.0 to 0.33.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.32.0...v0.33.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.33.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2038e1d05..08ac07e5a 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.35.0 go.opentelemetry.io/otel/sdk/metric v1.35.0 golang.org/x/sys v0.33.0 - golang.org/x/tools v0.32.0 + golang.org/x/tools v0.33.0 ) require ( diff --git a/go.sum b/go.sum index 772b660ce..e7ba4e069 100644 --- a/go.sum +++ b/go.sum @@ -300,8 +300,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= -golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= +golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc= +golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 8a814e1fba393be314cdd387b24e33314f24a1b2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 02:11:20 +0000 Subject: [PATCH 111/381] chore(deps): update distroless_base docker digest to cef75d1 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index b0eb88ecc..d0d3dda80 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "0.0.11") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:27769871031f67460f1545a52dfacead6d18a9f197db77110cfc649ca2a91f44", + digest = "sha256:cef75d12148305c54ef5769e6511a5ac3c820f39bf5c8a4fbfd5b76b4b8da843", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From c240ac64962e5ae90856f387b12b20f5024cc267 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 02:49:03 +0000 Subject: [PATCH 112/381] chore(deps): update dependency go to v1.24.3 --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 08ac07e5a..1bad47b70 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/jaqx0r/mtail go 1.23.0 -toolchain go1.24.2 +toolchain go1.24.3 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 From e40bdd6e35428102db748929fddd6766077c0a73 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 19 May 2025 20:13:07 +1000 Subject: [PATCH 113/381] ci: Remove manual codeql configs and revert to default. --- .github/workflows/codeql-analysis.yml | 71 --------------------- .github/workflows/codeql.yml | 92 --------------------------- 2 files changed, 163 deletions(-) delete mode 100644 .github/workflows/codeql-analysis.yml delete mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index 55cd60225..000000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,71 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" - -on: - push: - branches: [ main ] - pull_request: - # The branches below must be a subset of the branches above - branches: [ main ] - schedule: - - cron: '34 6 * * 3' - -permissions: - # https://github.com/github/codeql-action/issues/464 - security-events: write - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - language: [ 'go' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] - # Learn more: - # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v3 - - # â„šī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml deleted file mode 100644 index e769e0b7c..000000000 --- a/.github/workflows/codeql.yml +++ /dev/null @@ -1,92 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL Advanced" - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - schedule: - - cron: '36 11 * * 1' - -jobs: - analyze: - name: Analyze (${{ matrix.language }}) - # Runner size impacts CodeQL analysis time. To learn more, please see: - # - https://gh.io/recommended-hardware-resources-for-running-codeql - # - https://gh.io/supported-runners-and-hardware-resources - # - https://gh.io/using-larger-runners (GitHub.com only) - # Consider using larger runners or machines with greater resources for possible analysis time improvements. - runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} - permissions: - # required for all workflows - security-events: write - - # required to fetch internal or private CodeQL packs - packages: read - - # only required for workflows in private repositories - actions: read - contents: read - - strategy: - fail-fast: false - matrix: - include: - - language: go - build-mode: autobuild - # CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' - # Use `c-cpp` to analyze code written in C, C++ or both - # Use 'java-kotlin' to analyze code written in Java, Kotlin or both - # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both - # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis, - # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning. - # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how - # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - build-mode: ${{ matrix.build-mode }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - - # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality - - # If the analyze step fails for one of the languages you are analyzing with - # "We were unable to automatically build your code", modify the matrix above - # to set the build mode to "manual" for that language. Then modify this step - # to build your code. - # â„šī¸ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - if: matrix.build-mode == 'manual' - shell: bash - run: | - echo 'If you are using a "manual" build mode for one or more of the' \ - 'languages you are analyzing, replace this with the commands to build' \ - 'your code, for example:' - echo ' make bootstrap' - echo ' make release' - exit 1 - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: "/language:${{matrix.language}}" From 53a286ebbead6fca4d8f5b5c28c8ade7cc91569a Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 28 Apr 2025 17:06:37 +1000 Subject: [PATCH 114/381] build: Build `mtail` binaries for all supported platforms. `bazel build //cmd/mtail/...` --- cmd/mtail/BUILD.bazel | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/cmd/mtail/BUILD.bazel b/cmd/mtail/BUILD.bazel index e7a8233c7..29090e11f 100644 --- a/cmd/mtail/BUILD.bazel +++ b/cmd/mtail/BUILD.bazel @@ -1,4 +1,4 @@ -load("@rules_go//go:def.bzl", "go_binary", "go_library") +load("@rules_go//go:def.bzl", "go_binary", "go_cross_binary", "go_library") go_library( name = "mtail_lib", @@ -26,3 +26,22 @@ go_binary( "main.EmbedLabel": "{BUILD_EMBED_LABEL}", }, ) + +# Build an mtail binary for supported platforms. +[ + go_cross_binary( + name = "mtail_" + platform, + platform = "@rules_go//go/toolchain:" + platform, + target = ":mtail", + ) + for platform in [ + "linux_386", + "linux_amd64", + "linux_arm64", + "windows_386", + "windows_amd64", + "windows_arm64", + "darwin_amd64", + "darwin_arm64", + ] +] From 4b021e12ece62af97671f05daa104d0231081bd4 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 28 Apr 2025 17:15:52 +1000 Subject: [PATCH 115/381] build: Collect the cross-build binaries into a filegroup. This makes it easier to execute and find. --- cmd/mtail/BUILD.bazel | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/cmd/mtail/BUILD.bazel b/cmd/mtail/BUILD.bazel index 29090e11f..e4b62e5d2 100644 --- a/cmd/mtail/BUILD.bazel +++ b/cmd/mtail/BUILD.bazel @@ -28,20 +28,27 @@ go_binary( ) # Build an mtail binary for supported platforms. +PLATFORMS = [ + "linux_386", + "linux_amd64", + "linux_arm64", + "windows_386", + "windows_amd64", + "windows_arm64", + "darwin_amd64", + "darwin_arm64", +] + [ go_cross_binary( name = "mtail_" + platform, platform = "@rules_go//go/toolchain:" + platform, target = ":mtail", ) - for platform in [ - "linux_386", - "linux_amd64", - "linux_arm64", - "windows_386", - "windows_amd64", - "windows_arm64", - "darwin_amd64", - "darwin_arm64", - ] + for platform in PLATFORMS ] + +filegroup( + name = "cross_build", + srcs = [":mtail_" + platform for platform in PLATFORMS], +) From 583e8b3b0fa9eceb1f07893c9823971e49b0be78 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 30 Apr 2025 20:13:09 +1000 Subject: [PATCH 116/381] build: Move release artifacts to `/release`. --- BUILD.bazel | 9 +++++++++ MODULE.bazel | 3 +++ MODULE.bazel.lock | 12 +++++++++--- cmd/mtail/BUILD.bazel | 26 -------------------------- release/BUILD.bazel | 42 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 63 insertions(+), 29 deletions(-) create mode 100644 release/BUILD.bazel diff --git a/BUILD.bazel b/BUILD.bazel index 0e4e7bce8..d3f36524b 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -54,3 +54,12 @@ oci_load( image = ":oci_image", repo_tags = ["mtail:latest"], ) + +filegroup( + name = "docs", + srcs = [ + "LICENSE", + "README.md", + ], + visibility = ["//release:__pkg__"], +) diff --git a/MODULE.bazel b/MODULE.bazel index d0d3dda80..21f2d3d22 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -54,3 +54,6 @@ oci.pull( ], ) use_repo(oci, "distroless_base", "distroless_base_linux_amd64", "distroless_base_linux_arm64_v8") + +# `rules_pkg` for making releases +bazel_dep(name = "rules_pkg", version = "1.1.0") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 05691b944..499e51d81 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -66,6 +66,7 @@ "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", "https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d", "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", + "https://bcr.bazel.build/modules/protobuf/29.0-rc3/MODULE.bazel": "33c2dfa286578573afc55a7acaea3cada4122b9631007c594bf0729f41c8de92", "https://bcr.bazel.build/modules/protobuf/29.0/MODULE.bazel": "319dc8bf4c679ff87e71b1ccfb5a6e90a6dbc4693501d471f48662ac46d04e4e", "https://bcr.bazel.build/modules/protobuf/29.0/source.json": "b857f93c796750eef95f0d61ee378f3420d00ee1dd38627b27193aa482f4f981", "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", @@ -111,6 +112,8 @@ "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", "https://bcr.bazel.build/modules/rules_java/8.11.0/MODULE.bazel": "c3d280bc5ff1038dcb3bacb95d3f6b83da8dd27bba57820ec89ea4085da767ad", "https://bcr.bazel.build/modules/rules_java/8.11.0/source.json": "302b52a39259a85aa06ca3addb9787864ca3e03b432a5f964ea68244397e7544", + "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", + "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", @@ -129,7 +132,8 @@ "https://bcr.bazel.build/modules/rules_oci/2.2.6/source.json": "94e7decb8f95d9465b0bbea71c65064cd16083be1350c7468f131818641dc4a5", "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", "https://bcr.bazel.build/modules/rules_pkg/1.0.1/MODULE.bazel": "5b1df97dbc29623bccdf2b0dcd0f5cb08e2f2c9050aab1092fd39a41e82686ff", - "https://bcr.bazel.build/modules/rules_pkg/1.0.1/source.json": "bd82e5d7b9ce2d31e380dd9f50c111d678c3bdaca190cb76b0e1c71b05e1ba8a", + "https://bcr.bazel.build/modules/rules_pkg/1.1.0/MODULE.bazel": "9db8031e71b6ef32d1846106e10dd0ee2deac042bd9a2de22b4761b0c3036453", + "https://bcr.bazel.build/modules/rules_pkg/1.1.0/source.json": "fef768df13a92ce6067e1cd0cdc47560dace01354f1d921cfb1d632511f7d608", "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", "https://bcr.bazel.build/modules/rules_proto/6.0.0/MODULE.bazel": "b531d7f09f58dce456cd61b4579ce8c86b38544da75184eadaf0a7cb7966453f", @@ -143,7 +147,8 @@ "https://bcr.bazel.build/modules/rules_python/0.31.0/MODULE.bazel": "93a43dc47ee570e6ec9f5779b2e64c1476a6ce921c48cc9a1678a91dd5f8fd58", "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", "https://bcr.bazel.build/modules/rules_python/0.40.0/MODULE.bazel": "9d1a3cd88ed7d8e39583d9ffe56ae8a244f67783ae89b60caafc9f5cf318ada7", - "https://bcr.bazel.build/modules/rules_python/0.40.0/source.json": "939d4bd2e3110f27bfb360292986bb79fd8dcefb874358ccd6cdaa7bda029320", + "https://bcr.bazel.build/modules/rules_python/1.0.0/MODULE.bazel": "898a3d999c22caa585eb062b600f88654bf92efb204fa346fb55f6f8edffca43", + "https://bcr.bazel.build/modules/rules_python/1.0.0/source.json": "b0162a65c6312e45e7912e39abd1a7f8856c2c7e41ecc9b6dc688a6f6400a917", "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", "https://bcr.bazel.build/modules/rules_shell/0.3.0/MODULE.bazel": "de4402cd12f4cc8fda2354fce179fdb068c0b9ca1ec2d2b17b3e21b24c1a937b", "https://bcr.bazel.build/modules/rules_shell/0.3.0/source.json": "c55ed591aa5009401ddf80ded9762ac32c358d2517ee7820be981e2de9756cf3", @@ -154,7 +159,8 @@ "https://bcr.bazel.build/modules/stardoc/0.6.2/MODULE.bazel": "7060193196395f5dd668eda046ccbeacebfd98efc77fed418dbe2b82ffaa39fd", "https://bcr.bazel.build/modules/stardoc/0.7.0/MODULE.bazel": "05e3d6d30c099b6770e97da986c53bd31844d7f13d41412480ea265ac9e8079c", "https://bcr.bazel.build/modules/stardoc/0.7.1/MODULE.bazel": "3548faea4ee5dda5580f9af150e79d0f6aea934fc60c1cc50f4efdd9420759e7", - "https://bcr.bazel.build/modules/stardoc/0.7.1/source.json": "b6500ffcd7b48cd72c29bb67bcac781e12701cc0d6d55d266a652583cfcdab01", + "https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5", + "https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216", "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", "https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", diff --git a/cmd/mtail/BUILD.bazel b/cmd/mtail/BUILD.bazel index e4b62e5d2..e69c5dfec 100644 --- a/cmd/mtail/BUILD.bazel +++ b/cmd/mtail/BUILD.bazel @@ -26,29 +26,3 @@ go_binary( "main.EmbedLabel": "{BUILD_EMBED_LABEL}", }, ) - -# Build an mtail binary for supported platforms. -PLATFORMS = [ - "linux_386", - "linux_amd64", - "linux_arm64", - "windows_386", - "windows_amd64", - "windows_arm64", - "darwin_amd64", - "darwin_arm64", -] - -[ - go_cross_binary( - name = "mtail_" + platform, - platform = "@rules_go//go/toolchain:" + platform, - target = ":mtail", - ) - for platform in PLATFORMS -] - -filegroup( - name = "cross_build", - srcs = [":mtail_" + platform for platform in PLATFORMS], -) diff --git a/release/BUILD.bazel b/release/BUILD.bazel new file mode 100644 index 000000000..c754e94ad --- /dev/null +++ b/release/BUILD.bazel @@ -0,0 +1,42 @@ +load("@rules_go//go:def.bzl", "go_cross_binary") +load("@rules_pkg//pkg:tar.bzl", "pkg_tar") + +# Build an mtail binary for supported platforms. +PLATFORMS = [ + "linux_386", + "linux_amd64", + "linux_arm64", + "windows_386", + "windows_amd64", + "windows_arm64", + "darwin_amd64", + "darwin_arm64", +] + +[ + go_cross_binary( + name = "mtail_" + platform, + platform = "@rules_go//go/toolchain:" + platform, + target = "//cmd/mtail", + ) + for platform in PLATFORMS +] + +filegroup( + name = "cross_build", + srcs = [":mtail_" + platform for platform in PLATFORMS], +) + +[ + pkg_tar( + name = "tarball_" + platform, + srcs = [ + ":mtail_" + platform, + "//:docs", + ], + out = "mtail_" + platform + ".tar.gz", + extension = "tar.gz", + stamp = -1, + ) + for platform in PLATFORMS +] From 8f31aa5896dcff279706519f4a1a48751c176e72 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 15 May 2025 20:18:13 +1000 Subject: [PATCH 117/381] build: Create a multi-arch OCI image. --- BUILD.bazel | 27 ++++++++++++++++++++++++++- MODULE.bazel.lock | 6 +++--- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index d3f36524b..12d0acf41 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -2,7 +2,7 @@ load("@aspect_bazel_lib//lib:tar.bzl", "mtree_mutate", "mtree_spec", "tar") load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_filegroup") load("@gazelle//:def.bzl", "gazelle") load("@rules_go//go:def.bzl", "nogo") -load("@rules_oci//oci:defs.bzl", "oci_image", "oci_load", "oci_push") +load("@rules_oci//oci:defs.bzl", "oci_image", "oci_image_index", "oci_load", "oci_push") # gazelle:prefix github.com/jaqx0r/mtail gazelle(name = "gazelle") @@ -49,6 +49,31 @@ oci_image( visibility = ["//visibility:public"], ) +platform( + name = "linux_amd64", + constraint_values = [ + "@platforms//os:linux", + "@platforms//cpu:x86_64", + ], +) + +platform( + name = "linux_arm64v8", + constraint_values = [ + "@platforms//os:linux", + "@platforms//cpu:aarch64", + ], +) + +oci_image_index( + name = "multi_image", + images = [":oci_image"], + platforms = [ + ":linux_amd64", + ":linux_arm64v8", + ], +) + oci_load( name = "load_image", image = ":oci_image", diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 499e51d81..8930d5fc5 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -10,8 +10,8 @@ "https://bcr.bazel.build/modules/abseil-cpp/20230802.1/MODULE.bazel": "fa92e2eb41a04df73cdabeec37107316f7e5272650f81d6cc096418fe647b915", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.15.3/MODULE.bazel": "c2940c50bb0a57edcc4339fe59cf00f0dbdefe1404b40f820ce97562df8fbdde", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.15.3/source.json": "4bf591ea07df41bbdfcec94e86e2a656a2c20553736dc4e9b8858b186347e2c9", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.16.0/MODULE.bazel": "852f9ebbda017572a7c113a2434592dd3b2f55cd9a0faea3d4be5a09a59e4900", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.16.0/source.json": "87ffed720a2ba7cfe209d9ccc1be59e21ec3d434124ec126ab90e5913e9cb13b", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.2/MODULE.bazel": "780d1a6522b28f5edb7ea09630748720721dfe27690d65a2d33aa7509de77e07", "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd", @@ -236,7 +236,7 @@ }, "@@rules_oci+//oci:extensions.bzl%oci": { "general": { - "bzlTransitiveDigest": "k571LUWYDKcUXkjL1xsFtUyXbWobEhtJzqAAw919IIk=", + "bzlTransitiveDigest": "mVJAKphKO42e5mXpOfxJ+NDzs4m8itp1srYY5drhI6o=", "usagesDigest": "xawQJ9me2bCOm4HadLO6KUXfLI5Zp40G7uxMtPEF838=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, From 6cbe41c6f92d689fea3d6014c72ec574167b72d1 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 15 May 2025 20:20:56 +1000 Subject: [PATCH 118/381] build: Move the image build to `release/` --- BUILD.bazel | 70 --------------------------------------------- release/BUILD.bazel | 70 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 70 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index 12d0acf41..c3eb0ecab 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,8 +1,5 @@ -load("@aspect_bazel_lib//lib:tar.bzl", "mtree_mutate", "mtree_spec", "tar") -load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_filegroup") load("@gazelle//:def.bzl", "gazelle") load("@rules_go//go:def.bzl", "nogo") -load("@rules_oci//oci:defs.bzl", "oci_image", "oci_image_index", "oci_load", "oci_push") # gazelle:prefix github.com/jaqx0r/mtail gazelle(name = "gazelle") @@ -13,73 +10,6 @@ nogo( visibility = ["//visibility:public"], ) -tar( - name = "mtail_layer", - srcs = ["//cmd/mtail"], -) - -platform_transition_filegroup( - name = "transitioned_layer", - srcs = [":mtail_layer"], - target_platform = select({ - "@platforms//cpu:arm64": "@rules_go//go/toolchain:linux_arm64", - "@platforms//cpu:x86_64": "@rules_go//go/toolchain:linux_amd64", - }), -) - -oci_image( - name = "oci_image", - base = "@distroless_base", - entrypoint = ["cmd/mtail/mtail_/mtail"], - exposed_ports = ["3903/tcp"], - labels = { - "org.opencontainers.image.ref.name": "jaqx0r/mtail", - "org.opencontainers.image.title": "mtail", - "org.opencontainers.image.description": "extract internal monitoring data from application logs for collection in a timeseries database", - "org.opencontainers.image.authors": "Jamie Wilkinson (@jaqx0r)", - "org.opencontainers.image.licenses": "Apache-2.0", - #"org.opencontainers.image.version": "$version", - #"org.opencontainers.image.revision": "$commit_hash", - #"org.opencontainers.image.source": "$vcs_url", - "org.opencontainers.image.documentation": "https://jaqx0r.github.io/mtail/", - #"org.opencontainers.image.created": "$build_date", - "org.opencontainers.image.url": "https://github.com/jaqx0r/mtail", - }, - tars = [":mtail_layer"], - visibility = ["//visibility:public"], -) - -platform( - name = "linux_amd64", - constraint_values = [ - "@platforms//os:linux", - "@platforms//cpu:x86_64", - ], -) - -platform( - name = "linux_arm64v8", - constraint_values = [ - "@platforms//os:linux", - "@platforms//cpu:aarch64", - ], -) - -oci_image_index( - name = "multi_image", - images = [":oci_image"], - platforms = [ - ":linux_amd64", - ":linux_arm64v8", - ], -) - -oci_load( - name = "load_image", - image = ":oci_image", - repo_tags = ["mtail:latest"], -) - filegroup( name = "docs", srcs = [ diff --git a/release/BUILD.bazel b/release/BUILD.bazel index c754e94ad..d5ae56437 100644 --- a/release/BUILD.bazel +++ b/release/BUILD.bazel @@ -1,4 +1,7 @@ +load("@aspect_bazel_lib//lib:tar.bzl", "mtree_mutate", "mtree_spec", "tar") +load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_filegroup") load("@rules_go//go:def.bzl", "go_cross_binary") +load("@rules_oci//oci:defs.bzl", "oci_image", "oci_image_index", "oci_load", "oci_push") load("@rules_pkg//pkg:tar.bzl", "pkg_tar") # Build an mtail binary for supported platforms. @@ -40,3 +43,70 @@ filegroup( ) for platform in PLATFORMS ] + +tar( + name = "mtail_layer", + srcs = ["//cmd/mtail"], +) + +platform_transition_filegroup( + name = "transitioned_layer", + srcs = [":mtail_layer"], + target_platform = select({ + "@platforms//cpu:arm64": "@rules_go//go/toolchain:linux_arm64", + "@platforms//cpu:x86_64": "@rules_go//go/toolchain:linux_amd64", + }), +) + +oci_image( + name = "oci_image", + base = "@distroless_base", + entrypoint = ["cmd/mtail/mtail_/mtail"], + exposed_ports = ["3903/tcp"], + labels = { + "org.opencontainers.image.ref.name": "jaqx0r/mtail", + "org.opencontainers.image.title": "mtail", + "org.opencontainers.image.description": "extract internal monitoring data from application logs for collection in a timeseries database", + "org.opencontainers.image.authors": "Jamie Wilkinson (@jaqx0r)", + "org.opencontainers.image.licenses": "Apache-2.0", + #"org.opencontainers.image.version": "$version", + #"org.opencontainers.image.revision": "$commit_hash", + #"org.opencontainers.image.source": "$vcs_url", + "org.opencontainers.image.documentation": "https://jaqx0r.github.io/mtail/", + #"org.opencontainers.image.created": "$build_date", + "org.opencontainers.image.url": "https://github.com/jaqx0r/mtail", + }, + tars = [":mtail_layer"], + visibility = ["//visibility:public"], +) + +platform( + name = "linux_amd64", + constraint_values = [ + "@platforms//os:linux", + "@platforms//cpu:x86_64", + ], +) + +platform( + name = "linux_arm64v8", + constraint_values = [ + "@platforms//os:linux", + "@platforms//cpu:aarch64", + ], +) + +oci_image_index( + name = "multi_image", + images = [":oci_image"], + platforms = [ + ":linux_amd64", + ":linux_arm64v8", + ], +) + +oci_load( + name = "load_image", + image = ":oci_image", + repo_tags = ["mtail:latest"], +) From a16eecd8212c9ff3811cf5760688a414a2d2b429 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Fri, 16 May 2025 08:17:36 +1000 Subject: [PATCH 119/381] build: Add workspace status variables to the OCI image labels. Adds a build timestamp in ISO-8601 format to the volatiles. Adds a semantic-version constructed from the git tag. --- MODULE.bazel.lock | 8 +++---- build/workspace_status.sh | 7 ++++++ release/BUILD.bazel | 50 +++++++++++++++++++++++++++++---------- 3 files changed, 48 insertions(+), 17 deletions(-) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 8930d5fc5..ff6c08ddb 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -237,7 +237,7 @@ "@@rules_oci+//oci:extensions.bzl%oci": { "general": { "bzlTransitiveDigest": "mVJAKphKO42e5mXpOfxJ+NDzs4m8itp1srYY5drhI6o=", - "usagesDigest": "xawQJ9me2bCOm4HadLO6KUXfLI5Zp40G7uxMtPEF838=", + "usagesDigest": "5vcJ3ZRcX2QDw/jnXBkVx+5HiVKa5UjvGeYw4sQNu8I=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -249,7 +249,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:27769871031f67460f1545a52dfacead6d18a9f197db77110cfc649ca2a91f44", + "identifier": "sha256:cef75d12148305c54ef5769e6511a5ac3c820f39bf5c8a4fbfd5b76b4b8da843", "platform": "linux/amd64", "target_name": "distroless_base_linux_amd64", "bazel_tags": [] @@ -262,7 +262,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:27769871031f67460f1545a52dfacead6d18a9f197db77110cfc649ca2a91f44", + "identifier": "sha256:cef75d12148305c54ef5769e6511a5ac3c820f39bf5c8a4fbfd5b76b4b8da843", "platform": "linux/arm64/v8", "target_name": "distroless_base_linux_arm64_v8", "bazel_tags": [] @@ -276,7 +276,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:27769871031f67460f1545a52dfacead6d18a9f197db77110cfc649ca2a91f44", + "identifier": "sha256:cef75d12148305c54ef5769e6511a5ac3c820f39bf5c8a4fbfd5b76b4b8da843", "platforms": { "@@platforms//cpu:x86_64": "@distroless_base_linux_amd64", "@@platforms//cpu:arm64": "@distroless_base_linux_arm64_v8" diff --git a/build/workspace_status.sh b/build/workspace_status.sh index 198bc0354..e18352e4c 100755 --- a/build/workspace_status.sh +++ b/build/workspace_status.sh @@ -3,3 +3,10 @@ echo STABLE_GIT_BRANCH $(git --no-pager rev-parse --abbrev-ref HEAD) echo STABLE_GIT_VERSION $(git --no-pager describe --tags --always --dirty) echo STABLE_GIT_REVISION $(git --no-pager rev-parse HEAD) + +# Convert a version + commit count into a SemVer. +echo STABLE_GIT_SEMVER $(git --no-pager describe --tags | sed -e 's/^v//' -e 's/-/./' -e 's/-.*$//') + +# volatiles +# RFC 3339 ISO 8601 format for the OCI image. +echo BUILD_TIMESTAMP_ISO8601 $(date --iso-8601=seconds --utc | sed -e 's/+00:00/Z/') diff --git a/release/BUILD.bazel b/release/BUILD.bazel index d5ae56437..367cac68f 100644 --- a/release/BUILD.bazel +++ b/release/BUILD.bazel @@ -1,3 +1,4 @@ +load("@aspect_bazel_lib//lib:expand_template.bzl", "expand_template") load("@aspect_bazel_lib//lib:tar.bzl", "mtree_mutate", "mtree_spec", "tar") load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_filegroup") load("@rules_go//go:def.bzl", "go_cross_binary") @@ -58,24 +59,47 @@ platform_transition_filegroup( }), ) +_TIMESTAMP_STRING = "2006-01-02T15:04:05Z" + +expand_template( + name = "labels", + out = "labels.txt", + stamp_substitutions = { + "0.0.0": "{{STABLE_GIT_SEMVER}}", + "deadbeef": "{{STABLE_GIT_REVISION}}", + _TIMESTAMP_STRING: "{{BUILD_TIMESTAMP}}", + }, + template = [ + "org.opencontainers.image.ref.name=jaqx0r/mtail", + "org.opencontainers.image.title=mtail", + "org.opencontainers.image.description=extract internal monitoring data from application logs for collection in a timeseries database", + "org.opencontainers.image.authors=Jamie Wilkinson (@jaqx0r)", + "org.opencontainers.image.licenses=Apache-2.0", + "org.opencontainers.image.version=0.0.0", + "org.opencontainers.image.revision=deadbeef", + "org.opencontainers.image.source=https://github.com/jaqx0r/mtail/", + "org.opencontainers.image.documentation=https://jaqx0r.github.io/mtail/", + "org.opencontainers.image.created=" + _TIMESTAMP_STRING, + "org.opencontainers.image.url=https://github.com/jaqx0r/mtail", + ], +) + +expand_template( + name = "timestamp", + out = "timestamp.txt", + stamp_substitutions = { + _TIMESTAMP_STRING: "{{BUILD_TIMESTAMP_ISO8601}}", + }, + template = [_TIMESTAMP_STRING], +) + oci_image( name = "oci_image", base = "@distroless_base", + created = ":timestamp", entrypoint = ["cmd/mtail/mtail_/mtail"], exposed_ports = ["3903/tcp"], - labels = { - "org.opencontainers.image.ref.name": "jaqx0r/mtail", - "org.opencontainers.image.title": "mtail", - "org.opencontainers.image.description": "extract internal monitoring data from application logs for collection in a timeseries database", - "org.opencontainers.image.authors": "Jamie Wilkinson (@jaqx0r)", - "org.opencontainers.image.licenses": "Apache-2.0", - #"org.opencontainers.image.version": "$version", - #"org.opencontainers.image.revision": "$commit_hash", - #"org.opencontainers.image.source": "$vcs_url", - "org.opencontainers.image.documentation": "https://jaqx0r.github.io/mtail/", - #"org.opencontainers.image.created": "$build_date", - "org.opencontainers.image.url": "https://github.com/jaqx0r/mtail", - }, + labels = ":labels", tars = [":mtail_layer"], visibility = ["//visibility:public"], ) From 5e5b75ba809b5e37d07064eff795163caa3c289c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 20 May 2025 21:59:56 +0000 Subject: [PATCH 120/381] chore(deps): update dependency rules_go to v0.54.1 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 21f2d3d22..426fab788 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -3,7 +3,7 @@ module( version = "3", ) -bazel_dep(name = "rules_go", version = "0.54.0") +bazel_dep(name = "rules_go", version = "0.54.1") go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") go_sdk.from_file(go_mod = "//:go.mod") From 934395a2b2c4c1f5adb31ca543abde2b10970a21 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 20 May 2025 22:47:25 +0000 Subject: [PATCH 121/381] fix(deps): update module github.com/bazelbuild/rules_go to v0.54.1 --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 1bad47b70..5132fe227 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.3 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 - github.com/bazelbuild/rules_go v0.54.0 + github.com/bazelbuild/rules_go v0.54.1 github.com/golang/glog v1.2.5 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 diff --git a/go.sum b/go.sum index e7ba4e069..b54e3fcbf 100644 --- a/go.sum +++ b/go.sum @@ -27,6 +27,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/bazelbuild/rules_go v0.54.0 h1:D9aCU7j5rdRxg2rXOZX5zHZ395XC0KbgC4rnyaQ3ofM= github.com/bazelbuild/rules_go v0.54.0/go.mod h1:T90Gpyq4HDFlsrvtQa2CBdHNJ2P4rAu/uUTmQbanzf0= +github.com/bazelbuild/rules_go v0.54.1 h1:A12Q//Zw0qIA/oemDiXHdqJCWE5ea2JtZNLSdf0C3yE= +github.com/bazelbuild/rules_go v0.54.1/go.mod h1:T90Gpyq4HDFlsrvtQa2CBdHNJ2P4rAu/uUTmQbanzf0= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= From c484c67b10030137a7189b655604afaabf5c2eec Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 21 May 2025 13:57:25 +0000 Subject: [PATCH 122/381] fix(deps): update opentelemetry-go monorepo to v1.36.0 --- go.mod | 23 ++++++++++++----------- go.sum | 24 ++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index 5132fe227..3fee0461c 100644 --- a/go.mod +++ b/go.mod @@ -14,10 +14,10 @@ require ( github.com/prometheus/client_golang v1.22.0 github.com/prometheus/common v0.64.0 go.opencensus.io v0.24.0 - go.opentelemetry.io/otel v1.35.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.35.0 - go.opentelemetry.io/otel/sdk v1.35.0 - go.opentelemetry.io/otel/sdk/metric v1.35.0 + go.opentelemetry.io/otel v1.36.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0 + go.opentelemetry.io/otel/sdk v1.36.0 + go.opentelemetry.io/otel/sdk/metric v1.36.0 golang.org/x/sys v0.33.0 golang.org/x/tools v0.33.0 ) @@ -25,26 +25,27 @@ require ( require ( github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect + github.com/cenkalti/backoff/v5 v5.0.2 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/prometheus/client_model v0.6.2 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/otel/metric v1.35.0 // indirect - go.opentelemetry.io/otel/trace v1.35.0 // indirect - go.opentelemetry.io/proto/otlp v1.5.0 // indirect + go.opentelemetry.io/otel/metric v1.36.0 // indirect + go.opentelemetry.io/otel/trace v1.36.0 // indirect + go.opentelemetry.io/proto/otlp v1.6.0 // indirect golang.org/x/net v0.40.0 // indirect golang.org/x/sync v0.14.0 // indirect golang.org/x/text v0.25.0 // indirect google.golang.org/api v0.105.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a // indirect - google.golang.org/grpc v1.71.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 // indirect + google.golang.org/grpc v1.72.1 // indirect google.golang.org/protobuf v1.36.6 // indirect ) diff --git a/go.sum b/go.sum index b54e3fcbf..d246d1aa2 100644 --- a/go.sum +++ b/go.sum @@ -33,6 +33,8 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/cenkalti/backoff/v5 v5.0.2 h1:rIfFVxEf1QsI7E1ZHfp/B4DF/6QBAUhmgkxc0H7Zss8= +github.com/cenkalti/backoff/v5 v5.0.2/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -107,6 +109,8 @@ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 h1:e9Rjr40Z98/clHv5Yg79Is0NtosR5LXRvdr7o/6NwbA= github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1/go.mod h1:tIxuGz/9mpox++sgp9fJjHO0+q1X9/UOWd798aAm22M= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -159,18 +163,32 @@ go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJyS go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= +go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg= +go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.35.0 h1:QcFwRrZLc82r8wODjvyCbP7Ifp3UANaBSmhDSFjnqSc= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.35.0/go.mod h1:CXIWhUomyWBG/oY2/r/kLp6K/cmx9e/7DLpBuuGdLCA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0 h1:zwdo1gS2eH26Rg+CoqVQpEK1h8gvt5qyU5Kk5Bixvow= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0/go.mod h1:rUKCPscaRWWcqGT6HnEmYrK+YNe5+Sw64xgQTOJ5b30= go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M= go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE= +go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE= +go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs= go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY= go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg= +go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs= +go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY= go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5JpUCaEqEI9o= go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w= +go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis= +go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4= go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= +go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w= +go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA= go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= +go.opentelemetry.io/proto/otlp v1.6.0 h1:jQjP+AQyTf+Fe7OKj/MfkDrmK4MNVtw2NpXsf9fefDI= +go.opentelemetry.io/proto/otlp v1.6.0/go.mod h1:cicgGehlFuNdgZkcALOCh3VE6K/u2tAjzlRhDwmVpZc= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -346,8 +364,12 @@ google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a h1:nwKuGPlUAt+aR+pcrkfFRrTU1BVrSmYyYMxYbUIVHr0= google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a/go.mod h1:3kWAYMk1I75K4vykHtKt2ycnOgpA6974V7bREqbsenU= +google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 h1:Kog3KlB4xevJlAcbbbzPfRG0+X9fdoGM+UBRKVz6Wr0= +google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237/go.mod h1:ezi0AVyMKDWy5xAncvjLWH7UcLBB5n7y2fQ8MzjJcto= google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a h1:51aaUVRocpvUOSQKM6Q7VuoaktNIaMCLuhZB6DKksq4= google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a/go.mod h1:uRxBH1mhmO8PGhU89cMcHaXKZqO+OfakD8QQO0oYwlQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 h1:cJfm9zPbe1e873mHJzmQ1nwVEeRDU/T1wXDK2kUSU34= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -360,6 +382,8 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg= google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= +google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA= +google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= 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-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= From c4c2d3d78b095b83c18f3107966242b362b98924 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 22 May 2025 05:56:05 +1000 Subject: [PATCH 123/381] ci: Fix permissions in tag-new-release. --- .github/workflows/tag-new-release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/tag-new-release.yml b/.github/workflows/tag-new-release.yml index b78a5b161..24ccf41b6 100644 --- a/.github/workflows/tag-new-release.yml +++ b/.github/workflows/tag-new-release.yml @@ -10,6 +10,8 @@ on: jobs: tag: runs-on: ubuntu-latest + permissions: + contents: write steps: - uses: actions/checkout@v4 - uses: mathieudutour/github-tag-action@v6.2 From e655b3aaa4083438b56685a4e34f7d8a80fb5110 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 20:10:18 +0000 Subject: [PATCH 124/381] chore(deps): update bazel-contrib/setup-bazel action to v0.15.0 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fb707272c..dc88f91cb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: checks: write steps: - uses: actions/checkout@v4 - - uses: bazel-contrib/setup-bazel@0.14.0 + - uses: bazel-contrib/setup-bazel@0.15.0 with: # Avoid downloading Bazel each time bazelisk-cache: true From 6ab4c4777e7303ba347dc41896d3eedc625ff696 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 27 May 2025 21:24:05 +0000 Subject: [PATCH 125/381] chore(deps): update dependency platforms to v1 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 426fab788..dad879789 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -41,7 +41,7 @@ use_repo( # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. bazel_dep(name = "aspect_bazel_lib", version = "2.16.0") bazel_dep(name = "rules_oci", version = "2.2.6") -bazel_dep(name = "platforms", version = "0.0.11") +bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( From 5f2dfc65e97d7210225d2b7c05009c22c837f29e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 05:50:54 +0000 Subject: [PATCH 126/381] chore(deps): update dependency aspect_bazel_lib to v2.17.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index dad879789..1747e3c25 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.16.0") +bazel_dep(name = "aspect_bazel_lib", version = "2.17.0") bazel_dep(name = "rules_oci", version = "2.2.6") bazel_dep(name = "platforms", version = "1.0.0") From 6b52285a67fa468578619ac8d2ffbd2f209d1f5e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 21:53:34 +0000 Subject: [PATCH 127/381] chore(deps): update dependency aspect_bazel_lib to v2.17.1 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 1747e3c25..8a71cbe9a 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.17.0") +bazel_dep(name = "aspect_bazel_lib", version = "2.17.1") bazel_dep(name = "rules_oci", version = "2.2.6") bazel_dep(name = "platforms", version = "1.0.0") From e4c2f5f9b3f0df58c9b44c7ec02e783f44d93be3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Jun 2025 22:29:41 +0000 Subject: [PATCH 128/381] chore(deps): update dependency rules_go to v0.55.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 8a71cbe9a..4f95f7533 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -3,7 +3,7 @@ module( version = "3", ) -bazel_dep(name = "rules_go", version = "0.54.1") +bazel_dep(name = "rules_go", version = "0.55.0") go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") go_sdk.from_file(go_mod = "//:go.mod") From c22a5cb6368715934b635ef224ae63a6c4ddb1fb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Jun 2025 23:15:27 +0000 Subject: [PATCH 129/381] build(deps): bump github.com/bazelbuild/rules_go from 0.54.1 to 0.55.0 Bumps [github.com/bazelbuild/rules_go](https://github.com/bazelbuild/rules_go) from 0.54.1 to 0.55.0. - [Release notes](https://github.com/bazelbuild/rules_go/releases) - [Commits](https://github.com/bazelbuild/rules_go/compare/v0.54.1...v0.55.0) --- updated-dependencies: - dependency-name: github.com/bazelbuild/rules_go dependency-version: 0.55.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 3 +-- go.sum | 30 ++---------------------------- 2 files changed, 3 insertions(+), 30 deletions(-) diff --git a/go.mod b/go.mod index 3fee0461c..cc81ed31f 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.3 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 - github.com/bazelbuild/rules_go v0.54.1 + github.com/bazelbuild/rules_go v0.55.0 github.com/golang/glog v1.2.5 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 @@ -24,7 +24,6 @@ require ( require ( github.com/beorn7/perks v1.0.1 // indirect - github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cenkalti/backoff/v5 v5.0.2 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/go-logr/logr v1.4.2 // indirect diff --git a/go.sum b/go.sum index d246d1aa2..7d74bcc9b 100644 --- a/go.sum +++ b/go.sum @@ -25,14 +25,10 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXV 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/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/bazelbuild/rules_go v0.54.0 h1:D9aCU7j5rdRxg2rXOZX5zHZ395XC0KbgC4rnyaQ3ofM= -github.com/bazelbuild/rules_go v0.54.0/go.mod h1:T90Gpyq4HDFlsrvtQa2CBdHNJ2P4rAu/uUTmQbanzf0= -github.com/bazelbuild/rules_go v0.54.1 h1:A12Q//Zw0qIA/oemDiXHdqJCWE5ea2JtZNLSdf0C3yE= -github.com/bazelbuild/rules_go v0.54.1/go.mod h1:T90Gpyq4HDFlsrvtQa2CBdHNJ2P4rAu/uUTmQbanzf0= +github.com/bazelbuild/rules_go v0.55.0 h1:S8X/b/Oygw/Dtv7NuyW7ht0QwdynMEdXQqYigX5A1KY= +github.com/bazelbuild/rules_go v0.55.0/go.mod h1:T90Gpyq4HDFlsrvtQa2CBdHNJ2P4rAu/uUTmQbanzf0= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= -github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cenkalti/backoff/v5 v5.0.2 h1:rIfFVxEf1QsI7E1ZHfp/B4DF/6QBAUhmgkxc0H7Zss8= github.com/cenkalti/backoff/v5 v5.0.2/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -107,8 +103,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.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.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 h1:e9Rjr40Z98/clHv5Yg79Is0NtosR5LXRvdr7o/6NwbA= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1/go.mod h1:tIxuGz/9mpox++sgp9fJjHO0+q1X9/UOWd798aAm22M= github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo= github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -161,32 +155,18 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= -go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg= go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.35.0 h1:QcFwRrZLc82r8wODjvyCbP7Ifp3UANaBSmhDSFjnqSc= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.35.0/go.mod h1:CXIWhUomyWBG/oY2/r/kLp6K/cmx9e/7DLpBuuGdLCA= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0 h1:zwdo1gS2eH26Rg+CoqVQpEK1h8gvt5qyU5Kk5Bixvow= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0/go.mod h1:rUKCPscaRWWcqGT6HnEmYrK+YNe5+Sw64xgQTOJ5b30= -go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M= -go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE= go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE= go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs= -go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY= -go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg= go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs= go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY= -go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5JpUCaEqEI9o= -go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w= go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis= go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4= -go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= -go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w= go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA= -go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= -go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= go.opentelemetry.io/proto/otlp v1.6.0 h1:jQjP+AQyTf+Fe7OKj/MfkDrmK4MNVtw2NpXsf9fefDI= go.opentelemetry.io/proto/otlp v1.6.0/go.mod h1:cicgGehlFuNdgZkcALOCh3VE6K/u2tAjzlRhDwmVpZc= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -362,12 +342,8 @@ google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a h1:nwKuGPlUAt+aR+pcrkfFRrTU1BVrSmYyYMxYbUIVHr0= -google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a/go.mod h1:3kWAYMk1I75K4vykHtKt2ycnOgpA6974V7bREqbsenU= google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 h1:Kog3KlB4xevJlAcbbbzPfRG0+X9fdoGM+UBRKVz6Wr0= google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237/go.mod h1:ezi0AVyMKDWy5xAncvjLWH7UcLBB5n7y2fQ8MzjJcto= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a h1:51aaUVRocpvUOSQKM6Q7VuoaktNIaMCLuhZB6DKksq4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a/go.mod h1:uRxBH1mhmO8PGhU89cMcHaXKZqO+OfakD8QQO0oYwlQ= google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 h1:cJfm9zPbe1e873mHJzmQ1nwVEeRDU/T1wXDK2kUSU34= google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -380,8 +356,6 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg= -google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA= google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= From 73ecd2c45498f79e6a91bbaa239f53d65e500835 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 6 Jun 2025 21:26:54 +0000 Subject: [PATCH 130/381] chore(deps): update dependency go to v1.24.4 --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index cc81ed31f..efe987d1b 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/jaqx0r/mtail go 1.23.0 -toolchain go1.24.3 +toolchain go1.24.4 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 From 48d6462fcaeab4062677c17fd9093871246733d8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Jun 2025 23:30:18 +0000 Subject: [PATCH 131/381] build(deps): bump golang.org/x/tools from 0.33.0 to 0.34.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.33.0 to 0.34.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.33.0...v0.34.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.34.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index cc81ed31f..fcc3bcb31 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.36.0 go.opentelemetry.io/otel/sdk/metric v1.36.0 golang.org/x/sys v0.33.0 - golang.org/x/tools v0.33.0 + golang.org/x/tools v0.34.0 ) require ( @@ -39,9 +39,9 @@ require ( go.opentelemetry.io/otel/metric v1.36.0 // indirect go.opentelemetry.io/otel/trace v1.36.0 // indirect go.opentelemetry.io/proto/otlp v1.6.0 // indirect - golang.org/x/net v0.40.0 // indirect - golang.org/x/sync v0.14.0 // indirect - golang.org/x/text v0.25.0 // indirect + golang.org/x/net v0.41.0 // indirect + golang.org/x/sync v0.15.0 // indirect + golang.org/x/text v0.26.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 // indirect diff --git a/go.sum b/go.sum index 7d74bcc9b..f1a2fd780 100644 --- a/go.sum +++ b/go.sum @@ -221,8 +221,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= -golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw= +golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -236,8 +236,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= -golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8= +golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -265,8 +265,8 @@ 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.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.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= -golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= +golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M= +golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -300,8 +300,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc= -golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= +golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From c88d356fcba23ed6ee597fc93da2b762d3f8ea82 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 18:39:52 +0000 Subject: [PATCH 132/381] chore(deps): update dependency aspect_bazel_lib to v2.19.1 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 4f95f7533..b27cf49de 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.17.1") +bazel_dep(name = "aspect_bazel_lib", version = "2.19.1") bazel_dep(name = "rules_oci", version = "2.2.6") bazel_dep(name = "platforms", version = "1.0.0") From c40bf3f1dcbecd60d187faffccac67fa762fa4b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 23:04:36 +0000 Subject: [PATCH 133/381] build(deps): bump github.com/bazelbuild/rules_go from 0.55.0 to 0.55.1 Bumps [github.com/bazelbuild/rules_go](https://github.com/bazelbuild/rules_go) from 0.55.0 to 0.55.1. - [Release notes](https://github.com/bazelbuild/rules_go/releases) - [Commits](https://github.com/bazelbuild/rules_go/compare/v0.55.0...v0.55.1) --- updated-dependencies: - dependency-name: github.com/bazelbuild/rules_go dependency-version: 0.55.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fcc3bcb31..3c2cd2a7e 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.3 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 - github.com/bazelbuild/rules_go v0.55.0 + github.com/bazelbuild/rules_go v0.55.1 github.com/golang/glog v1.2.5 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 diff --git a/go.sum b/go.sum index f1a2fd780..fb15129d4 100644 --- a/go.sum +++ b/go.sum @@ -25,8 +25,8 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXV 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/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/bazelbuild/rules_go v0.55.0 h1:S8X/b/Oygw/Dtv7NuyW7ht0QwdynMEdXQqYigX5A1KY= -github.com/bazelbuild/rules_go v0.55.0/go.mod h1:T90Gpyq4HDFlsrvtQa2CBdHNJ2P4rAu/uUTmQbanzf0= +github.com/bazelbuild/rules_go v0.55.1 h1:cQYGcunY8myOB+0Ym6PGQRhc/milkRcNv0my3XgxaDU= +github.com/bazelbuild/rules_go v0.55.1/go.mod h1:T90Gpyq4HDFlsrvtQa2CBdHNJ2P4rAu/uUTmQbanzf0= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v5 v5.0.2 h1:rIfFVxEf1QsI7E1ZHfp/B4DF/6QBAUhmgkxc0H7Zss8= From 15ddd72375bc5fd371344badef1890bf4e5d0d71 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 11 Jun 2025 07:48:32 +0000 Subject: [PATCH 134/381] chore(deps): update dependency rules_go to v0.55.1 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index b27cf49de..be71ff6c5 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -3,7 +3,7 @@ module( version = "3", ) -bazel_dep(name = "rules_go", version = "0.55.0") +bazel_dep(name = "rules_go", version = "0.55.1") go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") go_sdk.from_file(go_mod = "//:go.mod") From d0e98f0afaf9c85a3429bbe5182aad3c5f110092 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 12 Jun 2025 17:13:33 +0000 Subject: [PATCH 135/381] chore(deps): update dependency aspect_bazel_lib to v2.19.2 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index be71ff6c5..2c8cecbd4 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.19.1") +bazel_dep(name = "aspect_bazel_lib", version = "2.19.2") bazel_dep(name = "rules_oci", version = "2.2.6") bazel_dep(name = "platforms", version = "1.0.0") From eafdeed847757ce9257bfa90e372647d22e5aa6d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 13 Jun 2025 23:07:25 +0000 Subject: [PATCH 136/381] chore(deps): update dependency gazelle to v0.44.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 2c8cecbd4..bf2c342e8 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -12,7 +12,7 @@ go_sdk.from_file(go_mod = "//:go.mod") # Like golangci-lint, but integrated into the build. go_sdk.nogo(nogo = "//:nogo") -bazel_dep(name = "gazelle", version = "0.43.0") +bazel_dep(name = "gazelle", version = "0.44.0") # Update dependencies with # `bazel run //:gazelle`. From dadd557c95d023d1845a79cbef6bd7521446360d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 15 Jun 2025 06:11:14 +0000 Subject: [PATCH 137/381] chore(deps): update distroless_base docker digest to 201ef91 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index bf2c342e8..e9f37b2ea 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:cef75d12148305c54ef5769e6511a5ac3c820f39bf5c8a4fbfd5b76b4b8da843", + digest = "sha256:201ef9125ff3f55fda8e0697eff0b3ce9078366503ef066653635a3ac3ed9c26", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From 8ca07cce6454087d218a3a06b477c5f18270be88 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 15 Jun 2025 13:41:16 +0000 Subject: [PATCH 138/381] chore(deps): update dependency aspect_bazel_lib to v2.19.3 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index e9f37b2ea..938babd25 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.19.2") +bazel_dep(name = "aspect_bazel_lib", version = "2.19.3") bazel_dep(name = "rules_oci", version = "2.2.6") bazel_dep(name = "platforms", version = "1.0.0") From fe3a09adcdaa9f990c2fd0f810ba18beff137c93 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 16 Jun 2025 12:44:37 +1000 Subject: [PATCH 139/381] chore: Update `MODULE.bazel.lock` --- MODULE.bazel.lock | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index ff6c08ddb..f414b6d7f 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -10,9 +10,11 @@ "https://bcr.bazel.build/modules/abseil-cpp/20230802.1/MODULE.bazel": "fa92e2eb41a04df73cdabeec37107316f7e5272650f81d6cc096418fe647b915", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.16.0/MODULE.bazel": "852f9ebbda017572a7c113a2434592dd3b2f55cd9a0faea3d4be5a09a59e4900", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.16.0/source.json": "87ffed720a2ba7cfe209d9ccc1be59e21ec3d434124ec126ab90e5913e9cb13b", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/MODULE.bazel": "2b31ffcc9bdc8295b2167e07a757dbbc9ac8906e7028e5170a3708cecaac119f", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.1/MODULE.bazel": "5856d258da9d38d8b9c66e8eb7d4eff0a9770565b1014a483e14dd2fe5b55372", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.1/source.json": "74988e23bc5042325c783dcd1dc9ad006a66d747fb47553419befa03b133b91f", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.2/MODULE.bazel": "780d1a6522b28f5edb7ea09630748720721dfe27690d65a2d33aa7509de77e07", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838", "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd", "https://bcr.bazel.build/modules/bazel_features/1.10.0/MODULE.bazel": "f75e8807570484a99be90abcd52b5e1f390362c258bcb73106f4544957a48101", @@ -51,20 +53,26 @@ "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/source.json": "41e9e129f80d8c8bf103a7acc337b76e54fad1214ac0a7084bf24f4cd924b8b4", "https://bcr.bazel.build/modules/googletest/1.14.0/MODULE.bazel": "cfbcbf3e6eac06ef9d85900f64424708cc08687d1b527f0ef65aa7517af8118f", + "https://bcr.bazel.build/modules/jq.bzl/0.1.0/MODULE.bazel": "2ce69b1af49952cd4121a9c3055faa679e748ce774c7f1fda9657f936cae902f", + "https://bcr.bazel.build/modules/jq.bzl/0.1.0/source.json": "746bf13cac0860f091df5e4911d0c593971cd8796b5ad4e809b2f8e133eee3d5", "https://bcr.bazel.build/modules/jsoncpp/1.9.5/MODULE.bazel": "31271aedc59e815656f5736f282bb7509a97c7ecb43e927ac1a37966e0578075", "https://bcr.bazel.build/modules/jsoncpp/1.9.5/source.json": "4108ee5085dd2885a341c7fab149429db457b3169b86eb081fa245eadf69169d", "https://bcr.bazel.build/modules/libpfm/4.11.0/MODULE.bazel": "45061ff025b301940f1e30d2c16bea596c25b176c8b6b3087e92615adbd52902", + "https://bcr.bazel.build/modules/package_metadata/0.0.2/MODULE.bazel": "fb8d25550742674d63d7b250063d4580ca530499f045d70748b1b142081ebb92", + "https://bcr.bazel.build/modules/package_metadata/0.0.2/source.json": "e53a759a72488d2c0576f57491ef2da0cf4aab05ac0997314012495935531b73", "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", "https://bcr.bazel.build/modules/platforms/0.0.11/MODULE.bazel": "0daefc49732e227caa8bfa834d65dc52e8cc18a2faf80df25e8caea151a9413f", - "https://bcr.bazel.build/modules/platforms/0.0.11/source.json": "f7e188b79ebedebfe75e9e1d098b8845226c7992b307e28e1496f23112e8fc29", "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", "https://bcr.bazel.build/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", "https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", "https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", + "https://bcr.bazel.build/modules/platforms/1.0.0/MODULE.bazel": "f05feb42b48f1b3c225e4ccf351f367be0371411a803198ec34a389fb22aa580", + "https://bcr.bazel.build/modules/platforms/1.0.0/source.json": "f4ff1fd412e0246fd38c82328eb209130ead81d62dcd5a9e40910f867f733d96", "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", "https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d", + "https://bcr.bazel.build/modules/protobuf/29.0-rc2.bcr.1/MODULE.bazel": "52f4126f63a2f0bbf36b99c2a87648f08467a4eaf92ba726bc7d6a500bbf770c", "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", "https://bcr.bazel.build/modules/protobuf/29.0-rc3/MODULE.bazel": "33c2dfa286578573afc55a7acaea3cada4122b9631007c594bf0729f41c8de92", "https://bcr.bazel.build/modules/protobuf/29.0/MODULE.bazel": "319dc8bf4c679ff87e71b1ccfb5a6e90a6dbc4693501d471f48662ac46d04e4e", @@ -97,8 +105,8 @@ "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", "https://bcr.bazel.build/modules/rules_go/0.50.1/MODULE.bazel": "b91a308dc5782bb0a8021ad4330c81fea5bda77f96b9e4c117b9b9c8f6665ee0", - "https://bcr.bazel.build/modules/rules_go/0.54.0/MODULE.bazel": "ebec39ed510d0d4122b60764623dda92ca7f175479b511bf7cd5de7f38e86747", - "https://bcr.bazel.build/modules/rules_go/0.54.0/source.json": "6eb9b4f4fc27ab5be79d84dcfcf971beea6caa91a1b02088a9ee314c88915cf3", + "https://bcr.bazel.build/modules/rules_go/0.55.1/MODULE.bazel": "a57a6fc59a74326c0b440d07cca209edf13c7d1a641e48cfbeab56e79f873609", + "https://bcr.bazel.build/modules/rules_go/0.55.1/source.json": "827a740c8959c9d20616889e7746cde4dcc6ee80d25146943627ccea0736328f", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", @@ -151,7 +159,8 @@ "https://bcr.bazel.build/modules/rules_python/1.0.0/source.json": "b0162a65c6312e45e7912e39abd1a7f8856c2c7e41ecc9b6dc688a6f6400a917", "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", "https://bcr.bazel.build/modules/rules_shell/0.3.0/MODULE.bazel": "de4402cd12f4cc8fda2354fce179fdb068c0b9ca1ec2d2b17b3e21b24c1a937b", - "https://bcr.bazel.build/modules/rules_shell/0.3.0/source.json": "c55ed591aa5009401ddf80ded9762ac32c358d2517ee7820be981e2de9756cf3", + "https://bcr.bazel.build/modules/rules_shell/0.4.1/MODULE.bazel": "00e501db01bbf4e3e1dd1595959092c2fadf2087b2852d3f553b5370f5633592", + "https://bcr.bazel.build/modules/rules_shell/0.4.1/source.json": "4757bd277fe1567763991c4425b483477bb82e35e777a56fd846eb5cceda324a", "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", "https://bcr.bazel.build/modules/stardoc/0.5.4/MODULE.bazel": "6569966df04610b8520957cb8e97cf2e9faac2c0309657c537ab51c16c18a2a4", @@ -161,7 +170,11 @@ "https://bcr.bazel.build/modules/stardoc/0.7.1/MODULE.bazel": "3548faea4ee5dda5580f9af150e79d0f6aea934fc60c1cc50f4efdd9420759e7", "https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5", "https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216", + "https://bcr.bazel.build/modules/tar.bzl/0.2.1/MODULE.bazel": "52d1c00a80a8cc67acbd01649e83d8dd6a9dc426a6c0b754a04fe8c219c76468", + "https://bcr.bazel.build/modules/tar.bzl/0.2.1/source.json": "600ac6ff61744667a439e7b814ae59c1f29632c3984fccf8000c64c9db8d7bb6", "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", + "https://bcr.bazel.build/modules/yq.bzl/0.1.1/MODULE.bazel": "9039681f9bcb8958ee2c87ffc74bdafba9f4369096a2b5634b88abc0eaefa072", + "https://bcr.bazel.build/modules/yq.bzl/0.1.1/source.json": "2d2bad780a9f2b9195a4a370314d2c17ae95eaa745cefc2e12fbc49759b15aa3", "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", "https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/MODULE.bazel": "af322bc08976524477c79d1e45e241b6efbeb918c497e8840b8ab116802dda79", @@ -236,7 +249,7 @@ }, "@@rules_oci+//oci:extensions.bzl%oci": { "general": { - "bzlTransitiveDigest": "mVJAKphKO42e5mXpOfxJ+NDzs4m8itp1srYY5drhI6o=", + "bzlTransitiveDigest": "uEpunjGLWML3ybCaUvZUPdJNpyEUzHqoNTQiZqgImUc=", "usagesDigest": "5vcJ3ZRcX2QDw/jnXBkVx+5HiVKa5UjvGeYw4sQNu8I=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, From d4ed5db173d93e4590aaaf82e0947f39bd39b2de Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 17 Jun 2025 16:48:53 +0000 Subject: [PATCH 140/381] chore(deps): update sigstore/cosign-installer action to v3.9.0 --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7be28345a..51b6d481f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -138,7 +138,7 @@ jobs: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - uses: sigstore/cosign-installer@v3.8.2 + - uses: sigstore/cosign-installer@v3.9.0 - name: verify image env: IMAGE: ${{ matrix.image }} From 8ad10c3acede2097aa4812322f28bf8a4f3c7119 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 17 Jun 2025 20:51:22 +0000 Subject: [PATCH 141/381] chore(deps): update dependency aspect_bazel_lib to v2.19.4 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 938babd25..47702eede 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.19.3") +bazel_dep(name = "aspect_bazel_lib", version = "2.19.4") bazel_dep(name = "rules_oci", version = "2.2.6") bazel_dep(name = "platforms", version = "1.0.0") From f5736904c19c9bb5df59aa91c9d956058156d926 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 16:57:18 +0000 Subject: [PATCH 142/381] chore(deps): update sigstore/cosign-installer action to v3.9.1 --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 51b6d481f..84e37371a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -138,7 +138,7 @@ jobs: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - uses: sigstore/cosign-installer@v3.9.0 + - uses: sigstore/cosign-installer@v3.9.1 - name: verify image env: IMAGE: ${{ matrix.image }} From 6e80a735d86ebf0a5ebf370fee0c2fdf5b3fa638 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Jun 2025 02:39:59 +0000 Subject: [PATCH 143/381] build(deps): bump github.com/prometheus/common from 0.64.0 to 0.65.0 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.64.0 to 0.65.0. - [Release notes](https://github.com/prometheus/common/releases) - [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md) - [Commits](https://github.com/prometheus/common/compare/v0.64.0...v0.65.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-version: 0.65.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 513cfbbb1..f6eca4af0 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.22.0 - github.com/prometheus/common v0.64.0 + github.com/prometheus/common v0.65.0 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.36.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0 diff --git a/go.sum b/go.sum index fb15129d4..08208417f 100644 --- a/go.sum +++ b/go.sum @@ -129,8 +129,8 @@ github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.64.0 h1:pdZeA+g617P7oGv1CzdTzyeShxAGrTBsolKNOLQPGO4= -github.com/prometheus/common v0.64.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8= +github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE= +github.com/prometheus/common v0.65.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= From d3f4b5dfaa75df48f9b3d4fa558863e206282491 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Jun 2025 23:01:46 +0000 Subject: [PATCH 144/381] build(deps): bump go.opentelemetry.io/otel/sdk/metric Bumps [go.opentelemetry.io/otel/sdk/metric](https://github.com/open-telemetry/opentelemetry-go) from 1.36.0 to 1.37.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.36.0...v1.37.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/sdk/metric dependency-version: 1.37.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 12 ++++++------ go.sum | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/go.mod b/go.mod index f6eca4af0..5db1727dd 100644 --- a/go.mod +++ b/go.mod @@ -14,10 +14,10 @@ require ( github.com/prometheus/client_golang v1.22.0 github.com/prometheus/common v0.65.0 go.opencensus.io v0.24.0 - go.opentelemetry.io/otel v1.36.0 + go.opentelemetry.io/otel v1.37.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0 - go.opentelemetry.io/otel/sdk v1.36.0 - go.opentelemetry.io/otel/sdk/metric v1.36.0 + go.opentelemetry.io/otel/sdk v1.37.0 + go.opentelemetry.io/otel/sdk/metric v1.37.0 golang.org/x/sys v0.33.0 golang.org/x/tools v0.34.0 ) @@ -26,7 +26,7 @@ require ( github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v5 v5.0.2 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect + github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect @@ -36,8 +36,8 @@ require ( github.com/prometheus/procfs v0.15.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/otel/metric v1.36.0 // indirect - go.opentelemetry.io/otel/trace v1.36.0 // indirect + go.opentelemetry.io/otel/metric v1.37.0 // indirect + go.opentelemetry.io/otel/trace v1.37.0 // indirect go.opentelemetry.io/proto/otlp v1.6.0 // indirect golang.org/x/net v0.41.0 // indirect golang.org/x/sync v0.15.0 // indirect diff --git a/go.sum b/go.sum index 08208417f..9e754a449 100644 --- a/go.sum +++ b/go.sum @@ -50,8 +50,8 @@ github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -155,18 +155,18 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg= -go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E= +go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ= +go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0 h1:zwdo1gS2eH26Rg+CoqVQpEK1h8gvt5qyU5Kk5Bixvow= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0/go.mod h1:rUKCPscaRWWcqGT6HnEmYrK+YNe5+Sw64xgQTOJ5b30= -go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE= -go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs= -go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs= -go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY= -go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis= -go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4= -go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w= -go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA= +go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE= +go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E= +go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI= +go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg= +go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc= +go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps= +go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4= +go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= go.opentelemetry.io/proto/otlp v1.6.0 h1:jQjP+AQyTf+Fe7OKj/MfkDrmK4MNVtw2NpXsf9fefDI= go.opentelemetry.io/proto/otlp v1.6.0/go.mod h1:cicgGehlFuNdgZkcALOCh3VE6K/u2tAjzlRhDwmVpZc= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= From 0fa69aa4167338f763441bc5c40bc73da3e72b80 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Jun 2025 23:06:38 +0000 Subject: [PATCH 145/381] build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc Bumps [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc](https://github.com/open-telemetry/opentelemetry-go) from 1.36.0 to 1.37.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.36.0...v1.37.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc dependency-version: 1.37.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 12 ++++++------ go.sum | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/go.mod b/go.mod index 5db1727dd..697f1114f 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/prometheus/common v0.65.0 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.37.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0 go.opentelemetry.io/otel/sdk v1.37.0 go.opentelemetry.io/otel/sdk/metric v1.37.0 golang.org/x/sys v0.33.0 @@ -29,7 +29,7 @@ require ( github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/prometheus/client_model v0.6.2 // indirect @@ -38,13 +38,13 @@ require ( go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/otel/metric v1.37.0 // indirect go.opentelemetry.io/otel/trace v1.37.0 // indirect - go.opentelemetry.io/proto/otlp v1.6.0 // indirect + go.opentelemetry.io/proto/otlp v1.7.0 // indirect golang.org/x/net v0.41.0 // indirect golang.org/x/sync v0.15.0 // indirect golang.org/x/text v0.26.0 // indirect google.golang.org/api v0.105.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 // indirect - google.golang.org/grpc v1.72.1 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect + google.golang.org/grpc v1.73.0 // indirect google.golang.org/protobuf v1.36.6 // indirect ) diff --git a/go.sum b/go.sum index 9e754a449..b22917bca 100644 --- a/go.sum +++ b/go.sum @@ -103,8 +103,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.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.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 h1:X5VWvz21y3gzm9Nw/kaUeku/1+uBhcekkmy4IkffJww= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1/go.mod h1:Zanoh4+gvIgluNqcfMVTJueD4wSS5hT7zTt4Mrutd90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -157,8 +157,8 @@ go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJyS go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ= go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0 h1:zwdo1gS2eH26Rg+CoqVQpEK1h8gvt5qyU5Kk5Bixvow= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0/go.mod h1:rUKCPscaRWWcqGT6HnEmYrK+YNe5+Sw64xgQTOJ5b30= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0 h1:zG8GlgXCJQd5BU98C0hZnBbElszTmUgCNCfYneaDL0A= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0/go.mod h1:hOfBCz8kv/wuq73Mx2H2QnWokh/kHZxkh6SNF2bdKtw= go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE= go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E= go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI= @@ -167,8 +167,8 @@ go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFh go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps= go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4= go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= -go.opentelemetry.io/proto/otlp v1.6.0 h1:jQjP+AQyTf+Fe7OKj/MfkDrmK4MNVtw2NpXsf9fefDI= -go.opentelemetry.io/proto/otlp v1.6.0/go.mod h1:cicgGehlFuNdgZkcALOCh3VE6K/u2tAjzlRhDwmVpZc= +go.opentelemetry.io/proto/otlp v1.7.0 h1:jX1VolD6nHuFzOYso2E73H85i92Mv8JQYk0K9vz09os= +go.opentelemetry.io/proto/otlp v1.7.0/go.mod h1:fSKjH6YJ7HDlwzltzyMj036AJ3ejJLCgCSHGj4efDDo= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -342,10 +342,10 @@ google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 h1:Kog3KlB4xevJlAcbbbzPfRG0+X9fdoGM+UBRKVz6Wr0= -google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237/go.mod h1:ezi0AVyMKDWy5xAncvjLWH7UcLBB5n7y2fQ8MzjJcto= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 h1:cJfm9zPbe1e873mHJzmQ1nwVEeRDU/T1wXDK2kUSU34= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= +google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 h1:oWVWY3NzT7KJppx2UKhKmzPq4SRe0LdCijVRwvGeikY= +google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822/go.mod h1:h3c4v36UTKzUiuaOKQ6gr3S+0hovBtUrXzTG/i3+XEc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 h1:fc6jSaCT0vBduLYZHYrBBNY4dsWuvgyff9noRNDdBeE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -356,8 +356,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA= -google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= +google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok= +google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc= 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-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= From 8a6f0e881575e80b7e6f4ff8d99111649d4e2ea6 Mon Sep 17 00:00:00 2001 From: Jason Herbage Date: Fri, 27 Jun 2025 15:46:12 +0100 Subject: [PATCH 146/381] runtime updates needed to ssupport an optional mapping between logfiles and programs that parse them --- MODULE.bazel.lock | 27 +- internal/logline/logline.go | 14 +- internal/mtail/mtail.go | 1 + internal/runtime/code/object.go | 9 +- internal/runtime/compiler/parser/parser.go | 1504 ++++++++++++++++ internal/runtime/compiler/parser/y.output | 1840 ++++++++++++++++++++ internal/runtime/runtime.go | 24 +- internal/runtime/runtime_test.go | 122 ++ 8 files changed, 3525 insertions(+), 16 deletions(-) create mode 100644 internal/runtime/compiler/parser/parser.go create mode 100644 internal/runtime/compiler/parser/y.output diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index ff6c08ddb..f414b6d7f 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -10,9 +10,11 @@ "https://bcr.bazel.build/modules/abseil-cpp/20230802.1/MODULE.bazel": "fa92e2eb41a04df73cdabeec37107316f7e5272650f81d6cc096418fe647b915", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.16.0/MODULE.bazel": "852f9ebbda017572a7c113a2434592dd3b2f55cd9a0faea3d4be5a09a59e4900", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.16.0/source.json": "87ffed720a2ba7cfe209d9ccc1be59e21ec3d434124ec126ab90e5913e9cb13b", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/MODULE.bazel": "2b31ffcc9bdc8295b2167e07a757dbbc9ac8906e7028e5170a3708cecaac119f", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.1/MODULE.bazel": "5856d258da9d38d8b9c66e8eb7d4eff0a9770565b1014a483e14dd2fe5b55372", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.1/source.json": "74988e23bc5042325c783dcd1dc9ad006a66d747fb47553419befa03b133b91f", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.2/MODULE.bazel": "780d1a6522b28f5edb7ea09630748720721dfe27690d65a2d33aa7509de77e07", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838", "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd", "https://bcr.bazel.build/modules/bazel_features/1.10.0/MODULE.bazel": "f75e8807570484a99be90abcd52b5e1f390362c258bcb73106f4544957a48101", @@ -51,20 +53,26 @@ "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/source.json": "41e9e129f80d8c8bf103a7acc337b76e54fad1214ac0a7084bf24f4cd924b8b4", "https://bcr.bazel.build/modules/googletest/1.14.0/MODULE.bazel": "cfbcbf3e6eac06ef9d85900f64424708cc08687d1b527f0ef65aa7517af8118f", + "https://bcr.bazel.build/modules/jq.bzl/0.1.0/MODULE.bazel": "2ce69b1af49952cd4121a9c3055faa679e748ce774c7f1fda9657f936cae902f", + "https://bcr.bazel.build/modules/jq.bzl/0.1.0/source.json": "746bf13cac0860f091df5e4911d0c593971cd8796b5ad4e809b2f8e133eee3d5", "https://bcr.bazel.build/modules/jsoncpp/1.9.5/MODULE.bazel": "31271aedc59e815656f5736f282bb7509a97c7ecb43e927ac1a37966e0578075", "https://bcr.bazel.build/modules/jsoncpp/1.9.5/source.json": "4108ee5085dd2885a341c7fab149429db457b3169b86eb081fa245eadf69169d", "https://bcr.bazel.build/modules/libpfm/4.11.0/MODULE.bazel": "45061ff025b301940f1e30d2c16bea596c25b176c8b6b3087e92615adbd52902", + "https://bcr.bazel.build/modules/package_metadata/0.0.2/MODULE.bazel": "fb8d25550742674d63d7b250063d4580ca530499f045d70748b1b142081ebb92", + "https://bcr.bazel.build/modules/package_metadata/0.0.2/source.json": "e53a759a72488d2c0576f57491ef2da0cf4aab05ac0997314012495935531b73", "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", "https://bcr.bazel.build/modules/platforms/0.0.11/MODULE.bazel": "0daefc49732e227caa8bfa834d65dc52e8cc18a2faf80df25e8caea151a9413f", - "https://bcr.bazel.build/modules/platforms/0.0.11/source.json": "f7e188b79ebedebfe75e9e1d098b8845226c7992b307e28e1496f23112e8fc29", "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", "https://bcr.bazel.build/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", "https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", "https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", + "https://bcr.bazel.build/modules/platforms/1.0.0/MODULE.bazel": "f05feb42b48f1b3c225e4ccf351f367be0371411a803198ec34a389fb22aa580", + "https://bcr.bazel.build/modules/platforms/1.0.0/source.json": "f4ff1fd412e0246fd38c82328eb209130ead81d62dcd5a9e40910f867f733d96", "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", "https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d", + "https://bcr.bazel.build/modules/protobuf/29.0-rc2.bcr.1/MODULE.bazel": "52f4126f63a2f0bbf36b99c2a87648f08467a4eaf92ba726bc7d6a500bbf770c", "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", "https://bcr.bazel.build/modules/protobuf/29.0-rc3/MODULE.bazel": "33c2dfa286578573afc55a7acaea3cada4122b9631007c594bf0729f41c8de92", "https://bcr.bazel.build/modules/protobuf/29.0/MODULE.bazel": "319dc8bf4c679ff87e71b1ccfb5a6e90a6dbc4693501d471f48662ac46d04e4e", @@ -97,8 +105,8 @@ "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", "https://bcr.bazel.build/modules/rules_go/0.50.1/MODULE.bazel": "b91a308dc5782bb0a8021ad4330c81fea5bda77f96b9e4c117b9b9c8f6665ee0", - "https://bcr.bazel.build/modules/rules_go/0.54.0/MODULE.bazel": "ebec39ed510d0d4122b60764623dda92ca7f175479b511bf7cd5de7f38e86747", - "https://bcr.bazel.build/modules/rules_go/0.54.0/source.json": "6eb9b4f4fc27ab5be79d84dcfcf971beea6caa91a1b02088a9ee314c88915cf3", + "https://bcr.bazel.build/modules/rules_go/0.55.1/MODULE.bazel": "a57a6fc59a74326c0b440d07cca209edf13c7d1a641e48cfbeab56e79f873609", + "https://bcr.bazel.build/modules/rules_go/0.55.1/source.json": "827a740c8959c9d20616889e7746cde4dcc6ee80d25146943627ccea0736328f", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", @@ -151,7 +159,8 @@ "https://bcr.bazel.build/modules/rules_python/1.0.0/source.json": "b0162a65c6312e45e7912e39abd1a7f8856c2c7e41ecc9b6dc688a6f6400a917", "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", "https://bcr.bazel.build/modules/rules_shell/0.3.0/MODULE.bazel": "de4402cd12f4cc8fda2354fce179fdb068c0b9ca1ec2d2b17b3e21b24c1a937b", - "https://bcr.bazel.build/modules/rules_shell/0.3.0/source.json": "c55ed591aa5009401ddf80ded9762ac32c358d2517ee7820be981e2de9756cf3", + "https://bcr.bazel.build/modules/rules_shell/0.4.1/MODULE.bazel": "00e501db01bbf4e3e1dd1595959092c2fadf2087b2852d3f553b5370f5633592", + "https://bcr.bazel.build/modules/rules_shell/0.4.1/source.json": "4757bd277fe1567763991c4425b483477bb82e35e777a56fd846eb5cceda324a", "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", "https://bcr.bazel.build/modules/stardoc/0.5.4/MODULE.bazel": "6569966df04610b8520957cb8e97cf2e9faac2c0309657c537ab51c16c18a2a4", @@ -161,7 +170,11 @@ "https://bcr.bazel.build/modules/stardoc/0.7.1/MODULE.bazel": "3548faea4ee5dda5580f9af150e79d0f6aea934fc60c1cc50f4efdd9420759e7", "https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5", "https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216", + "https://bcr.bazel.build/modules/tar.bzl/0.2.1/MODULE.bazel": "52d1c00a80a8cc67acbd01649e83d8dd6a9dc426a6c0b754a04fe8c219c76468", + "https://bcr.bazel.build/modules/tar.bzl/0.2.1/source.json": "600ac6ff61744667a439e7b814ae59c1f29632c3984fccf8000c64c9db8d7bb6", "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", + "https://bcr.bazel.build/modules/yq.bzl/0.1.1/MODULE.bazel": "9039681f9bcb8958ee2c87ffc74bdafba9f4369096a2b5634b88abc0eaefa072", + "https://bcr.bazel.build/modules/yq.bzl/0.1.1/source.json": "2d2bad780a9f2b9195a4a370314d2c17ae95eaa745cefc2e12fbc49759b15aa3", "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", "https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/MODULE.bazel": "af322bc08976524477c79d1e45e241b6efbeb918c497e8840b8ab116802dda79", @@ -236,7 +249,7 @@ }, "@@rules_oci+//oci:extensions.bzl%oci": { "general": { - "bzlTransitiveDigest": "mVJAKphKO42e5mXpOfxJ+NDzs4m8itp1srYY5drhI6o=", + "bzlTransitiveDigest": "uEpunjGLWML3ybCaUvZUPdJNpyEUzHqoNTQiZqgImUc=", "usagesDigest": "5vcJ3ZRcX2QDw/jnXBkVx+5HiVKa5UjvGeYw4sQNu8I=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, diff --git a/internal/logline/logline.go b/internal/logline/logline.go index 996e39e5a..686195791 100644 --- a/internal/logline/logline.go +++ b/internal/logline/logline.go @@ -3,17 +3,23 @@ package logline -import "context" +import ( + "context" + "crypto/sha256" + "encoding/binary" +) // LogLine contains all the information about a line just read from a log. type LogLine struct { Context context.Context - Filename string // The log filename that this line was read from - Line string // The text of the log line itself up to the newline. + Filename string // The log filename that this line was read from + Filenamehash uint32 // stored for efficient key lookup + Line string // The text of the log line itself up to the newline. } // New creates a new LogLine object. func New(ctx context.Context, filename string, line string) *LogLine { - return &LogLine{ctx, filename, line} + hash := sha256.Sum256([]byte(filename)) + return &LogLine{ctx, filename, binary.BigEndian.Uint32(hash[:8]), line} } diff --git a/internal/mtail/mtail.go b/internal/mtail/mtail.go index 55a4bf59e..973c8252b 100644 --- a/internal/mtail/mtail.go +++ b/internal/mtail/mtail.go @@ -194,6 +194,7 @@ func New(ctx context.Context, store *metrics.Store, options ...Option) (*Server, "log_lines_total": prometheus.NewDesc("log_lines_total", "number of lines read per log file", []string{"logfile"}, nil), // internal/runtime/loader.go "lines_total": prometheus.NewDesc("lines_total", "number of lines received by the program loader", nil, nil), + "prog_lines_total": prometheus.NewDesc("prog_lines_total", "number of lines read per program", []string{"prog"}, nil), "prog_loads_total": prometheus.NewDesc("prog_loads_total", "number of program load events by program source filename", []string{"prog"}, nil), "prog_load_errors_total": prometheus.NewDesc("prog_load_errors_total", "number of errors encountered when loading per program source filename", []string{"prog"}, nil), "prog_runtime_errors_total": prometheus.NewDesc("prog_runtime_errors_total", "number of errors encountered when executing programs per source filename", []string{"prog"}, nil), diff --git a/internal/runtime/code/object.go b/internal/runtime/code/object.go index 334207918..3fd5eb4fb 100644 --- a/internal/runtime/code/object.go +++ b/internal/runtime/code/object.go @@ -11,8 +11,9 @@ import ( // Object is the data and bytecode resulting from compiled program source. type Object struct { - Program []Instr // The program bytecode. - Strings []string // Static strings. - Regexps []*regexp.Regexp // Static regular expressions. - Metrics []*metrics.Metric // Metrics accessible to this program. + Program []Instr // The program bytecode. + Strings []string // Static strings. + Regexps []*regexp.Regexp // Static regular expressions. + Metrics []*metrics.Metric // Metrics accessible to this program. + RelevantLogs []string // logs this program can be used against - if empty can be applied to any log } diff --git a/internal/runtime/compiler/parser/parser.go b/internal/runtime/compiler/parser/parser.go new file mode 100644 index 000000000..07690c920 --- /dev/null +++ b/internal/runtime/compiler/parser/parser.go @@ -0,0 +1,1504 @@ +// Code generated by goyacc -v y.output -o parser.go -p mtail parser.y. DO NOT EDIT. + +//line parser.y:5 +/* #nosec G104 generated code, errors reported do not make sense */ +package parser + +import __yyfmt__ "fmt" + +//line parser.y:6 + +import ( + "time" + + "github.com/golang/glog" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" +) + +//line parser.y:19 +type mtailSymType struct { + yys int + intVal int64 + floatVal float64 + floats []float64 + op int + text string + texts []string + flag bool + n ast.Node + kind metrics.Kind + duration time.Duration +} + +const INVALID = 57346 +const COUNTER = 57347 +const GAUGE = 57348 +const TIMER = 57349 +const TEXT = 57350 +const HISTOGRAM = 57351 +const AFTER = 57352 +const AS = 57353 +const BY = 57354 +const CONST = 57355 +const HIDDEN = 57356 +const DEF = 57357 +const DEL = 57358 +const NEXT = 57359 +const OTHERWISE = 57360 +const ELSE = 57361 +const STOP = 57362 +const BUCKETS = 57363 +const LIMIT = 57364 +const BUILTIN = 57365 +const REGEX = 57366 +const STRING = 57367 +const CAPREF = 57368 +const CAPREF_NAMED = 57369 +const ID = 57370 +const DECO = 57371 +const INTLITERAL = 57372 +const FLOATLITERAL = 57373 +const DURATIONLITERAL = 57374 +const INC = 57375 +const DEC = 57376 +const DIV = 57377 +const MOD = 57378 +const MUL = 57379 +const MINUS = 57380 +const PLUS = 57381 +const POW = 57382 +const SHL = 57383 +const SHR = 57384 +const LT = 57385 +const GT = 57386 +const LE = 57387 +const GE = 57388 +const EQ = 57389 +const NE = 57390 +const BITAND = 57391 +const XOR = 57392 +const BITOR = 57393 +const NOT = 57394 +const AND = 57395 +const OR = 57396 +const ADD_ASSIGN = 57397 +const ASSIGN = 57398 +const MATCH = 57399 +const NOT_MATCH = 57400 +const LCURLY = 57401 +const RCURLY = 57402 +const LPAREN = 57403 +const RPAREN = 57404 +const LSQUARE = 57405 +const RSQUARE = 57406 +const COMMA = 57407 +const NL = 57408 + +var mtailToknames = [...]string{ + "$end", + "error", + "$unk", + "INVALID", + "COUNTER", + "GAUGE", + "TIMER", + "TEXT", + "HISTOGRAM", + "AFTER", + "AS", + "BY", + "CONST", + "HIDDEN", + "DEF", + "DEL", + "NEXT", + "OTHERWISE", + "ELSE", + "STOP", + "BUCKETS", + "LIMIT", + "BUILTIN", + "REGEX", + "STRING", + "CAPREF", + "CAPREF_NAMED", + "ID", + "DECO", + "INTLITERAL", + "FLOATLITERAL", + "DURATIONLITERAL", + "INC", + "DEC", + "DIV", + "MOD", + "MUL", + "MINUS", + "PLUS", + "POW", + "SHL", + "SHR", + "LT", + "GT", + "LE", + "GE", + "EQ", + "NE", + "BITAND", + "XOR", + "BITOR", + "NOT", + "AND", + "OR", + "ADD_ASSIGN", + "ASSIGN", + "MATCH", + "NOT_MATCH", + "LCURLY", + "RCURLY", + "LPAREN", + "RPAREN", + "LSQUARE", + "RSQUARE", + "COMMA", + "NL", +} + +var mtailStatenames = [...]string{} + +const mtailEofCode = 1 +const mtailErrCode = 2 +const mtailInitialStackSize = 16 + +//line parser.y:733 + +// tokenpos returns the position of the current token. +func tokenpos(mtaillex mtailLexer) position.Position { + return mtaillex.(*parser).t.Pos +} + +// markedpos returns the position recorded from the most recent mark_pos +// production. +func markedpos(mtaillex mtailLexer) position.Position { + return mtaillex.(*parser).pos +} + +// positionFromMark returns a position spanning from the last mark to the current position. +func positionFromMark(mtaillex mtailLexer) position.Position { + tp := tokenpos(mtaillex) + mp := markedpos(mtaillex) + return *position.Merge(&mp, &tp) +} + +//line yacctab:1 +var mtailExca = [...]int8{ + -1, 1, + 1, -1, + -2, 0, + -1, 2, + 1, 1, + 5, 93, + 6, 93, + 7, 93, + 8, 93, + 9, 93, + -2, 124, + -1, 22, + 66, 24, + -2, 68, + -1, 106, + 5, 93, + 6, 93, + 7, 93, + 8, 93, + 9, 93, + -2, 124, +} + +const mtailPrivate = 57344 + +const mtailLast = 249 + +var mtailAct = [...]uint8{ + 171, 88, 126, 28, 15, 91, 42, 44, 27, 30, + 103, 127, 41, 24, 20, 86, 40, 167, 22, 128, + 163, 182, 19, 26, 45, 29, 104, 25, 36, 34, + 35, 43, 54, 38, 39, 87, 181, 85, 89, 125, + 108, 46, 36, 34, 35, 43, 47, 38, 39, 90, + 162, 163, 62, 63, 2, 31, 49, 87, 76, 77, + 68, 130, 74, 73, 37, 138, 62, 63, 50, 112, + 93, 94, 117, 97, 96, 118, 168, 50, 37, 119, + 120, 70, 72, 71, 121, 122, 123, 66, 67, 124, + 107, 129, 185, 184, 111, 79, 80, 81, 82, 83, + 84, 169, 106, 131, 179, 135, 132, 175, 15, 133, + 129, 43, 27, 110, 100, 101, 99, 134, 20, 102, + 174, 135, 22, 173, 87, 129, 19, 160, 87, 151, + 156, 142, 155, 157, 158, 87, 87, 87, 164, 166, + 165, 161, 153, 159, 140, 154, 152, 136, 139, 178, + 177, 13, 141, 116, 66, 67, 115, 49, 105, 109, + 11, 23, 1, 176, 10, 129, 180, 12, 64, 145, + 13, 65, 36, 34, 35, 43, 75, 38, 39, 11, + 23, 98, 183, 10, 95, 69, 12, 92, 61, 78, + 18, 36, 34, 35, 43, 170, 38, 39, 143, 31, + 56, 57, 58, 59, 60, 172, 144, 137, 37, 36, + 34, 35, 43, 16, 38, 39, 146, 55, 31, 33, + 51, 53, 114, 48, 9, 8, 7, 37, 49, 113, + 6, 32, 16, 21, 52, 17, 31, 148, 147, 5, + 50, 14, 4, 3, 0, 37, 0, 149, 150, +} + +var mtailPact = [...]int16{ + -1000, -1000, 166, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 83, -1000, -1000, -13, 205, -1000, -34, 195, 13, + 13, -1000, 54, -1000, 21, 32, -1000, 7, 1, -1000, + 52, 184, -25, -1000, -1000, -1000, -1000, 184, -1000, -1000, + 29, -1000, 35, -1000, 79, -40, 139, -1000, -13, -21, + -1000, 85, -13, 17, -1000, 128, -1000, -1000, -1000, -1000, + -1000, -40, -1000, -1000, -40, -1000, -1000, -1000, -40, -40, + -1000, -1000, -1000, -40, -40, -40, -1000, -1000, -40, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 54, -1000, 134, 184, + -1, -1000, -40, -1000, -1000, -40, -1000, -1000, -40, -1000, + -1000, -1000, -1000, -1000, -1000, -13, 147, -1000, 3, 120, + -13, -1000, 121, 226, -1000, -1000, -1000, 184, 184, 83, + 184, 184, 184, 17, 184, -14, -1000, 13, -1000, 33, + -1000, 184, 184, 184, 21, 42, -1000, -1000, -1000, -45, + 41, -1000, 69, -1000, -1000, -1000, -1000, 95, 82, 119, + 74, 13, 32, -1000, -1000, -1000, 52, 13, 13, -1000, + -1000, 29, -1000, 184, 35, 79, -1000, -1000, -1000, -1000, + -29, -1000, -1000, -1000, -1000, -1000, -44, -1000, -1000, -1000, + -1000, 95, 62, -1000, -1000, -1000, +} + +var mtailPgo = [...]uint8{ + 0, 54, 243, 39, 41, 242, 241, 239, 235, 3, + 7, 6, 15, 5, 233, 9, 16, 27, 11, 231, + 12, 13, 19, 230, 229, 226, 225, 25, 23, 224, + 222, 219, 2, 217, 216, 206, 205, 0, 198, 195, + 190, 189, 187, 185, 168, 184, 181, 176, 171, 169, + 163, 162, 10, 1, 159, +} + +var mtailR1 = [...]int8{ + 0, 51, 1, 1, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 5, 5, 5, 6, 6, 6, + 7, 7, 4, 8, 8, 14, 14, 18, 18, 18, + 18, 44, 44, 17, 17, 43, 43, 43, 15, 15, + 41, 41, 41, 41, 41, 41, 16, 16, 42, 42, + 11, 11, 45, 45, 28, 28, 47, 47, 22, 21, + 21, 21, 10, 10, 46, 46, 46, 46, 13, 13, + 12, 12, 48, 48, 9, 9, 9, 9, 9, 9, + 9, 9, 19, 19, 20, 31, 31, 3, 3, 32, + 32, 27, 23, 40, 40, 24, 24, 24, 24, 24, + 30, 30, 33, 33, 33, 33, 33, 38, 39, 39, + 37, 35, 34, 49, 50, 50, 50, 50, 25, 26, + 29, 29, 36, 36, 53, 54, 52, 52, +} + +var mtailR2 = [...]int8{ + 0, 1, 0, 2, 1, 1, 1, 1, 1, 1, + 1, 4, 1, 1, 4, 2, 3, 1, 4, 1, + 1, 2, 3, 1, 1, 4, 4, 1, 1, 4, + 4, 1, 1, 1, 4, 1, 1, 1, 1, 4, + 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, + 1, 4, 1, 1, 4, 4, 1, 1, 1, 1, + 4, 4, 1, 4, 1, 1, 1, 1, 1, 2, + 1, 2, 1, 1, 1, 1, 1, 1, 1, 3, + 1, 1, 1, 4, 1, 4, 5, 1, 3, 1, + 1, 5, 3, 0, 1, 2, 2, 2, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, + 1, 2, 2, 2, 1, 1, 3, 3, 4, 3, + 5, 3, 1, 1, 0, 0, 0, 1, +} + +var mtailChk = [...]int16{ + -1000, -51, -1, -2, -5, -7, -23, -25, -26, -29, + 17, 13, 20, 4, -6, -53, 66, -8, -40, -22, + -18, -14, -12, 14, -21, -17, -28, -13, -9, -27, + -15, 52, -19, -31, 26, 27, 25, 61, 30, 31, + -16, -20, -11, 28, -10, -20, -4, 59, 18, 23, + 35, 15, 29, 16, 66, -33, 5, 6, 7, 8, + 9, -44, 53, 54, -44, -48, 33, 34, 39, -43, + 49, 51, 50, 56, 55, -47, 57, 58, -41, 43, + 44, 45, 46, 47, 48, -13, -12, -9, -53, 63, + -18, -13, -42, 41, 42, -45, 39, 38, -46, 37, + 35, 36, 40, -52, 66, 19, -1, -4, 61, -54, + 28, -4, -12, -24, -30, 28, 25, -52, -52, -52, + -52, -52, -52, -52, -52, -3, -32, -18, -22, -53, + 62, -52, -52, -52, -21, -53, -4, 60, 62, -3, + 24, -4, 10, -38, -35, -49, -34, 12, 11, 21, + 22, -18, -17, -28, -27, -20, -15, -18, -18, -22, + -9, -16, 64, 65, -11, -10, -13, 62, 35, 32, + -39, -37, -36, 28, 25, 25, -50, 31, 30, 30, + -32, 65, 65, -37, 31, 30, +} + +var mtailDef = [...]int8{ + 2, -2, -2, 3, 4, 5, 6, 7, 8, 9, + 10, 0, 12, 13, 0, 0, 20, 0, 0, 17, + 19, 23, -2, 94, 58, 27, 28, 62, 70, 59, + 33, 124, 74, 75, 76, 77, 78, 124, 80, 81, + 38, 82, 46, 84, 50, 126, 15, 2, 0, 0, + 125, 0, 0, 124, 21, 0, 102, 103, 104, 105, + 106, 126, 31, 32, 126, 71, 72, 73, 126, 126, + 35, 36, 37, 126, 126, 126, 56, 57, 126, 40, + 41, 42, 43, 44, 45, 69, 68, 70, 0, 124, + 0, 62, 126, 48, 49, 126, 52, 53, 126, 64, + 65, 66, 67, 124, 127, 0, -2, 16, 124, 0, + 0, 119, 121, 92, 99, 100, 101, 124, 124, 124, + 124, 124, 124, 124, 124, 0, 87, 89, 90, 0, + 79, 124, 124, 124, 11, 0, 14, 22, 85, 0, + 0, 118, 0, 95, 96, 97, 98, 0, 0, 0, + 0, 18, 29, 30, 60, 61, 34, 25, 26, 54, + 55, 39, 83, 124, 47, 51, 63, 86, 91, 120, + 107, 108, 110, 122, 123, 111, 113, 114, 115, 112, + 88, 0, 0, 109, 116, 117, +} + +var mtailTok1 = [...]int8{ + 1, +} + +var mtailTok2 = [...]int8{ + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, +} + +var mtailTok3 = [...]int8{ + 0, +} + +var mtailErrorMessages = [...]struct { + state int + token int + msg string +}{ + {109, 4, "unexpected end of file, expecting '/' to end regex"}, + {15, 1, "unexpected end of file, expecting '}' to end block"}, + {15, 1, "unexpected end of file, expecting '}' to end block"}, + {15, 1, "unexpected end of file, expecting '}' to end block"}, + {14, 63, "unexpected indexing of an expression"}, + {14, 66, "statement with no effect, missing an assignment, `+' concatenation, or `{}' block?"}, +} + +//line yaccpar:1 + +/* parser for yacc output */ + +var ( + mtailDebug = 0 + mtailErrorVerbose = false +) + +type mtailLexer interface { + Lex(lval *mtailSymType) int + Error(s string) +} + +type mtailParser interface { + Parse(mtailLexer) int + Lookahead() int +} + +type mtailParserImpl struct { + lval mtailSymType + stack [mtailInitialStackSize]mtailSymType + char int +} + +func (p *mtailParserImpl) Lookahead() int { + return p.char +} + +func mtailNewParser() mtailParser { + return &mtailParserImpl{} +} + +const mtailFlag = -1000 + +func mtailTokname(c int) string { + if c >= 1 && c-1 < len(mtailToknames) { + if mtailToknames[c-1] != "" { + return mtailToknames[c-1] + } + } + return __yyfmt__.Sprintf("tok-%v", c) +} + +func mtailStatname(s int) string { + if s >= 0 && s < len(mtailStatenames) { + if mtailStatenames[s] != "" { + return mtailStatenames[s] + } + } + return __yyfmt__.Sprintf("state-%v", s) +} + +func mtailErrorMessage(state, lookAhead int) string { + const TOKSTART = 4 + + if !mtailErrorVerbose { + return "syntax error" + } + + for _, e := range mtailErrorMessages { + if e.state == state && e.token == lookAhead { + return "syntax error: " + e.msg + } + } + + res := "syntax error: unexpected " + mtailTokname(lookAhead) + + // To match Bison, suggest at most four expected tokens. + expected := make([]int, 0, 4) + + // Look for shiftable tokens. + base := int(mtailPact[state]) + for tok := TOKSTART; tok-1 < len(mtailToknames); tok++ { + if n := base + tok; n >= 0 && n < mtailLast && int(mtailChk[int(mtailAct[n])]) == tok { + if len(expected) == cap(expected) { + return res + } + expected = append(expected, tok) + } + } + + if mtailDef[state] == -2 { + i := 0 + for mtailExca[i] != -1 || int(mtailExca[i+1]) != state { + i += 2 + } + + // Look for tokens that we accept or reduce. + for i += 2; mtailExca[i] >= 0; i += 2 { + tok := int(mtailExca[i]) + if tok < TOKSTART || mtailExca[i+1] == 0 { + continue + } + if len(expected) == cap(expected) { + return res + } + expected = append(expected, tok) + } + + // If the default action is to accept or reduce, give up. + if mtailExca[i+1] != 0 { + return res + } + } + + for i, tok := range expected { + if i == 0 { + res += ", expecting " + } else { + res += " or " + } + res += mtailTokname(tok) + } + return res +} + +func mtaillex1(lex mtailLexer, lval *mtailSymType) (char, token int) { + token = 0 + char = lex.Lex(lval) + if char <= 0 { + token = int(mtailTok1[0]) + goto out + } + if char < len(mtailTok1) { + token = int(mtailTok1[char]) + goto out + } + if char >= mtailPrivate { + if char < mtailPrivate+len(mtailTok2) { + token = int(mtailTok2[char-mtailPrivate]) + goto out + } + } + for i := 0; i < len(mtailTok3); i += 2 { + token = int(mtailTok3[i+0]) + if token == char { + token = int(mtailTok3[i+1]) + goto out + } + } + +out: + if token == 0 { + token = int(mtailTok2[1]) /* unknown char */ + } + if mtailDebug >= 3 { + __yyfmt__.Printf("lex %s(%d)\n", mtailTokname(token), uint(char)) + } + return char, token +} + +func mtailParse(mtaillex mtailLexer) int { + return mtailNewParser().Parse(mtaillex) +} + +func (mtailrcvr *mtailParserImpl) Parse(mtaillex mtailLexer) int { + var mtailn int + var mtailVAL mtailSymType + var mtailDollar []mtailSymType + _ = mtailDollar // silence set and not used + mtailS := mtailrcvr.stack[:] + + Nerrs := 0 /* number of errors */ + Errflag := 0 /* error recovery flag */ + mtailstate := 0 + mtailrcvr.char = -1 + mtailtoken := -1 // mtailrcvr.char translated into internal numbering + defer func() { + // Make sure we report no lookahead when not parsing. + mtailstate = -1 + mtailrcvr.char = -1 + mtailtoken = -1 + }() + mtailp := -1 + goto mtailstack + +ret0: + return 0 + +ret1: + return 1 + +mtailstack: + /* put a state and value onto the stack */ + if mtailDebug >= 4 { + __yyfmt__.Printf("char %v in %v\n", mtailTokname(mtailtoken), mtailStatname(mtailstate)) + } + + mtailp++ + if mtailp >= len(mtailS) { + nyys := make([]mtailSymType, len(mtailS)*2) + copy(nyys, mtailS) + mtailS = nyys + } + mtailS[mtailp] = mtailVAL + mtailS[mtailp].yys = mtailstate + +mtailnewstate: + mtailn = int(mtailPact[mtailstate]) + if mtailn <= mtailFlag { + goto mtaildefault /* simple state */ + } + if mtailrcvr.char < 0 { + mtailrcvr.char, mtailtoken = mtaillex1(mtaillex, &mtailrcvr.lval) + } + mtailn += mtailtoken + if mtailn < 0 || mtailn >= mtailLast { + goto mtaildefault + } + mtailn = int(mtailAct[mtailn]) + if int(mtailChk[mtailn]) == mtailtoken { /* valid shift */ + mtailrcvr.char = -1 + mtailtoken = -1 + mtailVAL = mtailrcvr.lval + mtailstate = mtailn + if Errflag > 0 { + Errflag-- + } + goto mtailstack + } + +mtaildefault: + /* default state action */ + mtailn = int(mtailDef[mtailstate]) + if mtailn == -2 { + if mtailrcvr.char < 0 { + mtailrcvr.char, mtailtoken = mtaillex1(mtaillex, &mtailrcvr.lval) + } + + /* look through exception table */ + xi := 0 + for { + if mtailExca[xi+0] == -1 && int(mtailExca[xi+1]) == mtailstate { + break + } + xi += 2 + } + for xi += 2; ; xi += 2 { + mtailn = int(mtailExca[xi+0]) + if mtailn < 0 || mtailn == mtailtoken { + break + } + } + mtailn = int(mtailExca[xi+1]) + if mtailn < 0 { + goto ret0 + } + } + if mtailn == 0 { + /* error ... attempt to resume parsing */ + switch Errflag { + case 0: /* brand new error */ + mtaillex.Error(mtailErrorMessage(mtailstate, mtailtoken)) + Nerrs++ + if mtailDebug >= 1 { + __yyfmt__.Printf("%s", mtailStatname(mtailstate)) + __yyfmt__.Printf(" saw %s\n", mtailTokname(mtailtoken)) + } + fallthrough + + case 1, 2: /* incompletely recovered error ... try again */ + Errflag = 3 + + /* find a state where "error" is a legal shift action */ + for mtailp >= 0 { + mtailn = int(mtailPact[mtailS[mtailp].yys]) + mtailErrCode + if mtailn >= 0 && mtailn < mtailLast { + mtailstate = int(mtailAct[mtailn]) /* simulate a shift of "error" */ + if int(mtailChk[mtailstate]) == mtailErrCode { + goto mtailstack + } + } + + /* the current p has no shift on "error", pop stack */ + if mtailDebug >= 2 { + __yyfmt__.Printf("error recovery pops state %d\n", mtailS[mtailp].yys) + } + mtailp-- + } + /* there is no state on the stack with an error shift ... abort */ + goto ret1 + + case 3: /* no shift yet; clobber input char */ + if mtailDebug >= 2 { + __yyfmt__.Printf("error recovery discards %s\n", mtailTokname(mtailtoken)) + } + if mtailtoken == mtailEofCode { + goto ret1 + } + mtailrcvr.char = -1 + mtailtoken = -1 + goto mtailnewstate /* try again in the same state */ + } + } + + /* reduction by production mtailn */ + if mtailDebug >= 2 { + __yyfmt__.Printf("reduce %v in:\n\t%v\n", mtailn, mtailStatname(mtailstate)) + } + + mtailnt := mtailn + mtailpt := mtailp + _ = mtailpt // guard against "declared and not used" + + mtailp -= int(mtailR2[mtailn]) + // mtailp is now the index of $0. Perform the default action. Iff the + // reduced production is Îĩ, $1 is possibly out of range. + if mtailp+1 >= len(mtailS) { + nyys := make([]mtailSymType, len(mtailS)*2) + copy(nyys, mtailS) + mtailS = nyys + } + mtailVAL = mtailS[mtailp+1] + + /* consult goto table to find next state */ + mtailn = int(mtailR1[mtailn]) + mtailg := int(mtailPgo[mtailn]) + mtailj := mtailg + mtailS[mtailp].yys + 1 + + if mtailj >= mtailLast { + mtailstate = int(mtailAct[mtailg]) + } else { + mtailstate = int(mtailAct[mtailj]) + if int(mtailChk[mtailstate]) != -mtailn { + mtailstate = int(mtailAct[mtailg]) + } + } + // dummy call; replaced with literal code + switch mtailnt { + + case 1: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:93 + { + mtaillex.(*parser).root = mtailDollar[1].n + } + case 2: + mtailDollar = mtailS[mtailpt-0 : mtailpt+1] +//line parser.y:101 + { + mtailVAL.n = &ast.StmtList{} + } + case 3: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:105 + { + mtailVAL.n = mtailDollar[1].n + if mtailDollar[2].n != nil { + mtailVAL.n.(*ast.StmtList).Children = append(mtailVAL.n.(*ast.StmtList).Children, mtailDollar[2].n) + } + } + case 4: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:116 + { + mtailVAL.n = mtailDollar[1].n + } + case 5: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:118 + { + mtailVAL.n = mtailDollar[1].n + } + case 6: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:120 + { + mtailVAL.n = mtailDollar[1].n + } + case 7: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:122 + { + mtailVAL.n = mtailDollar[1].n + } + case 8: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:124 + { + mtailVAL.n = mtailDollar[1].n + } + case 9: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:126 + { + mtailVAL.n = mtailDollar[1].n + } + case 10: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:128 + { + mtailVAL.n = &ast.NextStmt{tokenpos(mtaillex)} + } + case 11: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:132 + { + mtailVAL.n = &ast.PatternFragment{ID: mtailDollar[2].n, Expr: mtailDollar[4].n} + } + case 12: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:136 + { + mtailVAL.n = &ast.StopStmt{tokenpos(mtaillex)} + } + case 13: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:140 + { + mtailVAL.n = &ast.Error{tokenpos(mtaillex), mtailDollar[1].text} + } + case 14: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:148 + { + mtailVAL.n = &ast.CondStmt{mtailDollar[1].n, mtailDollar[2].n, mtailDollar[4].n, nil} + } + case 15: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:152 + { + if mtailDollar[1].n != nil { + mtailVAL.n = &ast.CondStmt{mtailDollar[1].n, mtailDollar[2].n, nil, nil} + } else { + mtailVAL.n = mtailDollar[2].n + } + } + case 16: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:160 + { + o := &ast.OtherwiseStmt{positionFromMark(mtaillex)} + mtailVAL.n = &ast.CondStmt{o, mtailDollar[3].n, nil, nil} + } + case 17: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:168 + { + mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: MATCH} + } + case 18: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:172 + { + mtailVAL.n = &ast.BinaryExpr{ + LHS: &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: MATCH}, + RHS: mtailDollar[4].n, + Op: mtailDollar[2].op, + } + } + case 19: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:180 + { + mtailVAL.n = mtailDollar[1].n + } + case 20: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:186 + { + mtailVAL.n = nil + } + case 21: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:188 + { + mtailVAL.n = mtailDollar[1].n + } + case 22: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:194 + { + mtailVAL.n = mtailDollar[2].n + } + case 23: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:202 + { + mtailVAL.n = mtailDollar[1].n + } + case 24: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:204 + { + mtailVAL.n = mtailDollar[1].n + } + case 25: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:210 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 26: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:214 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 27: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:222 + { + mtailVAL.n = mtailDollar[1].n + } + case 28: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:224 + { + mtailVAL.n = mtailDollar[1].n + } + case 29: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:226 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 30: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:230 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 31: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:237 + { + mtailVAL.op = mtailDollar[1].op + } + case 32: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:239 + { + mtailVAL.op = mtailDollar[1].op + } + case 33: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:245 + { + mtailVAL.n = mtailDollar[1].n + } + case 34: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:247 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 35: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:254 + { + mtailVAL.op = mtailDollar[1].op + } + case 36: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:256 + { + mtailVAL.op = mtailDollar[1].op + } + case 37: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:258 + { + mtailVAL.op = mtailDollar[1].op + } + case 38: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:264 + { + mtailVAL.n = mtailDollar[1].n + } + case 39: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:266 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 40: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:273 + { + mtailVAL.op = mtailDollar[1].op + } + case 41: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:275 + { + mtailVAL.op = mtailDollar[1].op + } + case 42: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:277 + { + mtailVAL.op = mtailDollar[1].op + } + case 43: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:279 + { + mtailVAL.op = mtailDollar[1].op + } + case 44: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:281 + { + mtailVAL.op = mtailDollar[1].op + } + case 45: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:283 + { + mtailVAL.op = mtailDollar[1].op + } + case 46: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:289 + { + mtailVAL.n = mtailDollar[1].n + } + case 47: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:291 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 48: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:298 + { + mtailVAL.op = mtailDollar[1].op + } + case 49: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:300 + { + mtailVAL.op = mtailDollar[1].op + } + case 50: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:306 + { + mtailVAL.n = mtailDollar[1].n + } + case 51: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:308 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 52: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:315 + { + mtailVAL.op = mtailDollar[1].op + } + case 53: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:317 + { + mtailVAL.op = mtailDollar[1].op + } + case 54: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:323 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 55: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:327 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 56: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:334 + { + mtailVAL.op = mtailDollar[1].op + } + case 57: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:336 + { + mtailVAL.op = mtailDollar[1].op + } + case 58: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:343 + { + mtailVAL.n = &ast.PatternExpr{Expr: mtailDollar[1].n} + } + case 59: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:351 + { + mtailVAL.n = mtailDollar[1].n + } + case 60: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:353 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: PLUS} + } + case 61: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:357 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: PLUS} + } + case 62: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:365 + { + mtailVAL.n = mtailDollar[1].n + } + case 63: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:367 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 64: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:374 + { + mtailVAL.op = mtailDollar[1].op + } + case 65: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:376 + { + mtailVAL.op = mtailDollar[1].op + } + case 66: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:378 + { + mtailVAL.op = mtailDollar[1].op + } + case 67: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:380 + { + mtailVAL.op = mtailDollar[1].op + } + case 68: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:386 + { + mtailVAL.n = mtailDollar[1].n + } + case 69: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:388 + { + mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[2].n, Op: mtailDollar[1].op} + } + case 70: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:396 + { + mtailVAL.n = mtailDollar[1].n + } + case 71: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:398 + { + mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: mtailDollar[2].op} + } + case 72: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:405 + { + mtailVAL.op = mtailDollar[1].op + } + case 73: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:407 + { + mtailVAL.op = mtailDollar[1].op + } + case 74: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:413 + { + mtailVAL.n = mtailDollar[1].n + } + case 75: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:415 + { + mtailVAL.n = mtailDollar[1].n + } + case 76: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:417 + { + mtailVAL.n = &ast.CaprefTerm{tokenpos(mtaillex), mtailDollar[1].text, false, nil} + } + case 77: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:421 + { + mtailVAL.n = &ast.CaprefTerm{tokenpos(mtaillex), mtailDollar[1].text, true, nil} + } + case 78: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:425 + { + mtailVAL.n = &ast.StringLit{tokenpos(mtaillex), mtailDollar[1].text} + } + case 79: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:429 + { + mtailVAL.n = mtailDollar[2].n + } + case 80: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:433 + { + mtailVAL.n = &ast.IntLit{tokenpos(mtaillex), mtailDollar[1].intVal} + } + case 81: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:437 + { + mtailVAL.n = &ast.FloatLit{tokenpos(mtaillex), mtailDollar[1].floatVal} + } + case 82: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:445 + { + // Build an empty IndexedExpr so that the recursive rule below doesn't need to handle the alternative. + mtailVAL.n = &ast.IndexedExpr{LHS: mtailDollar[1].n, Index: &ast.ExprList{}} + } + case 83: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:450 + { + mtailVAL.n = mtailDollar[1].n + mtailVAL.n.(*ast.IndexedExpr).Index.(*ast.ExprList).Children = append( + mtailVAL.n.(*ast.IndexedExpr).Index.(*ast.ExprList).Children, + mtailDollar[3].n.(*ast.ExprList).Children...) + } + case 84: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:461 + { + mtailVAL.n = &ast.IDTerm{tokenpos(mtaillex), mtailDollar[1].text, nil, false} + } + case 85: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:469 + { + mtailVAL.n = &ast.BuiltinExpr{P: positionFromMark(mtaillex), Name: mtailDollar[2].text, Args: nil} + } + case 86: + mtailDollar = mtailS[mtailpt-5 : mtailpt+1] +//line parser.y:473 + { + mtailVAL.n = &ast.BuiltinExpr{P: positionFromMark(mtaillex), Name: mtailDollar[2].text, Args: mtailDollar[4].n} + } + case 87: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:482 + { + mtailVAL.n = &ast.ExprList{} + mtailVAL.n.(*ast.ExprList).Children = append(mtailVAL.n.(*ast.ExprList).Children, mtailDollar[1].n) + } + case 88: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:487 + { + mtailVAL.n = mtailDollar[1].n + mtailVAL.n.(*ast.ExprList).Children = append(mtailVAL.n.(*ast.ExprList).Children, mtailDollar[3].n) + } + case 89: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:495 + { + mtailVAL.n = mtailDollar[1].n + } + case 90: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:497 + { + mtailVAL.n = mtailDollar[1].n + } + case 91: + mtailDollar = mtailS[mtailpt-5 : mtailpt+1] +//line parser.y:503 + { + mtailVAL.n = &ast.PatternLit{P: positionFromMark(mtaillex), Pattern: mtailDollar[4].text} + } + case 92: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:511 + { + mtailVAL.n = mtailDollar[3].n + d := mtailVAL.n.(*ast.VarDecl) + d.Kind = mtailDollar[2].kind + d.Hidden = mtailDollar[1].flag + } + case 93: + mtailDollar = mtailS[mtailpt-0 : mtailpt+1] +//line parser.y:522 + { + mtailVAL.flag = false + } + case 94: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:526 + { + mtailVAL.flag = true + } + case 95: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:534 + { + mtailVAL.n = mtailDollar[1].n + mtailVAL.n.(*ast.VarDecl).Keys = mtailDollar[2].texts + } + case 96: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:539 + { + mtailVAL.n = mtailDollar[1].n + mtailVAL.n.(*ast.VarDecl).ExportedName = mtailDollar[2].text + } + case 97: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:544 + { + mtailVAL.n = mtailDollar[1].n + mtailVAL.n.(*ast.VarDecl).Buckets = mtailDollar[2].floats + } + case 98: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:549 + { + mtailVAL.n = mtailDollar[1].n + mtailVAL.n.(*ast.VarDecl).Limit = mtailDollar[2].intVal + } + case 99: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:554 + { + mtailVAL.n = mtailDollar[1].n + } + case 100: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:562 + { + mtailVAL.n = &ast.VarDecl{P: tokenpos(mtaillex), Name: mtailDollar[1].text} + } + case 101: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:566 + { + mtailVAL.n = &ast.VarDecl{P: tokenpos(mtaillex), Name: mtailDollar[1].text} + } + case 102: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:574 + { + mtailVAL.kind = metrics.Counter + } + case 103: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:578 + { + mtailVAL.kind = metrics.Gauge + } + case 104: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:582 + { + mtailVAL.kind = metrics.Timer + } + case 105: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:586 + { + mtailVAL.kind = metrics.Text + } + case 106: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:590 + { + mtailVAL.kind = metrics.Histogram + } + case 107: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:598 + { + mtailVAL.texts = mtailDollar[2].texts + } + case 108: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:605 + { + mtailVAL.texts = make([]string, 0) + mtailVAL.texts = append(mtailVAL.texts, mtailDollar[1].text) + } + case 109: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:610 + { + mtailVAL.texts = mtailDollar[1].texts + mtailVAL.texts = append(mtailVAL.texts, mtailDollar[3].text) + } + case 110: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:618 + { + mtailVAL.text = mtailDollar[1].text + } + case 111: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:624 + { + mtailVAL.text = mtailDollar[2].text + } + case 112: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:631 + { + mtailVAL.intVal = mtailDollar[2].intVal + } + case 113: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:639 + { + mtailVAL.floats = mtailDollar[2].floats + } + case 114: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:645 + { + mtailVAL.floats = make([]float64, 0) + mtailVAL.floats = append(mtailVAL.floats, mtailDollar[1].floatVal) + } + case 115: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:650 + { + mtailVAL.floats = make([]float64, 0) + mtailVAL.floats = append(mtailVAL.floats, float64(mtailDollar[1].intVal)) + } + case 116: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:655 + { + mtailVAL.floats = mtailDollar[1].floats + mtailVAL.floats = append(mtailVAL.floats, mtailDollar[3].floatVal) + } + case 117: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:660 + { + mtailVAL.floats = mtailDollar[1].floats + mtailVAL.floats = append(mtailVAL.floats, float64(mtailDollar[3].intVal)) + } + case 118: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:668 + { + mtailVAL.n = &ast.DecoDecl{P: markedpos(mtaillex), Name: mtailDollar[3].text, Block: mtailDollar[4].n} + } + case 119: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:676 + { + mtailVAL.n = &ast.DecoStmt{markedpos(mtaillex), mtailDollar[2].text, mtailDollar[3].n, nil, nil} + } + case 120: + mtailDollar = mtailS[mtailpt-5 : mtailpt+1] +//line parser.y:684 + { + mtailVAL.n = &ast.DelStmt{P: positionFromMark(mtaillex), N: mtailDollar[3].n, Expiry: mtailDollar[5].duration} + } + case 121: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:688 + { + mtailVAL.n = &ast.DelStmt{P: positionFromMark(mtaillex), N: mtailDollar[3].n} + } + case 122: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:695 + { + mtailVAL.text = mtailDollar[1].text + } + case 123: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:699 + { + mtailVAL.text = mtailDollar[1].text + } + case 124: + mtailDollar = mtailS[mtailpt-0 : mtailpt+1] +//line parser.y:709 + { + glog.V(2).Infof("position marked at %v", tokenpos(mtaillex)) + mtaillex.(*parser).pos = tokenpos(mtaillex) + } + case 125: + mtailDollar = mtailS[mtailpt-0 : mtailpt+1] +//line parser.y:719 + { + mtaillex.(*parser).inRegex() + } + } + goto mtailstack /* stack new state and value */ +} diff --git a/internal/runtime/compiler/parser/y.output b/internal/runtime/compiler/parser/y.output new file mode 100644 index 000000000..d7620a328 --- /dev/null +++ b/internal/runtime/compiler/parser/y.output @@ -0,0 +1,1840 @@ + +state 0 + $accept: .start $end + stmt_list: . (2) + + . reduce 2 (src line 99) + + stmt_list goto 2 + start goto 1 + +state 1 + $accept: start.$end + + $end accept + . error + + +state 2 + start: stmt_list. (1) + stmt_list: stmt_list.stmt + mark_pos: . (124) + metric_hide_spec: . (93) + + $end reduce 1 (src line 91) + INVALID shift 13 + COUNTER reduce 93 (src line 520) + GAUGE reduce 93 (src line 520) + TIMER reduce 93 (src line 520) + TEXT reduce 93 (src line 520) + HISTOGRAM reduce 93 (src line 520) + CONST shift 11 + HIDDEN shift 23 + NEXT shift 10 + STOP shift 12 + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + LPAREN shift 37 + NL shift 16 + . reduce 124 (src line 707) + + stmt goto 3 + conditional_stmt goto 4 + conditional_expr goto 14 + expr_stmt goto 5 + expr goto 17 + primary_expr goto 28 + multiplicative_expr goto 44 + additive_expr goto 42 + postfix_expr goto 22 + unary_expr goto 27 + assign_expr goto 21 + rel_expr goto 30 + shift_expr goto 40 + bitwise_expr goto 25 + logical_expr goto 20 + indexed_expr goto 32 + id_expr goto 41 + concat_expr goto 24 + pattern_expr goto 19 + metric_declaration goto 6 + decorator_declaration goto 7 + decoration_stmt goto 8 + regex_pattern goto 29 + match_expr goto 26 + delete_stmt goto 9 + builtin_expr goto 33 + metric_hide_spec goto 18 + mark_pos goto 15 + +state 3 + stmt_list: stmt_list stmt. (3) + + . reduce 3 (src line 104) + + +state 4 + stmt: conditional_stmt. (4) + + . reduce 4 (src line 114) + + +state 5 + stmt: expr_stmt. (5) + + . reduce 5 (src line 117) + + +state 6 + stmt: metric_declaration. (6) + + . reduce 6 (src line 119) + + +state 7 + stmt: decorator_declaration. (7) + + . reduce 7 (src line 121) + + +state 8 + stmt: decoration_stmt. (8) + + . reduce 8 (src line 123) + + +state 9 + stmt: delete_stmt. (9) + + . reduce 9 (src line 125) + + +state 10 + stmt: NEXT. (10) + + . reduce 10 (src line 127) + + +state 11 + stmt: CONST.id_expr opt_nl concat_expr + + ID shift 43 + . error + + id_expr goto 45 + +state 12 + stmt: STOP. (12) + + . reduce 12 (src line 135) + + +state 13 + stmt: INVALID. (13) + + . reduce 13 (src line 139) + + +state 14 + conditional_stmt: conditional_expr.compound_stmt ELSE compound_stmt + conditional_stmt: conditional_expr.compound_stmt + + LCURLY shift 47 + . error + + compound_stmt goto 46 + +state 15 + conditional_stmt: mark_pos.OTHERWISE compound_stmt + builtin_expr: mark_pos.BUILTIN LPAREN RPAREN + builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN + regex_pattern: mark_pos.DIV in_regex REGEX DIV + decorator_declaration: mark_pos.DEF ID compound_stmt + decoration_stmt: mark_pos.DECO compound_stmt + delete_stmt: mark_pos.DEL postfix_expr AFTER DURATIONLITERAL + delete_stmt: mark_pos.DEL postfix_expr + + DEF shift 51 + DEL shift 53 + OTHERWISE shift 48 + BUILTIN shift 49 + DECO shift 52 + DIV shift 50 + . error + + +state 16 + expr_stmt: NL. (20) + + . reduce 20 (src line 184) + + +state 17 + expr_stmt: expr.NL + + NL shift 54 + . error + + +state 18 + metric_declaration: metric_hide_spec.metric_type_spec metric_decl_attr_spec + + COUNTER shift 56 + GAUGE shift 57 + TIMER shift 58 + TEXT shift 59 + HISTOGRAM shift 60 + . error + + metric_type_spec goto 55 + +state 19 + conditional_expr: pattern_expr. (17) + conditional_expr: pattern_expr.logical_op opt_nl logical_expr + + AND shift 62 + OR shift 63 + . reduce 17 (src line 166) + + logical_op goto 61 + +state 20 + conditional_expr: logical_expr. (19) + logical_expr: logical_expr.logical_op opt_nl bitwise_expr + logical_expr: logical_expr.logical_op opt_nl match_expr + + AND shift 62 + OR shift 63 + . reduce 19 (src line 179) + + logical_op goto 64 + +state 21 + expr: assign_expr. (23) + + . reduce 23 (src line 200) + + +state 22 + expr: postfix_expr. (24) + unary_expr: postfix_expr. (68) + postfix_expr: postfix_expr.postfix_op + + INC shift 66 + DEC shift 67 + NL reduce 24 (src line 203) + . reduce 68 (src line 384) + + postfix_op goto 65 + +state 23 + metric_hide_spec: HIDDEN. (94) + + . reduce 94 (src line 525) + + +state 24 + pattern_expr: concat_expr. (58) + concat_expr: concat_expr.PLUS opt_nl regex_pattern + concat_expr: concat_expr.PLUS opt_nl id_expr + + PLUS shift 68 + . reduce 58 (src line 341) + + +state 25 + logical_expr: bitwise_expr. (27) + bitwise_expr: bitwise_expr.bitwise_op opt_nl rel_expr + + BITAND shift 70 + XOR shift 72 + BITOR shift 71 + . reduce 27 (src line 220) + + bitwise_op goto 69 + +state 26 + logical_expr: match_expr. (28) + + . reduce 28 (src line 223) + + +state 27 + assign_expr: unary_expr.ASSIGN opt_nl logical_expr + assign_expr: unary_expr.ADD_ASSIGN opt_nl logical_expr + multiplicative_expr: unary_expr. (62) + + ADD_ASSIGN shift 74 + ASSIGN shift 73 + . reduce 62 (src line 363) + + +state 28 + match_expr: primary_expr.match_op opt_nl pattern_expr + match_expr: primary_expr.match_op opt_nl primary_expr + postfix_expr: primary_expr. (70) + + MATCH shift 76 + NOT_MATCH shift 77 + . reduce 70 (src line 394) + + match_op goto 75 + +state 29 + concat_expr: regex_pattern. (59) + + . reduce 59 (src line 349) + + +state 30 + bitwise_expr: rel_expr. (33) + rel_expr: rel_expr.rel_op opt_nl shift_expr + + LT shift 79 + GT shift 80 + LE shift 81 + GE shift 82 + EQ shift 83 + NE shift 84 + . reduce 33 (src line 243) + + rel_op goto 78 + +state 31 + unary_expr: NOT.unary_expr + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + LPAREN shift 37 + . reduce 124 (src line 707) + + primary_expr goto 87 + postfix_expr goto 86 + unary_expr goto 85 + indexed_expr goto 32 + id_expr goto 41 + builtin_expr goto 33 + mark_pos goto 88 + +state 32 + primary_expr: indexed_expr. (74) + indexed_expr: indexed_expr.LSQUARE arg_expr_list RSQUARE + + LSQUARE shift 89 + . reduce 74 (src line 411) + + +state 33 + primary_expr: builtin_expr. (75) + + . reduce 75 (src line 414) + + +state 34 + primary_expr: CAPREF. (76) + + . reduce 76 (src line 416) + + +state 35 + primary_expr: CAPREF_NAMED. (77) + + . reduce 77 (src line 420) + + +state 36 + primary_expr: STRING. (78) + + . reduce 78 (src line 424) + + +state 37 + primary_expr: LPAREN.logical_expr RPAREN + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + LPAREN shift 37 + . reduce 124 (src line 707) + + primary_expr goto 28 + multiplicative_expr goto 44 + additive_expr goto 42 + postfix_expr goto 86 + unary_expr goto 91 + rel_expr goto 30 + shift_expr goto 40 + bitwise_expr goto 25 + logical_expr goto 90 + indexed_expr goto 32 + id_expr goto 41 + match_expr goto 26 + builtin_expr goto 33 + mark_pos goto 88 + +state 38 + primary_expr: INTLITERAL. (80) + + . reduce 80 (src line 432) + + +state 39 + primary_expr: FLOATLITERAL. (81) + + . reduce 81 (src line 436) + + +state 40 + rel_expr: shift_expr. (38) + shift_expr: shift_expr.shift_op opt_nl additive_expr + + SHL shift 93 + SHR shift 94 + . reduce 38 (src line 262) + + shift_op goto 92 + +state 41 + indexed_expr: id_expr. (82) + + . reduce 82 (src line 443) + + +state 42 + shift_expr: additive_expr. (46) + additive_expr: additive_expr.add_op opt_nl multiplicative_expr + + MINUS shift 97 + PLUS shift 96 + . reduce 46 (src line 287) + + add_op goto 95 + +state 43 + id_expr: ID. (84) + + . reduce 84 (src line 459) + + +state 44 + additive_expr: multiplicative_expr. (50) + multiplicative_expr: multiplicative_expr.mul_op opt_nl unary_expr + + DIV shift 100 + MOD shift 101 + MUL shift 99 + POW shift 102 + . reduce 50 (src line 304) + + mul_op goto 98 + +state 45 + stmt: CONST id_expr.opt_nl concat_expr + opt_nl: . (126) + + NL shift 104 + . reduce 126 (src line 727) + + opt_nl goto 103 + +state 46 + conditional_stmt: conditional_expr compound_stmt.ELSE compound_stmt + conditional_stmt: conditional_expr compound_stmt. (15) + + ELSE shift 105 + . reduce 15 (src line 151) + + +state 47 + compound_stmt: LCURLY.stmt_list RCURLY + stmt_list: . (2) + + . reduce 2 (src line 99) + + stmt_list goto 106 + +state 48 + conditional_stmt: mark_pos OTHERWISE.compound_stmt + + LCURLY shift 47 + . error + + compound_stmt goto 107 + +state 49 + builtin_expr: mark_pos BUILTIN.LPAREN RPAREN + builtin_expr: mark_pos BUILTIN.LPAREN arg_expr_list RPAREN + + LPAREN shift 108 + . error + + +state 50 + regex_pattern: mark_pos DIV.in_regex REGEX DIV + in_regex: . (125) + + . reduce 125 (src line 717) + + in_regex goto 109 + +state 51 + decorator_declaration: mark_pos DEF.ID compound_stmt + + ID shift 110 + . error + + +state 52 + decoration_stmt: mark_pos DECO.compound_stmt + + LCURLY shift 47 + . error + + compound_stmt goto 111 + +state 53 + delete_stmt: mark_pos DEL.postfix_expr AFTER DURATIONLITERAL + delete_stmt: mark_pos DEL.postfix_expr + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + LPAREN shift 37 + . reduce 124 (src line 707) + + primary_expr goto 87 + postfix_expr goto 112 + indexed_expr goto 32 + id_expr goto 41 + builtin_expr goto 33 + mark_pos goto 88 + +state 54 + expr_stmt: expr NL. (21) + + . reduce 21 (src line 187) + + +state 55 + metric_declaration: metric_hide_spec metric_type_spec.metric_decl_attr_spec + + STRING shift 116 + ID shift 115 + . error + + metric_decl_attr_spec goto 113 + metric_name_spec goto 114 + +state 56 + metric_type_spec: COUNTER. (102) + + . reduce 102 (src line 572) + + +state 57 + metric_type_spec: GAUGE. (103) + + . reduce 103 (src line 577) + + +state 58 + metric_type_spec: TIMER. (104) + + . reduce 104 (src line 581) + + +state 59 + metric_type_spec: TEXT. (105) + + . reduce 105 (src line 585) + + +state 60 + metric_type_spec: HISTOGRAM. (106) + + . reduce 106 (src line 589) + + +state 61 + conditional_expr: pattern_expr logical_op.opt_nl logical_expr + opt_nl: . (126) + + NL shift 104 + . reduce 126 (src line 727) + + opt_nl goto 117 + +state 62 + logical_op: AND. (31) + + . reduce 31 (src line 235) + + +state 63 + logical_op: OR. (32) + + . reduce 32 (src line 238) + + +state 64 + logical_expr: logical_expr logical_op.opt_nl bitwise_expr + logical_expr: logical_expr logical_op.opt_nl match_expr + opt_nl: . (126) + + NL shift 104 + . reduce 126 (src line 727) + + opt_nl goto 118 + +state 65 + postfix_expr: postfix_expr postfix_op. (71) + + . reduce 71 (src line 397) + + +state 66 + postfix_op: INC. (72) + + . reduce 72 (src line 403) + + +state 67 + postfix_op: DEC. (73) + + . reduce 73 (src line 406) + + +state 68 + concat_expr: concat_expr PLUS.opt_nl regex_pattern + concat_expr: concat_expr PLUS.opt_nl id_expr + opt_nl: . (126) + + NL shift 104 + . reduce 126 (src line 727) + + opt_nl goto 119 + +state 69 + bitwise_expr: bitwise_expr bitwise_op.opt_nl rel_expr + opt_nl: . (126) + + NL shift 104 + . reduce 126 (src line 727) + + opt_nl goto 120 + +state 70 + bitwise_op: BITAND. (35) + + . reduce 35 (src line 252) + + +state 71 + bitwise_op: BITOR. (36) + + . reduce 36 (src line 255) + + +state 72 + bitwise_op: XOR. (37) + + . reduce 37 (src line 257) + + +state 73 + assign_expr: unary_expr ASSIGN.opt_nl logical_expr + opt_nl: . (126) + + NL shift 104 + . reduce 126 (src line 727) + + opt_nl goto 121 + +state 74 + assign_expr: unary_expr ADD_ASSIGN.opt_nl logical_expr + opt_nl: . (126) + + NL shift 104 + . reduce 126 (src line 727) + + opt_nl goto 122 + +state 75 + match_expr: primary_expr match_op.opt_nl pattern_expr + match_expr: primary_expr match_op.opt_nl primary_expr + opt_nl: . (126) + + NL shift 104 + . reduce 126 (src line 727) + + opt_nl goto 123 + +state 76 + match_op: MATCH. (56) + + . reduce 56 (src line 332) + + +state 77 + match_op: NOT_MATCH. (57) + + . reduce 57 (src line 335) + + +state 78 + rel_expr: rel_expr rel_op.opt_nl shift_expr + opt_nl: . (126) + + NL shift 104 + . reduce 126 (src line 727) + + opt_nl goto 124 + +state 79 + rel_op: LT. (40) + + . reduce 40 (src line 271) + + +state 80 + rel_op: GT. (41) + + . reduce 41 (src line 274) + + +state 81 + rel_op: LE. (42) + + . reduce 42 (src line 276) + + +state 82 + rel_op: GE. (43) + + . reduce 43 (src line 278) + + +state 83 + rel_op: EQ. (44) + + . reduce 44 (src line 280) + + +state 84 + rel_op: NE. (45) + + . reduce 45 (src line 282) + + +state 85 + unary_expr: NOT unary_expr. (69) + + . reduce 69 (src line 387) + + +state 86 + unary_expr: postfix_expr. (68) + postfix_expr: postfix_expr.postfix_op + + INC shift 66 + DEC shift 67 + . reduce 68 (src line 384) + + postfix_op goto 65 + +state 87 + postfix_expr: primary_expr. (70) + + . reduce 70 (src line 394) + + +state 88 + builtin_expr: mark_pos.BUILTIN LPAREN RPAREN + builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN + + BUILTIN shift 49 + . error + + +state 89 + indexed_expr: indexed_expr LSQUARE.arg_expr_list RSQUARE + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + LPAREN shift 37 + . reduce 124 (src line 707) + + arg_expr_list goto 125 + primary_expr goto 28 + multiplicative_expr goto 44 + additive_expr goto 42 + postfix_expr goto 86 + unary_expr goto 91 + rel_expr goto 30 + shift_expr goto 40 + bitwise_expr goto 25 + logical_expr goto 127 + indexed_expr goto 32 + id_expr goto 41 + concat_expr goto 24 + pattern_expr goto 128 + regex_pattern goto 29 + match_expr goto 26 + builtin_expr goto 33 + arg_expr goto 126 + mark_pos goto 129 + +state 90 + logical_expr: logical_expr.logical_op opt_nl bitwise_expr + logical_expr: logical_expr.logical_op opt_nl match_expr + primary_expr: LPAREN logical_expr.RPAREN + + AND shift 62 + OR shift 63 + RPAREN shift 130 + . error + + logical_op goto 64 + +state 91 + multiplicative_expr: unary_expr. (62) + + . reduce 62 (src line 363) + + +state 92 + shift_expr: shift_expr shift_op.opt_nl additive_expr + opt_nl: . (126) + + NL shift 104 + . reduce 126 (src line 727) + + opt_nl goto 131 + +state 93 + shift_op: SHL. (48) + + . reduce 48 (src line 296) + + +state 94 + shift_op: SHR. (49) + + . reduce 49 (src line 299) + + +state 95 + additive_expr: additive_expr add_op.opt_nl multiplicative_expr + opt_nl: . (126) + + NL shift 104 + . reduce 126 (src line 727) + + opt_nl goto 132 + +state 96 + add_op: PLUS. (52) + + . reduce 52 (src line 313) + + +state 97 + add_op: MINUS. (53) + + . reduce 53 (src line 316) + + +state 98 + multiplicative_expr: multiplicative_expr mul_op.opt_nl unary_expr + opt_nl: . (126) + + NL shift 104 + . reduce 126 (src line 727) + + opt_nl goto 133 + +state 99 + mul_op: MUL. (64) + + . reduce 64 (src line 372) + + +state 100 + mul_op: DIV. (65) + + . reduce 65 (src line 375) + + +state 101 + mul_op: MOD. (66) + + . reduce 66 (src line 377) + + +state 102 + mul_op: POW. (67) + + . reduce 67 (src line 379) + + +state 103 + stmt: CONST id_expr opt_nl.concat_expr + mark_pos: . (124) + + . reduce 124 (src line 707) + + concat_expr goto 134 + regex_pattern goto 29 + mark_pos goto 135 + +state 104 + opt_nl: NL. (127) + + . reduce 127 (src line 729) + + +state 105 + conditional_stmt: conditional_expr compound_stmt ELSE.compound_stmt + + LCURLY shift 47 + . error + + compound_stmt goto 136 + +state 106 + stmt_list: stmt_list.stmt + compound_stmt: LCURLY stmt_list.RCURLY + mark_pos: . (124) + metric_hide_spec: . (93) + + INVALID shift 13 + COUNTER reduce 93 (src line 520) + GAUGE reduce 93 (src line 520) + TIMER reduce 93 (src line 520) + TEXT reduce 93 (src line 520) + HISTOGRAM reduce 93 (src line 520) + CONST shift 11 + HIDDEN shift 23 + NEXT shift 10 + STOP shift 12 + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + RCURLY shift 137 + LPAREN shift 37 + NL shift 16 + . reduce 124 (src line 707) + + stmt goto 3 + conditional_stmt goto 4 + conditional_expr goto 14 + expr_stmt goto 5 + expr goto 17 + primary_expr goto 28 + multiplicative_expr goto 44 + additive_expr goto 42 + postfix_expr goto 22 + unary_expr goto 27 + assign_expr goto 21 + rel_expr goto 30 + shift_expr goto 40 + bitwise_expr goto 25 + logical_expr goto 20 + indexed_expr goto 32 + id_expr goto 41 + concat_expr goto 24 + pattern_expr goto 19 + metric_declaration goto 6 + decorator_declaration goto 7 + decoration_stmt goto 8 + regex_pattern goto 29 + match_expr goto 26 + delete_stmt goto 9 + builtin_expr goto 33 + metric_hide_spec goto 18 + mark_pos goto 15 + +state 107 + conditional_stmt: mark_pos OTHERWISE compound_stmt. (16) + + . reduce 16 (src line 159) + + +state 108 + builtin_expr: mark_pos BUILTIN LPAREN.RPAREN + builtin_expr: mark_pos BUILTIN LPAREN.arg_expr_list RPAREN + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + LPAREN shift 37 + RPAREN shift 138 + . reduce 124 (src line 707) + + arg_expr_list goto 139 + primary_expr goto 28 + multiplicative_expr goto 44 + additive_expr goto 42 + postfix_expr goto 86 + unary_expr goto 91 + rel_expr goto 30 + shift_expr goto 40 + bitwise_expr goto 25 + logical_expr goto 127 + indexed_expr goto 32 + id_expr goto 41 + concat_expr goto 24 + pattern_expr goto 128 + regex_pattern goto 29 + match_expr goto 26 + builtin_expr goto 33 + arg_expr goto 126 + mark_pos goto 129 + +state 109 + regex_pattern: mark_pos DIV in_regex.REGEX DIV + + REGEX shift 140 + . error + + +state 110 + decorator_declaration: mark_pos DEF ID.compound_stmt + + LCURLY shift 47 + . error + + compound_stmt goto 141 + +state 111 + decoration_stmt: mark_pos DECO compound_stmt. (119) + + . reduce 119 (src line 674) + + +state 112 + postfix_expr: postfix_expr.postfix_op + delete_stmt: mark_pos DEL postfix_expr.AFTER DURATIONLITERAL + delete_stmt: mark_pos DEL postfix_expr. (121) + + AFTER shift 142 + INC shift 66 + DEC shift 67 + . reduce 121 (src line 687) + + postfix_op goto 65 + +state 113 + metric_declaration: metric_hide_spec metric_type_spec metric_decl_attr_spec. (92) + metric_decl_attr_spec: metric_decl_attr_spec.metric_by_spec + metric_decl_attr_spec: metric_decl_attr_spec.metric_as_spec + metric_decl_attr_spec: metric_decl_attr_spec.metric_buckets_spec + metric_decl_attr_spec: metric_decl_attr_spec.metric_limit_spec + + AS shift 148 + BY shift 147 + BUCKETS shift 149 + LIMIT shift 150 + . reduce 92 (src line 509) + + metric_limit_spec goto 146 + metric_as_spec goto 144 + metric_by_spec goto 143 + metric_buckets_spec goto 145 + +state 114 + metric_decl_attr_spec: metric_name_spec. (99) + + . reduce 99 (src line 553) + + +state 115 + metric_name_spec: ID. (100) + + . reduce 100 (src line 560) + + +state 116 + metric_name_spec: STRING. (101) + + . reduce 101 (src line 565) + + +state 117 + conditional_expr: pattern_expr logical_op opt_nl.logical_expr + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + LPAREN shift 37 + . reduce 124 (src line 707) + + primary_expr goto 28 + multiplicative_expr goto 44 + additive_expr goto 42 + postfix_expr goto 86 + unary_expr goto 91 + rel_expr goto 30 + shift_expr goto 40 + bitwise_expr goto 25 + logical_expr goto 151 + indexed_expr goto 32 + id_expr goto 41 + match_expr goto 26 + builtin_expr goto 33 + mark_pos goto 88 + +state 118 + logical_expr: logical_expr logical_op opt_nl.bitwise_expr + logical_expr: logical_expr logical_op opt_nl.match_expr + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + LPAREN shift 37 + . reduce 124 (src line 707) + + primary_expr goto 28 + multiplicative_expr goto 44 + additive_expr goto 42 + postfix_expr goto 86 + unary_expr goto 91 + rel_expr goto 30 + shift_expr goto 40 + bitwise_expr goto 152 + indexed_expr goto 32 + id_expr goto 41 + match_expr goto 153 + builtin_expr goto 33 + mark_pos goto 88 + +state 119 + concat_expr: concat_expr PLUS opt_nl.regex_pattern + concat_expr: concat_expr PLUS opt_nl.id_expr + mark_pos: . (124) + + ID shift 43 + . reduce 124 (src line 707) + + id_expr goto 155 + regex_pattern goto 154 + mark_pos goto 135 + +state 120 + bitwise_expr: bitwise_expr bitwise_op opt_nl.rel_expr + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + LPAREN shift 37 + . reduce 124 (src line 707) + + primary_expr goto 87 + multiplicative_expr goto 44 + additive_expr goto 42 + postfix_expr goto 86 + unary_expr goto 91 + rel_expr goto 156 + shift_expr goto 40 + indexed_expr goto 32 + id_expr goto 41 + builtin_expr goto 33 + mark_pos goto 88 + +state 121 + assign_expr: unary_expr ASSIGN opt_nl.logical_expr + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + LPAREN shift 37 + . reduce 124 (src line 707) + + primary_expr goto 28 + multiplicative_expr goto 44 + additive_expr goto 42 + postfix_expr goto 86 + unary_expr goto 91 + rel_expr goto 30 + shift_expr goto 40 + bitwise_expr goto 25 + logical_expr goto 157 + indexed_expr goto 32 + id_expr goto 41 + match_expr goto 26 + builtin_expr goto 33 + mark_pos goto 88 + +state 122 + assign_expr: unary_expr ADD_ASSIGN opt_nl.logical_expr + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + LPAREN shift 37 + . reduce 124 (src line 707) + + primary_expr goto 28 + multiplicative_expr goto 44 + additive_expr goto 42 + postfix_expr goto 86 + unary_expr goto 91 + rel_expr goto 30 + shift_expr goto 40 + bitwise_expr goto 25 + logical_expr goto 158 + indexed_expr goto 32 + id_expr goto 41 + match_expr goto 26 + builtin_expr goto 33 + mark_pos goto 88 + +state 123 + match_expr: primary_expr match_op opt_nl.pattern_expr + match_expr: primary_expr match_op opt_nl.primary_expr + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + LPAREN shift 37 + . reduce 124 (src line 707) + + primary_expr goto 160 + indexed_expr goto 32 + id_expr goto 41 + concat_expr goto 24 + pattern_expr goto 159 + regex_pattern goto 29 + builtin_expr goto 33 + mark_pos goto 129 + +state 124 + rel_expr: rel_expr rel_op opt_nl.shift_expr + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + LPAREN shift 37 + . reduce 124 (src line 707) + + primary_expr goto 87 + multiplicative_expr goto 44 + additive_expr goto 42 + postfix_expr goto 86 + unary_expr goto 91 + shift_expr goto 161 + indexed_expr goto 32 + id_expr goto 41 + builtin_expr goto 33 + mark_pos goto 88 + +state 125 + indexed_expr: indexed_expr LSQUARE arg_expr_list.RSQUARE + arg_expr_list: arg_expr_list.COMMA arg_expr + + RSQUARE shift 162 + COMMA shift 163 + . error + + +state 126 + arg_expr_list: arg_expr. (87) + + . reduce 87 (src line 480) + + +state 127 + logical_expr: logical_expr.logical_op opt_nl bitwise_expr + logical_expr: logical_expr.logical_op opt_nl match_expr + arg_expr: logical_expr. (89) + + AND shift 62 + OR shift 63 + . reduce 89 (src line 493) + + logical_op goto 64 + +state 128 + arg_expr: pattern_expr. (90) + + . reduce 90 (src line 496) + + +state 129 + builtin_expr: mark_pos.BUILTIN LPAREN RPAREN + builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN + regex_pattern: mark_pos.DIV in_regex REGEX DIV + + BUILTIN shift 49 + DIV shift 50 + . error + + +state 130 + primary_expr: LPAREN logical_expr RPAREN. (79) + + . reduce 79 (src line 428) + + +state 131 + shift_expr: shift_expr shift_op opt_nl.additive_expr + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + LPAREN shift 37 + . reduce 124 (src line 707) + + primary_expr goto 87 + multiplicative_expr goto 44 + additive_expr goto 164 + postfix_expr goto 86 + unary_expr goto 91 + indexed_expr goto 32 + id_expr goto 41 + builtin_expr goto 33 + mark_pos goto 88 + +state 132 + additive_expr: additive_expr add_op opt_nl.multiplicative_expr + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + LPAREN shift 37 + . reduce 124 (src line 707) + + primary_expr goto 87 + multiplicative_expr goto 165 + postfix_expr goto 86 + unary_expr goto 91 + indexed_expr goto 32 + id_expr goto 41 + builtin_expr goto 33 + mark_pos goto 88 + +state 133 + multiplicative_expr: multiplicative_expr mul_op opt_nl.unary_expr + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + LPAREN shift 37 + . reduce 124 (src line 707) + + primary_expr goto 87 + postfix_expr goto 86 + unary_expr goto 166 + indexed_expr goto 32 + id_expr goto 41 + builtin_expr goto 33 + mark_pos goto 88 + +state 134 + stmt: CONST id_expr opt_nl concat_expr. (11) + concat_expr: concat_expr.PLUS opt_nl regex_pattern + concat_expr: concat_expr.PLUS opt_nl id_expr + + PLUS shift 68 + . reduce 11 (src line 131) + + +state 135 + regex_pattern: mark_pos.DIV in_regex REGEX DIV + + DIV shift 50 + . error + + +state 136 + conditional_stmt: conditional_expr compound_stmt ELSE compound_stmt. (14) + + . reduce 14 (src line 146) + + +state 137 + compound_stmt: LCURLY stmt_list RCURLY. (22) + + . reduce 22 (src line 192) + + +state 138 + builtin_expr: mark_pos BUILTIN LPAREN RPAREN. (85) + + . reduce 85 (src line 467) + + +state 139 + builtin_expr: mark_pos BUILTIN LPAREN arg_expr_list.RPAREN + arg_expr_list: arg_expr_list.COMMA arg_expr + + RPAREN shift 167 + COMMA shift 163 + . error + + +state 140 + regex_pattern: mark_pos DIV in_regex REGEX.DIV + + DIV shift 168 + . error + + +state 141 + decorator_declaration: mark_pos DEF ID compound_stmt. (118) + + . reduce 118 (src line 666) + + +state 142 + delete_stmt: mark_pos DEL postfix_expr AFTER.DURATIONLITERAL + + DURATIONLITERAL shift 169 + . error + + +state 143 + metric_decl_attr_spec: metric_decl_attr_spec metric_by_spec. (95) + + . reduce 95 (src line 532) + + +state 144 + metric_decl_attr_spec: metric_decl_attr_spec metric_as_spec. (96) + + . reduce 96 (src line 538) + + +state 145 + metric_decl_attr_spec: metric_decl_attr_spec metric_buckets_spec. (97) + + . reduce 97 (src line 543) + + +state 146 + metric_decl_attr_spec: metric_decl_attr_spec metric_limit_spec. (98) + + . reduce 98 (src line 548) + + +state 147 + metric_by_spec: BY.metric_by_expr_list + + STRING shift 174 + ID shift 173 + . error + + id_or_string goto 172 + metric_by_expr goto 171 + metric_by_expr_list goto 170 + +state 148 + metric_as_spec: AS.STRING + + STRING shift 175 + . error + + +state 149 + metric_buckets_spec: BUCKETS.metric_buckets_list + + INTLITERAL shift 178 + FLOATLITERAL shift 177 + . error + + metric_buckets_list goto 176 + +state 150 + metric_limit_spec: LIMIT.INTLITERAL + + INTLITERAL shift 179 + . error + + +state 151 + conditional_expr: pattern_expr logical_op opt_nl logical_expr. (18) + logical_expr: logical_expr.logical_op opt_nl bitwise_expr + logical_expr: logical_expr.logical_op opt_nl match_expr + + AND shift 62 + OR shift 63 + . reduce 18 (src line 171) + + logical_op goto 64 + +state 152 + logical_expr: logical_expr logical_op opt_nl bitwise_expr. (29) + bitwise_expr: bitwise_expr.bitwise_op opt_nl rel_expr + + BITAND shift 70 + XOR shift 72 + BITOR shift 71 + . reduce 29 (src line 225) + + bitwise_op goto 69 + +state 153 + logical_expr: logical_expr logical_op opt_nl match_expr. (30) + + . reduce 30 (src line 229) + + +state 154 + concat_expr: concat_expr PLUS opt_nl regex_pattern. (60) + + . reduce 60 (src line 352) + + +state 155 + concat_expr: concat_expr PLUS opt_nl id_expr. (61) + + . reduce 61 (src line 356) + + +state 156 + bitwise_expr: bitwise_expr bitwise_op opt_nl rel_expr. (34) + rel_expr: rel_expr.rel_op opt_nl shift_expr + + LT shift 79 + GT shift 80 + LE shift 81 + GE shift 82 + EQ shift 83 + NE shift 84 + . reduce 34 (src line 246) + + rel_op goto 78 + +state 157 + assign_expr: unary_expr ASSIGN opt_nl logical_expr. (25) + logical_expr: logical_expr.logical_op opt_nl bitwise_expr + logical_expr: logical_expr.logical_op opt_nl match_expr + + AND shift 62 + OR shift 63 + . reduce 25 (src line 208) + + logical_op goto 64 + +state 158 + assign_expr: unary_expr ADD_ASSIGN opt_nl logical_expr. (26) + logical_expr: logical_expr.logical_op opt_nl bitwise_expr + logical_expr: logical_expr.logical_op opt_nl match_expr + + AND shift 62 + OR shift 63 + . reduce 26 (src line 213) + + logical_op goto 64 + +state 159 + match_expr: primary_expr match_op opt_nl pattern_expr. (54) + + . reduce 54 (src line 321) + + +state 160 + match_expr: primary_expr match_op opt_nl primary_expr. (55) + + . reduce 55 (src line 326) + + +state 161 + rel_expr: rel_expr rel_op opt_nl shift_expr. (39) + shift_expr: shift_expr.shift_op opt_nl additive_expr + + SHL shift 93 + SHR shift 94 + . reduce 39 (src line 265) + + shift_op goto 92 + +state 162 + indexed_expr: indexed_expr LSQUARE arg_expr_list RSQUARE. (83) + + . reduce 83 (src line 449) + + +state 163 + arg_expr_list: arg_expr_list COMMA.arg_expr + mark_pos: . (124) + + STRING shift 36 + CAPREF shift 34 + CAPREF_NAMED shift 35 + ID shift 43 + INTLITERAL shift 38 + FLOATLITERAL shift 39 + NOT shift 31 + LPAREN shift 37 + . reduce 124 (src line 707) + + primary_expr goto 28 + multiplicative_expr goto 44 + additive_expr goto 42 + postfix_expr goto 86 + unary_expr goto 91 + rel_expr goto 30 + shift_expr goto 40 + bitwise_expr goto 25 + logical_expr goto 127 + indexed_expr goto 32 + id_expr goto 41 + concat_expr goto 24 + pattern_expr goto 128 + regex_pattern goto 29 + match_expr goto 26 + builtin_expr goto 33 + arg_expr goto 180 + mark_pos goto 129 + +state 164 + shift_expr: shift_expr shift_op opt_nl additive_expr. (47) + additive_expr: additive_expr.add_op opt_nl multiplicative_expr + + MINUS shift 97 + PLUS shift 96 + . reduce 47 (src line 290) + + add_op goto 95 + +state 165 + additive_expr: additive_expr add_op opt_nl multiplicative_expr. (51) + multiplicative_expr: multiplicative_expr.mul_op opt_nl unary_expr + + DIV shift 100 + MOD shift 101 + MUL shift 99 + POW shift 102 + . reduce 51 (src line 307) + + mul_op goto 98 + +state 166 + multiplicative_expr: multiplicative_expr mul_op opt_nl unary_expr. (63) + + . reduce 63 (src line 366) + + +state 167 + builtin_expr: mark_pos BUILTIN LPAREN arg_expr_list RPAREN. (86) + + . reduce 86 (src line 472) + + +state 168 + regex_pattern: mark_pos DIV in_regex REGEX DIV. (91) + + . reduce 91 (src line 501) + + +state 169 + delete_stmt: mark_pos DEL postfix_expr AFTER DURATIONLITERAL. (120) + + . reduce 120 (src line 682) + + +state 170 + metric_by_spec: BY metric_by_expr_list. (107) + metric_by_expr_list: metric_by_expr_list.COMMA metric_by_expr + + COMMA shift 181 + . reduce 107 (src line 596) + + +state 171 + metric_by_expr_list: metric_by_expr. (108) + + . reduce 108 (src line 603) + + +state 172 + metric_by_expr: id_or_string. (110) + + . reduce 110 (src line 616) + + +state 173 + id_or_string: ID. (122) + + . reduce 122 (src line 693) + + +state 174 + id_or_string: STRING. (123) + + . reduce 123 (src line 698) + + +state 175 + metric_as_spec: AS STRING. (111) + + . reduce 111 (src line 622) + + +state 176 + metric_buckets_spec: BUCKETS metric_buckets_list. (113) + metric_buckets_list: metric_buckets_list.COMMA FLOATLITERAL + metric_buckets_list: metric_buckets_list.COMMA INTLITERAL + + COMMA shift 182 + . reduce 113 (src line 637) + + +state 177 + metric_buckets_list: FLOATLITERAL. (114) + + . reduce 114 (src line 643) + + +state 178 + metric_buckets_list: INTLITERAL. (115) + + . reduce 115 (src line 649) + + +state 179 + metric_limit_spec: LIMIT INTLITERAL. (112) + + . reduce 112 (src line 629) + + +state 180 + arg_expr_list: arg_expr_list COMMA arg_expr. (88) + + . reduce 88 (src line 486) + + +state 181 + metric_by_expr_list: metric_by_expr_list COMMA.metric_by_expr + + STRING shift 174 + ID shift 173 + . error + + id_or_string goto 172 + metric_by_expr goto 183 + +state 182 + metric_buckets_list: metric_buckets_list COMMA.FLOATLITERAL + metric_buckets_list: metric_buckets_list COMMA.INTLITERAL + + INTLITERAL shift 185 + FLOATLITERAL shift 184 + . error + + +state 183 + metric_by_expr_list: metric_by_expr_list COMMA metric_by_expr. (109) + + . reduce 109 (src line 609) + + +state 184 + metric_buckets_list: metric_buckets_list COMMA FLOATLITERAL. (116) + + . reduce 116 (src line 654) + + +state 185 + metric_buckets_list: metric_buckets_list COMMA INTLITERAL. (117) + + . reduce 117 (src line 659) + + +66 terminals, 55 nonterminals +128 grammar rules, 186/16000 states +0 shift/reduce, 0 reduce/reduce conflicts reported +104 working sets used +memory: parser 397/240000 +169 extra closures +282 shift entries, 13 exceptions +116 goto entries +193 entries saved by goto default +Optimizer space used: output 249/240000 +249 table entries, 2 zero +maximum spread: 66, maximum offset: 181 diff --git a/internal/runtime/runtime.go b/internal/runtime/runtime.go index 6cfec6f1f..9de23ab08 100644 --- a/internal/runtime/runtime.go +++ b/internal/runtime/runtime.go @@ -9,6 +9,7 @@ package runtime import ( "bytes" "crypto/sha256" + "encoding/binary" "expvar" "io" "os" @@ -31,6 +32,8 @@ import ( var ( // LineCount counts the number of lines received by the program loader. LineCount = expvar.NewInt("lines_total") + // ProgLinesCount counts the number of lines read by a program + ProgLinesCount = expvar.NewMap("prog_lines_total") // ProgLoads counts the number of program load events. ProgLoads = expvar.NewMap("prog_loads_total") // ProgUnloads counts the number of program unload events. @@ -170,6 +173,16 @@ func (r *Runtime) CompileAndRun(name string, input io.Reader) error { glog.Info("Dumping program objects and bytecode\n", v.DumpByteCode()) } + r.logmappingsMu.RLock() + r.logmappings[name] = map[uint32]struct{}{} + + for _, log := range obj.RelevantLogs { + hash := sha256.Sum256([]byte(log)) + r.logmappings[name][binary.BigEndian.Uint32(hash[:4])] = struct{}{} // is 8 enough? + } + + r.logmappingsMu.RUnlock() + // Load the metrics from the compilation into the global metric storage for export. for _, m := range v.Metrics { if !m.Hidden { @@ -226,6 +239,9 @@ type Runtime struct { handleMu sync.RWMutex // guards accesses to handles handles map[string]*vmHandle // map of program names to virtual machines + logmappingsMu sync.RWMutex // guards access to logmappings + logmappings map[string]map[uint32]struct{} // logmappings is a map of hashed log names against the programs they apply to + programErrorMu sync.RWMutex // guards access to programErrors programErrors map[string]error // errors from the last compile attempt of the program @@ -259,6 +275,7 @@ func New(lines <-chan *logline.LogLine, wg *sync.WaitGroup, programPath string, programPath: programPath, handles: make(map[string]*vmHandle), programErrors: make(map[string]error), + logmappings: make(map[string]map[uint32]struct{}), signalQuit: make(chan struct{}), } initDone := make(chan struct{}) @@ -287,9 +304,14 @@ func New(lines <-chan *logline.LogLine, wg *sync.WaitGroup, programPath string, for line := range lines { LineCount.Add(1) r.handleMu.RLock() + r.logmappingsMu.RLock() for prog := range r.handles { - r.handles[prog].lines <- line + if _, ok := r.logmappings[prog][line.Filenamehash]; ok || len(r.logmappings[prog]) == 0 { + ProgLinesCount.Add(prog, 1) + r.handles[prog].lines <- line + } } + r.logmappingsMu.RUnlock() r.handleMu.RUnlock() } glog.Info("END OF LINE") diff --git a/internal/runtime/runtime_test.go b/internal/runtime/runtime_test.go index 13c37fd91..ffabf94bc 100644 --- a/internal/runtime/runtime_test.go +++ b/internal/runtime/runtime_test.go @@ -93,3 +93,125 @@ func TestLoadProg(t *testing.T) { close(lines) wg.Wait() } + +func TestNewProcessesLines(t *testing.T) { + + tests := []struct { + lines []*logline.LogLine + logmappings map[uint32]struct{} + expected []*logline.LogLine + }{ + { + // Test case where one file is processed and one not. + lines: []*logline.LogLine{ + { + Filenamehash: 12345, + Line: "This is a valid log line", + }, + { + Filenamehash: 67890, + Line: "This log line should be ignored", + }, + }, + expected: []*logline.LogLine{ + { + Filenamehash: 12345, + Line: "This is a valid log line", + }, + }, + logmappings: map[uint32]struct{}{ + 12345: {}, // This maps to the first line. + }, + }, + { + // Test case where both file are processed. + lines: []*logline.LogLine{ + { + Filenamehash: 12345, + Line: "This is a valid log line", + }, + { + Filenamehash: 67890, + Line: "This is a valid log line", + }, + }, + expected: []*logline.LogLine{ + { + Filenamehash: 12345, + Line: "This is a valid log line", + }, + { + Filenamehash: 67890, + Line: "This is a valid log line", + }, + }, + logmappings: map[uint32]struct{}{ + 12345: {}, // This maps to the first line. + 67890: {}, // This maps to the first line. + }, + }, + { + // Test case where file process because no mapping. + lines: []*logline.LogLine{ + { + Filenamehash: 12345, + Line: "This is a valid log line", + }, + }, + expected: []*logline.LogLine{ + { + Filenamehash: 12345, + Line: "This is a valid log line", + }, + }, + logmappings: map[uint32]struct{}{}, // empty to all logs match + }, + { + // empty test case + lines: []*logline.LogLine{}, + expected: []*logline.LogLine{}, + logmappings: map[uint32]struct{}{}, // empty to all logs match + }, + } + + for _, tc := range tests { + // Create a channel for log lines. + lines := make(chan *logline.LogLine, len(tc.lines)) + for _, line := range tc.lines { + lines <- line + } + close(lines) + + var wg sync.WaitGroup + + store := metrics.NewStore() + // Create a Runtime instance with a logmapping for the first line. + r, err := New(lines, &wg, "", store) + testutil.FatalIfErr(t, err) + + // Add a logmapping for the first line. + r.logmappings["test_program"] = tc.logmappings + + // Add a mock program handle for "test_program". + linesReceived := make(chan *logline.LogLine, len(tc.expected)) + + // Start processing lines. + wg.Add(1) + go func() { + defer wg.Done() + for line := range lines { + if _, ok := r.logmappings["test_program"][line.Filenamehash]; ok { + linesReceived <- line + } + } + }() + + // Wait for the Runtime to finish processing. + wg.Wait() + + // Validate the lines received by the "test_program" handle. + + testutil.ExpectLinesReceivedNoDiff(t, tc.expected, linesReceived) + } + +} From 0d2125cabc00536a8f3f35932342a40ec957cb34 Mon Sep 17 00:00:00 2001 From: Jason Herbage Date: Fri, 27 Jun 2025 16:41:40 +0100 Subject: [PATCH 147/381] parser code for a logmapping keyword --- internal/runtime/code/object.go | 9 +++--- internal/runtime/compiler/ast/ast.go | 14 +++++++++ internal/runtime/compiler/ast/walk.go | 2 +- internal/runtime/compiler/codegen/codegen.go | 5 ++++ internal/runtime/compiler/parser/parser.y | 30 ++++++++++++++++++- .../runtime/compiler/parser/parser_test.go | 12 ++++++++ internal/runtime/compiler/parser/sexp.go | 7 +++++ internal/runtime/compiler/parser/unparser.go | 8 +++++ internal/runtime/compiler/types/types.go | 3 ++ 9 files changed, 84 insertions(+), 6 deletions(-) diff --git a/internal/runtime/code/object.go b/internal/runtime/code/object.go index 334207918..3fd5eb4fb 100644 --- a/internal/runtime/code/object.go +++ b/internal/runtime/code/object.go @@ -11,8 +11,9 @@ import ( // Object is the data and bytecode resulting from compiled program source. type Object struct { - Program []Instr // The program bytecode. - Strings []string // Static strings. - Regexps []*regexp.Regexp // Static regular expressions. - Metrics []*metrics.Metric // Metrics accessible to this program. + Program []Instr // The program bytecode. + Strings []string // Static strings. + Regexps []*regexp.Regexp // Static regular expressions. + Metrics []*metrics.Metric // Metrics accessible to this program. + RelevantLogs []string // logs this program can be used against - if empty can be applied to any log } diff --git a/internal/runtime/compiler/ast/ast.go b/internal/runtime/compiler/ast/ast.go index 348fffaf7..eeddcacec 100644 --- a/internal/runtime/compiler/ast/ast.go +++ b/internal/runtime/compiler/ast/ast.go @@ -296,6 +296,20 @@ func (n *PatternLit) Type() types.Type { return types.Pattern } +// LogMapping represents a LOGMAPPING construct in the AST. +type LogMapping struct { + P position.Position // Position of the LOGMAPPING keyword. + Mappings []string // List of strings provided in the LOGMAPPING. +} + +func (n *LogMapping) Pos() *position.Position { + return &n.P +} + +func (n *LogMapping) Type() types.Type { + return types.Pattern +} + // PatternFragment holds a named pattern part. type PatternFragment struct { ID Node diff --git a/internal/runtime/compiler/ast/walk.go b/internal/runtime/compiler/ast/walk.go index 02427785c..5d70c3f86 100644 --- a/internal/runtime/compiler/ast/walk.go +++ b/internal/runtime/compiler/ast/walk.go @@ -81,7 +81,7 @@ func Walk(v Visitor, node Node) Node { case *PatternFragment: n.Expr = Walk(v, n.Expr) - case *IDTerm, *CaprefTerm, *VarDecl, *StringLit, *IntLit, *FloatLit, *PatternLit, *NextStmt, *OtherwiseStmt, *DelStmt, *StopStmt: + case *LogMapping, *IDTerm, *CaprefTerm, *VarDecl, *StringLit, *IntLit, *FloatLit, *PatternLit, *NextStmt, *OtherwiseStmt, *DelStmt, *StopStmt: // These nodes are terminals, thus have no children to walk. default: diff --git a/internal/runtime/compiler/codegen/codegen.go b/internal/runtime/compiler/codegen/codegen.go index eac1505ec..dbdaa7305 100644 --- a/internal/runtime/compiler/codegen/codegen.go +++ b/internal/runtime/compiler/codegen/codegen.go @@ -325,6 +325,11 @@ func (c *codegen) VisitBefore(node ast.Node) (ast.Visitor, ast.Node) { c.obj.Program[pc].Opcode = code.Expire } + case *ast.LogMapping: + // Emit the list of log mappings into the RelevantLogs object. + c.obj.RelevantLogs = append(c.obj.RelevantLogs, n.Mappings...) + return nil, n + case *ast.BinaryExpr: switch n.Op { case parser.AND: diff --git a/internal/runtime/compiler/parser/parser.y b/internal/runtime/compiler/parser/parser.y index cc962d797..66995e520 100644 --- a/internal/runtime/compiler/parser/parser.y +++ b/internal/runtime/compiler/parser/parser.y @@ -28,6 +28,8 @@ import ( n ast.Node kind metrics.Kind duration time.Duration + logMappings []string + logMapping *ast.LogMapping // Add this field for *ast.LogMapping } %type stmt_list stmt arg_expr_list compound_stmt conditional_stmt conditional_expr expr_stmt @@ -42,6 +44,8 @@ import ( %type metric_hide_spec %type rel_op shift_op bitwise_op logical_op add_op mul_op match_op postfix_op %type metric_buckets_spec metric_buckets_list +%type log_mapping_spec +%type log_mapping_list // Tokens and types are defined here. // Invalid input %token INVALID @@ -73,6 +77,7 @@ import ( %token LCURLY RCURLY LPAREN RPAREN LSQUARE RSQUARE %token COMMA %token NL +%token LOGMAPPING %start start @@ -112,7 +117,9 @@ stmt_list /* Types of statements. */ stmt - : conditional_stmt + : log_mapping_spec %prec LOGMAPPING + { $$ = $1 } + | conditional_stmt { $$ = $1 } | expr_stmt { $$ = $1 } @@ -142,6 +149,27 @@ stmt } ; +log_mapping_spec + : LOGMAPPING log_mapping_list NL + { + $$ = &ast.LogMapping{ + P: tokenpos(mtaillex), + Mappings: $2, // $2 is the list of strings (type []string) + } + } + ; + +log_mapping_list + : STRING + { + $$ = []string{$1} + } + | log_mapping_list COMMA STRING + { + $$ = append($1, $3) + } + ; + /* Conditional statement is a test condition, and then actions executed depending on the result of the test. */ conditional_stmt : conditional_expr compound_stmt ELSE compound_stmt diff --git a/internal/runtime/compiler/parser/parser_test.go b/internal/runtime/compiler/parser/parser_test.go index 1bb927c2e..4c91b302e 100644 --- a/internal/runtime/compiler/parser/parser_test.go +++ b/internal/runtime/compiler/parser/parser_test.go @@ -438,6 +438,18 @@ $foo =~ X { /(\d,\d)/ { subst(/,/, "", $1) }`}, + { + "logmapping", + "logmapping \"foo\", \"bar\", \"baz\"\n", + }, + { + "logmapping then a clause", + "logmapping \"foo\", \"bar\", \"baz\"\n/foo/ {} else {}", + }, + { + "clause then a logmapping", + "/foo/ {} else {}\nlogmapping \"foo\", \"bar\", \"baz\"\n", + }, } func TestParserRoundTrip(t *testing.T) { diff --git a/internal/runtime/compiler/parser/sexp.go b/internal/runtime/compiler/parser/sexp.go index ef9e04600..c5bc8e32e 100644 --- a/internal/runtime/compiler/parser/sexp.go +++ b/internal/runtime/compiler/parser/sexp.go @@ -62,6 +62,13 @@ func (s *Sexp) VisitBefore(n ast.Node) (ast.Visitor, ast.Node) { s.indent() switch v := n.(type) { + case *ast.LogMapping: + s.emit("logmapping ") + if len(v.Mappings) > 0 { + s.emit(strings.Join(v.Mappings, ", ")) + } + s.newline() + case *ast.PatternFragment: s.emit("const ") ast.Walk(s, v.ID) diff --git a/internal/runtime/compiler/parser/unparser.go b/internal/runtime/compiler/parser/unparser.go index 4532fbd82..2029dc67d 100644 --- a/internal/runtime/compiler/parser/unparser.go +++ b/internal/runtime/compiler/parser/unparser.go @@ -52,6 +52,14 @@ func (u *Unparser) VisitBefore(n ast.Node) (ast.Visitor, ast.Node) { u.emit(fmt.Sprintf("<%s>(", n.Type())) } switch v := n.(type) { + + case *ast.LogMapping: + u.emit("logmapping ") + if len(v.Mappings) > 0 { + u.emit("\"" + strings.Join(v.Mappings, "\", \"") + "\"") + } + u.newline() + case *ast.StmtList: for _, child := range v.Children { ast.Walk(u, child) diff --git a/internal/runtime/compiler/types/types.go b/internal/runtime/compiler/types/types.go index d00f6af7f..bd24f5779 100644 --- a/internal/runtime/compiler/types/types.go +++ b/internal/runtime/compiler/types/types.go @@ -243,6 +243,8 @@ var ( Float = &Operator{"Float", []Type{}} String = &Operator{"String", []Type{}} Pattern = &Operator{"Pattern", []Type{}} + // LogMapping represents a type for the LOGMAPPING construct. + LogMapping = &Operator{"LogMapping", []Type{String}} // TODO(jaq): use composite type so we can typecheck the bucket directly, e.g. hist[j] = i. Buckets = &Operator{"Buckets", []Type{}} @@ -264,6 +266,7 @@ var Builtins = map[string]Type{ "tolower": Function(String, String), "getfilename": Function(String), "subst": Function(Pattern, String, String, String), + "logmapping": Function(String, LogMapping), } // FreshType returns a new type from the provided type scheme, replacing any From aed6b2de31d0b76808193077d4cca21393728ed9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Jun 2025 23:07:26 +0000 Subject: [PATCH 148/381] build(deps): bump slsa-framework/slsa-verifier from 2.7.0 to 2.7.1 Bumps [slsa-framework/slsa-verifier](https://github.com/slsa-framework/slsa-verifier) from 2.7.0 to 2.7.1. - [Release notes](https://github.com/slsa-framework/slsa-verifier/releases) - [Changelog](https://github.com/slsa-framework/slsa-verifier/blob/main/RELEASE.md) - [Commits](https://github.com/slsa-framework/slsa-verifier/compare/v2.7.0...v2.7.1) --- updated-dependencies: - dependency-name: slsa-framework/slsa-verifier dependency-version: 2.7.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 84e37371a..3d3744456 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -85,7 +85,7 @@ jobs: permissions: contents: read steps: - - uses: slsa-framework/slsa-verifier/actions/installer@v2.7.0 + - uses: slsa-framework/slsa-verifier/actions/installer@v2.7.1 - name: download assets env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 1eb863a719dc46a1e46aa4e7e67650ed4eb94f1b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Jun 2025 23:07:29 +0000 Subject: [PATCH 149/381] build(deps): bump lewagon/wait-on-check-action from 1.3.4 to 1.4.0 Bumps [lewagon/wait-on-check-action](https://github.com/lewagon/wait-on-check-action) from 1.3.4 to 1.4.0. - [Release notes](https://github.com/lewagon/wait-on-check-action/releases) - [Changelog](https://github.com/lewagon/wait-on-check-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/lewagon/wait-on-check-action/compare/v1.3.4...v1.4.0) --- updated-dependencies: - dependency-name: lewagon/wait-on-check-action dependency-version: 1.4.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/auto-review.yml | 2 +- .github/workflows/automerge.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-review.yml b/.github/workflows/auto-review.yml index cec2e03ed..09d49782d 100644 --- a/.github/workflows/auto-review.yml +++ b/.github/workflows/auto-review.yml @@ -30,7 +30,7 @@ jobs: # create review pull-requests: write steps: - - uses: lewagon/wait-on-check-action@v1.3.4 + - uses: lewagon/wait-on-check-action@v1.4.0 with: ref: ${{ github.event.pull_request.head.sha }} repo-token: ${{ github.token }} diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 4e4c7185f..072819456 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -40,7 +40,7 @@ jobs: # wait-on-check requires only checks read checks: read steps: - - uses: lewagon/wait-on-check-action@v1.3.4 + - uses: lewagon/wait-on-check-action@v1.4.0 with: ref: ${{ github.event.pull_request.head.sha }} check-regexp: "test.*" From dee1a617a7008a23cbe5d1558cb4205ef5d78475 Mon Sep 17 00:00:00 2001 From: Jason Herbage Date: Mon, 30 Jun 2025 13:10:06 +0100 Subject: [PATCH 150/381] Move the calculation of the hash and fix unit tests --- MODULE.bazel.lock | 20 +++--- internal/logline/logline.go | 9 ++- internal/mtail/logmapping_integration_test.go | 61 +++++++++++++++++++ internal/runtime/runtime_integration_test.go | 2 +- internal/runtime/vm/vm_test.go | 4 +- .../tailer/logstream/dgramstream_unix_test.go | 4 +- .../tailer/logstream/fifostream_unix_test.go | 12 ++-- internal/tailer/logstream/filestream_test.go | 20 +++--- internal/tailer/logstream/reader.go | 28 +++++---- .../logstream/socketstream_unix_test.go | 4 +- internal/tailer/tail_test.go | 18 +++--- internal/tailer/tail_unix_test.go | 4 +- 12 files changed, 127 insertions(+), 59 deletions(-) create mode 100644 internal/mtail/logmapping_integration_test.go diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index f414b6d7f..2fb986b91 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -11,8 +11,8 @@ "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/MODULE.bazel": "2b31ffcc9bdc8295b2167e07a757dbbc9ac8906e7028e5170a3708cecaac119f", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.1/MODULE.bazel": "5856d258da9d38d8b9c66e8eb7d4eff0a9770565b1014a483e14dd2fe5b55372", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.1/source.json": "74988e23bc5042325c783dcd1dc9ad006a66d747fb47553419befa03b133b91f", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.4/MODULE.bazel": "d39e4b18e594d81c526d7cfc513e7ecfa8ca9eb5b61488d1d790faa94b34f2d9", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.4/source.json": "506fa924e19fd8a33d617e33a17e4fce845f9ff9acb3a2aa7cf7300650698705", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.2/MODULE.bazel": "780d1a6522b28f5edb7ea09630748720721dfe27690d65a2d33aa7509de77e07", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838", "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", @@ -46,8 +46,8 @@ "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", - "https://bcr.bazel.build/modules/gazelle/0.43.0/MODULE.bazel": "846e1fe396eefc0f9ddad2b33e9bd364dd993fc2f42a88e31590fe0b0eefa3f0", - "https://bcr.bazel.build/modules/gazelle/0.43.0/source.json": "021a77f6625906d9d176e2fa351175e842622a5d45989312f2ad4924aab72df6", + "https://bcr.bazel.build/modules/gazelle/0.44.0/MODULE.bazel": "fd3177ca0938da57a1e416cad3f39b9c4334defbc717e89aba9d9ddbbb0341da", + "https://bcr.bazel.build/modules/gazelle/0.44.0/source.json": "7fb65ef9c1ce470d099ca27fd478673d9d64c844af28d0d472b0874c7d590cb6", "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", @@ -104,7 +104,7 @@ "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel": "55861d8e8bb0e62cbd2896f60ff303f62ffcb0eddb74ecb0e5c0cbe36fc292c8", "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", - "https://bcr.bazel.build/modules/rules_go/0.50.1/MODULE.bazel": "b91a308dc5782bb0a8021ad4330c81fea5bda77f96b9e4c117b9b9c8f6665ee0", + "https://bcr.bazel.build/modules/rules_go/0.51.0/MODULE.bazel": "b6920f505935bfd69381651c942496d99b16e2a12f3dd5263b90ded16f3b4d0f", "https://bcr.bazel.build/modules/rules_go/0.55.1/MODULE.bazel": "a57a6fc59a74326c0b440d07cca209edf13c7d1a641e48cfbeab56e79f873609", "https://bcr.bazel.build/modules/rules_go/0.55.1/source.json": "827a740c8959c9d20616889e7746cde4dcc6ee80d25146943627ccea0736328f", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", @@ -249,8 +249,8 @@ }, "@@rules_oci+//oci:extensions.bzl%oci": { "general": { - "bzlTransitiveDigest": "uEpunjGLWML3ybCaUvZUPdJNpyEUzHqoNTQiZqgImUc=", - "usagesDigest": "5vcJ3ZRcX2QDw/jnXBkVx+5HiVKa5UjvGeYw4sQNu8I=", + "bzlTransitiveDigest": "JYTZKsYgcCw/TSmUMag+JtBl8Sumrp33kiK4RB8F6vA=", + "usagesDigest": "oFSYcVPRWeSzHPw3iAIgQ2NAED64D1SRP8BRnnNnbRA=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -262,7 +262,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:cef75d12148305c54ef5769e6511a5ac3c820f39bf5c8a4fbfd5b76b4b8da843", + "identifier": "sha256:201ef9125ff3f55fda8e0697eff0b3ce9078366503ef066653635a3ac3ed9c26", "platform": "linux/amd64", "target_name": "distroless_base_linux_amd64", "bazel_tags": [] @@ -275,7 +275,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:cef75d12148305c54ef5769e6511a5ac3c820f39bf5c8a4fbfd5b76b4b8da843", + "identifier": "sha256:201ef9125ff3f55fda8e0697eff0b3ce9078366503ef066653635a3ac3ed9c26", "platform": "linux/arm64/v8", "target_name": "distroless_base_linux_arm64_v8", "bazel_tags": [] @@ -289,7 +289,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:cef75d12148305c54ef5769e6511a5ac3c820f39bf5c8a4fbfd5b76b4b8da843", + "identifier": "sha256:201ef9125ff3f55fda8e0697eff0b3ce9078366503ef066653635a3ac3ed9c26", "platforms": { "@@platforms//cpu:x86_64": "@distroless_base_linux_amd64", "@@platforms//cpu:arm64": "@distroless_base_linux_arm64_v8" diff --git a/internal/logline/logline.go b/internal/logline/logline.go index 686195791..817cfe4e7 100644 --- a/internal/logline/logline.go +++ b/internal/logline/logline.go @@ -19,7 +19,12 @@ type LogLine struct { } // New creates a new LogLine object. -func New(ctx context.Context, filename string, line string) *LogLine { +func New(ctx context.Context, filename string, filenamehash uint32, line string) *LogLine { + return &LogLine{ctx, filename, filenamehash, line} +} + +// External as unit tests need it +func GetHash(filename string) uint32 { hash := sha256.Sum256([]byte(filename)) - return &LogLine{ctx, filename, binary.BigEndian.Uint32(hash[:8]), line} + return binary.BigEndian.Uint32(hash[:8]) } diff --git a/internal/mtail/logmapping_integration_test.go b/internal/mtail/logmapping_integration_test.go new file mode 100644 index 000000000..b06ffacf0 --- /dev/null +++ b/internal/mtail/logmapping_integration_test.go @@ -0,0 +1,61 @@ +// Copyright 2019 Google Inc. All Rights Reserved. +// This file is available under the Apache license. + +package mtail_test + +import ( + "os" + "path/filepath" + "testing" + + "github.com/golang/glog" + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" +) + +func TestLogMapping(t *testing.T) { + testutil.SkipIfShort(t) + tmpDir := testutil.TestTempDir(t) + + logDir := filepath.Join(tmpDir, "logs") + progDir := filepath.Join(tmpDir, "progs") + err := os.Mkdir(logDir, 0o700) + testutil.FatalIfErr(t, err) + err = os.Mkdir(progDir, 0o700) + testutil.FatalIfErr(t, err) + + readLogFile := filepath.Join(logDir, "readlog") + unreadLogFile := filepath.Join(logDir, "ignorelog") + + readFile := testutil.TestOpenFile(t, readLogFile) + unreadFile := testutil.TestOpenFile(t, unreadLogFile) + os.WriteFile(filepath.Join(progDir, "mapping.mtail"), []byte("logmapping \""+progDir+"/readlog\"\n"), 0o666) + os.WriteFile(filepath.Join(progDir, "notmapping.mtail"), []byte("logmapping \""+progDir+"/ignorelog\"\n"), 0o666) + defer readFile.Close() + defer unreadFile.Close() + + m, stopM := mtail.TestStartServer(t, 1, 1, mtail.ProgramPath(progDir), mtail.LogPathPatterns(logDir+"/readlog", logDir+"/ignorelog")) + + defer stopM() + + m.AwakenPatternPollers(1, 1) + m.AwakenLogStreams(1, 1) // Force read to EOF + + { + lineCountCheck := m.ExpectMapExpvarDeltaWithDeadline("prog_lines_total", "mapping.mtail", 1) + n, err := readFile.WriteString("line 1\n") + testutil.FatalIfErr(t, err) + glog.Infof("Wrote %d bytes", n) + m.AwakenLogStreams(1, 1) + lineCountCheck() + } + + { + lineCountCheck := m.ExpectMapExpvarDeltaWithDeadline("prog_lines_total", "notmapping.mtail", 0) + n, err := unreadFile.WriteString("line 2\n") + testutil.FatalIfErr(t, err) + glog.Infof("Wrote %d bytes", n) + m.AwakenLogStreams(1, 1) + lineCountCheck() + } +} diff --git a/internal/runtime/runtime_integration_test.go b/internal/runtime/runtime_integration_test.go index 75588e8bf..05255755a 100644 --- a/internal/runtime/runtime_integration_test.go +++ b/internal/runtime/runtime_integration_test.go @@ -1095,7 +1095,7 @@ func TestRuntimeEndToEnd(t *testing.T) { lineCount := 0 for scanner.Scan() { lineCount++ - lines <- logline.New(context.Background(), tc.name, scanner.Text()) + lines <- logline.New(context.Background(), tc.name, logline.GetHash(tc.name), scanner.Text()) } close(lines) wg.Wait() diff --git a/internal/runtime/vm/vm_test.go b/internal/runtime/vm/vm_test.go index e0d0dd024..f14f7c07c 100644 --- a/internal/runtime/vm/vm_test.go +++ b/internal/runtime/vm/vm_test.go @@ -610,7 +610,7 @@ func TestInstrs(t *testing.T) { v.t.Push(item) } v.t.matches = make(map[int][]string) - v.input = logline.New(context.Background(), testFilename, "aaaab") + v.input = logline.New(context.Background(), testFilename, logline.GetHash(testFilename), "aaaab") v.execute(v.t, tc.i) if v.terminate { t.Fatalf("Execution failed, see info log.") @@ -632,7 +632,7 @@ func makeVM(i code.Instr, m []*metrics.Metric) *VM { v.t = new(thread) v.t.stack = make([]interface{}, 0) v.t.matches = make(map[int][]string) - v.input = logline.New(context.Background(), testFilename, "aaaab") + v.input = logline.New(context.Background(), testFilename, logline.GetHash(testFilename), "aaaab") return v } diff --git a/internal/tailer/logstream/dgramstream_unix_test.go b/internal/tailer/logstream/dgramstream_unix_test.go index fcbacdfd8..5b6e8fd10 100644 --- a/internal/tailer/logstream/dgramstream_unix_test.go +++ b/internal/tailer/logstream/dgramstream_unix_test.go @@ -49,7 +49,7 @@ func TestDgramStreamReadCompletedBecauseSocketClosed(t *testing.T) { testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: sockName, Line: "1"}, + {Context: context.TODO(), Filename: sockName, Line: "1", Filenamehash: logline.GetHash(sockName)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, ds.Lines()) @@ -99,7 +99,7 @@ func TestDgramStreamReadCompletedBecauseCancel(t *testing.T) { testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: sockName, Line: "1"}, + {Context: context.TODO(), Filename: sockName, Line: "1", Filenamehash: logline.GetHash(sockName)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, ds.Lines()) diff --git a/internal/tailer/logstream/fifostream_unix_test.go b/internal/tailer/logstream/fifostream_unix_test.go index 63102dca8..f60f58eab 100644 --- a/internal/tailer/logstream/fifostream_unix_test.go +++ b/internal/tailer/logstream/fifostream_unix_test.go @@ -43,7 +43,7 @@ func TestFifoStreamReadCompletedBecauseClosed(t *testing.T) { testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: name, Line: "1"}, + {Context: context.TODO(), Filename: name, Line: "1", Filenamehash: logline.GetHash(name)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, ps.Lines()) @@ -81,7 +81,7 @@ func TestFifoStreamReadCompletedBecauseCancel(t *testing.T) { ps, err := logstream.New(ctx, &wg, waker, name, logstream.OneShotDisabled) testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: name, Line: "1"}, + {Context: context.TODO(), Filename: name, Line: "1", Filenamehash: logline.GetHash(name)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, ps.Lines()) @@ -115,8 +115,8 @@ func TestFifoStreamReadURL(t *testing.T) { testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: name, Line: "1"}, - {Context: context.TODO(), Filename: name, Line: "2"}, + {Context: context.TODO(), Filename: name, Line: "1", Filenamehash: logline.GetHash(name)}, + {Context: context.TODO(), Filename: name, Line: "2", Filenamehash: logline.GetHash(name)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, ps.Lines()) @@ -164,8 +164,8 @@ func TestFifoStreamReadStdin(t *testing.T) { testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: "-", Line: "1"}, - {Context: context.TODO(), Filename: "-", Line: "2"}, + {Context: context.TODO(), Filename: "-", Line: "1", Filenamehash: logline.GetHash(name)}, + {Context: context.TODO(), Filename: "-", Line: "2", Filenamehash: logline.GetHash(name)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, ps.Lines()) diff --git a/internal/tailer/logstream/filestream_test.go b/internal/tailer/logstream/filestream_test.go index b031e96a1..d1a432ef1 100644 --- a/internal/tailer/logstream/filestream_test.go +++ b/internal/tailer/logstream/filestream_test.go @@ -30,7 +30,7 @@ func TestFileStreamRead(t *testing.T) { testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: name, Line: "yo"}, + {Context: context.TODO(), Filename: name, Line: "yo", Filenamehash: logline.GetHash(name)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, fs.Lines()) @@ -66,7 +66,7 @@ func TestFileStreamReadOneShot(t *testing.T) { testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: name, Line: "yo"}, + {Context: context.TODO(), Filename: name, Line: "yo", Filenamehash: logline.GetHash(name)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, fs.Lines()) @@ -103,7 +103,7 @@ func TestFileStreamReadNonSingleByteEnd(t *testing.T) { s += "中" expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: name, Line: s}, + {Context: context.TODO(), Filename: name, Line: s, Filenamehash: logline.GetHash(name)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, fs.Lines()) @@ -151,7 +151,7 @@ func TestStreamDoesntBreakOnCorruptRune(t *testing.T) { s += "a" } expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: name, Line: s[1:]}, + {Context: context.TODO(), Filename: name, Line: s[1:], Filenamehash: logline.GetHash(name)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, fs.Lines()) @@ -188,9 +188,9 @@ func TestFileStreamTruncation(t *testing.T) { testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: name, Line: "1"}, - {Context: context.TODO(), Filename: name, Line: "2"}, - {Context: context.TODO(), Filename: name, Line: "3"}, + {Context: context.TODO(), Filename: name, Line: "1", Filenamehash: logline.GetHash(name)}, + {Context: context.TODO(), Filename: name, Line: "2", Filenamehash: logline.GetHash(name)}, + {Context: context.TODO(), Filename: name, Line: "3", Filenamehash: logline.GetHash(name)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, fs.Lines()) @@ -231,7 +231,7 @@ func TestFileStreamPartialRead(t *testing.T) { testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: name, Line: "yo"}, + {Context: context.TODO(), Filename: name, Line: "yo", Filenamehash: logline.GetHash(name)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, fs.Lines()) @@ -269,8 +269,8 @@ func TestFileStreamReadToEOFOnCancel(t *testing.T) { testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: name, Line: "line 1"}, - {Context: context.TODO(), Filename: name, Line: "line 2"}, + {Context: context.TODO(), Filename: name, Line: "line 1", Filenamehash: logline.GetHash(name)}, + {Context: context.TODO(), Filename: name, Line: "line 2", Filenamehash: logline.GetHash(name)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, fs.Lines()) diff --git a/internal/tailer/logstream/reader.go b/internal/tailer/logstream/reader.go index 9372669b7..b6e63f67d 100644 --- a/internal/tailer/logstream/reader.go +++ b/internal/tailer/logstream/reader.go @@ -18,11 +18,12 @@ var logLines = expvar.NewMap("log_lines_total") // LineReader reads lines from input and sends lines through the channel type LineReader struct { - sourcename string // name of owner, for sending loglines - lines chan<- *logline.LogLine // not owned - f io.Reader // not owned - cancel context.CancelFunc - staleTimer *time.Timer // call CancelFunc if no read in 24h + sourcename string // name of owner, for sending loglines + sourcenamehash uint32 // a hash of the sourcename for efficient lookup + lines chan<- *logline.LogLine // not owned + f io.Reader // not owned + cancel context.CancelFunc + staleTimer *time.Timer // call CancelFunc if no read in 24h size int buf []byte @@ -32,12 +33,13 @@ type LineReader struct { // NewLineReader creates a new LineReader func NewLineReader(sourcename string, lines chan<- *logline.LogLine, f io.Reader, size int, cancel context.CancelFunc) *LineReader { return &LineReader{ - sourcename: sourcename, - lines: lines, - f: f, - cancel: cancel, - size: size, - buf: make([]byte, 0, size), + sourcename: sourcename, + sourcenamehash: logline.GetHash(sourcename), + lines: lines, + f: f, + cancel: cancel, + size: size, + buf: make([]byte, 0, size), } } @@ -89,7 +91,7 @@ func (lr *LineReader) send(ctx context.Context) bool { line := string(lr.buf[lr.off:end]) logLines.Add(lr.sourcename, 1) - lr.lines <- logline.New(ctx, lr.sourcename, line) + lr.lines <- logline.New(ctx, lr.sourcename, lr.sourcenamehash, line) lr.off = end + skip // move past delim return true } @@ -102,5 +104,5 @@ func (lr *LineReader) Finish(ctx context.Context) { return } logLines.Add(lr.sourcename, 1) - lr.lines <- logline.New(ctx, lr.sourcename, line) + lr.lines <- logline.New(ctx, lr.sourcename, lr.sourcenamehash, line) } diff --git a/internal/tailer/logstream/socketstream_unix_test.go b/internal/tailer/logstream/socketstream_unix_test.go index 8998b5eef..5464d6079 100644 --- a/internal/tailer/logstream/socketstream_unix_test.go +++ b/internal/tailer/logstream/socketstream_unix_test.go @@ -47,7 +47,7 @@ func TestSocketStreamReadCompletedBecauseSocketClosed(t *testing.T) { testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: sockName, Line: "1"}, + {Context: context.TODO(), Filename: sockName, Line: "1", Filenamehash: logline.GetHash(sockName)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, ss.Lines()) @@ -96,7 +96,7 @@ func TestSocketStreamReadCompletedBecauseCancel(t *testing.T) { testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: sockName, Line: "1"}, + {Context: context.TODO(), Filename: sockName, Line: "1", Filenamehash: logline.GetHash(sockName)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, ss.Lines()) diff --git a/internal/tailer/tail_test.go b/internal/tailer/tail_test.go index 7e377dfd9..0cb579f67 100644 --- a/internal/tailer/tail_test.go +++ b/internal/tailer/tail_test.go @@ -99,10 +99,10 @@ func TestHandleLogUpdate(t *testing.T) { received := testutil.LinesReceived(ta.lines) expected := []*logline.LogLine{ - {Context: context.Background(), Filename: logfile, Line: "a"}, - {Context: context.Background(), Filename: logfile, Line: "b"}, - {Context: context.Background(), Filename: logfile, Line: "c"}, - {Context: context.Background(), Filename: logfile, Line: "d"}, + {Context: context.Background(), Filename: logfile, Line: "a", Filenamehash: logline.GetHash(logfile)}, + {Context: context.Background(), Filename: logfile, Line: "b", Filenamehash: logline.GetHash(logfile)}, + {Context: context.Background(), Filename: logfile, Line: "c", Filenamehash: logline.GetHash(logfile)}, + {Context: context.Background(), Filename: logfile, Line: "d", Filenamehash: logline.GetHash(logfile)}, } testutil.ExpectNoDiff(t, expected, received, testutil.IgnoreFields(logline.LogLine{}, "Context")) } @@ -140,11 +140,11 @@ func TestHandleLogTruncate(t *testing.T) { received := testutil.LinesReceived(ta.lines) expected := []*logline.LogLine{ - {Context: context.Background(), Filename: logfile, Line: "a"}, - {Context: context.Background(), Filename: logfile, Line: "b"}, - {Context: context.Background(), Filename: logfile, Line: "c"}, - {Context: context.Background(), Filename: logfile, Line: "d"}, - {Context: context.Background(), Filename: logfile, Line: "e"}, + {Context: context.Background(), Filename: logfile, Line: "a", Filenamehash: logline.GetHash(logfile)}, + {Context: context.Background(), Filename: logfile, Line: "b", Filenamehash: logline.GetHash(logfile)}, + {Context: context.Background(), Filename: logfile, Line: "c", Filenamehash: logline.GetHash(logfile)}, + {Context: context.Background(), Filename: logfile, Line: "d", Filenamehash: logline.GetHash(logfile)}, + {Context: context.Background(), Filename: logfile, Line: "e", Filenamehash: logline.GetHash(logfile)}, } testutil.ExpectNoDiff(t, expected, received, testutil.IgnoreFields(logline.LogLine{}, "Context")) } diff --git a/internal/tailer/tail_unix_test.go b/internal/tailer/tail_unix_test.go index 88ee03b55..5bb2c1c1e 100644 --- a/internal/tailer/tail_unix_test.go +++ b/internal/tailer/tail_unix_test.go @@ -69,7 +69,7 @@ func TestTailerOpenRetries(t *testing.T) { received := testutil.LinesReceived(ta.lines) expected := []*logline.LogLine{ - {Context: context.Background(), Filename: logfile, Line: ""}, + {Context: context.Background(), Filename: logfile, Line: "", Filenamehash: logline.GetHash(logfile)}, } testutil.ExpectNoDiff(t, expected, received, testutil.IgnoreFields(logline.LogLine{}, "Context")) } @@ -92,7 +92,7 @@ func TestAddStdin(t *testing.T) { received := testutil.LinesReceived(ta.lines) expected := []*logline.LogLine{ - {Context: context.Background(), Filename: "-", Line: "content"}, + {Context: context.Background(), Filename: "-", Line: "content", Filenamehash: logline.GetHash("-")}, } testutil.ExpectNoDiff(t, expected, received, testutil.IgnoreFields(logline.LogLine{}, "Context")) } From e74c409aeb4fbcf9ea2f71a2ad35cea99cbedd77 Mon Sep 17 00:00:00 2001 From: Jason Herbage Date: Mon, 30 Jun 2025 13:14:46 +0100 Subject: [PATCH 151/381] leave logline to look after the hash key --- internal/runtime/runtime.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/internal/runtime/runtime.go b/internal/runtime/runtime.go index 9de23ab08..a2fd7bc94 100644 --- a/internal/runtime/runtime.go +++ b/internal/runtime/runtime.go @@ -9,7 +9,6 @@ package runtime import ( "bytes" "crypto/sha256" - "encoding/binary" "expvar" "io" "os" @@ -177,8 +176,7 @@ func (r *Runtime) CompileAndRun(name string, input io.Reader) error { r.logmappings[name] = map[uint32]struct{}{} for _, log := range obj.RelevantLogs { - hash := sha256.Sum256([]byte(log)) - r.logmappings[name][binary.BigEndian.Uint32(hash[:4])] = struct{}{} // is 8 enough? + r.logmappings[name][logline.GetHash(log)] = struct{}{} } r.logmappingsMu.RUnlock() From d87799d3704ea8b5d2d82e68ed8ad8ee32e56aed Mon Sep 17 00:00:00 2001 From: Jason Herbage Date: Mon, 30 Jun 2025 14:00:31 +0100 Subject: [PATCH 152/381] rename mapping to filter including using the keyword log_filter instead of logmappings --- MODULE.bazel.lock | 20 +- internal/runtime/code/object.go | 10 +- internal/runtime/compiler/ast/ast.go | 12 +- internal/runtime/compiler/ast/walk.go | 2 +- internal/runtime/compiler/codegen/codegen.go | 6 +- internal/runtime/compiler/parser/lexer.go | 37 +- internal/runtime/compiler/parser/parser.go | 1541 ++++++++++++++ internal/runtime/compiler/parser/parser.y | 24 +- .../runtime/compiler/parser/parser_test.go | 12 +- internal/runtime/compiler/parser/sexp.go | 8 +- internal/runtime/compiler/parser/unparser.go | 8 +- internal/runtime/compiler/parser/y.output | 1892 +++++++++++++++++ internal/runtime/compiler/types/types.go | 6 +- 13 files changed, 3506 insertions(+), 72 deletions(-) create mode 100644 internal/runtime/compiler/parser/parser.go create mode 100644 internal/runtime/compiler/parser/y.output diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index f414b6d7f..2fb986b91 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -11,8 +11,8 @@ "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/MODULE.bazel": "2b31ffcc9bdc8295b2167e07a757dbbc9ac8906e7028e5170a3708cecaac119f", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.1/MODULE.bazel": "5856d258da9d38d8b9c66e8eb7d4eff0a9770565b1014a483e14dd2fe5b55372", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.1/source.json": "74988e23bc5042325c783dcd1dc9ad006a66d747fb47553419befa03b133b91f", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.4/MODULE.bazel": "d39e4b18e594d81c526d7cfc513e7ecfa8ca9eb5b61488d1d790faa94b34f2d9", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.4/source.json": "506fa924e19fd8a33d617e33a17e4fce845f9ff9acb3a2aa7cf7300650698705", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.2/MODULE.bazel": "780d1a6522b28f5edb7ea09630748720721dfe27690d65a2d33aa7509de77e07", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838", "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", @@ -46,8 +46,8 @@ "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", - "https://bcr.bazel.build/modules/gazelle/0.43.0/MODULE.bazel": "846e1fe396eefc0f9ddad2b33e9bd364dd993fc2f42a88e31590fe0b0eefa3f0", - "https://bcr.bazel.build/modules/gazelle/0.43.0/source.json": "021a77f6625906d9d176e2fa351175e842622a5d45989312f2ad4924aab72df6", + "https://bcr.bazel.build/modules/gazelle/0.44.0/MODULE.bazel": "fd3177ca0938da57a1e416cad3f39b9c4334defbc717e89aba9d9ddbbb0341da", + "https://bcr.bazel.build/modules/gazelle/0.44.0/source.json": "7fb65ef9c1ce470d099ca27fd478673d9d64c844af28d0d472b0874c7d590cb6", "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", @@ -104,7 +104,7 @@ "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel": "55861d8e8bb0e62cbd2896f60ff303f62ffcb0eddb74ecb0e5c0cbe36fc292c8", "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", - "https://bcr.bazel.build/modules/rules_go/0.50.1/MODULE.bazel": "b91a308dc5782bb0a8021ad4330c81fea5bda77f96b9e4c117b9b9c8f6665ee0", + "https://bcr.bazel.build/modules/rules_go/0.51.0/MODULE.bazel": "b6920f505935bfd69381651c942496d99b16e2a12f3dd5263b90ded16f3b4d0f", "https://bcr.bazel.build/modules/rules_go/0.55.1/MODULE.bazel": "a57a6fc59a74326c0b440d07cca209edf13c7d1a641e48cfbeab56e79f873609", "https://bcr.bazel.build/modules/rules_go/0.55.1/source.json": "827a740c8959c9d20616889e7746cde4dcc6ee80d25146943627ccea0736328f", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", @@ -249,8 +249,8 @@ }, "@@rules_oci+//oci:extensions.bzl%oci": { "general": { - "bzlTransitiveDigest": "uEpunjGLWML3ybCaUvZUPdJNpyEUzHqoNTQiZqgImUc=", - "usagesDigest": "5vcJ3ZRcX2QDw/jnXBkVx+5HiVKa5UjvGeYw4sQNu8I=", + "bzlTransitiveDigest": "JYTZKsYgcCw/TSmUMag+JtBl8Sumrp33kiK4RB8F6vA=", + "usagesDigest": "oFSYcVPRWeSzHPw3iAIgQ2NAED64D1SRP8BRnnNnbRA=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -262,7 +262,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:cef75d12148305c54ef5769e6511a5ac3c820f39bf5c8a4fbfd5b76b4b8da843", + "identifier": "sha256:201ef9125ff3f55fda8e0697eff0b3ce9078366503ef066653635a3ac3ed9c26", "platform": "linux/amd64", "target_name": "distroless_base_linux_amd64", "bazel_tags": [] @@ -275,7 +275,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:cef75d12148305c54ef5769e6511a5ac3c820f39bf5c8a4fbfd5b76b4b8da843", + "identifier": "sha256:201ef9125ff3f55fda8e0697eff0b3ce9078366503ef066653635a3ac3ed9c26", "platform": "linux/arm64/v8", "target_name": "distroless_base_linux_arm64_v8", "bazel_tags": [] @@ -289,7 +289,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:cef75d12148305c54ef5769e6511a5ac3c820f39bf5c8a4fbfd5b76b4b8da843", + "identifier": "sha256:201ef9125ff3f55fda8e0697eff0b3ce9078366503ef066653635a3ac3ed9c26", "platforms": { "@@platforms//cpu:x86_64": "@distroless_base_linux_amd64", "@@platforms//cpu:arm64": "@distroless_base_linux_arm64_v8" diff --git a/internal/runtime/code/object.go b/internal/runtime/code/object.go index 3fd5eb4fb..5aebe04e3 100644 --- a/internal/runtime/code/object.go +++ b/internal/runtime/code/object.go @@ -11,9 +11,9 @@ import ( // Object is the data and bytecode resulting from compiled program source. type Object struct { - Program []Instr // The program bytecode. - Strings []string // Static strings. - Regexps []*regexp.Regexp // Static regular expressions. - Metrics []*metrics.Metric // Metrics accessible to this program. - RelevantLogs []string // logs this program can be used against - if empty can be applied to any log + Program []Instr // The program bytecode. + Strings []string // Static strings. + Regexps []*regexp.Regexp // Static regular expressions. + Metrics []*metrics.Metric // Metrics accessible to this program. + LogRestriction []string // logs this program can be used against - if empty can be applied to any log } diff --git a/internal/runtime/compiler/ast/ast.go b/internal/runtime/compiler/ast/ast.go index eeddcacec..0fc6ebac9 100644 --- a/internal/runtime/compiler/ast/ast.go +++ b/internal/runtime/compiler/ast/ast.go @@ -296,17 +296,17 @@ func (n *PatternLit) Type() types.Type { return types.Pattern } -// LogMapping represents a LOGMAPPING construct in the AST. -type LogMapping struct { - P position.Position // Position of the LOGMAPPING keyword. - Mappings []string // List of strings provided in the LOGMAPPING. +// LogFilter represents a LOGFILTER construct in the AST. +type LogFilter struct { + P position.Position // Position of the LOGFILTER keyword. + Filters []string // List of strings provided in the LOGFILTER. } -func (n *LogMapping) Pos() *position.Position { +func (n *LogFilter) Pos() *position.Position { return &n.P } -func (n *LogMapping) Type() types.Type { +func (n *LogFilter) Type() types.Type { return types.Pattern } diff --git a/internal/runtime/compiler/ast/walk.go b/internal/runtime/compiler/ast/walk.go index 5d70c3f86..1fd271ba1 100644 --- a/internal/runtime/compiler/ast/walk.go +++ b/internal/runtime/compiler/ast/walk.go @@ -81,7 +81,7 @@ func Walk(v Visitor, node Node) Node { case *PatternFragment: n.Expr = Walk(v, n.Expr) - case *LogMapping, *IDTerm, *CaprefTerm, *VarDecl, *StringLit, *IntLit, *FloatLit, *PatternLit, *NextStmt, *OtherwiseStmt, *DelStmt, *StopStmt: + case *LogFilter, *IDTerm, *CaprefTerm, *VarDecl, *StringLit, *IntLit, *FloatLit, *PatternLit, *NextStmt, *OtherwiseStmt, *DelStmt, *StopStmt: // These nodes are terminals, thus have no children to walk. default: diff --git a/internal/runtime/compiler/codegen/codegen.go b/internal/runtime/compiler/codegen/codegen.go index dbdaa7305..0b4f1e0d5 100644 --- a/internal/runtime/compiler/codegen/codegen.go +++ b/internal/runtime/compiler/codegen/codegen.go @@ -325,9 +325,9 @@ func (c *codegen) VisitBefore(node ast.Node) (ast.Visitor, ast.Node) { c.obj.Program[pc].Opcode = code.Expire } - case *ast.LogMapping: - // Emit the list of log mappings into the RelevantLogs object. - c.obj.RelevantLogs = append(c.obj.RelevantLogs, n.Mappings...) + case *ast.LogFilter: + // Emit the list of log filters into the LogRestriction object. + c.obj.LogRestriction = append(c.obj.LogRestriction, n.Filters...) return nil, n case *ast.BinaryExpr: diff --git a/internal/runtime/compiler/parser/lexer.go b/internal/runtime/compiler/parser/lexer.go index 41602fb50..01724b4f8 100644 --- a/internal/runtime/compiler/parser/lexer.go +++ b/internal/runtime/compiler/parser/lexer.go @@ -18,24 +18,25 @@ import ( // List of keywords. Keep this list sorted! var keywords = map[string]Kind{ - "after": AFTER, - "as": AS, - "buckets": BUCKETS, - "by": BY, - "const": CONST, - "counter": COUNTER, - "def": DEF, - "del": DEL, - "else": ELSE, - "gauge": GAUGE, - "hidden": HIDDEN, - "histogram": HISTOGRAM, - "limit": LIMIT, - "next": NEXT, - "otherwise": OTHERWISE, - "stop": STOP, - "text": TEXT, - "timer": TIMER, + "after": AFTER, + "as": AS, + "buckets": BUCKETS, + "by": BY, + "const": CONST, + "counter": COUNTER, + "def": DEF, + "del": DEL, + "else": ELSE, + "gauge": GAUGE, + "hidden": HIDDEN, + "histogram": HISTOGRAM, + "limit": LIMIT, + "log_filter": LOGFILTER, + "next": NEXT, + "otherwise": OTHERWISE, + "stop": STOP, + "text": TEXT, + "timer": TIMER, } // List of builtin functions. Keep this list sorted! diff --git a/internal/runtime/compiler/parser/parser.go b/internal/runtime/compiler/parser/parser.go new file mode 100644 index 000000000..50d714816 --- /dev/null +++ b/internal/runtime/compiler/parser/parser.go @@ -0,0 +1,1541 @@ +// Code generated by goyacc -v y.output -o parser.go -p mtail parser.y. DO NOT EDIT. + +//line parser.y:5 +/* #nosec G104 generated code, errors reported do not make sense */ +package parser + +import __yyfmt__ "fmt" + +//line parser.y:6 + +import ( + "time" + + "github.com/golang/glog" + "github.com/jaqx0r/mtail/internal/metrics" + "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" +) + +//line parser.y:19 +type mtailSymType struct { + yys int + intVal int64 + floatVal float64 + floats []float64 + op int + text string + texts []string + flag bool + n ast.Node + kind metrics.Kind + duration time.Duration + logFilters []string + logFilter *ast.LogFilter // Add this field for *ast.LogFilter +} + +const INVALID = 57346 +const COUNTER = 57347 +const GAUGE = 57348 +const TIMER = 57349 +const TEXT = 57350 +const HISTOGRAM = 57351 +const AFTER = 57352 +const AS = 57353 +const BY = 57354 +const CONST = 57355 +const HIDDEN = 57356 +const DEF = 57357 +const DEL = 57358 +const NEXT = 57359 +const OTHERWISE = 57360 +const ELSE = 57361 +const STOP = 57362 +const BUCKETS = 57363 +const LIMIT = 57364 +const BUILTIN = 57365 +const REGEX = 57366 +const STRING = 57367 +const CAPREF = 57368 +const CAPREF_NAMED = 57369 +const ID = 57370 +const DECO = 57371 +const INTLITERAL = 57372 +const FLOATLITERAL = 57373 +const DURATIONLITERAL = 57374 +const INC = 57375 +const DEC = 57376 +const DIV = 57377 +const MOD = 57378 +const MUL = 57379 +const MINUS = 57380 +const PLUS = 57381 +const POW = 57382 +const SHL = 57383 +const SHR = 57384 +const LT = 57385 +const GT = 57386 +const LE = 57387 +const GE = 57388 +const EQ = 57389 +const NE = 57390 +const BITAND = 57391 +const XOR = 57392 +const BITOR = 57393 +const NOT = 57394 +const AND = 57395 +const OR = 57396 +const ADD_ASSIGN = 57397 +const ASSIGN = 57398 +const MATCH = 57399 +const NOT_MATCH = 57400 +const LCURLY = 57401 +const RCURLY = 57402 +const LPAREN = 57403 +const RPAREN = 57404 +const LSQUARE = 57405 +const RSQUARE = 57406 +const COMMA = 57407 +const NL = 57408 +const LOGFILTER = 57409 + +var mtailToknames = [...]string{ + "$end", + "error", + "$unk", + "INVALID", + "COUNTER", + "GAUGE", + "TIMER", + "TEXT", + "HISTOGRAM", + "AFTER", + "AS", + "BY", + "CONST", + "HIDDEN", + "DEF", + "DEL", + "NEXT", + "OTHERWISE", + "ELSE", + "STOP", + "BUCKETS", + "LIMIT", + "BUILTIN", + "REGEX", + "STRING", + "CAPREF", + "CAPREF_NAMED", + "ID", + "DECO", + "INTLITERAL", + "FLOATLITERAL", + "DURATIONLITERAL", + "INC", + "DEC", + "DIV", + "MOD", + "MUL", + "MINUS", + "PLUS", + "POW", + "SHL", + "SHR", + "LT", + "GT", + "LE", + "GE", + "EQ", + "NE", + "BITAND", + "XOR", + "BITOR", + "NOT", + "AND", + "OR", + "ADD_ASSIGN", + "ASSIGN", + "MATCH", + "NOT_MATCH", + "LCURLY", + "RCURLY", + "LPAREN", + "RPAREN", + "LSQUARE", + "RSQUARE", + "COMMA", + "NL", + "LOGFILTER", +} + +var mtailStatenames = [...]string{} + +const mtailEofCode = 1 +const mtailErrCode = 2 +const mtailInitialStackSize = 16 + +//line parser.y:761 + +// tokenpos returns the position of the current token. +func tokenpos(mtaillex mtailLexer) position.Position { + return mtaillex.(*parser).t.Pos +} + +// markedpos returns the position recorded from the most recent mark_pos +// production. +func markedpos(mtaillex mtailLexer) position.Position { + return mtaillex.(*parser).pos +} + +// positionFromMark returns a position spanning from the last mark to the current position. +func positionFromMark(mtaillex mtailLexer) position.Position { + tp := tokenpos(mtaillex) + mp := markedpos(mtaillex) + return *position.Merge(&mp, &tp) +} + +//line yacctab:1 +var mtailExca = [...]int16{ + -1, 1, + 1, -1, + -2, 0, + -1, 2, + 1, 1, + 5, 97, + 6, 97, + 7, 97, + 8, 97, + 9, 97, + -2, 128, + -1, 24, + 66, 28, + -2, 72, + -1, 112, + 5, 97, + 6, 97, + 7, 97, + 8, 97, + 9, 97, + -2, 128, +} + +const mtailPrivate = 57344 + +const mtailLast = 255 + +var mtailAct = [...]uint8{ + 178, 92, 132, 30, 17, 95, 44, 46, 29, 50, + 43, 133, 31, 108, 22, 90, 42, 26, 24, 134, + 107, 32, 21, 47, 58, 28, 27, 38, 36, 37, + 45, 189, 40, 41, 110, 109, 188, 91, 131, 89, + 38, 36, 37, 45, 93, 40, 41, 38, 36, 37, + 45, 94, 40, 41, 33, 174, 169, 170, 170, 66, + 67, 91, 113, 39, 145, 114, 117, 33, 136, 51, + 80, 81, 72, 118, 78, 77, 39, 66, 67, 74, + 76, 75, 175, 39, 53, 2, 123, 97, 98, 124, + 101, 100, 54, 125, 126, 135, 54, 176, 127, 128, + 129, 70, 71, 130, 186, 104, 105, 103, 45, 141, + 106, 192, 191, 116, 17, 182, 135, 137, 29, 181, + 138, 143, 180, 139, 22, 140, 148, 141, 24, 142, + 91, 135, 21, 167, 91, 158, 162, 112, 161, 164, + 165, 91, 91, 91, 171, 173, 172, 168, 163, 166, + 160, 159, 49, 146, 14, 83, 84, 85, 86, 87, + 88, 147, 149, 12, 25, 185, 184, 11, 122, 53, + 13, 121, 135, 187, 14, 38, 36, 37, 45, 111, + 40, 41, 115, 12, 25, 70, 71, 11, 1, 190, + 13, 68, 48, 4, 183, 38, 36, 37, 45, 152, + 40, 41, 33, 69, 55, 57, 79, 52, 102, 99, + 144, 39, 53, 65, 73, 96, 18, 15, 56, 155, + 154, 82, 33, 20, 54, 177, 150, 179, 151, 156, + 157, 39, 153, 59, 35, 120, 18, 15, 60, 61, + 62, 63, 64, 10, 9, 8, 119, 7, 34, 23, + 19, 6, 16, 5, 3, +} + +var mtailPact = [...]int16{ + -1000, -1000, 170, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 80, -1000, -1000, 127, 10, 189, -1000, -42, + 233, 24, 24, -1000, 68, -1000, 33, 30, -1000, 19, + 13, -1000, 112, 15, -19, -1000, -1000, -1000, -1000, 15, + -1000, -1000, 46, -1000, 52, -1000, 70, -53, -31, -1000, + 160, -1000, 10, 4, -1000, 85, 10, 22, -1000, 143, + -1000, -1000, -1000, -1000, -1000, -53, -1000, -1000, -53, -1000, + -1000, -1000, -53, -53, -1000, -1000, -1000, -53, -53, -53, + -1000, -1000, -53, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 68, -1000, 146, 15, 6, -1000, -53, -1000, -1000, -53, + -1000, -1000, -53, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 104, 10, 150, -1000, 2, 137, 10, -1000, 152, 208, + -1000, -1000, -1000, 15, 15, 80, 15, 15, 15, 22, + 15, -8, -1000, 24, -1000, 61, -1000, 15, 15, 15, + 33, 57, -1000, -1000, -1000, -1000, -7, 47, -1000, 65, + -1000, -1000, -1000, -1000, 94, 90, 135, 74, 24, 30, + -1000, -1000, -1000, 112, 24, 24, -1000, -1000, 46, -1000, + 15, 52, 70, -1000, -1000, -1000, -1000, -29, -1000, -1000, + -1000, -1000, -1000, -34, -1000, -1000, -1000, -1000, 94, 81, + -1000, -1000, -1000, +} + +var mtailPgo = [...]uint8{ + 0, 85, 254, 38, 9, 253, 252, 251, 250, 3, + 7, 6, 15, 5, 249, 21, 16, 26, 11, 248, + 10, 17, 19, 247, 246, 245, 244, 12, 25, 243, + 235, 234, 2, 233, 232, 228, 227, 0, 226, 225, + 223, 221, 215, 214, 191, 209, 208, 206, 203, 199, + 194, 193, 192, 188, 20, 1, 182, +} + +var mtailR1 = [...]int8{ + 0, 53, 1, 1, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 51, 52, 52, 5, 5, + 5, 6, 6, 6, 7, 7, 4, 8, 8, 14, + 14, 18, 18, 18, 18, 44, 44, 17, 17, 43, + 43, 43, 15, 15, 41, 41, 41, 41, 41, 41, + 16, 16, 42, 42, 11, 11, 45, 45, 28, 28, + 47, 47, 22, 21, 21, 21, 10, 10, 46, 46, + 46, 46, 13, 13, 12, 12, 48, 48, 9, 9, + 9, 9, 9, 9, 9, 9, 19, 19, 20, 31, + 31, 3, 3, 32, 32, 27, 23, 40, 40, 24, + 24, 24, 24, 24, 30, 30, 33, 33, 33, 33, + 33, 38, 39, 39, 37, 35, 34, 49, 50, 50, + 50, 50, 25, 26, 29, 29, 36, 36, 55, 56, + 54, 54, +} + +var mtailR2 = [...]int8{ + 0, 1, 0, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 4, 1, 1, 3, 1, 3, 4, 2, + 3, 1, 4, 1, 1, 2, 3, 1, 1, 4, + 4, 1, 1, 4, 4, 1, 1, 1, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, + 1, 4, 1, 1, 1, 4, 1, 1, 4, 4, + 1, 1, 1, 1, 4, 4, 1, 4, 1, 1, + 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 3, 1, 1, 1, 4, 1, 4, + 5, 1, 3, 1, 1, 5, 3, 0, 1, 2, + 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 3, 1, 2, 2, 2, 1, 1, + 3, 3, 4, 3, 5, 3, 1, 1, 0, 0, + 0, 1, +} + +var mtailChk = [...]int16{ + -1000, -53, -1, -2, -51, -5, -7, -23, -25, -26, + -29, 17, 13, 20, 4, 67, -6, -55, 66, -8, + -40, -22, -18, -14, -12, 14, -21, -17, -28, -13, + -9, -27, -15, 52, -19, -31, 26, 27, 25, 61, + 30, 31, -16, -20, -11, 28, -10, -20, -52, 25, + -4, 59, 18, 23, 35, 15, 29, 16, 66, -33, + 5, 6, 7, 8, 9, -44, 53, 54, -44, -48, + 33, 34, 39, -43, 49, 51, 50, 56, 55, -47, + 57, 58, -41, 43, 44, 45, 46, 47, 48, -13, + -12, -9, -55, 63, -18, -13, -42, 41, 42, -45, + 39, 38, -46, 37, 35, 36, 40, -54, 66, 66, + 65, 19, -1, -4, 61, -56, 28, -4, -12, -24, + -30, 28, 25, -54, -54, -54, -54, -54, -54, -54, + -54, -3, -32, -18, -22, -55, 62, -54, -54, -54, + -21, -55, 25, -4, 60, 62, -3, 24, -4, 10, + -38, -35, -49, -34, 12, 11, 21, 22, -18, -17, + -28, -27, -20, -15, -18, -18, -22, -9, -16, 64, + 65, -11, -10, -13, 62, 35, 32, -39, -37, -36, + 28, 25, 25, -50, 31, 30, 30, -32, 65, 65, + -37, 31, 30, +} + +var mtailDef = [...]int16{ + 2, -2, -2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 0, 13, 14, 0, 0, 0, 24, 0, + 0, 21, 23, 27, -2, 98, 62, 31, 32, 66, + 74, 63, 37, 128, 78, 79, 80, 81, 82, 128, + 84, 85, 42, 86, 50, 88, 54, 130, 0, 16, + 19, 2, 0, 0, 129, 0, 0, 128, 25, 0, + 106, 107, 108, 109, 110, 130, 35, 36, 130, 75, + 76, 77, 130, 130, 39, 40, 41, 130, 130, 130, + 60, 61, 130, 44, 45, 46, 47, 48, 49, 73, + 72, 74, 0, 128, 0, 66, 130, 52, 53, 130, + 56, 57, 130, 68, 69, 70, 71, 128, 131, 15, + 0, 0, -2, 20, 128, 0, 0, 123, 125, 96, + 103, 104, 105, 128, 128, 128, 128, 128, 128, 128, + 128, 0, 91, 93, 94, 0, 83, 128, 128, 128, + 12, 0, 17, 18, 26, 89, 0, 0, 122, 0, + 99, 100, 101, 102, 0, 0, 0, 0, 22, 33, + 34, 64, 65, 38, 29, 30, 58, 59, 43, 87, + 128, 51, 55, 67, 90, 95, 124, 111, 112, 114, + 126, 127, 115, 117, 118, 119, 116, 92, 0, 0, + 113, 120, 121, +} + +var mtailTok1 = [...]int8{ + 1, +} + +var mtailTok2 = [...]int8{ + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, +} + +var mtailTok3 = [...]int8{ + 0, +} + +var mtailErrorMessages = [...]struct { + state int + token int + msg string +}{ + {115, 4, "unexpected end of file, expecting '/' to end regex"}, + {17, 1, "unexpected end of file, expecting '}' to end block"}, + {17, 1, "unexpected end of file, expecting '}' to end block"}, + {17, 1, "unexpected end of file, expecting '}' to end block"}, + {16, 63, "unexpected indexing of an expression"}, + {16, 66, "statement with no effect, missing an assignment, `+' concatenation, or `{}' block?"}, +} + +//line yaccpar:1 + +/* parser for yacc output */ + +var ( + mtailDebug = 0 + mtailErrorVerbose = false +) + +type mtailLexer interface { + Lex(lval *mtailSymType) int + Error(s string) +} + +type mtailParser interface { + Parse(mtailLexer) int + Lookahead() int +} + +type mtailParserImpl struct { + lval mtailSymType + stack [mtailInitialStackSize]mtailSymType + char int +} + +func (p *mtailParserImpl) Lookahead() int { + return p.char +} + +func mtailNewParser() mtailParser { + return &mtailParserImpl{} +} + +const mtailFlag = -1000 + +func mtailTokname(c int) string { + if c >= 1 && c-1 < len(mtailToknames) { + if mtailToknames[c-1] != "" { + return mtailToknames[c-1] + } + } + return __yyfmt__.Sprintf("tok-%v", c) +} + +func mtailStatname(s int) string { + if s >= 0 && s < len(mtailStatenames) { + if mtailStatenames[s] != "" { + return mtailStatenames[s] + } + } + return __yyfmt__.Sprintf("state-%v", s) +} + +func mtailErrorMessage(state, lookAhead int) string { + const TOKSTART = 4 + + if !mtailErrorVerbose { + return "syntax error" + } + + for _, e := range mtailErrorMessages { + if e.state == state && e.token == lookAhead { + return "syntax error: " + e.msg + } + } + + res := "syntax error: unexpected " + mtailTokname(lookAhead) + + // To match Bison, suggest at most four expected tokens. + expected := make([]int, 0, 4) + + // Look for shiftable tokens. + base := int(mtailPact[state]) + for tok := TOKSTART; tok-1 < len(mtailToknames); tok++ { + if n := base + tok; n >= 0 && n < mtailLast && int(mtailChk[int(mtailAct[n])]) == tok { + if len(expected) == cap(expected) { + return res + } + expected = append(expected, tok) + } + } + + if mtailDef[state] == -2 { + i := 0 + for mtailExca[i] != -1 || int(mtailExca[i+1]) != state { + i += 2 + } + + // Look for tokens that we accept or reduce. + for i += 2; mtailExca[i] >= 0; i += 2 { + tok := int(mtailExca[i]) + if tok < TOKSTART || mtailExca[i+1] == 0 { + continue + } + if len(expected) == cap(expected) { + return res + } + expected = append(expected, tok) + } + + // If the default action is to accept or reduce, give up. + if mtailExca[i+1] != 0 { + return res + } + } + + for i, tok := range expected { + if i == 0 { + res += ", expecting " + } else { + res += " or " + } + res += mtailTokname(tok) + } + return res +} + +func mtaillex1(lex mtailLexer, lval *mtailSymType) (char, token int) { + token = 0 + char = lex.Lex(lval) + if char <= 0 { + token = int(mtailTok1[0]) + goto out + } + if char < len(mtailTok1) { + token = int(mtailTok1[char]) + goto out + } + if char >= mtailPrivate { + if char < mtailPrivate+len(mtailTok2) { + token = int(mtailTok2[char-mtailPrivate]) + goto out + } + } + for i := 0; i < len(mtailTok3); i += 2 { + token = int(mtailTok3[i+0]) + if token == char { + token = int(mtailTok3[i+1]) + goto out + } + } + +out: + if token == 0 { + token = int(mtailTok2[1]) /* unknown char */ + } + if mtailDebug >= 3 { + __yyfmt__.Printf("lex %s(%d)\n", mtailTokname(token), uint(char)) + } + return char, token +} + +func mtailParse(mtaillex mtailLexer) int { + return mtailNewParser().Parse(mtaillex) +} + +func (mtailrcvr *mtailParserImpl) Parse(mtaillex mtailLexer) int { + var mtailn int + var mtailVAL mtailSymType + var mtailDollar []mtailSymType + _ = mtailDollar // silence set and not used + mtailS := mtailrcvr.stack[:] + + Nerrs := 0 /* number of errors */ + Errflag := 0 /* error recovery flag */ + mtailstate := 0 + mtailrcvr.char = -1 + mtailtoken := -1 // mtailrcvr.char translated into internal numbering + defer func() { + // Make sure we report no lookahead when not parsing. + mtailstate = -1 + mtailrcvr.char = -1 + mtailtoken = -1 + }() + mtailp := -1 + goto mtailstack + +ret0: + return 0 + +ret1: + return 1 + +mtailstack: + /* put a state and value onto the stack */ + if mtailDebug >= 4 { + __yyfmt__.Printf("char %v in %v\n", mtailTokname(mtailtoken), mtailStatname(mtailstate)) + } + + mtailp++ + if mtailp >= len(mtailS) { + nyys := make([]mtailSymType, len(mtailS)*2) + copy(nyys, mtailS) + mtailS = nyys + } + mtailS[mtailp] = mtailVAL + mtailS[mtailp].yys = mtailstate + +mtailnewstate: + mtailn = int(mtailPact[mtailstate]) + if mtailn <= mtailFlag { + goto mtaildefault /* simple state */ + } + if mtailrcvr.char < 0 { + mtailrcvr.char, mtailtoken = mtaillex1(mtaillex, &mtailrcvr.lval) + } + mtailn += mtailtoken + if mtailn < 0 || mtailn >= mtailLast { + goto mtaildefault + } + mtailn = int(mtailAct[mtailn]) + if int(mtailChk[mtailn]) == mtailtoken { /* valid shift */ + mtailrcvr.char = -1 + mtailtoken = -1 + mtailVAL = mtailrcvr.lval + mtailstate = mtailn + if Errflag > 0 { + Errflag-- + } + goto mtailstack + } + +mtaildefault: + /* default state action */ + mtailn = int(mtailDef[mtailstate]) + if mtailn == -2 { + if mtailrcvr.char < 0 { + mtailrcvr.char, mtailtoken = mtaillex1(mtaillex, &mtailrcvr.lval) + } + + /* look through exception table */ + xi := 0 + for { + if mtailExca[xi+0] == -1 && int(mtailExca[xi+1]) == mtailstate { + break + } + xi += 2 + } + for xi += 2; ; xi += 2 { + mtailn = int(mtailExca[xi+0]) + if mtailn < 0 || mtailn == mtailtoken { + break + } + } + mtailn = int(mtailExca[xi+1]) + if mtailn < 0 { + goto ret0 + } + } + if mtailn == 0 { + /* error ... attempt to resume parsing */ + switch Errflag { + case 0: /* brand new error */ + mtaillex.Error(mtailErrorMessage(mtailstate, mtailtoken)) + Nerrs++ + if mtailDebug >= 1 { + __yyfmt__.Printf("%s", mtailStatname(mtailstate)) + __yyfmt__.Printf(" saw %s\n", mtailTokname(mtailtoken)) + } + fallthrough + + case 1, 2: /* incompletely recovered error ... try again */ + Errflag = 3 + + /* find a state where "error" is a legal shift action */ + for mtailp >= 0 { + mtailn = int(mtailPact[mtailS[mtailp].yys]) + mtailErrCode + if mtailn >= 0 && mtailn < mtailLast { + mtailstate = int(mtailAct[mtailn]) /* simulate a shift of "error" */ + if int(mtailChk[mtailstate]) == mtailErrCode { + goto mtailstack + } + } + + /* the current p has no shift on "error", pop stack */ + if mtailDebug >= 2 { + __yyfmt__.Printf("error recovery pops state %d\n", mtailS[mtailp].yys) + } + mtailp-- + } + /* there is no state on the stack with an error shift ... abort */ + goto ret1 + + case 3: /* no shift yet; clobber input char */ + if mtailDebug >= 2 { + __yyfmt__.Printf("error recovery discards %s\n", mtailTokname(mtailtoken)) + } + if mtailtoken == mtailEofCode { + goto ret1 + } + mtailrcvr.char = -1 + mtailtoken = -1 + goto mtailnewstate /* try again in the same state */ + } + } + + /* reduction by production mtailn */ + if mtailDebug >= 2 { + __yyfmt__.Printf("reduce %v in:\n\t%v\n", mtailn, mtailStatname(mtailstate)) + } + + mtailnt := mtailn + mtailpt := mtailp + _ = mtailpt // guard against "declared and not used" + + mtailp -= int(mtailR2[mtailn]) + // mtailp is now the index of $0. Perform the default action. Iff the + // reduced production is Îĩ, $1 is possibly out of range. + if mtailp+1 >= len(mtailS) { + nyys := make([]mtailSymType, len(mtailS)*2) + copy(nyys, mtailS) + mtailS = nyys + } + mtailVAL = mtailS[mtailp+1] + + /* consult goto table to find next state */ + mtailn = int(mtailR1[mtailn]) + mtailg := int(mtailPgo[mtailn]) + mtailj := mtailg + mtailS[mtailp].yys + 1 + + if mtailj >= mtailLast { + mtailstate = int(mtailAct[mtailg]) + } else { + mtailstate = int(mtailAct[mtailj]) + if int(mtailChk[mtailstate]) != -mtailn { + mtailstate = int(mtailAct[mtailg]) + } + } + // dummy call; replaced with literal code + switch mtailnt { + + case 1: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:98 + { + mtaillex.(*parser).root = mtailDollar[1].n + } + case 2: + mtailDollar = mtailS[mtailpt-0 : mtailpt+1] +//line parser.y:106 + { + mtailVAL.n = &ast.StmtList{} + } + case 3: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:110 + { + mtailVAL.n = mtailDollar[1].n + if mtailDollar[2].n != nil { + mtailVAL.n.(*ast.StmtList).Children = append(mtailVAL.n.(*ast.StmtList).Children, mtailDollar[2].n) + } + } + case 4: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:121 + { + mtailVAL.n = mtailDollar[1].logFilter + } + case 5: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:123 + { + mtailVAL.n = mtailDollar[1].n + } + case 6: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:125 + { + mtailVAL.n = mtailDollar[1].n + } + case 7: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:127 + { + mtailVAL.n = mtailDollar[1].n + } + case 8: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:129 + { + mtailVAL.n = mtailDollar[1].n + } + case 9: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:131 + { + mtailVAL.n = mtailDollar[1].n + } + case 10: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:133 + { + mtailVAL.n = mtailDollar[1].n + } + case 11: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:135 + { + mtailVAL.n = &ast.NextStmt{tokenpos(mtaillex)} + } + case 12: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:139 + { + mtailVAL.n = &ast.PatternFragment{ID: mtailDollar[2].n, Expr: mtailDollar[4].n} + } + case 13: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:143 + { + mtailVAL.n = &ast.StopStmt{tokenpos(mtaillex)} + } + case 14: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:147 + { + mtailVAL.n = &ast.Error{tokenpos(mtaillex), mtailDollar[1].text} + } + case 15: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:154 + { + mtailVAL.logFilter = &ast.LogFilter{ + P: tokenpos(mtaillex), + Filters: mtailDollar[2].logFilters, // $2 is the list of strings (type []string) + } + } + case 16: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:164 + { + mtailVAL.logFilters = []string{mtailDollar[1].text} + } + case 17: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:168 + { + mtailVAL.logFilters = append(mtailDollar[1].logFilters, mtailDollar[3].text) + } + case 18: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:176 + { + mtailVAL.n = &ast.CondStmt{mtailDollar[1].n, mtailDollar[2].n, mtailDollar[4].n, nil} + } + case 19: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:180 + { + if mtailDollar[1].n != nil { + mtailVAL.n = &ast.CondStmt{mtailDollar[1].n, mtailDollar[2].n, nil, nil} + } else { + mtailVAL.n = mtailDollar[2].n + } + } + case 20: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:188 + { + o := &ast.OtherwiseStmt{positionFromMark(mtaillex)} + mtailVAL.n = &ast.CondStmt{o, mtailDollar[3].n, nil, nil} + } + case 21: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:196 + { + mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: MATCH} + } + case 22: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:200 + { + mtailVAL.n = &ast.BinaryExpr{ + LHS: &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: MATCH}, + RHS: mtailDollar[4].n, + Op: mtailDollar[2].op, + } + } + case 23: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:208 + { + mtailVAL.n = mtailDollar[1].n + } + case 24: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:214 + { + mtailVAL.n = nil + } + case 25: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:216 + { + mtailVAL.n = mtailDollar[1].n + } + case 26: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:222 + { + mtailVAL.n = mtailDollar[2].n + } + case 27: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:230 + { + mtailVAL.n = mtailDollar[1].n + } + case 28: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:232 + { + mtailVAL.n = mtailDollar[1].n + } + case 29: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:238 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 30: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:242 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 31: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:250 + { + mtailVAL.n = mtailDollar[1].n + } + case 32: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:252 + { + mtailVAL.n = mtailDollar[1].n + } + case 33: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:254 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 34: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:258 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 35: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:265 + { + mtailVAL.op = mtailDollar[1].op + } + case 36: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:267 + { + mtailVAL.op = mtailDollar[1].op + } + case 37: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:273 + { + mtailVAL.n = mtailDollar[1].n + } + case 38: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:275 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 39: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:282 + { + mtailVAL.op = mtailDollar[1].op + } + case 40: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:284 + { + mtailVAL.op = mtailDollar[1].op + } + case 41: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:286 + { + mtailVAL.op = mtailDollar[1].op + } + case 42: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:292 + { + mtailVAL.n = mtailDollar[1].n + } + case 43: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:294 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 44: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:301 + { + mtailVAL.op = mtailDollar[1].op + } + case 45: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:303 + { + mtailVAL.op = mtailDollar[1].op + } + case 46: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:305 + { + mtailVAL.op = mtailDollar[1].op + } + case 47: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:307 + { + mtailVAL.op = mtailDollar[1].op + } + case 48: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:309 + { + mtailVAL.op = mtailDollar[1].op + } + case 49: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:311 + { + mtailVAL.op = mtailDollar[1].op + } + case 50: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:317 + { + mtailVAL.n = mtailDollar[1].n + } + case 51: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:319 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 52: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:326 + { + mtailVAL.op = mtailDollar[1].op + } + case 53: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:328 + { + mtailVAL.op = mtailDollar[1].op + } + case 54: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:334 + { + mtailVAL.n = mtailDollar[1].n + } + case 55: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:336 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 56: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:343 + { + mtailVAL.op = mtailDollar[1].op + } + case 57: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:345 + { + mtailVAL.op = mtailDollar[1].op + } + case 58: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:351 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 59: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:355 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 60: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:362 + { + mtailVAL.op = mtailDollar[1].op + } + case 61: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:364 + { + mtailVAL.op = mtailDollar[1].op + } + case 62: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:371 + { + mtailVAL.n = &ast.PatternExpr{Expr: mtailDollar[1].n} + } + case 63: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:379 + { + mtailVAL.n = mtailDollar[1].n + } + case 64: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:381 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: PLUS} + } + case 65: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:385 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: PLUS} + } + case 66: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:393 + { + mtailVAL.n = mtailDollar[1].n + } + case 67: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:395 + { + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + } + case 68: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:402 + { + mtailVAL.op = mtailDollar[1].op + } + case 69: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:404 + { + mtailVAL.op = mtailDollar[1].op + } + case 70: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:406 + { + mtailVAL.op = mtailDollar[1].op + } + case 71: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:408 + { + mtailVAL.op = mtailDollar[1].op + } + case 72: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:414 + { + mtailVAL.n = mtailDollar[1].n + } + case 73: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:416 + { + mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[2].n, Op: mtailDollar[1].op} + } + case 74: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:424 + { + mtailVAL.n = mtailDollar[1].n + } + case 75: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:426 + { + mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: mtailDollar[2].op} + } + case 76: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:433 + { + mtailVAL.op = mtailDollar[1].op + } + case 77: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:435 + { + mtailVAL.op = mtailDollar[1].op + } + case 78: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:441 + { + mtailVAL.n = mtailDollar[1].n + } + case 79: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:443 + { + mtailVAL.n = mtailDollar[1].n + } + case 80: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:445 + { + mtailVAL.n = &ast.CaprefTerm{tokenpos(mtaillex), mtailDollar[1].text, false, nil} + } + case 81: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:449 + { + mtailVAL.n = &ast.CaprefTerm{tokenpos(mtaillex), mtailDollar[1].text, true, nil} + } + case 82: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:453 + { + mtailVAL.n = &ast.StringLit{tokenpos(mtaillex), mtailDollar[1].text} + } + case 83: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:457 + { + mtailVAL.n = mtailDollar[2].n + } + case 84: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:461 + { + mtailVAL.n = &ast.IntLit{tokenpos(mtaillex), mtailDollar[1].intVal} + } + case 85: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:465 + { + mtailVAL.n = &ast.FloatLit{tokenpos(mtaillex), mtailDollar[1].floatVal} + } + case 86: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:473 + { + // Build an empty IndexedExpr so that the recursive rule below doesn't need to handle the alternative. + mtailVAL.n = &ast.IndexedExpr{LHS: mtailDollar[1].n, Index: &ast.ExprList{}} + } + case 87: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:478 + { + mtailVAL.n = mtailDollar[1].n + mtailVAL.n.(*ast.IndexedExpr).Index.(*ast.ExprList).Children = append( + mtailVAL.n.(*ast.IndexedExpr).Index.(*ast.ExprList).Children, + mtailDollar[3].n.(*ast.ExprList).Children...) + } + case 88: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:489 + { + mtailVAL.n = &ast.IDTerm{tokenpos(mtaillex), mtailDollar[1].text, nil, false} + } + case 89: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:497 + { + mtailVAL.n = &ast.BuiltinExpr{P: positionFromMark(mtaillex), Name: mtailDollar[2].text, Args: nil} + } + case 90: + mtailDollar = mtailS[mtailpt-5 : mtailpt+1] +//line parser.y:501 + { + mtailVAL.n = &ast.BuiltinExpr{P: positionFromMark(mtaillex), Name: mtailDollar[2].text, Args: mtailDollar[4].n} + } + case 91: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:510 + { + mtailVAL.n = &ast.ExprList{} + mtailVAL.n.(*ast.ExprList).Children = append(mtailVAL.n.(*ast.ExprList).Children, mtailDollar[1].n) + } + case 92: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:515 + { + mtailVAL.n = mtailDollar[1].n + mtailVAL.n.(*ast.ExprList).Children = append(mtailVAL.n.(*ast.ExprList).Children, mtailDollar[3].n) + } + case 93: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:523 + { + mtailVAL.n = mtailDollar[1].n + } + case 94: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:525 + { + mtailVAL.n = mtailDollar[1].n + } + case 95: + mtailDollar = mtailS[mtailpt-5 : mtailpt+1] +//line parser.y:531 + { + mtailVAL.n = &ast.PatternLit{P: positionFromMark(mtaillex), Pattern: mtailDollar[4].text} + } + case 96: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:539 + { + mtailVAL.n = mtailDollar[3].n + d := mtailVAL.n.(*ast.VarDecl) + d.Kind = mtailDollar[2].kind + d.Hidden = mtailDollar[1].flag + } + case 97: + mtailDollar = mtailS[mtailpt-0 : mtailpt+1] +//line parser.y:550 + { + mtailVAL.flag = false + } + case 98: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:554 + { + mtailVAL.flag = true + } + case 99: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:562 + { + mtailVAL.n = mtailDollar[1].n + mtailVAL.n.(*ast.VarDecl).Keys = mtailDollar[2].texts + } + case 100: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:567 + { + mtailVAL.n = mtailDollar[1].n + mtailVAL.n.(*ast.VarDecl).ExportedName = mtailDollar[2].text + } + case 101: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:572 + { + mtailVAL.n = mtailDollar[1].n + mtailVAL.n.(*ast.VarDecl).Buckets = mtailDollar[2].floats + } + case 102: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:577 + { + mtailVAL.n = mtailDollar[1].n + mtailVAL.n.(*ast.VarDecl).Limit = mtailDollar[2].intVal + } + case 103: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:582 + { + mtailVAL.n = mtailDollar[1].n + } + case 104: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:590 + { + mtailVAL.n = &ast.VarDecl{P: tokenpos(mtaillex), Name: mtailDollar[1].text} + } + case 105: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:594 + { + mtailVAL.n = &ast.VarDecl{P: tokenpos(mtaillex), Name: mtailDollar[1].text} + } + case 106: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:602 + { + mtailVAL.kind = metrics.Counter + } + case 107: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:606 + { + mtailVAL.kind = metrics.Gauge + } + case 108: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:610 + { + mtailVAL.kind = metrics.Timer + } + case 109: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:614 + { + mtailVAL.kind = metrics.Text + } + case 110: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:618 + { + mtailVAL.kind = metrics.Histogram + } + case 111: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:626 + { + mtailVAL.texts = mtailDollar[2].texts + } + case 112: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:633 + { + mtailVAL.texts = make([]string, 0) + mtailVAL.texts = append(mtailVAL.texts, mtailDollar[1].text) + } + case 113: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:638 + { + mtailVAL.texts = mtailDollar[1].texts + mtailVAL.texts = append(mtailVAL.texts, mtailDollar[3].text) + } + case 114: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:646 + { + mtailVAL.text = mtailDollar[1].text + } + case 115: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:652 + { + mtailVAL.text = mtailDollar[2].text + } + case 116: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:659 + { + mtailVAL.intVal = mtailDollar[2].intVal + } + case 117: + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] +//line parser.y:667 + { + mtailVAL.floats = mtailDollar[2].floats + } + case 118: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:673 + { + mtailVAL.floats = make([]float64, 0) + mtailVAL.floats = append(mtailVAL.floats, mtailDollar[1].floatVal) + } + case 119: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:678 + { + mtailVAL.floats = make([]float64, 0) + mtailVAL.floats = append(mtailVAL.floats, float64(mtailDollar[1].intVal)) + } + case 120: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:683 + { + mtailVAL.floats = mtailDollar[1].floats + mtailVAL.floats = append(mtailVAL.floats, mtailDollar[3].floatVal) + } + case 121: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:688 + { + mtailVAL.floats = mtailDollar[1].floats + mtailVAL.floats = append(mtailVAL.floats, float64(mtailDollar[3].intVal)) + } + case 122: + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:696 + { + mtailVAL.n = &ast.DecoDecl{P: markedpos(mtaillex), Name: mtailDollar[3].text, Block: mtailDollar[4].n} + } + case 123: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:704 + { + mtailVAL.n = &ast.DecoStmt{markedpos(mtaillex), mtailDollar[2].text, mtailDollar[3].n, nil, nil} + } + case 124: + mtailDollar = mtailS[mtailpt-5 : mtailpt+1] +//line parser.y:712 + { + mtailVAL.n = &ast.DelStmt{P: positionFromMark(mtaillex), N: mtailDollar[3].n, Expiry: mtailDollar[5].duration} + } + case 125: + mtailDollar = mtailS[mtailpt-3 : mtailpt+1] +//line parser.y:716 + { + mtailVAL.n = &ast.DelStmt{P: positionFromMark(mtaillex), N: mtailDollar[3].n} + } + case 126: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:723 + { + mtailVAL.text = mtailDollar[1].text + } + case 127: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:727 + { + mtailVAL.text = mtailDollar[1].text + } + case 128: + mtailDollar = mtailS[mtailpt-0 : mtailpt+1] +//line parser.y:737 + { + glog.V(2).Infof("position marked at %v", tokenpos(mtaillex)) + mtaillex.(*parser).pos = tokenpos(mtaillex) + } + case 129: + mtailDollar = mtailS[mtailpt-0 : mtailpt+1] +//line parser.y:747 + { + mtaillex.(*parser).inRegex() + } + } + goto mtailstack /* stack new state and value */ +} diff --git a/internal/runtime/compiler/parser/parser.y b/internal/runtime/compiler/parser/parser.y index 66995e520..39ce392b6 100644 --- a/internal/runtime/compiler/parser/parser.y +++ b/internal/runtime/compiler/parser/parser.y @@ -28,8 +28,8 @@ import ( n ast.Node kind metrics.Kind duration time.Duration - logMappings []string - logMapping *ast.LogMapping // Add this field for *ast.LogMapping + logFilters []string + logFilter *ast.LogFilter // Add this field for *ast.LogFilter } %type stmt_list stmt arg_expr_list compound_stmt conditional_stmt conditional_expr expr_stmt @@ -44,8 +44,8 @@ import ( %type metric_hide_spec %type rel_op shift_op bitwise_op logical_op add_op mul_op match_op postfix_op %type metric_buckets_spec metric_buckets_list -%type log_mapping_spec -%type log_mapping_list +%type log_filter_spec +%type log_filter_list // Tokens and types are defined here. // Invalid input %token INVALID @@ -77,7 +77,7 @@ import ( %token LCURLY RCURLY LPAREN RPAREN LSQUARE RSQUARE %token COMMA %token NL -%token LOGMAPPING +%token LOGFILTER %start start @@ -117,7 +117,7 @@ stmt_list /* Types of statements. */ stmt - : log_mapping_spec %prec LOGMAPPING + : log_filter_spec %prec LOGFILTER { $$ = $1 } | conditional_stmt { $$ = $1 } @@ -149,22 +149,22 @@ stmt } ; -log_mapping_spec - : LOGMAPPING log_mapping_list NL +log_filter_spec + : LOGFILTER log_filter_list NL { - $$ = &ast.LogMapping{ + $$ = &ast.LogFilter{ P: tokenpos(mtaillex), - Mappings: $2, // $2 is the list of strings (type []string) + Filters: $2, // $2 is the list of strings (type []string) } } ; -log_mapping_list +log_filter_list : STRING { $$ = []string{$1} } - | log_mapping_list COMMA STRING + | log_filter_list COMMA STRING { $$ = append($1, $3) } diff --git a/internal/runtime/compiler/parser/parser_test.go b/internal/runtime/compiler/parser/parser_test.go index 4c91b302e..3cb675f44 100644 --- a/internal/runtime/compiler/parser/parser_test.go +++ b/internal/runtime/compiler/parser/parser_test.go @@ -439,16 +439,16 @@ $foo =~ X { subst(/,/, "", $1) }`}, { - "logmapping", - "logmapping \"foo\", \"bar\", \"baz\"\n", + "log_filter", + "log_filter \"foo\", \"bar\", \"baz\"\n", }, { - "logmapping then a clause", - "logmapping \"foo\", \"bar\", \"baz\"\n/foo/ {} else {}", + "log_filter then a clause", + "log_filter \"foo\", \"bar\", \"baz\"\n/foo/ {} else {}", }, { - "clause then a logmapping", - "/foo/ {} else {}\nlogmapping \"foo\", \"bar\", \"baz\"\n", + "clause then a log_filter", + "/foo/ {} else {}\nlog_filter \"foo\", \"bar\", \"baz\"\n", }, } diff --git a/internal/runtime/compiler/parser/sexp.go b/internal/runtime/compiler/parser/sexp.go index c5bc8e32e..81cac8b5f 100644 --- a/internal/runtime/compiler/parser/sexp.go +++ b/internal/runtime/compiler/parser/sexp.go @@ -62,10 +62,10 @@ func (s *Sexp) VisitBefore(n ast.Node) (ast.Visitor, ast.Node) { s.indent() switch v := n.(type) { - case *ast.LogMapping: - s.emit("logmapping ") - if len(v.Mappings) > 0 { - s.emit(strings.Join(v.Mappings, ", ")) + case *ast.LogFilter: + s.emit("log_filter ") + if len(v.Filters) > 0 { + s.emit(strings.Join(v.Filters, ", ")) } s.newline() diff --git a/internal/runtime/compiler/parser/unparser.go b/internal/runtime/compiler/parser/unparser.go index 2029dc67d..5b28ffdd5 100644 --- a/internal/runtime/compiler/parser/unparser.go +++ b/internal/runtime/compiler/parser/unparser.go @@ -53,10 +53,10 @@ func (u *Unparser) VisitBefore(n ast.Node) (ast.Visitor, ast.Node) { } switch v := n.(type) { - case *ast.LogMapping: - u.emit("logmapping ") - if len(v.Mappings) > 0 { - u.emit("\"" + strings.Join(v.Mappings, "\", \"") + "\"") + case *ast.LogFilter: + u.emit("log_filter ") + if len(v.Filters) > 0 { + u.emit("\"" + strings.Join(v.Filters, "\", \"") + "\"") } u.newline() diff --git a/internal/runtime/compiler/parser/y.output b/internal/runtime/compiler/parser/y.output new file mode 100644 index 000000000..a23bf13fd --- /dev/null +++ b/internal/runtime/compiler/parser/y.output @@ -0,0 +1,1892 @@ + +state 0 + $accept: .start $end + stmt_list: . (2) + + . reduce 2 (src line 104) + + stmt_list goto 2 + start goto 1 + +state 1 + $accept: start.$end + + $end accept + . error + + +state 2 + start: stmt_list. (1) + stmt_list: stmt_list.stmt + mark_pos: . (128) + metric_hide_spec: . (97) + + $end reduce 1 (src line 96) + INVALID shift 14 + COUNTER reduce 97 (src line 548) + GAUGE reduce 97 (src line 548) + TIMER reduce 97 (src line 548) + TEXT reduce 97 (src line 548) + HISTOGRAM reduce 97 (src line 548) + CONST shift 12 + HIDDEN shift 25 + NEXT shift 11 + STOP shift 13 + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + LPAREN shift 39 + NL shift 18 + LOGFILTER shift 15 + . reduce 128 (src line 735) + + stmt goto 3 + conditional_stmt goto 5 + conditional_expr goto 16 + expr_stmt goto 6 + expr goto 19 + primary_expr goto 30 + multiplicative_expr goto 46 + additive_expr goto 44 + postfix_expr goto 24 + unary_expr goto 29 + assign_expr goto 23 + rel_expr goto 32 + shift_expr goto 42 + bitwise_expr goto 27 + logical_expr goto 22 + indexed_expr goto 34 + id_expr goto 43 + concat_expr goto 26 + pattern_expr goto 21 + metric_declaration goto 7 + decorator_declaration goto 8 + decoration_stmt goto 9 + regex_pattern goto 31 + match_expr goto 28 + delete_stmt goto 10 + builtin_expr goto 35 + metric_hide_spec goto 20 + log_filter_spec goto 4 + mark_pos goto 17 + +state 3 + stmt_list: stmt_list stmt. (3) + + . reduce 3 (src line 109) + + +state 4 + stmt: log_filter_spec. (4) + + . reduce 4 (src line 119) + + +state 5 + stmt: conditional_stmt. (5) + + . reduce 5 (src line 122) + + +state 6 + stmt: expr_stmt. (6) + + . reduce 6 (src line 124) + + +state 7 + stmt: metric_declaration. (7) + + . reduce 7 (src line 126) + + +state 8 + stmt: decorator_declaration. (8) + + . reduce 8 (src line 128) + + +state 9 + stmt: decoration_stmt. (9) + + . reduce 9 (src line 130) + + +state 10 + stmt: delete_stmt. (10) + + . reduce 10 (src line 132) + + +state 11 + stmt: NEXT. (11) + + . reduce 11 (src line 134) + + +state 12 + stmt: CONST.id_expr opt_nl concat_expr + + ID shift 45 + . error + + id_expr goto 47 + +state 13 + stmt: STOP. (13) + + . reduce 13 (src line 142) + + +state 14 + stmt: INVALID. (14) + + . reduce 14 (src line 146) + + +state 15 + log_filter_spec: LOGFILTER.log_filter_list NL + + STRING shift 49 + . error + + log_filter_list goto 48 + +state 16 + conditional_stmt: conditional_expr.compound_stmt ELSE compound_stmt + conditional_stmt: conditional_expr.compound_stmt + + LCURLY shift 51 + . error + + compound_stmt goto 50 + +state 17 + conditional_stmt: mark_pos.OTHERWISE compound_stmt + builtin_expr: mark_pos.BUILTIN LPAREN RPAREN + builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN + regex_pattern: mark_pos.DIV in_regex REGEX DIV + decorator_declaration: mark_pos.DEF ID compound_stmt + decoration_stmt: mark_pos.DECO compound_stmt + delete_stmt: mark_pos.DEL postfix_expr AFTER DURATIONLITERAL + delete_stmt: mark_pos.DEL postfix_expr + + DEF shift 55 + DEL shift 57 + OTHERWISE shift 52 + BUILTIN shift 53 + DECO shift 56 + DIV shift 54 + . error + + +state 18 + expr_stmt: NL. (24) + + . reduce 24 (src line 212) + + +state 19 + expr_stmt: expr.NL + + NL shift 58 + . error + + +state 20 + metric_declaration: metric_hide_spec.metric_type_spec metric_decl_attr_spec + + COUNTER shift 60 + GAUGE shift 61 + TIMER shift 62 + TEXT shift 63 + HISTOGRAM shift 64 + . error + + metric_type_spec goto 59 + +state 21 + conditional_expr: pattern_expr. (21) + conditional_expr: pattern_expr.logical_op opt_nl logical_expr + + AND shift 66 + OR shift 67 + . reduce 21 (src line 194) + + logical_op goto 65 + +state 22 + conditional_expr: logical_expr. (23) + logical_expr: logical_expr.logical_op opt_nl bitwise_expr + logical_expr: logical_expr.logical_op opt_nl match_expr + + AND shift 66 + OR shift 67 + . reduce 23 (src line 207) + + logical_op goto 68 + +state 23 + expr: assign_expr. (27) + + . reduce 27 (src line 228) + + +state 24 + expr: postfix_expr. (28) + unary_expr: postfix_expr. (72) + postfix_expr: postfix_expr.postfix_op + + INC shift 70 + DEC shift 71 + NL reduce 28 (src line 231) + . reduce 72 (src line 412) + + postfix_op goto 69 + +state 25 + metric_hide_spec: HIDDEN. (98) + + . reduce 98 (src line 553) + + +state 26 + pattern_expr: concat_expr. (62) + concat_expr: concat_expr.PLUS opt_nl regex_pattern + concat_expr: concat_expr.PLUS opt_nl id_expr + + PLUS shift 72 + . reduce 62 (src line 369) + + +state 27 + logical_expr: bitwise_expr. (31) + bitwise_expr: bitwise_expr.bitwise_op opt_nl rel_expr + + BITAND shift 74 + XOR shift 76 + BITOR shift 75 + . reduce 31 (src line 248) + + bitwise_op goto 73 + +state 28 + logical_expr: match_expr. (32) + + . reduce 32 (src line 251) + + +state 29 + assign_expr: unary_expr.ASSIGN opt_nl logical_expr + assign_expr: unary_expr.ADD_ASSIGN opt_nl logical_expr + multiplicative_expr: unary_expr. (66) + + ADD_ASSIGN shift 78 + ASSIGN shift 77 + . reduce 66 (src line 391) + + +state 30 + match_expr: primary_expr.match_op opt_nl pattern_expr + match_expr: primary_expr.match_op opt_nl primary_expr + postfix_expr: primary_expr. (74) + + MATCH shift 80 + NOT_MATCH shift 81 + . reduce 74 (src line 422) + + match_op goto 79 + +state 31 + concat_expr: regex_pattern. (63) + + . reduce 63 (src line 377) + + +state 32 + bitwise_expr: rel_expr. (37) + rel_expr: rel_expr.rel_op opt_nl shift_expr + + LT shift 83 + GT shift 84 + LE shift 85 + GE shift 86 + EQ shift 87 + NE shift 88 + . reduce 37 (src line 271) + + rel_op goto 82 + +state 33 + unary_expr: NOT.unary_expr + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + LPAREN shift 39 + . reduce 128 (src line 735) + + primary_expr goto 91 + postfix_expr goto 90 + unary_expr goto 89 + indexed_expr goto 34 + id_expr goto 43 + builtin_expr goto 35 + mark_pos goto 92 + +state 34 + primary_expr: indexed_expr. (78) + indexed_expr: indexed_expr.LSQUARE arg_expr_list RSQUARE + + LSQUARE shift 93 + . reduce 78 (src line 439) + + +state 35 + primary_expr: builtin_expr. (79) + + . reduce 79 (src line 442) + + +state 36 + primary_expr: CAPREF. (80) + + . reduce 80 (src line 444) + + +state 37 + primary_expr: CAPREF_NAMED. (81) + + . reduce 81 (src line 448) + + +state 38 + primary_expr: STRING. (82) + + . reduce 82 (src line 452) + + +state 39 + primary_expr: LPAREN.logical_expr RPAREN + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + LPAREN shift 39 + . reduce 128 (src line 735) + + primary_expr goto 30 + multiplicative_expr goto 46 + additive_expr goto 44 + postfix_expr goto 90 + unary_expr goto 95 + rel_expr goto 32 + shift_expr goto 42 + bitwise_expr goto 27 + logical_expr goto 94 + indexed_expr goto 34 + id_expr goto 43 + match_expr goto 28 + builtin_expr goto 35 + mark_pos goto 92 + +state 40 + primary_expr: INTLITERAL. (84) + + . reduce 84 (src line 460) + + +state 41 + primary_expr: FLOATLITERAL. (85) + + . reduce 85 (src line 464) + + +state 42 + rel_expr: shift_expr. (42) + shift_expr: shift_expr.shift_op opt_nl additive_expr + + SHL shift 97 + SHR shift 98 + . reduce 42 (src line 290) + + shift_op goto 96 + +state 43 + indexed_expr: id_expr. (86) + + . reduce 86 (src line 471) + + +state 44 + shift_expr: additive_expr. (50) + additive_expr: additive_expr.add_op opt_nl multiplicative_expr + + MINUS shift 101 + PLUS shift 100 + . reduce 50 (src line 315) + + add_op goto 99 + +state 45 + id_expr: ID. (88) + + . reduce 88 (src line 487) + + +state 46 + additive_expr: multiplicative_expr. (54) + multiplicative_expr: multiplicative_expr.mul_op opt_nl unary_expr + + DIV shift 104 + MOD shift 105 + MUL shift 103 + POW shift 106 + . reduce 54 (src line 332) + + mul_op goto 102 + +state 47 + stmt: CONST id_expr.opt_nl concat_expr + opt_nl: . (130) + + NL shift 108 + . reduce 130 (src line 755) + + opt_nl goto 107 + +state 48 + log_filter_spec: LOGFILTER log_filter_list.NL + log_filter_list: log_filter_list.COMMA STRING + + COMMA shift 110 + NL shift 109 + . error + + +state 49 + log_filter_list: STRING. (16) + + . reduce 16 (src line 162) + + +state 50 + conditional_stmt: conditional_expr compound_stmt.ELSE compound_stmt + conditional_stmt: conditional_expr compound_stmt. (19) + + ELSE shift 111 + . reduce 19 (src line 179) + + +state 51 + compound_stmt: LCURLY.stmt_list RCURLY + stmt_list: . (2) + + . reduce 2 (src line 104) + + stmt_list goto 112 + +state 52 + conditional_stmt: mark_pos OTHERWISE.compound_stmt + + LCURLY shift 51 + . error + + compound_stmt goto 113 + +state 53 + builtin_expr: mark_pos BUILTIN.LPAREN RPAREN + builtin_expr: mark_pos BUILTIN.LPAREN arg_expr_list RPAREN + + LPAREN shift 114 + . error + + +state 54 + regex_pattern: mark_pos DIV.in_regex REGEX DIV + in_regex: . (129) + + . reduce 129 (src line 745) + + in_regex goto 115 + +state 55 + decorator_declaration: mark_pos DEF.ID compound_stmt + + ID shift 116 + . error + + +state 56 + decoration_stmt: mark_pos DECO.compound_stmt + + LCURLY shift 51 + . error + + compound_stmt goto 117 + +state 57 + delete_stmt: mark_pos DEL.postfix_expr AFTER DURATIONLITERAL + delete_stmt: mark_pos DEL.postfix_expr + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + LPAREN shift 39 + . reduce 128 (src line 735) + + primary_expr goto 91 + postfix_expr goto 118 + indexed_expr goto 34 + id_expr goto 43 + builtin_expr goto 35 + mark_pos goto 92 + +state 58 + expr_stmt: expr NL. (25) + + . reduce 25 (src line 215) + + +state 59 + metric_declaration: metric_hide_spec metric_type_spec.metric_decl_attr_spec + + STRING shift 122 + ID shift 121 + . error + + metric_decl_attr_spec goto 119 + metric_name_spec goto 120 + +state 60 + metric_type_spec: COUNTER. (106) + + . reduce 106 (src line 600) + + +state 61 + metric_type_spec: GAUGE. (107) + + . reduce 107 (src line 605) + + +state 62 + metric_type_spec: TIMER. (108) + + . reduce 108 (src line 609) + + +state 63 + metric_type_spec: TEXT. (109) + + . reduce 109 (src line 613) + + +state 64 + metric_type_spec: HISTOGRAM. (110) + + . reduce 110 (src line 617) + + +state 65 + conditional_expr: pattern_expr logical_op.opt_nl logical_expr + opt_nl: . (130) + + NL shift 108 + . reduce 130 (src line 755) + + opt_nl goto 123 + +state 66 + logical_op: AND. (35) + + . reduce 35 (src line 263) + + +state 67 + logical_op: OR. (36) + + . reduce 36 (src line 266) + + +state 68 + logical_expr: logical_expr logical_op.opt_nl bitwise_expr + logical_expr: logical_expr logical_op.opt_nl match_expr + opt_nl: . (130) + + NL shift 108 + . reduce 130 (src line 755) + + opt_nl goto 124 + +state 69 + postfix_expr: postfix_expr postfix_op. (75) + + . reduce 75 (src line 425) + + +state 70 + postfix_op: INC. (76) + + . reduce 76 (src line 431) + + +state 71 + postfix_op: DEC. (77) + + . reduce 77 (src line 434) + + +state 72 + concat_expr: concat_expr PLUS.opt_nl regex_pattern + concat_expr: concat_expr PLUS.opt_nl id_expr + opt_nl: . (130) + + NL shift 108 + . reduce 130 (src line 755) + + opt_nl goto 125 + +state 73 + bitwise_expr: bitwise_expr bitwise_op.opt_nl rel_expr + opt_nl: . (130) + + NL shift 108 + . reduce 130 (src line 755) + + opt_nl goto 126 + +state 74 + bitwise_op: BITAND. (39) + + . reduce 39 (src line 280) + + +state 75 + bitwise_op: BITOR. (40) + + . reduce 40 (src line 283) + + +state 76 + bitwise_op: XOR. (41) + + . reduce 41 (src line 285) + + +state 77 + assign_expr: unary_expr ASSIGN.opt_nl logical_expr + opt_nl: . (130) + + NL shift 108 + . reduce 130 (src line 755) + + opt_nl goto 127 + +state 78 + assign_expr: unary_expr ADD_ASSIGN.opt_nl logical_expr + opt_nl: . (130) + + NL shift 108 + . reduce 130 (src line 755) + + opt_nl goto 128 + +state 79 + match_expr: primary_expr match_op.opt_nl pattern_expr + match_expr: primary_expr match_op.opt_nl primary_expr + opt_nl: . (130) + + NL shift 108 + . reduce 130 (src line 755) + + opt_nl goto 129 + +state 80 + match_op: MATCH. (60) + + . reduce 60 (src line 360) + + +state 81 + match_op: NOT_MATCH. (61) + + . reduce 61 (src line 363) + + +state 82 + rel_expr: rel_expr rel_op.opt_nl shift_expr + opt_nl: . (130) + + NL shift 108 + . reduce 130 (src line 755) + + opt_nl goto 130 + +state 83 + rel_op: LT. (44) + + . reduce 44 (src line 299) + + +state 84 + rel_op: GT. (45) + + . reduce 45 (src line 302) + + +state 85 + rel_op: LE. (46) + + . reduce 46 (src line 304) + + +state 86 + rel_op: GE. (47) + + . reduce 47 (src line 306) + + +state 87 + rel_op: EQ. (48) + + . reduce 48 (src line 308) + + +state 88 + rel_op: NE. (49) + + . reduce 49 (src line 310) + + +state 89 + unary_expr: NOT unary_expr. (73) + + . reduce 73 (src line 415) + + +state 90 + unary_expr: postfix_expr. (72) + postfix_expr: postfix_expr.postfix_op + + INC shift 70 + DEC shift 71 + . reduce 72 (src line 412) + + postfix_op goto 69 + +state 91 + postfix_expr: primary_expr. (74) + + . reduce 74 (src line 422) + + +state 92 + builtin_expr: mark_pos.BUILTIN LPAREN RPAREN + builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN + + BUILTIN shift 53 + . error + + +state 93 + indexed_expr: indexed_expr LSQUARE.arg_expr_list RSQUARE + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + LPAREN shift 39 + . reduce 128 (src line 735) + + arg_expr_list goto 131 + primary_expr goto 30 + multiplicative_expr goto 46 + additive_expr goto 44 + postfix_expr goto 90 + unary_expr goto 95 + rel_expr goto 32 + shift_expr goto 42 + bitwise_expr goto 27 + logical_expr goto 133 + indexed_expr goto 34 + id_expr goto 43 + concat_expr goto 26 + pattern_expr goto 134 + regex_pattern goto 31 + match_expr goto 28 + builtin_expr goto 35 + arg_expr goto 132 + mark_pos goto 135 + +state 94 + logical_expr: logical_expr.logical_op opt_nl bitwise_expr + logical_expr: logical_expr.logical_op opt_nl match_expr + primary_expr: LPAREN logical_expr.RPAREN + + AND shift 66 + OR shift 67 + RPAREN shift 136 + . error + + logical_op goto 68 + +state 95 + multiplicative_expr: unary_expr. (66) + + . reduce 66 (src line 391) + + +state 96 + shift_expr: shift_expr shift_op.opt_nl additive_expr + opt_nl: . (130) + + NL shift 108 + . reduce 130 (src line 755) + + opt_nl goto 137 + +state 97 + shift_op: SHL. (52) + + . reduce 52 (src line 324) + + +state 98 + shift_op: SHR. (53) + + . reduce 53 (src line 327) + + +state 99 + additive_expr: additive_expr add_op.opt_nl multiplicative_expr + opt_nl: . (130) + + NL shift 108 + . reduce 130 (src line 755) + + opt_nl goto 138 + +state 100 + add_op: PLUS. (56) + + . reduce 56 (src line 341) + + +state 101 + add_op: MINUS. (57) + + . reduce 57 (src line 344) + + +state 102 + multiplicative_expr: multiplicative_expr mul_op.opt_nl unary_expr + opt_nl: . (130) + + NL shift 108 + . reduce 130 (src line 755) + + opt_nl goto 139 + +state 103 + mul_op: MUL. (68) + + . reduce 68 (src line 400) + + +state 104 + mul_op: DIV. (69) + + . reduce 69 (src line 403) + + +state 105 + mul_op: MOD. (70) + + . reduce 70 (src line 405) + + +state 106 + mul_op: POW. (71) + + . reduce 71 (src line 407) + + +state 107 + stmt: CONST id_expr opt_nl.concat_expr + mark_pos: . (128) + + . reduce 128 (src line 735) + + concat_expr goto 140 + regex_pattern goto 31 + mark_pos goto 141 + +state 108 + opt_nl: NL. (131) + + . reduce 131 (src line 757) + + +state 109 + log_filter_spec: LOGFILTER log_filter_list NL. (15) + + . reduce 15 (src line 152) + + +state 110 + log_filter_list: log_filter_list COMMA.STRING + + STRING shift 142 + . error + + +state 111 + conditional_stmt: conditional_expr compound_stmt ELSE.compound_stmt + + LCURLY shift 51 + . error + + compound_stmt goto 143 + +state 112 + stmt_list: stmt_list.stmt + compound_stmt: LCURLY stmt_list.RCURLY + mark_pos: . (128) + metric_hide_spec: . (97) + + INVALID shift 14 + COUNTER reduce 97 (src line 548) + GAUGE reduce 97 (src line 548) + TIMER reduce 97 (src line 548) + TEXT reduce 97 (src line 548) + HISTOGRAM reduce 97 (src line 548) + CONST shift 12 + HIDDEN shift 25 + NEXT shift 11 + STOP shift 13 + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + RCURLY shift 144 + LPAREN shift 39 + NL shift 18 + LOGFILTER shift 15 + . reduce 128 (src line 735) + + stmt goto 3 + conditional_stmt goto 5 + conditional_expr goto 16 + expr_stmt goto 6 + expr goto 19 + primary_expr goto 30 + multiplicative_expr goto 46 + additive_expr goto 44 + postfix_expr goto 24 + unary_expr goto 29 + assign_expr goto 23 + rel_expr goto 32 + shift_expr goto 42 + bitwise_expr goto 27 + logical_expr goto 22 + indexed_expr goto 34 + id_expr goto 43 + concat_expr goto 26 + pattern_expr goto 21 + metric_declaration goto 7 + decorator_declaration goto 8 + decoration_stmt goto 9 + regex_pattern goto 31 + match_expr goto 28 + delete_stmt goto 10 + builtin_expr goto 35 + metric_hide_spec goto 20 + log_filter_spec goto 4 + mark_pos goto 17 + +state 113 + conditional_stmt: mark_pos OTHERWISE compound_stmt. (20) + + . reduce 20 (src line 187) + + +state 114 + builtin_expr: mark_pos BUILTIN LPAREN.RPAREN + builtin_expr: mark_pos BUILTIN LPAREN.arg_expr_list RPAREN + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + LPAREN shift 39 + RPAREN shift 145 + . reduce 128 (src line 735) + + arg_expr_list goto 146 + primary_expr goto 30 + multiplicative_expr goto 46 + additive_expr goto 44 + postfix_expr goto 90 + unary_expr goto 95 + rel_expr goto 32 + shift_expr goto 42 + bitwise_expr goto 27 + logical_expr goto 133 + indexed_expr goto 34 + id_expr goto 43 + concat_expr goto 26 + pattern_expr goto 134 + regex_pattern goto 31 + match_expr goto 28 + builtin_expr goto 35 + arg_expr goto 132 + mark_pos goto 135 + +state 115 + regex_pattern: mark_pos DIV in_regex.REGEX DIV + + REGEX shift 147 + . error + + +state 116 + decorator_declaration: mark_pos DEF ID.compound_stmt + + LCURLY shift 51 + . error + + compound_stmt goto 148 + +state 117 + decoration_stmt: mark_pos DECO compound_stmt. (123) + + . reduce 123 (src line 702) + + +state 118 + postfix_expr: postfix_expr.postfix_op + delete_stmt: mark_pos DEL postfix_expr.AFTER DURATIONLITERAL + delete_stmt: mark_pos DEL postfix_expr. (125) + + AFTER shift 149 + INC shift 70 + DEC shift 71 + . reduce 125 (src line 715) + + postfix_op goto 69 + +state 119 + metric_declaration: metric_hide_spec metric_type_spec metric_decl_attr_spec. (96) + metric_decl_attr_spec: metric_decl_attr_spec.metric_by_spec + metric_decl_attr_spec: metric_decl_attr_spec.metric_as_spec + metric_decl_attr_spec: metric_decl_attr_spec.metric_buckets_spec + metric_decl_attr_spec: metric_decl_attr_spec.metric_limit_spec + + AS shift 155 + BY shift 154 + BUCKETS shift 156 + LIMIT shift 157 + . reduce 96 (src line 537) + + metric_limit_spec goto 153 + metric_as_spec goto 151 + metric_by_spec goto 150 + metric_buckets_spec goto 152 + +state 120 + metric_decl_attr_spec: metric_name_spec. (103) + + . reduce 103 (src line 581) + + +state 121 + metric_name_spec: ID. (104) + + . reduce 104 (src line 588) + + +state 122 + metric_name_spec: STRING. (105) + + . reduce 105 (src line 593) + + +state 123 + conditional_expr: pattern_expr logical_op opt_nl.logical_expr + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + LPAREN shift 39 + . reduce 128 (src line 735) + + primary_expr goto 30 + multiplicative_expr goto 46 + additive_expr goto 44 + postfix_expr goto 90 + unary_expr goto 95 + rel_expr goto 32 + shift_expr goto 42 + bitwise_expr goto 27 + logical_expr goto 158 + indexed_expr goto 34 + id_expr goto 43 + match_expr goto 28 + builtin_expr goto 35 + mark_pos goto 92 + +state 124 + logical_expr: logical_expr logical_op opt_nl.bitwise_expr + logical_expr: logical_expr logical_op opt_nl.match_expr + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + LPAREN shift 39 + . reduce 128 (src line 735) + + primary_expr goto 30 + multiplicative_expr goto 46 + additive_expr goto 44 + postfix_expr goto 90 + unary_expr goto 95 + rel_expr goto 32 + shift_expr goto 42 + bitwise_expr goto 159 + indexed_expr goto 34 + id_expr goto 43 + match_expr goto 160 + builtin_expr goto 35 + mark_pos goto 92 + +state 125 + concat_expr: concat_expr PLUS opt_nl.regex_pattern + concat_expr: concat_expr PLUS opt_nl.id_expr + mark_pos: . (128) + + ID shift 45 + . reduce 128 (src line 735) + + id_expr goto 162 + regex_pattern goto 161 + mark_pos goto 141 + +state 126 + bitwise_expr: bitwise_expr bitwise_op opt_nl.rel_expr + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + LPAREN shift 39 + . reduce 128 (src line 735) + + primary_expr goto 91 + multiplicative_expr goto 46 + additive_expr goto 44 + postfix_expr goto 90 + unary_expr goto 95 + rel_expr goto 163 + shift_expr goto 42 + indexed_expr goto 34 + id_expr goto 43 + builtin_expr goto 35 + mark_pos goto 92 + +state 127 + assign_expr: unary_expr ASSIGN opt_nl.logical_expr + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + LPAREN shift 39 + . reduce 128 (src line 735) + + primary_expr goto 30 + multiplicative_expr goto 46 + additive_expr goto 44 + postfix_expr goto 90 + unary_expr goto 95 + rel_expr goto 32 + shift_expr goto 42 + bitwise_expr goto 27 + logical_expr goto 164 + indexed_expr goto 34 + id_expr goto 43 + match_expr goto 28 + builtin_expr goto 35 + mark_pos goto 92 + +state 128 + assign_expr: unary_expr ADD_ASSIGN opt_nl.logical_expr + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + LPAREN shift 39 + . reduce 128 (src line 735) + + primary_expr goto 30 + multiplicative_expr goto 46 + additive_expr goto 44 + postfix_expr goto 90 + unary_expr goto 95 + rel_expr goto 32 + shift_expr goto 42 + bitwise_expr goto 27 + logical_expr goto 165 + indexed_expr goto 34 + id_expr goto 43 + match_expr goto 28 + builtin_expr goto 35 + mark_pos goto 92 + +state 129 + match_expr: primary_expr match_op opt_nl.pattern_expr + match_expr: primary_expr match_op opt_nl.primary_expr + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + LPAREN shift 39 + . reduce 128 (src line 735) + + primary_expr goto 167 + indexed_expr goto 34 + id_expr goto 43 + concat_expr goto 26 + pattern_expr goto 166 + regex_pattern goto 31 + builtin_expr goto 35 + mark_pos goto 135 + +state 130 + rel_expr: rel_expr rel_op opt_nl.shift_expr + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + LPAREN shift 39 + . reduce 128 (src line 735) + + primary_expr goto 91 + multiplicative_expr goto 46 + additive_expr goto 44 + postfix_expr goto 90 + unary_expr goto 95 + shift_expr goto 168 + indexed_expr goto 34 + id_expr goto 43 + builtin_expr goto 35 + mark_pos goto 92 + +state 131 + indexed_expr: indexed_expr LSQUARE arg_expr_list.RSQUARE + arg_expr_list: arg_expr_list.COMMA arg_expr + + RSQUARE shift 169 + COMMA shift 170 + . error + + +state 132 + arg_expr_list: arg_expr. (91) + + . reduce 91 (src line 508) + + +state 133 + logical_expr: logical_expr.logical_op opt_nl bitwise_expr + logical_expr: logical_expr.logical_op opt_nl match_expr + arg_expr: logical_expr. (93) + + AND shift 66 + OR shift 67 + . reduce 93 (src line 521) + + logical_op goto 68 + +state 134 + arg_expr: pattern_expr. (94) + + . reduce 94 (src line 524) + + +state 135 + builtin_expr: mark_pos.BUILTIN LPAREN RPAREN + builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN + regex_pattern: mark_pos.DIV in_regex REGEX DIV + + BUILTIN shift 53 + DIV shift 54 + . error + + +state 136 + primary_expr: LPAREN logical_expr RPAREN. (83) + + . reduce 83 (src line 456) + + +state 137 + shift_expr: shift_expr shift_op opt_nl.additive_expr + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + LPAREN shift 39 + . reduce 128 (src line 735) + + primary_expr goto 91 + multiplicative_expr goto 46 + additive_expr goto 171 + postfix_expr goto 90 + unary_expr goto 95 + indexed_expr goto 34 + id_expr goto 43 + builtin_expr goto 35 + mark_pos goto 92 + +state 138 + additive_expr: additive_expr add_op opt_nl.multiplicative_expr + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + LPAREN shift 39 + . reduce 128 (src line 735) + + primary_expr goto 91 + multiplicative_expr goto 172 + postfix_expr goto 90 + unary_expr goto 95 + indexed_expr goto 34 + id_expr goto 43 + builtin_expr goto 35 + mark_pos goto 92 + +state 139 + multiplicative_expr: multiplicative_expr mul_op opt_nl.unary_expr + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + LPAREN shift 39 + . reduce 128 (src line 735) + + primary_expr goto 91 + postfix_expr goto 90 + unary_expr goto 173 + indexed_expr goto 34 + id_expr goto 43 + builtin_expr goto 35 + mark_pos goto 92 + +state 140 + stmt: CONST id_expr opt_nl concat_expr. (12) + concat_expr: concat_expr.PLUS opt_nl regex_pattern + concat_expr: concat_expr.PLUS opt_nl id_expr + + PLUS shift 72 + . reduce 12 (src line 138) + + +state 141 + regex_pattern: mark_pos.DIV in_regex REGEX DIV + + DIV shift 54 + . error + + +state 142 + log_filter_list: log_filter_list COMMA STRING. (17) + + . reduce 17 (src line 167) + + +state 143 + conditional_stmt: conditional_expr compound_stmt ELSE compound_stmt. (18) + + . reduce 18 (src line 174) + + +state 144 + compound_stmt: LCURLY stmt_list RCURLY. (26) + + . reduce 26 (src line 220) + + +state 145 + builtin_expr: mark_pos BUILTIN LPAREN RPAREN. (89) + + . reduce 89 (src line 495) + + +state 146 + builtin_expr: mark_pos BUILTIN LPAREN arg_expr_list.RPAREN + arg_expr_list: arg_expr_list.COMMA arg_expr + + RPAREN shift 174 + COMMA shift 170 + . error + + +state 147 + regex_pattern: mark_pos DIV in_regex REGEX.DIV + + DIV shift 175 + . error + + +state 148 + decorator_declaration: mark_pos DEF ID compound_stmt. (122) + + . reduce 122 (src line 694) + + +state 149 + delete_stmt: mark_pos DEL postfix_expr AFTER.DURATIONLITERAL + + DURATIONLITERAL shift 176 + . error + + +state 150 + metric_decl_attr_spec: metric_decl_attr_spec metric_by_spec. (99) + + . reduce 99 (src line 560) + + +state 151 + metric_decl_attr_spec: metric_decl_attr_spec metric_as_spec. (100) + + . reduce 100 (src line 566) + + +state 152 + metric_decl_attr_spec: metric_decl_attr_spec metric_buckets_spec. (101) + + . reduce 101 (src line 571) + + +state 153 + metric_decl_attr_spec: metric_decl_attr_spec metric_limit_spec. (102) + + . reduce 102 (src line 576) + + +state 154 + metric_by_spec: BY.metric_by_expr_list + + STRING shift 181 + ID shift 180 + . error + + id_or_string goto 179 + metric_by_expr goto 178 + metric_by_expr_list goto 177 + +state 155 + metric_as_spec: AS.STRING + + STRING shift 182 + . error + + +state 156 + metric_buckets_spec: BUCKETS.metric_buckets_list + + INTLITERAL shift 185 + FLOATLITERAL shift 184 + . error + + metric_buckets_list goto 183 + +state 157 + metric_limit_spec: LIMIT.INTLITERAL + + INTLITERAL shift 186 + . error + + +state 158 + conditional_expr: pattern_expr logical_op opt_nl logical_expr. (22) + logical_expr: logical_expr.logical_op opt_nl bitwise_expr + logical_expr: logical_expr.logical_op opt_nl match_expr + + AND shift 66 + OR shift 67 + . reduce 22 (src line 199) + + logical_op goto 68 + +state 159 + logical_expr: logical_expr logical_op opt_nl bitwise_expr. (33) + bitwise_expr: bitwise_expr.bitwise_op opt_nl rel_expr + + BITAND shift 74 + XOR shift 76 + BITOR shift 75 + . reduce 33 (src line 253) + + bitwise_op goto 73 + +state 160 + logical_expr: logical_expr logical_op opt_nl match_expr. (34) + + . reduce 34 (src line 257) + + +state 161 + concat_expr: concat_expr PLUS opt_nl regex_pattern. (64) + + . reduce 64 (src line 380) + + +state 162 + concat_expr: concat_expr PLUS opt_nl id_expr. (65) + + . reduce 65 (src line 384) + + +state 163 + bitwise_expr: bitwise_expr bitwise_op opt_nl rel_expr. (38) + rel_expr: rel_expr.rel_op opt_nl shift_expr + + LT shift 83 + GT shift 84 + LE shift 85 + GE shift 86 + EQ shift 87 + NE shift 88 + . reduce 38 (src line 274) + + rel_op goto 82 + +state 164 + assign_expr: unary_expr ASSIGN opt_nl logical_expr. (29) + logical_expr: logical_expr.logical_op opt_nl bitwise_expr + logical_expr: logical_expr.logical_op opt_nl match_expr + + AND shift 66 + OR shift 67 + . reduce 29 (src line 236) + + logical_op goto 68 + +state 165 + assign_expr: unary_expr ADD_ASSIGN opt_nl logical_expr. (30) + logical_expr: logical_expr.logical_op opt_nl bitwise_expr + logical_expr: logical_expr.logical_op opt_nl match_expr + + AND shift 66 + OR shift 67 + . reduce 30 (src line 241) + + logical_op goto 68 + +state 166 + match_expr: primary_expr match_op opt_nl pattern_expr. (58) + + . reduce 58 (src line 349) + + +state 167 + match_expr: primary_expr match_op opt_nl primary_expr. (59) + + . reduce 59 (src line 354) + + +state 168 + rel_expr: rel_expr rel_op opt_nl shift_expr. (43) + shift_expr: shift_expr.shift_op opt_nl additive_expr + + SHL shift 97 + SHR shift 98 + . reduce 43 (src line 293) + + shift_op goto 96 + +state 169 + indexed_expr: indexed_expr LSQUARE arg_expr_list RSQUARE. (87) + + . reduce 87 (src line 477) + + +state 170 + arg_expr_list: arg_expr_list COMMA.arg_expr + mark_pos: . (128) + + STRING shift 38 + CAPREF shift 36 + CAPREF_NAMED shift 37 + ID shift 45 + INTLITERAL shift 40 + FLOATLITERAL shift 41 + NOT shift 33 + LPAREN shift 39 + . reduce 128 (src line 735) + + primary_expr goto 30 + multiplicative_expr goto 46 + additive_expr goto 44 + postfix_expr goto 90 + unary_expr goto 95 + rel_expr goto 32 + shift_expr goto 42 + bitwise_expr goto 27 + logical_expr goto 133 + indexed_expr goto 34 + id_expr goto 43 + concat_expr goto 26 + pattern_expr goto 134 + regex_pattern goto 31 + match_expr goto 28 + builtin_expr goto 35 + arg_expr goto 187 + mark_pos goto 135 + +state 171 + shift_expr: shift_expr shift_op opt_nl additive_expr. (51) + additive_expr: additive_expr.add_op opt_nl multiplicative_expr + + MINUS shift 101 + PLUS shift 100 + . reduce 51 (src line 318) + + add_op goto 99 + +state 172 + additive_expr: additive_expr add_op opt_nl multiplicative_expr. (55) + multiplicative_expr: multiplicative_expr.mul_op opt_nl unary_expr + + DIV shift 104 + MOD shift 105 + MUL shift 103 + POW shift 106 + . reduce 55 (src line 335) + + mul_op goto 102 + +state 173 + multiplicative_expr: multiplicative_expr mul_op opt_nl unary_expr. (67) + + . reduce 67 (src line 394) + + +state 174 + builtin_expr: mark_pos BUILTIN LPAREN arg_expr_list RPAREN. (90) + + . reduce 90 (src line 500) + + +state 175 + regex_pattern: mark_pos DIV in_regex REGEX DIV. (95) + + . reduce 95 (src line 529) + + +state 176 + delete_stmt: mark_pos DEL postfix_expr AFTER DURATIONLITERAL. (124) + + . reduce 124 (src line 710) + + +state 177 + metric_by_spec: BY metric_by_expr_list. (111) + metric_by_expr_list: metric_by_expr_list.COMMA metric_by_expr + + COMMA shift 188 + . reduce 111 (src line 624) + + +state 178 + metric_by_expr_list: metric_by_expr. (112) + + . reduce 112 (src line 631) + + +state 179 + metric_by_expr: id_or_string. (114) + + . reduce 114 (src line 644) + + +state 180 + id_or_string: ID. (126) + + . reduce 126 (src line 721) + + +state 181 + id_or_string: STRING. (127) + + . reduce 127 (src line 726) + + +state 182 + metric_as_spec: AS STRING. (115) + + . reduce 115 (src line 650) + + +state 183 + metric_buckets_spec: BUCKETS metric_buckets_list. (117) + metric_buckets_list: metric_buckets_list.COMMA FLOATLITERAL + metric_buckets_list: metric_buckets_list.COMMA INTLITERAL + + COMMA shift 189 + . reduce 117 (src line 665) + + +state 184 + metric_buckets_list: FLOATLITERAL. (118) + + . reduce 118 (src line 671) + + +state 185 + metric_buckets_list: INTLITERAL. (119) + + . reduce 119 (src line 677) + + +state 186 + metric_limit_spec: LIMIT INTLITERAL. (116) + + . reduce 116 (src line 657) + + +state 187 + arg_expr_list: arg_expr_list COMMA arg_expr. (92) + + . reduce 92 (src line 514) + + +state 188 + metric_by_expr_list: metric_by_expr_list COMMA.metric_by_expr + + STRING shift 181 + ID shift 180 + . error + + id_or_string goto 179 + metric_by_expr goto 190 + +state 189 + metric_buckets_list: metric_buckets_list COMMA.FLOATLITERAL + metric_buckets_list: metric_buckets_list COMMA.INTLITERAL + + INTLITERAL shift 192 + FLOATLITERAL shift 191 + . error + + +state 190 + metric_by_expr_list: metric_by_expr_list COMMA metric_by_expr. (113) + + . reduce 113 (src line 637) + + +state 191 + metric_buckets_list: metric_buckets_list COMMA FLOATLITERAL. (120) + + . reduce 120 (src line 682) + + +state 192 + metric_buckets_list: metric_buckets_list COMMA INTLITERAL. (121) + + . reduce 121 (src line 687) + + +67 terminals, 57 nonterminals +132 grammar rules, 193/16000 states +0 shift/reduce, 0 reduce/reduce conflicts reported +106 working sets used +memory: parser 401/240000 +173 extra closures +288 shift entries, 13 exceptions +118 goto entries +194 entries saved by goto default +Optimizer space used: output 255/240000 +255 table entries, 0 zero +maximum spread: 67, maximum offset: 188 diff --git a/internal/runtime/compiler/types/types.go b/internal/runtime/compiler/types/types.go index bd24f5779..cd44e2237 100644 --- a/internal/runtime/compiler/types/types.go +++ b/internal/runtime/compiler/types/types.go @@ -243,8 +243,8 @@ var ( Float = &Operator{"Float", []Type{}} String = &Operator{"String", []Type{}} Pattern = &Operator{"Pattern", []Type{}} - // LogMapping represents a type for the LOGMAPPING construct. - LogMapping = &Operator{"LogMapping", []Type{String}} + // LogFilter represents a type for the LOGFILTER construct. + LogFilter = &Operator{"LogFilter", []Type{String}} // TODO(jaq): use composite type so we can typecheck the bucket directly, e.g. hist[j] = i. Buckets = &Operator{"Buckets", []Type{}} @@ -266,7 +266,7 @@ var Builtins = map[string]Type{ "tolower": Function(String, String), "getfilename": Function(String), "subst": Function(Pattern, String, String, String), - "logmapping": Function(String, LogMapping), + "log_filter": Function(String, LogFilter), } // FreshType returns a new type from the provided type scheme, replacing any From d1dcc334dada426fdb0cb90427717a839bbef759 Mon Sep 17 00:00:00 2001 From: Jason Herbage Date: Mon, 30 Jun 2025 15:06:30 +0100 Subject: [PATCH 153/381] simplied the parser for log_filter --- TODO | 4 - docs/Programming-Guide.md | 10 + .../runtime/compiler/codegen/codegen_test.go | 141 +- internal/runtime/compiler/parser/parser.go | 769 ++++----- internal/runtime/compiler/parser/parser.y | 31 +- .../runtime/compiler/parser/parser_test.go | 20 +- internal/runtime/compiler/parser/y.output | 1439 +++++++++-------- 7 files changed, 1285 insertions(+), 1129 deletions(-) diff --git a/TODO b/TODO index a887b5843..bb018df50 100644 --- a/TODO +++ b/TODO @@ -7,10 +7,6 @@ Can't put trailing newlines in cases in parser test, requires changes to expr st parse tree/ast testing? - expected AST as result from parse/check instead of merely getting a result. A similar version of this is in codegen_test.go:TestCodeGenFromAST -A mapping between progs and logs to reduce wasted processing- issue #35 - Means we don't fan out log lines to every VM if reading from multiple sources. - Requires figuring out how to provide this configuration. Special syntax in a program? Not very flexible. A real config file? Been trying to avoid that. Commandline flag? Seems difficult to maintain. - bytecode like [{push 1} {push 0} {cmp 1} {jm 6} {push 0} {jmp 7} {push 1} {jnm 13} diff --git a/docs/Programming-Guide.md b/docs/Programming-Guide.md index 2a7d62a9d..35e8c8ce5 100644 --- a/docs/Programming-Guide.md +++ b/docs/Programming-Guide.md @@ -132,6 +132,16 @@ parsing: Note the position of the underscore in the regular expression match. +## Log Filtering + +The `log_filter` keyword can be used in an mtail program to provide a list of filenames (including the full path to the file). If a `log_filter` is used the program is restricted only to processing logfiles with the names provided. If no `log_filter` keyword is used then all logfiles read by mtail are read by the program. `log_filter` can be used to reduce the resource consumption of mtail by ensuring programs only read the lines they were designed for. + +Example use: + +``` +log_filter "/tmp/read_this_log.txt", "/tmp/read_this_log_as_well.txt" +``` + ## Conditional structures The `/pattern/ { action }` idiom is the normal conditional control flow diff --git a/internal/runtime/compiler/codegen/codegen_test.go b/internal/runtime/compiler/codegen/codegen_test.go index 2ab0a0345..646a838d8 100644 --- a/internal/runtime/compiler/codegen/codegen_test.go +++ b/internal/runtime/compiler/codegen/codegen_test.go @@ -20,9 +20,10 @@ import ( var codegenTestDebug = flag.Bool("codegen_test_debug", false, "Log ASTs and debugging information ") var testCodeGenPrograms = []struct { - name string - source string - prog []code.Instr // expected bytecode + name string + source string + prog []code.Instr // expected bytecode + expectedLogs []string }{ // Composite literals require too many explicit conversions. { @@ -37,6 +38,7 @@ var testCodeGenPrograms = []struct { {code.Inc, nil, 1}, {code.Setmatched, true, 1}, }, + nil, }, { "count a", @@ -50,6 +52,7 @@ var testCodeGenPrograms = []struct { {code.Inc, nil, 1}, {code.Setmatched, true, 1}, }, + nil, }, { "strptime and capref", @@ -69,6 +72,7 @@ var testCodeGenPrograms = []struct { {code.Inc, nil, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "strptime and named capref", @@ -88,6 +92,7 @@ var testCodeGenPrograms = []struct { {code.Inc, nil, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "inc by and set", @@ -114,6 +119,7 @@ var testCodeGenPrograms = []struct { {code.Iset, nil, 4}, {code.Setmatched, true, 2}, }, + nil, }, { "cond expr gt", @@ -136,6 +142,7 @@ var testCodeGenPrograms = []struct { {code.Inc, nil, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "cond expr lt", @@ -158,6 +165,7 @@ var testCodeGenPrograms = []struct { {code.Inc, nil, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "cond expr eq", @@ -180,6 +188,7 @@ var testCodeGenPrograms = []struct { {code.Inc, nil, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "cond expr le", @@ -202,6 +211,7 @@ var testCodeGenPrograms = []struct { {code.Inc, nil, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "cond expr ge", @@ -224,6 +234,7 @@ var testCodeGenPrograms = []struct { {code.Inc, nil, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "cond expr ne", @@ -246,6 +257,7 @@ var testCodeGenPrograms = []struct { {code.Inc, nil, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "nested cond", @@ -276,6 +288,7 @@ var testCodeGenPrograms = []struct { {code.Setmatched, true, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "deco", @@ -301,6 +314,7 @@ var testCodeGenPrograms = []struct { {code.Inc, nil, 8}, {code.Setmatched, true, 3}, }, + nil, }, { "length", @@ -319,6 +333,7 @@ var testCodeGenPrograms = []struct { {code.Setmatched, false, 0}, {code.Setmatched, true, 0}, }, + nil, }, { "bitwise", ` @@ -353,6 +368,7 @@ a = 1 >> 20 {code.Shr, nil, 5}, {code.Iset, nil, 5}, }, + nil, }, { "pow", ` @@ -377,6 +393,7 @@ gauge a {code.Iset, nil, 3}, {code.Setmatched, true, 2}, }, + nil, }, { "indexed expr", ` @@ -389,6 +406,7 @@ a["string"]++ {code.Dload, 1, 2}, {code.Inc, nil, 2}, }, + nil, }, { "strtol", ` @@ -399,6 +417,7 @@ strtol("deadbeef", 16) {code.Push, int64(16), 1}, {code.S2i, 2, 1}, }, + nil, }, { "float", ` @@ -407,6 +426,7 @@ strtol("deadbeef", 16) []code.Instr{ {code.Push, 20.0, 1}, }, + nil, }, { "otherwise", ` @@ -424,6 +444,7 @@ otherwise { {code.Inc, nil, 3}, {code.Setmatched, true, 2}, }, + nil, }, { "cond else", @@ -453,6 +474,7 @@ counter bar {code.Dload, 0, 5}, {code.Inc, nil, 5}, }, + nil, }, { "mod", @@ -468,6 +490,7 @@ a = 3 % 1 {code.Imod, nil, 2}, {code.Iset, nil, 2}, }, + nil, }, { "del", ` @@ -479,6 +502,7 @@ del a["string"] {code.Mload, 0, 2}, {code.Del, 1, 2}, }, + nil, }, { "del after", ` @@ -491,6 +515,7 @@ del a["string"] after 1h {code.Mload, 0, 2}, {code.Expire, 1, 2}, }, + nil, }, { "types", ` @@ -525,6 +550,7 @@ gauge f {code.Fset, nil, 7}, {code.Setmatched, true, 6}, }, + nil, }, { @@ -534,6 +560,7 @@ getfilename() []code.Instr{ {code.Getfilename, 0, 1}, }, + nil, }, { @@ -558,6 +585,7 @@ getfilename() {code.Inc, nil, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "string to int", @@ -578,6 +606,7 @@ getfilename() {code.Iset, nil, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "int to float", @@ -598,6 +627,7 @@ getfilename() {code.Fset, nil, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "string to float", @@ -618,6 +648,7 @@ getfilename() {code.Fset, nil, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "float to string", @@ -639,6 +670,7 @@ getfilename() {code.Inc, nil, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "int to string", @@ -660,6 +692,7 @@ getfilename() {code.Inc, nil, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "nested comparisons", @@ -703,6 +736,7 @@ getfilename() {code.Setmatched, true, 2}, {code.Setmatched, true, 1}, }, + nil, }, { "string concat", ` @@ -725,6 +759,7 @@ counter f by s {code.Inc, nil, 3}, {code.Setmatched, true, 2}, }, + nil, }, { "add assign float", ` @@ -748,6 +783,7 @@ gauge foo {code.Fset, nil, 3}, {code.Setmatched, true, 2}, }, + nil, }, { "match expression", ` @@ -772,6 +808,7 @@ gauge foo {code.Setmatched, true, 3}, {code.Setmatched, true, 2}, }, + nil, }, { "negative match expression", ` @@ -797,6 +834,7 @@ gauge foo {code.Setmatched, true, 3}, {code.Setmatched, true, 2}, }, + nil, }, { "capref used in def", ` @@ -822,6 +860,7 @@ gauge foo {code.Setmatched, false, 1}, {code.Setmatched, true, 1}, }, + nil, }, { "binop arith type conversion", ` @@ -846,6 +885,7 @@ gauge var {code.Fset, nil, 3}, {code.Setmatched, true, 2}, }, + nil, }, { "binop compare type conversion", ` @@ -879,6 +919,7 @@ counter var {code.Setmatched, true, 3}, {code.Setmatched, true, 2}, }, + nil, }, {"set string", ` text foo @@ -895,7 +936,10 @@ text foo {code.Capref, 1, 3}, {code.Sset, nil, 3}, {code.Setmatched, true, 2}, - }}, + }, + nil, + }, + { "concat to text", ` text foo @@ -916,6 +960,7 @@ text foo {code.Sset, nil, 3}, {code.Setmatched, true, 2}, }, + nil, }, {"decrement", ` counter i @@ -929,7 +974,9 @@ counter i {code.Dload, 0, 3}, {code.Dec, nil, 3}, {code.Setmatched, true, 2}, - }}, + }, + nil, + }, {"capref and settime", ` /(\d+)/ { settime($1) @@ -942,7 +989,9 @@ counter i {code.S2i, nil, 2}, {code.Settime, 1, 2}, {code.Setmatched, true, 1}, - }}, + }, + nil, + }, {"cast to self", ` /(\d+)/ { settime(int($1)) @@ -955,12 +1004,16 @@ settime(int($1)) {code.S2i, nil, 2}, {code.Settime, 1, 2}, {code.Setmatched, true, 1}, - }}, + }, + nil, + }, {"stop", ` stop `, []code.Instr{ {code.Stop, nil, 1}, - }}, + }, + nil, + }, {"stop inside", ` // { stop @@ -971,8 +1024,61 @@ stop {code.Setmatched, false, 1}, {code.Stop, nil, 2}, {code.Setmatched, true, 1}, - }}, - + }, + nil, + }, + { + "log_filter with new line", + `log_filter "/tmp/log1", "/tmp/log2" +`, + nil, + []string{ + "/tmp/log1", + "/tmp/log2", + }, + }, + { + "log_filter without new line", + `log_filter "/tmp/log1", "/tmp/log2"`, + nil, + []string{ + "/tmp/log1", + "/tmp/log2", + }, + }, + { + "log_filter unquoted", // only works if the logfile is an ID ie a word + `log_filter tmplog1, tmplog2`, + nil, + []string{ + "tmplog1", + "tmplog2", + }, + }, + { + "log_filter before clause", + ` +log_filter "/tmp/log1", "/tmp/log2" +20.0 +`, + []code.Instr{ + {code.Push, 20.0, 2}, + }, + []string{ + "/tmp/log1", + "/tmp/log2", + }, + }, + {"log_filter after clause", ` +20.0 +log_filter "/tmp/log1", "/tmp/log2" +`, []code.Instr{ + {code.Push, 20.0, 1}, + }, []string{ + "/tmp/log1", + "/tmp/log2", + }, + }, { "nested decorators", `def b { @@ -984,7 +1090,7 @@ stop } } @b { -}`, nil, +}`, nil, nil, }, {"negative numbers in capture groups", ` gauge foo @@ -1007,7 +1113,9 @@ foo += $value_ms / 1000.0 {code.Fadd, nil, 3}, {code.Fset, nil, 3}, {code.Setmatched, true, 2}, - }}, + }, + nil, + }, {"substitution", ` gauge foo /(\d+,\d)/ { @@ -1026,7 +1134,9 @@ gauge foo {code.S2i, nil, 3}, {code.Iset, nil, 3}, {code.Setmatched, true, 2}, - }}, + }, + nil, + }, {"const term as pattern", ` const A /n/ A && 1 { @@ -1042,7 +1152,9 @@ A && 1 { {code.Jnm, 10, 0}, {code.Setmatched, false, 0}, {code.Setmatched, true, 0}, - }}, + }, + nil, + }, } func TestCodeGenFromSource(t *testing.T) { @@ -1060,6 +1172,7 @@ func TestCodeGenFromSource(t *testing.T) { testutil.FatalIfErr(t, err) obj, err := codegen.CodeGen(tc.name, ast) testutil.FatalIfErr(t, err) + testutil.ExpectNoDiff(t, tc.expectedLogs, obj.LogRestriction, testutil.AllowUnexported(code.Instr{})) testutil.ExpectNoDiff(t, tc.prog, obj.Program, testutil.AllowUnexported(code.Instr{})) }) diff --git a/internal/runtime/compiler/parser/parser.go b/internal/runtime/compiler/parser/parser.go index 50d714816..705bc1c08 100644 --- a/internal/runtime/compiler/parser/parser.go +++ b/internal/runtime/compiler/parser/parser.go @@ -19,19 +19,18 @@ import ( //line parser.y:19 type mtailSymType struct { - yys int - intVal int64 - floatVal float64 - floats []float64 - op int - text string - texts []string - flag bool - n ast.Node - kind metrics.Kind - duration time.Duration - logFilters []string - logFilter *ast.LogFilter // Add this field for *ast.LogFilter + yys int + intVal int64 + floatVal float64 + floats []float64 + op int + text string + texts []string + flag bool + n ast.Node + kind metrics.Kind + duration time.Duration + logFilter *ast.LogFilter // Add this field for *ast.LogFilter } const INVALID = 57346 @@ -175,7 +174,7 @@ const mtailEofCode = 1 const mtailErrCode = 2 const mtailInitialStackSize = 16 -//line parser.y:761 +//line parser.y:768 // tokenpos returns the position of the current token. func tokenpos(mtaillex mtailLexer) position.Position { @@ -202,167 +201,167 @@ var mtailExca = [...]int16{ -2, 0, -1, 2, 1, 1, - 5, 97, - 6, 97, - 7, 97, - 8, 97, - 9, 97, - -2, 128, + 5, 98, + 6, 98, + 7, 98, + 8, 98, + 9, 98, + -2, 129, -1, 24, - 66, 28, - -2, 72, - -1, 112, - 5, 97, - 6, 97, - 7, 97, - 8, 97, - 9, 97, - -2, 128, + 66, 29, + -2, 73, + -1, 114, + 5, 98, + 6, 98, + 7, 98, + 8, 98, + 9, 98, + -2, 129, } const mtailPrivate = 57344 -const mtailLast = 255 +const mtailLast = 256 var mtailAct = [...]uint8{ - 178, 92, 132, 30, 17, 95, 44, 46, 29, 50, - 43, 133, 31, 108, 22, 90, 42, 26, 24, 134, - 107, 32, 21, 47, 58, 28, 27, 38, 36, 37, - 45, 189, 40, 41, 110, 109, 188, 91, 131, 89, - 38, 36, 37, 45, 93, 40, 41, 38, 36, 37, - 45, 94, 40, 41, 33, 174, 169, 170, 170, 66, - 67, 91, 113, 39, 145, 114, 117, 33, 136, 51, - 80, 81, 72, 118, 78, 77, 39, 66, 67, 74, - 76, 75, 175, 39, 53, 2, 123, 97, 98, 124, - 101, 100, 54, 125, 126, 135, 54, 176, 127, 128, - 129, 70, 71, 130, 186, 104, 105, 103, 45, 141, - 106, 192, 191, 116, 17, 182, 135, 137, 29, 181, - 138, 143, 180, 139, 22, 140, 148, 141, 24, 142, - 91, 135, 21, 167, 91, 158, 162, 112, 161, 164, - 165, 91, 91, 91, 171, 173, 172, 168, 163, 166, - 160, 159, 49, 146, 14, 83, 84, 85, 86, 87, - 88, 147, 149, 12, 25, 185, 184, 11, 122, 53, - 13, 121, 135, 187, 14, 38, 36, 37, 45, 111, - 40, 41, 115, 12, 25, 70, 71, 11, 1, 190, - 13, 68, 48, 4, 183, 38, 36, 37, 45, 152, - 40, 41, 33, 69, 55, 57, 79, 52, 102, 99, - 144, 39, 53, 65, 73, 96, 18, 15, 56, 155, - 154, 82, 33, 20, 54, 177, 150, 179, 151, 156, - 157, 39, 153, 59, 35, 120, 18, 15, 60, 61, - 62, 63, 64, 10, 9, 8, 119, 7, 34, 23, - 19, 6, 16, 5, 3, + 50, 180, 95, 134, 30, 17, 98, 44, 46, 29, + 53, 43, 135, 31, 26, 22, 93, 42, 176, 24, + 136, 172, 32, 21, 47, 111, 28, 27, 38, 36, + 37, 45, 61, 40, 41, 14, 171, 172, 94, 133, + 92, 189, 49, 188, 12, 25, 112, 96, 11, 116, + 54, 13, 97, 83, 84, 33, 38, 36, 37, 45, + 2, 40, 41, 75, 39, 94, 115, 81, 80, 177, + 119, 69, 70, 38, 36, 37, 45, 120, 40, 41, + 138, 69, 70, 33, 38, 36, 37, 45, 57, 40, + 41, 110, 39, 77, 79, 78, 178, 18, 15, 137, + 33, 86, 87, 88, 89, 90, 91, 100, 101, 39, + 147, 104, 103, 143, 56, 114, 186, 17, 45, 137, + 39, 29, 73, 74, 145, 142, 57, 22, 118, 150, + 143, 24, 182, 94, 137, 21, 169, 94, 160, 164, + 149, 163, 166, 167, 94, 94, 94, 173, 175, 174, + 170, 165, 168, 162, 161, 144, 148, 181, 151, 56, + 125, 192, 191, 126, 107, 108, 106, 127, 128, 109, + 185, 184, 129, 130, 131, 137, 187, 132, 117, 1, + 71, 73, 74, 14, 52, 124, 113, 51, 123, 181, + 190, 139, 12, 25, 140, 4, 11, 141, 183, 13, + 58, 60, 68, 55, 38, 36, 37, 45, 56, 40, + 41, 157, 156, 154, 59, 63, 64, 65, 66, 67, + 57, 158, 159, 72, 82, 105, 102, 76, 99, 85, + 20, 33, 48, 179, 152, 153, 155, 62, 35, 146, + 39, 122, 10, 9, 8, 18, 15, 121, 7, 34, + 23, 19, 6, 16, 5, 3, } var mtailPact = [...]int16{ - -1000, -1000, 170, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 80, -1000, -1000, 127, 10, 189, -1000, -42, - 233, 24, 24, -1000, 68, -1000, 33, 30, -1000, 19, - 13, -1000, 112, 15, -19, -1000, -1000, -1000, -1000, 15, - -1000, -1000, 46, -1000, 52, -1000, 70, -53, -31, -1000, - 160, -1000, 10, 4, -1000, 85, 10, 22, -1000, 143, - -1000, -1000, -1000, -1000, -1000, -53, -1000, -1000, -53, -1000, - -1000, -1000, -53, -53, -1000, -1000, -1000, -53, -53, -53, - -1000, -1000, -53, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 68, -1000, 146, 15, 6, -1000, -53, -1000, -1000, -53, - -1000, -1000, -53, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 104, 10, 150, -1000, 2, 137, 10, -1000, 152, 208, - -1000, -1000, -1000, 15, 15, 80, 15, 15, 15, 22, - 15, -8, -1000, 24, -1000, 61, -1000, 15, 15, 15, - 33, 57, -1000, -1000, -1000, -1000, -7, 47, -1000, 65, - -1000, -1000, -1000, -1000, 94, 90, 135, 74, 24, 30, - -1000, -1000, -1000, 112, 24, 24, -1000, -1000, 46, -1000, - 15, 52, 70, -1000, -1000, -1000, -1000, -29, -1000, -1000, - -1000, -1000, -1000, -34, -1000, -1000, -1000, -1000, 94, 81, + -1000, -1000, 31, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 90, -1000, -1000, 159, -9, 185, -1000, -34, + 210, 28, 28, -1000, 89, -1000, 24, 44, -1000, 12, + -4, -1000, 58, 3, -16, -1000, -1000, -1000, -1000, 3, + -1000, -1000, 66, -1000, 73, -1000, 129, -41, -19, -1000, + -1000, -1000, -1000, 167, -1000, -9, -12, -1000, 100, -9, + 59, -1000, 160, -1000, -1000, -1000, -1000, -1000, -41, -1000, + -1000, -41, -1000, -1000, -1000, -41, -41, -1000, -1000, -1000, + -41, -41, -41, -1000, -1000, -41, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 89, -1000, 136, 3, 18, -1000, -41, + -1000, -1000, -41, -1000, -1000, -41, -1000, -1000, -1000, -1000, + -1000, -1000, 159, -9, 179, -1000, 48, 116, -9, -1000, + 148, 200, -1000, -1000, -1000, 3, 3, 90, 3, 3, + 3, 59, 3, -28, -1000, 28, -1000, 91, -1000, 3, + 3, 3, 24, 53, -1000, -1000, -1000, -1000, -44, 34, + -1000, 64, -1000, -1000, -1000, -1000, 159, 107, 140, 86, + 28, 44, -1000, -1000, -1000, 58, 28, 28, -1000, -1000, + 66, -1000, 3, 73, 129, -1000, -1000, -1000, -1000, -22, + -1000, -1000, -1000, -24, -1000, -1000, -1000, -1000, 159, 131, -1000, -1000, -1000, } var mtailPgo = [...]uint8{ - 0, 85, 254, 38, 9, 253, 252, 251, 250, 3, - 7, 6, 15, 5, 249, 21, 16, 26, 11, 248, - 10, 17, 19, 247, 246, 245, 244, 12, 25, 243, - 235, 234, 2, 233, 232, 228, 227, 0, 226, 225, - 223, 221, 215, 214, 191, 209, 208, 206, 203, 199, - 194, 193, 192, 188, 20, 1, 182, + 0, 60, 255, 39, 10, 254, 253, 252, 251, 4, + 8, 7, 16, 6, 250, 22, 17, 27, 12, 249, + 11, 14, 20, 248, 247, 244, 243, 13, 26, 242, + 241, 238, 3, 237, 236, 235, 0, 1, 42, 234, + 233, 232, 230, 229, 228, 227, 180, 226, 225, 224, + 223, 213, 198, 195, 179, 91, 2, 178, } var mtailR1 = [...]int8{ - 0, 53, 1, 1, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 51, 52, 52, 5, 5, - 5, 6, 6, 6, 7, 7, 4, 8, 8, 14, - 14, 18, 18, 18, 18, 44, 44, 17, 17, 43, - 43, 43, 15, 15, 41, 41, 41, 41, 41, 41, - 16, 16, 42, 42, 11, 11, 45, 45, 28, 28, - 47, 47, 22, 21, 21, 21, 10, 10, 46, 46, - 46, 46, 13, 13, 12, 12, 48, 48, 9, 9, - 9, 9, 9, 9, 9, 9, 19, 19, 20, 31, - 31, 3, 3, 32, 32, 27, 23, 40, 40, 24, - 24, 24, 24, 24, 30, 30, 33, 33, 33, 33, - 33, 38, 39, 39, 37, 35, 34, 49, 50, 50, - 50, 50, 25, 26, 29, 29, 36, 36, 55, 56, - 54, 54, + 0, 54, 1, 1, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 53, 41, 41, 38, 5, + 5, 5, 6, 6, 6, 7, 7, 4, 8, 8, + 14, 14, 18, 18, 18, 18, 46, 46, 17, 17, + 45, 45, 45, 15, 15, 43, 43, 43, 43, 43, + 43, 16, 16, 44, 44, 11, 11, 47, 47, 28, + 28, 49, 49, 22, 21, 21, 21, 10, 10, 48, + 48, 48, 48, 13, 13, 12, 12, 50, 50, 9, + 9, 9, 9, 9, 9, 9, 9, 19, 19, 20, + 31, 31, 3, 3, 32, 32, 27, 23, 42, 42, + 24, 24, 24, 24, 24, 30, 30, 33, 33, 33, + 33, 33, 39, 40, 40, 37, 35, 34, 51, 52, + 52, 52, 52, 25, 26, 29, 29, 36, 36, 56, + 57, 55, 55, } var mtailR2 = [...]int8{ 0, 1, 0, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 4, 1, 1, 3, 1, 3, 4, 2, - 3, 1, 4, 1, 1, 2, 3, 1, 1, 4, - 4, 1, 1, 4, 4, 1, 1, 1, 4, 1, - 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, - 1, 4, 1, 1, 1, 4, 1, 1, 4, 4, - 1, 1, 1, 1, 4, 4, 1, 4, 1, 1, - 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 3, 1, 1, 1, 4, 1, 4, - 5, 1, 3, 1, 1, 5, 3, 0, 1, 2, - 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 3, 1, 2, 2, 2, 1, 1, - 3, 3, 4, 3, 5, 3, 1, 1, 0, 0, - 0, 1, + 1, 1, 4, 1, 1, 2, 1, 3, 1, 4, + 2, 3, 1, 4, 1, 1, 2, 3, 1, 1, + 4, 4, 1, 1, 4, 4, 1, 1, 1, 4, + 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, + 1, 1, 4, 1, 1, 1, 4, 1, 1, 4, + 4, 1, 1, 1, 1, 4, 4, 1, 4, 1, + 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 3, 1, 1, 1, 4, 1, + 4, 5, 1, 3, 1, 1, 5, 3, 0, 1, + 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 1, 3, 1, 2, 2, 2, 1, + 1, 3, 3, 4, 3, 5, 3, 1, 1, 0, + 0, 0, 1, } var mtailChk = [...]int16{ - -1000, -53, -1, -2, -51, -5, -7, -23, -25, -26, - -29, 17, 13, 20, 4, 67, -6, -55, 66, -8, - -40, -22, -18, -14, -12, 14, -21, -17, -28, -13, + -1000, -54, -1, -2, -53, -5, -7, -23, -25, -26, + -29, 17, 13, 20, 4, 67, -6, -56, 66, -8, + -42, -22, -18, -14, -12, 14, -21, -17, -28, -13, -9, -27, -15, 52, -19, -31, 26, 27, 25, 61, - 30, 31, -16, -20, -11, 28, -10, -20, -52, 25, - -4, 59, 18, 23, 35, 15, 29, 16, 66, -33, - 5, 6, 7, 8, 9, -44, 53, 54, -44, -48, - 33, 34, 39, -43, 49, 51, 50, 56, 55, -47, - 57, 58, -41, 43, 44, 45, 46, 47, 48, -13, - -12, -9, -55, 63, -18, -13, -42, 41, 42, -45, - 39, 38, -46, 37, 35, 36, 40, -54, 66, 66, - 65, 19, -1, -4, 61, -56, 28, -4, -12, -24, - -30, 28, 25, -54, -54, -54, -54, -54, -54, -54, - -54, -3, -32, -18, -22, -55, 62, -54, -54, -54, - -21, -55, 25, -4, 60, 62, -3, 24, -4, 10, - -38, -35, -49, -34, 12, 11, 21, 22, -18, -17, - -28, -27, -20, -15, -18, -18, -22, -9, -16, 64, - 65, -11, -10, -13, 62, 35, 32, -39, -37, -36, - 28, 25, 25, -50, 31, 30, 30, -32, 65, 65, + 30, 31, -16, -20, -11, 28, -10, -20, -41, -38, + -36, 28, 25, -4, 59, 18, 23, 35, 15, 29, + 16, 66, -33, 5, 6, 7, 8, 9, -46, 53, + 54, -46, -50, 33, 34, 39, -45, 49, 51, 50, + 56, 55, -49, 57, 58, -43, 43, 44, 45, 46, + 47, 48, -13, -12, -9, -56, 63, -18, -13, -44, + 41, 42, -47, 39, 38, -48, 37, 35, 36, 40, + -55, 66, 65, 19, -1, -4, 61, -57, 28, -4, + -12, -24, -30, 28, 25, -55, -55, -55, -55, -55, + -55, -55, -55, -3, -32, -18, -22, -56, 62, -55, + -55, -55, -21, -56, -38, -4, 60, 62, -3, 24, + -4, 10, -39, -35, -51, -34, 12, 11, 21, 22, + -18, -17, -28, -27, -20, -15, -18, -18, -22, -9, + -16, 64, 65, -11, -10, -13, 62, 35, 32, -40, + -37, -36, 25, -52, 31, 30, 30, -32, 65, 65, -37, 31, 30, } var mtailDef = [...]int16{ 2, -2, -2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 0, 13, 14, 0, 0, 0, 24, 0, - 0, 21, 23, 27, -2, 98, 62, 31, 32, 66, - 74, 63, 37, 128, 78, 79, 80, 81, 82, 128, - 84, 85, 42, 86, 50, 88, 54, 130, 0, 16, - 19, 2, 0, 0, 129, 0, 0, 128, 25, 0, - 106, 107, 108, 109, 110, 130, 35, 36, 130, 75, - 76, 77, 130, 130, 39, 40, 41, 130, 130, 130, - 60, 61, 130, 44, 45, 46, 47, 48, 49, 73, - 72, 74, 0, 128, 0, 66, 130, 52, 53, 130, - 56, 57, 130, 68, 69, 70, 71, 128, 131, 15, - 0, 0, -2, 20, 128, 0, 0, 123, 125, 96, - 103, 104, 105, 128, 128, 128, 128, 128, 128, 128, - 128, 0, 91, 93, 94, 0, 83, 128, 128, 128, - 12, 0, 17, 18, 26, 89, 0, 0, 122, 0, - 99, 100, 101, 102, 0, 0, 0, 0, 22, 33, - 34, 64, 65, 38, 29, 30, 58, 59, 43, 87, - 128, 51, 55, 67, 90, 95, 124, 111, 112, 114, - 126, 127, 115, 117, 118, 119, 116, 92, 0, 0, - 113, 120, 121, + 10, 11, 0, 13, 14, 0, 0, 0, 25, 0, + 0, 22, 24, 28, -2, 99, 63, 32, 33, 67, + 75, 64, 38, 129, 79, 80, 81, 82, 83, 129, + 85, 86, 43, 87, 51, 89, 55, 131, 15, 16, + 18, 127, 128, 20, 2, 0, 0, 130, 0, 0, + 129, 26, 0, 107, 108, 109, 110, 111, 131, 36, + 37, 131, 76, 77, 78, 131, 131, 40, 41, 42, + 131, 131, 131, 61, 62, 131, 45, 46, 47, 48, + 49, 50, 74, 73, 75, 0, 129, 0, 67, 131, + 53, 54, 131, 57, 58, 131, 69, 70, 71, 72, + 129, 132, 0, 0, -2, 21, 129, 0, 0, 124, + 126, 97, 104, 105, 106, 129, 129, 129, 129, 129, + 129, 129, 129, 0, 92, 94, 95, 0, 84, 129, + 129, 129, 12, 0, 17, 19, 27, 90, 0, 0, + 123, 0, 100, 101, 102, 103, 0, 0, 0, 0, + 23, 34, 35, 65, 66, 39, 30, 31, 59, 60, + 44, 88, 129, 52, 56, 68, 91, 96, 125, 112, + 113, 115, 116, 118, 119, 120, 117, 93, 0, 0, + 114, 121, 122, } var mtailTok1 = [...]int8{ @@ -388,7 +387,7 @@ var mtailErrorMessages = [...]struct { token int msg string }{ - {115, 4, "unexpected end of file, expecting '/' to end regex"}, + {117, 4, "unexpected end of file, expecting '/' to end regex"}, {17, 1, "unexpected end of file, expecting '}' to end block"}, {17, 1, "unexpected end of file, expecting '}' to end block"}, {17, 1, "unexpected end of file, expecting '}' to end block"}, @@ -729,19 +728,19 @@ mtaildefault: case 1: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:98 +//line parser.y:96 { mtaillex.(*parser).root = mtailDollar[1].n } case 2: mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:106 +//line parser.y:104 { mtailVAL.n = &ast.StmtList{} } case 3: mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:110 +//line parser.y:108 { mtailVAL.n = mtailDollar[1].n if mtailDollar[2].n != nil { @@ -750,100 +749,108 @@ mtaildefault: } case 4: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:121 +//line parser.y:119 { mtailVAL.n = mtailDollar[1].logFilter } case 5: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:123 +//line parser.y:121 { mtailVAL.n = mtailDollar[1].n } case 6: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:125 +//line parser.y:123 { mtailVAL.n = mtailDollar[1].n } case 7: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:127 +//line parser.y:125 { mtailVAL.n = mtailDollar[1].n } case 8: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:129 +//line parser.y:127 { mtailVAL.n = mtailDollar[1].n } case 9: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:131 +//line parser.y:129 { mtailVAL.n = mtailDollar[1].n } case 10: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:133 +//line parser.y:131 { mtailVAL.n = mtailDollar[1].n } case 11: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:135 +//line parser.y:133 { mtailVAL.n = &ast.NextStmt{tokenpos(mtaillex)} } case 12: mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:139 +//line parser.y:137 { mtailVAL.n = &ast.PatternFragment{ID: mtailDollar[2].n, Expr: mtailDollar[4].n} } case 13: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:143 +//line parser.y:141 { mtailVAL.n = &ast.StopStmt{tokenpos(mtaillex)} } case 14: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:147 +//line parser.y:145 { mtailVAL.n = &ast.Error{tokenpos(mtaillex), mtailDollar[1].text} } case 15: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] + mtailDollar = mtailS[mtailpt-2 : mtailpt+1] //line parser.y:154 { mtailVAL.logFilter = &ast.LogFilter{ P: tokenpos(mtaillex), - Filters: mtailDollar[2].logFilters, // $2 is the list of strings (type []string) + Filters: mtailDollar[2].texts, // $2 is the list of strings (type []string) } } case 16: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] //line parser.y:164 { - mtailVAL.logFilters = []string{mtailDollar[1].text} + mtailVAL.texts = make([]string, 0) + mtailVAL.texts = append(mtailVAL.texts, mtailDollar[1].text) } case 17: mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:168 +//line parser.y:169 { - mtailVAL.logFilters = append(mtailDollar[1].logFilters, mtailDollar[3].text) + mtailVAL.texts = mtailDollar[1].texts + mtailVAL.texts = append(mtailVAL.texts, mtailDollar[3].text) } case 18: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:177 + { + mtailVAL.text = mtailDollar[1].text + } + case 19: mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:176 +//line parser.y:183 { mtailVAL.n = &ast.CondStmt{mtailDollar[1].n, mtailDollar[2].n, mtailDollar[4].n, nil} } - case 19: + case 20: mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:180 +//line parser.y:187 { if mtailDollar[1].n != nil { mtailVAL.n = &ast.CondStmt{mtailDollar[1].n, mtailDollar[2].n, nil, nil} @@ -851,22 +858,22 @@ mtaildefault: mtailVAL.n = mtailDollar[2].n } } - case 20: + case 21: mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:188 +//line parser.y:195 { o := &ast.OtherwiseStmt{positionFromMark(mtaillex)} mtailVAL.n = &ast.CondStmt{o, mtailDollar[3].n, nil, nil} } - case 21: + case 22: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:196 +//line parser.y:203 { mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: MATCH} } - case 22: + case 23: mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:200 +//line parser.y:207 { mtailVAL.n = &ast.BinaryExpr{ LHS: &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: MATCH}, @@ -874,237 +881,231 @@ mtaildefault: Op: mtailDollar[2].op, } } - case 23: + case 24: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:208 +//line parser.y:215 { mtailVAL.n = mtailDollar[1].n } - case 24: + case 25: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:214 +//line parser.y:221 { mtailVAL.n = nil } - case 25: + case 26: mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:216 +//line parser.y:223 { mtailVAL.n = mtailDollar[1].n } - case 26: + case 27: mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:222 +//line parser.y:229 { mtailVAL.n = mtailDollar[2].n } - case 27: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:230 - { - mtailVAL.n = mtailDollar[1].n - } case 28: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:232 +//line parser.y:237 { mtailVAL.n = mtailDollar[1].n } case 29: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:238 + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:239 { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + mtailVAL.n = mtailDollar[1].n } case 30: mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:242 +//line parser.y:245 { mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} } case 31: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:250 + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:249 { - mtailVAL.n = mtailDollar[1].n + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} } case 32: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:252 +//line parser.y:257 { mtailVAL.n = mtailDollar[1].n } case 33: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:254 + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:259 { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + mtailVAL.n = mtailDollar[1].n } case 34: mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:258 +//line parser.y:261 { mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} } case 35: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] //line parser.y:265 { - mtailVAL.op = mtailDollar[1].op + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} } case 36: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:267 +//line parser.y:272 { mtailVAL.op = mtailDollar[1].op } case 37: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:273 +//line parser.y:274 { - mtailVAL.n = mtailDollar[1].n + mtailVAL.op = mtailDollar[1].op } case 38: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:275 + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:280 { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + mtailVAL.n = mtailDollar[1].n } case 39: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] //line parser.y:282 { - mtailVAL.op = mtailDollar[1].op + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} } case 40: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:284 +//line parser.y:289 { mtailVAL.op = mtailDollar[1].op } case 41: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:286 +//line parser.y:291 { mtailVAL.op = mtailDollar[1].op } case 42: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:292 +//line parser.y:293 { - mtailVAL.n = mtailDollar[1].n + mtailVAL.op = mtailDollar[1].op } case 43: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:294 + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:299 { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + mtailVAL.n = mtailDollar[1].n } case 44: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] //line parser.y:301 { - mtailVAL.op = mtailDollar[1].op + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} } case 45: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:303 +//line parser.y:308 { mtailVAL.op = mtailDollar[1].op } case 46: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:305 +//line parser.y:310 { mtailVAL.op = mtailDollar[1].op } case 47: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:307 +//line parser.y:312 { mtailVAL.op = mtailDollar[1].op } case 48: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:309 +//line parser.y:314 { mtailVAL.op = mtailDollar[1].op } case 49: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:311 +//line parser.y:316 { mtailVAL.op = mtailDollar[1].op } case 50: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:317 +//line parser.y:318 { - mtailVAL.n = mtailDollar[1].n + mtailVAL.op = mtailDollar[1].op } case 51: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:319 + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:324 { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + mtailVAL.n = mtailDollar[1].n } case 52: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] //line parser.y:326 { - mtailVAL.op = mtailDollar[1].op + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} } case 53: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:328 +//line parser.y:333 { mtailVAL.op = mtailDollar[1].op } case 54: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:334 +//line parser.y:335 { - mtailVAL.n = mtailDollar[1].n + mtailVAL.op = mtailDollar[1].op } case 55: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:336 + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:341 { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + mtailVAL.n = mtailDollar[1].n } case 56: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] //line parser.y:343 { - mtailVAL.op = mtailDollar[1].op + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} } case 57: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:345 +//line parser.y:350 { mtailVAL.op = mtailDollar[1].op } case 58: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:351 + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:352 { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + mtailVAL.op = mtailDollar[1].op } case 59: mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:355 +//line parser.y:358 { mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} } case 60: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] //line parser.y:362 { - mtailVAL.op = mtailDollar[1].op + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} } case 61: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:364 +//line parser.y:369 { mtailVAL.op = mtailDollar[1].op } @@ -1112,427 +1113,433 @@ mtaildefault: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] //line parser.y:371 { - mtailVAL.n = &ast.PatternExpr{Expr: mtailDollar[1].n} + mtailVAL.op = mtailDollar[1].op } case 63: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:379 +//line parser.y:378 { - mtailVAL.n = mtailDollar[1].n + mtailVAL.n = &ast.PatternExpr{Expr: mtailDollar[1].n} } case 64: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:381 + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:386 { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: PLUS} + mtailVAL.n = mtailDollar[1].n } case 65: mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:385 +//line parser.y:388 { mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: PLUS} } case 66: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:393 + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] +//line parser.y:392 { - mtailVAL.n = mtailDollar[1].n + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: PLUS} } case 67: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:395 + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:400 { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} + mtailVAL.n = mtailDollar[1].n } case 68: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] + mtailDollar = mtailS[mtailpt-4 : mtailpt+1] //line parser.y:402 { - mtailVAL.op = mtailDollar[1].op + mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} } case 69: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:404 +//line parser.y:409 { mtailVAL.op = mtailDollar[1].op } case 70: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:406 +//line parser.y:411 { mtailVAL.op = mtailDollar[1].op } case 71: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:408 +//line parser.y:413 { mtailVAL.op = mtailDollar[1].op } case 72: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:414 +//line parser.y:415 { - mtailVAL.n = mtailDollar[1].n + mtailVAL.op = mtailDollar[1].op } case 73: + mtailDollar = mtailS[mtailpt-1 : mtailpt+1] +//line parser.y:421 + { + mtailVAL.n = mtailDollar[1].n + } + case 74: mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:416 +//line parser.y:423 { mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[2].n, Op: mtailDollar[1].op} } - case 74: + case 75: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:424 +//line parser.y:431 { mtailVAL.n = mtailDollar[1].n } - case 75: + case 76: mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:426 +//line parser.y:433 { mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: mtailDollar[2].op} } - case 76: + case 77: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:433 +//line parser.y:440 { mtailVAL.op = mtailDollar[1].op } - case 77: + case 78: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:435 +//line parser.y:442 { mtailVAL.op = mtailDollar[1].op } - case 78: + case 79: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:441 +//line parser.y:448 { mtailVAL.n = mtailDollar[1].n } - case 79: + case 80: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:443 +//line parser.y:450 { mtailVAL.n = mtailDollar[1].n } - case 80: + case 81: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:445 +//line parser.y:452 { mtailVAL.n = &ast.CaprefTerm{tokenpos(mtaillex), mtailDollar[1].text, false, nil} } - case 81: + case 82: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:449 +//line parser.y:456 { mtailVAL.n = &ast.CaprefTerm{tokenpos(mtaillex), mtailDollar[1].text, true, nil} } - case 82: + case 83: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:453 +//line parser.y:460 { mtailVAL.n = &ast.StringLit{tokenpos(mtaillex), mtailDollar[1].text} } - case 83: + case 84: mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:457 +//line parser.y:464 { mtailVAL.n = mtailDollar[2].n } - case 84: + case 85: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:461 +//line parser.y:468 { mtailVAL.n = &ast.IntLit{tokenpos(mtaillex), mtailDollar[1].intVal} } - case 85: + case 86: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:465 +//line parser.y:472 { mtailVAL.n = &ast.FloatLit{tokenpos(mtaillex), mtailDollar[1].floatVal} } - case 86: + case 87: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:473 +//line parser.y:480 { // Build an empty IndexedExpr so that the recursive rule below doesn't need to handle the alternative. mtailVAL.n = &ast.IndexedExpr{LHS: mtailDollar[1].n, Index: &ast.ExprList{}} } - case 87: + case 88: mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:478 +//line parser.y:485 { mtailVAL.n = mtailDollar[1].n mtailVAL.n.(*ast.IndexedExpr).Index.(*ast.ExprList).Children = append( mtailVAL.n.(*ast.IndexedExpr).Index.(*ast.ExprList).Children, mtailDollar[3].n.(*ast.ExprList).Children...) } - case 88: + case 89: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:489 +//line parser.y:496 { mtailVAL.n = &ast.IDTerm{tokenpos(mtaillex), mtailDollar[1].text, nil, false} } - case 89: + case 90: mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:497 +//line parser.y:504 { mtailVAL.n = &ast.BuiltinExpr{P: positionFromMark(mtaillex), Name: mtailDollar[2].text, Args: nil} } - case 90: + case 91: mtailDollar = mtailS[mtailpt-5 : mtailpt+1] -//line parser.y:501 +//line parser.y:508 { mtailVAL.n = &ast.BuiltinExpr{P: positionFromMark(mtaillex), Name: mtailDollar[2].text, Args: mtailDollar[4].n} } - case 91: + case 92: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:510 +//line parser.y:517 { mtailVAL.n = &ast.ExprList{} mtailVAL.n.(*ast.ExprList).Children = append(mtailVAL.n.(*ast.ExprList).Children, mtailDollar[1].n) } - case 92: + case 93: mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:515 +//line parser.y:522 { mtailVAL.n = mtailDollar[1].n mtailVAL.n.(*ast.ExprList).Children = append(mtailVAL.n.(*ast.ExprList).Children, mtailDollar[3].n) } - case 93: + case 94: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:523 +//line parser.y:530 { mtailVAL.n = mtailDollar[1].n } - case 94: + case 95: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:525 +//line parser.y:532 { mtailVAL.n = mtailDollar[1].n } - case 95: + case 96: mtailDollar = mtailS[mtailpt-5 : mtailpt+1] -//line parser.y:531 +//line parser.y:538 { mtailVAL.n = &ast.PatternLit{P: positionFromMark(mtaillex), Pattern: mtailDollar[4].text} } - case 96: + case 97: mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:539 +//line parser.y:546 { mtailVAL.n = mtailDollar[3].n d := mtailVAL.n.(*ast.VarDecl) d.Kind = mtailDollar[2].kind d.Hidden = mtailDollar[1].flag } - case 97: + case 98: mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:550 +//line parser.y:557 { mtailVAL.flag = false } - case 98: + case 99: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:554 +//line parser.y:561 { mtailVAL.flag = true } - case 99: + case 100: mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:562 +//line parser.y:569 { mtailVAL.n = mtailDollar[1].n mtailVAL.n.(*ast.VarDecl).Keys = mtailDollar[2].texts } - case 100: + case 101: mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:567 +//line parser.y:574 { mtailVAL.n = mtailDollar[1].n mtailVAL.n.(*ast.VarDecl).ExportedName = mtailDollar[2].text } - case 101: + case 102: mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:572 +//line parser.y:579 { mtailVAL.n = mtailDollar[1].n mtailVAL.n.(*ast.VarDecl).Buckets = mtailDollar[2].floats } - case 102: + case 103: mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:577 +//line parser.y:584 { mtailVAL.n = mtailDollar[1].n mtailVAL.n.(*ast.VarDecl).Limit = mtailDollar[2].intVal } - case 103: + case 104: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:582 +//line parser.y:589 { mtailVAL.n = mtailDollar[1].n } - case 104: + case 105: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:590 +//line parser.y:597 { mtailVAL.n = &ast.VarDecl{P: tokenpos(mtaillex), Name: mtailDollar[1].text} } - case 105: + case 106: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:594 +//line parser.y:601 { mtailVAL.n = &ast.VarDecl{P: tokenpos(mtaillex), Name: mtailDollar[1].text} } - case 106: + case 107: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:602 +//line parser.y:609 { mtailVAL.kind = metrics.Counter } - case 107: + case 108: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:606 +//line parser.y:613 { mtailVAL.kind = metrics.Gauge } - case 108: + case 109: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:610 +//line parser.y:617 { mtailVAL.kind = metrics.Timer } - case 109: + case 110: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:614 +//line parser.y:621 { mtailVAL.kind = metrics.Text } - case 110: + case 111: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:618 +//line parser.y:625 { mtailVAL.kind = metrics.Histogram } - case 111: + case 112: mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:626 +//line parser.y:633 { mtailVAL.texts = mtailDollar[2].texts } - case 112: + case 113: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:633 +//line parser.y:640 { mtailVAL.texts = make([]string, 0) mtailVAL.texts = append(mtailVAL.texts, mtailDollar[1].text) } - case 113: + case 114: mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:638 +//line parser.y:645 { mtailVAL.texts = mtailDollar[1].texts mtailVAL.texts = append(mtailVAL.texts, mtailDollar[3].text) } - case 114: + case 115: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:646 +//line parser.y:653 { mtailVAL.text = mtailDollar[1].text } - case 115: + case 116: mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:652 +//line parser.y:659 { mtailVAL.text = mtailDollar[2].text } - case 116: + case 117: mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:659 +//line parser.y:666 { mtailVAL.intVal = mtailDollar[2].intVal } - case 117: + case 118: mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:667 +//line parser.y:674 { mtailVAL.floats = mtailDollar[2].floats } - case 118: + case 119: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:673 +//line parser.y:680 { mtailVAL.floats = make([]float64, 0) mtailVAL.floats = append(mtailVAL.floats, mtailDollar[1].floatVal) } - case 119: + case 120: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:678 +//line parser.y:685 { mtailVAL.floats = make([]float64, 0) mtailVAL.floats = append(mtailVAL.floats, float64(mtailDollar[1].intVal)) } - case 120: + case 121: mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:683 +//line parser.y:690 { mtailVAL.floats = mtailDollar[1].floats mtailVAL.floats = append(mtailVAL.floats, mtailDollar[3].floatVal) } - case 121: + case 122: mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:688 +//line parser.y:695 { mtailVAL.floats = mtailDollar[1].floats mtailVAL.floats = append(mtailVAL.floats, float64(mtailDollar[3].intVal)) } - case 122: + case 123: mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:696 +//line parser.y:703 { mtailVAL.n = &ast.DecoDecl{P: markedpos(mtaillex), Name: mtailDollar[3].text, Block: mtailDollar[4].n} } - case 123: + case 124: mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:704 +//line parser.y:711 { mtailVAL.n = &ast.DecoStmt{markedpos(mtaillex), mtailDollar[2].text, mtailDollar[3].n, nil, nil} } - case 124: + case 125: mtailDollar = mtailS[mtailpt-5 : mtailpt+1] -//line parser.y:712 +//line parser.y:719 { mtailVAL.n = &ast.DelStmt{P: positionFromMark(mtaillex), N: mtailDollar[3].n, Expiry: mtailDollar[5].duration} } - case 125: + case 126: mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:716 +//line parser.y:723 { mtailVAL.n = &ast.DelStmt{P: positionFromMark(mtaillex), N: mtailDollar[3].n} } - case 126: + case 127: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:723 +//line parser.y:730 { mtailVAL.text = mtailDollar[1].text } - case 127: + case 128: mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:727 +//line parser.y:734 { mtailVAL.text = mtailDollar[1].text } - case 128: + case 129: mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:737 +//line parser.y:744 { glog.V(2).Infof("position marked at %v", tokenpos(mtaillex)) mtaillex.(*parser).pos = tokenpos(mtaillex) } - case 129: + case 130: mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:747 +//line parser.y:754 { mtaillex.(*parser).inRegex() } diff --git a/internal/runtime/compiler/parser/parser.y b/internal/runtime/compiler/parser/parser.y index 39ce392b6..0eacd73ca 100644 --- a/internal/runtime/compiler/parser/parser.y +++ b/internal/runtime/compiler/parser/parser.y @@ -28,7 +28,6 @@ import ( n ast.Node kind metrics.Kind duration time.Duration - logFilters []string logFilter *ast.LogFilter // Add this field for *ast.LogFilter } @@ -39,13 +38,12 @@ import ( %type delete_stmt metric_name_spec builtin_expr arg_expr %type metric_type_spec %type metric_limit_spec -%type metric_as_spec id_or_string metric_by_expr -%type metric_by_spec metric_by_expr_list +%type metric_as_spec id_or_string metric_by_expr log_filter_expr +%type metric_by_spec metric_by_expr_list log_filter_list %type metric_hide_spec %type rel_op shift_op bitwise_op logical_op add_op mul_op match_op postfix_op %type metric_buckets_spec metric_buckets_list -%type log_filter_spec -%type log_filter_list +%type log_filter_stmt // Tokens and types are defined here. // Invalid input %token INVALID @@ -117,7 +115,7 @@ stmt_list /* Types of statements. */ stmt - : log_filter_spec %prec LOGFILTER + : log_filter_stmt { $$ = $1 } | conditional_stmt { $$ = $1 } @@ -149,8 +147,10 @@ stmt } ; -log_filter_spec - : LOGFILTER log_filter_list NL + +/* By specification describes index keys for a multidimensional variable. */ +log_filter_stmt + : LOGFILTER log_filter_list { $$ = &ast.LogFilter{ P: tokenpos(mtaillex), @@ -160,16 +160,23 @@ log_filter_spec ; log_filter_list - : STRING + : log_filter_expr { - $$ = []string{$1} + $$ = make([]string, 0) + $$ = append($$, $1) } - | log_filter_list COMMA STRING + | log_filter_list COMMA log_filter_expr { - $$ = append($1, $3) + $$ = $1 + $$ = append($$, $3) } ; +log_filter_expr + : id_or_string + { $$ = $1 } + ; + /* Conditional statement is a test condition, and then actions executed depending on the result of the test. */ conditional_stmt : conditional_expr compound_stmt ELSE compound_stmt diff --git a/internal/runtime/compiler/parser/parser_test.go b/internal/runtime/compiler/parser/parser_test.go index 3cb675f44..6102deca3 100644 --- a/internal/runtime/compiler/parser/parser_test.go +++ b/internal/runtime/compiler/parser/parser_test.go @@ -442,6 +442,18 @@ $foo =~ X { "log_filter", "log_filter \"foo\", \"bar\", \"baz\"\n", }, + { + "log_filter no new line", + "log_filter \"foo\", \"bar\", \"baz\"", + }, + { + "log_filter unquoted strings", + "log_filter foo, bar, baz", + }, + { + "log_filter no spaces", + "log_filter foo,bar,baz", + }, { "log_filter then a clause", "log_filter \"foo\", \"bar\", \"baz\"\n/foo/ {} else {}", @@ -519,7 +531,13 @@ var parserInvalidPrograms = []parserInvalidProgram{ "unterminated regex:1:2-4: syntax error: unexpected end of file, expecting '/' to end regex", }, }, - + { + "log_filter empty", + `log_filter`, + []string{ + "log_filter empty:1:11: syntax error: unexpected $end, expecting STRING or ID", + }, + }, { "unterminated string", " \"foo }\n", diff --git a/internal/runtime/compiler/parser/y.output b/internal/runtime/compiler/parser/y.output index a23bf13fd..f31af5063 100644 --- a/internal/runtime/compiler/parser/y.output +++ b/internal/runtime/compiler/parser/y.output @@ -3,7 +3,7 @@ state 0 $accept: .start $end stmt_list: . (2) - . reduce 2 (src line 104) + . reduce 2 (src line 102) stmt_list goto 2 start goto 1 @@ -18,16 +18,16 @@ state 1 state 2 start: stmt_list. (1) stmt_list: stmt_list.stmt - mark_pos: . (128) - metric_hide_spec: . (97) + mark_pos: . (129) + metric_hide_spec: . (98) - $end reduce 1 (src line 96) + $end reduce 1 (src line 94) INVALID shift 14 - COUNTER reduce 97 (src line 548) - GAUGE reduce 97 (src line 548) - TIMER reduce 97 (src line 548) - TEXT reduce 97 (src line 548) - HISTOGRAM reduce 97 (src line 548) + COUNTER reduce 98 (src line 555) + GAUGE reduce 98 (src line 555) + TIMER reduce 98 (src line 555) + TEXT reduce 98 (src line 555) + HISTOGRAM reduce 98 (src line 555) CONST shift 12 HIDDEN shift 25 NEXT shift 11 @@ -42,7 +42,7 @@ state 2 LPAREN shift 39 NL shift 18 LOGFILTER shift 15 - . reduce 128 (src line 735) + . reduce 129 (src line 742) stmt goto 3 conditional_stmt goto 5 @@ -71,61 +71,61 @@ state 2 delete_stmt goto 10 builtin_expr goto 35 metric_hide_spec goto 20 - log_filter_spec goto 4 + log_filter_stmt goto 4 mark_pos goto 17 state 3 stmt_list: stmt_list stmt. (3) - . reduce 3 (src line 109) + . reduce 3 (src line 107) state 4 - stmt: log_filter_spec. (4) + stmt: log_filter_stmt. (4) - . reduce 4 (src line 119) + . reduce 4 (src line 117) state 5 stmt: conditional_stmt. (5) - . reduce 5 (src line 122) + . reduce 5 (src line 120) state 6 stmt: expr_stmt. (6) - . reduce 6 (src line 124) + . reduce 6 (src line 122) state 7 stmt: metric_declaration. (7) - . reduce 7 (src line 126) + . reduce 7 (src line 124) state 8 stmt: decorator_declaration. (8) - . reduce 8 (src line 128) + . reduce 8 (src line 126) state 9 stmt: decoration_stmt. (9) - . reduce 9 (src line 130) + . reduce 9 (src line 128) state 10 stmt: delete_stmt. (10) - . reduce 10 (src line 132) + . reduce 10 (src line 130) state 11 stmt: NEXT. (11) - . reduce 11 (src line 134) + . reduce 11 (src line 132) state 12 @@ -139,31 +139,34 @@ state 12 state 13 stmt: STOP. (13) - . reduce 13 (src line 142) + . reduce 13 (src line 140) state 14 stmt: INVALID. (14) - . reduce 14 (src line 146) + . reduce 14 (src line 144) state 15 - log_filter_spec: LOGFILTER.log_filter_list NL + log_filter_stmt: LOGFILTER.log_filter_list - STRING shift 49 + STRING shift 52 + ID shift 51 . error + id_or_string goto 50 + log_filter_expr goto 49 log_filter_list goto 48 state 16 conditional_stmt: conditional_expr.compound_stmt ELSE compound_stmt conditional_stmt: conditional_expr.compound_stmt - LCURLY shift 51 + LCURLY shift 54 . error - compound_stmt goto 50 + compound_stmt goto 53 state 17 conditional_stmt: mark_pos.OTHERWISE compound_stmt @@ -175,155 +178,155 @@ state 17 delete_stmt: mark_pos.DEL postfix_expr AFTER DURATIONLITERAL delete_stmt: mark_pos.DEL postfix_expr - DEF shift 55 - DEL shift 57 - OTHERWISE shift 52 - BUILTIN shift 53 - DECO shift 56 - DIV shift 54 + DEF shift 58 + DEL shift 60 + OTHERWISE shift 55 + BUILTIN shift 56 + DECO shift 59 + DIV shift 57 . error state 18 - expr_stmt: NL. (24) + expr_stmt: NL. (25) - . reduce 24 (src line 212) + . reduce 25 (src line 219) state 19 expr_stmt: expr.NL - NL shift 58 + NL shift 61 . error state 20 metric_declaration: metric_hide_spec.metric_type_spec metric_decl_attr_spec - COUNTER shift 60 - GAUGE shift 61 - TIMER shift 62 - TEXT shift 63 - HISTOGRAM shift 64 + COUNTER shift 63 + GAUGE shift 64 + TIMER shift 65 + TEXT shift 66 + HISTOGRAM shift 67 . error - metric_type_spec goto 59 + metric_type_spec goto 62 state 21 - conditional_expr: pattern_expr. (21) + conditional_expr: pattern_expr. (22) conditional_expr: pattern_expr.logical_op opt_nl logical_expr - AND shift 66 - OR shift 67 - . reduce 21 (src line 194) + AND shift 69 + OR shift 70 + . reduce 22 (src line 201) - logical_op goto 65 + logical_op goto 68 state 22 - conditional_expr: logical_expr. (23) + conditional_expr: logical_expr. (24) logical_expr: logical_expr.logical_op opt_nl bitwise_expr logical_expr: logical_expr.logical_op opt_nl match_expr - AND shift 66 - OR shift 67 - . reduce 23 (src line 207) + AND shift 69 + OR shift 70 + . reduce 24 (src line 214) - logical_op goto 68 + logical_op goto 71 state 23 - expr: assign_expr. (27) + expr: assign_expr. (28) - . reduce 27 (src line 228) + . reduce 28 (src line 235) state 24 - expr: postfix_expr. (28) - unary_expr: postfix_expr. (72) + expr: postfix_expr. (29) + unary_expr: postfix_expr. (73) postfix_expr: postfix_expr.postfix_op - INC shift 70 - DEC shift 71 - NL reduce 28 (src line 231) - . reduce 72 (src line 412) + INC shift 73 + DEC shift 74 + NL reduce 29 (src line 238) + . reduce 73 (src line 419) - postfix_op goto 69 + postfix_op goto 72 state 25 - metric_hide_spec: HIDDEN. (98) + metric_hide_spec: HIDDEN. (99) - . reduce 98 (src line 553) + . reduce 99 (src line 560) state 26 - pattern_expr: concat_expr. (62) + pattern_expr: concat_expr. (63) concat_expr: concat_expr.PLUS opt_nl regex_pattern concat_expr: concat_expr.PLUS opt_nl id_expr - PLUS shift 72 - . reduce 62 (src line 369) + PLUS shift 75 + . reduce 63 (src line 376) state 27 - logical_expr: bitwise_expr. (31) + logical_expr: bitwise_expr. (32) bitwise_expr: bitwise_expr.bitwise_op opt_nl rel_expr - BITAND shift 74 - XOR shift 76 - BITOR shift 75 - . reduce 31 (src line 248) + BITAND shift 77 + XOR shift 79 + BITOR shift 78 + . reduce 32 (src line 255) - bitwise_op goto 73 + bitwise_op goto 76 state 28 - logical_expr: match_expr. (32) + logical_expr: match_expr. (33) - . reduce 32 (src line 251) + . reduce 33 (src line 258) state 29 assign_expr: unary_expr.ASSIGN opt_nl logical_expr assign_expr: unary_expr.ADD_ASSIGN opt_nl logical_expr - multiplicative_expr: unary_expr. (66) + multiplicative_expr: unary_expr. (67) - ADD_ASSIGN shift 78 - ASSIGN shift 77 - . reduce 66 (src line 391) + ADD_ASSIGN shift 81 + ASSIGN shift 80 + . reduce 67 (src line 398) state 30 match_expr: primary_expr.match_op opt_nl pattern_expr match_expr: primary_expr.match_op opt_nl primary_expr - postfix_expr: primary_expr. (74) + postfix_expr: primary_expr. (75) - MATCH shift 80 - NOT_MATCH shift 81 - . reduce 74 (src line 422) + MATCH shift 83 + NOT_MATCH shift 84 + . reduce 75 (src line 429) - match_op goto 79 + match_op goto 82 state 31 - concat_expr: regex_pattern. (63) + concat_expr: regex_pattern. (64) - . reduce 63 (src line 377) + . reduce 64 (src line 384) state 32 - bitwise_expr: rel_expr. (37) + bitwise_expr: rel_expr. (38) rel_expr: rel_expr.rel_op opt_nl shift_expr - LT shift 83 - GT shift 84 - LE shift 85 - GE shift 86 - EQ shift 87 - NE shift 88 - . reduce 37 (src line 271) + LT shift 86 + GT shift 87 + LE shift 88 + GE shift 89 + EQ shift 90 + NE shift 91 + . reduce 38 (src line 278) - rel_op goto 82 + rel_op goto 85 state 33 unary_expr: NOT.unary_expr - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -333,51 +336,51 @@ state 33 FLOATLITERAL shift 41 NOT shift 33 LPAREN shift 39 - . reduce 128 (src line 735) + . reduce 129 (src line 742) - primary_expr goto 91 - postfix_expr goto 90 - unary_expr goto 89 + primary_expr goto 94 + postfix_expr goto 93 + unary_expr goto 92 indexed_expr goto 34 id_expr goto 43 builtin_expr goto 35 - mark_pos goto 92 + mark_pos goto 95 state 34 - primary_expr: indexed_expr. (78) + primary_expr: indexed_expr. (79) indexed_expr: indexed_expr.LSQUARE arg_expr_list RSQUARE - LSQUARE shift 93 - . reduce 78 (src line 439) + LSQUARE shift 96 + . reduce 79 (src line 446) state 35 - primary_expr: builtin_expr. (79) + primary_expr: builtin_expr. (80) - . reduce 79 (src line 442) + . reduce 80 (src line 449) state 36 - primary_expr: CAPREF. (80) + primary_expr: CAPREF. (81) - . reduce 80 (src line 444) + . reduce 81 (src line 451) state 37 - primary_expr: CAPREF_NAMED. (81) + primary_expr: CAPREF_NAMED. (82) - . reduce 81 (src line 448) + . reduce 82 (src line 455) state 38 - primary_expr: STRING. (82) + primary_expr: STRING. (83) - . reduce 82 (src line 452) + . reduce 83 (src line 459) state 39 primary_expr: LPAREN.logical_expr RPAREN - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -387,162 +390,179 @@ state 39 FLOATLITERAL shift 41 NOT shift 33 LPAREN shift 39 - . reduce 128 (src line 735) + . reduce 129 (src line 742) primary_expr goto 30 multiplicative_expr goto 46 additive_expr goto 44 - postfix_expr goto 90 - unary_expr goto 95 + postfix_expr goto 93 + unary_expr goto 98 rel_expr goto 32 shift_expr goto 42 bitwise_expr goto 27 - logical_expr goto 94 + logical_expr goto 97 indexed_expr goto 34 id_expr goto 43 match_expr goto 28 builtin_expr goto 35 - mark_pos goto 92 + mark_pos goto 95 state 40 - primary_expr: INTLITERAL. (84) + primary_expr: INTLITERAL. (85) - . reduce 84 (src line 460) + . reduce 85 (src line 467) state 41 - primary_expr: FLOATLITERAL. (85) + primary_expr: FLOATLITERAL. (86) - . reduce 85 (src line 464) + . reduce 86 (src line 471) state 42 - rel_expr: shift_expr. (42) + rel_expr: shift_expr. (43) shift_expr: shift_expr.shift_op opt_nl additive_expr - SHL shift 97 - SHR shift 98 - . reduce 42 (src line 290) + SHL shift 100 + SHR shift 101 + . reduce 43 (src line 297) - shift_op goto 96 + shift_op goto 99 state 43 - indexed_expr: id_expr. (86) + indexed_expr: id_expr. (87) - . reduce 86 (src line 471) + . reduce 87 (src line 478) state 44 - shift_expr: additive_expr. (50) + shift_expr: additive_expr. (51) additive_expr: additive_expr.add_op opt_nl multiplicative_expr - MINUS shift 101 - PLUS shift 100 - . reduce 50 (src line 315) + MINUS shift 104 + PLUS shift 103 + . reduce 51 (src line 322) - add_op goto 99 + add_op goto 102 state 45 - id_expr: ID. (88) + id_expr: ID. (89) - . reduce 88 (src line 487) + . reduce 89 (src line 494) state 46 - additive_expr: multiplicative_expr. (54) + additive_expr: multiplicative_expr. (55) multiplicative_expr: multiplicative_expr.mul_op opt_nl unary_expr - DIV shift 104 - MOD shift 105 - MUL shift 103 - POW shift 106 - . reduce 54 (src line 332) + DIV shift 107 + MOD shift 108 + MUL shift 106 + POW shift 109 + . reduce 55 (src line 339) - mul_op goto 102 + mul_op goto 105 state 47 stmt: CONST id_expr.opt_nl concat_expr - opt_nl: . (130) + opt_nl: . (131) - NL shift 108 - . reduce 130 (src line 755) + NL shift 111 + . reduce 131 (src line 762) - opt_nl goto 107 + opt_nl goto 110 state 48 - log_filter_spec: LOGFILTER log_filter_list.NL - log_filter_list: log_filter_list.COMMA STRING + log_filter_stmt: LOGFILTER log_filter_list. (15) + log_filter_list: log_filter_list.COMMA log_filter_expr - COMMA shift 110 - NL shift 109 - . error + COMMA shift 112 + . reduce 15 (src line 152) state 49 - log_filter_list: STRING. (16) + log_filter_list: log_filter_expr. (16) . reduce 16 (src line 162) state 50 - conditional_stmt: conditional_expr compound_stmt.ELSE compound_stmt - conditional_stmt: conditional_expr compound_stmt. (19) + log_filter_expr: id_or_string. (18) - ELSE shift 111 - . reduce 19 (src line 179) + . reduce 18 (src line 175) state 51 + id_or_string: ID. (127) + + . reduce 127 (src line 728) + + +state 52 + id_or_string: STRING. (128) + + . reduce 128 (src line 733) + + +state 53 + conditional_stmt: conditional_expr compound_stmt.ELSE compound_stmt + conditional_stmt: conditional_expr compound_stmt. (20) + + ELSE shift 113 + . reduce 20 (src line 186) + + +state 54 compound_stmt: LCURLY.stmt_list RCURLY stmt_list: . (2) - . reduce 2 (src line 104) + . reduce 2 (src line 102) - stmt_list goto 112 + stmt_list goto 114 -state 52 +state 55 conditional_stmt: mark_pos OTHERWISE.compound_stmt - LCURLY shift 51 + LCURLY shift 54 . error - compound_stmt goto 113 + compound_stmt goto 115 -state 53 +state 56 builtin_expr: mark_pos BUILTIN.LPAREN RPAREN builtin_expr: mark_pos BUILTIN.LPAREN arg_expr_list RPAREN - LPAREN shift 114 + LPAREN shift 116 . error -state 54 +state 57 regex_pattern: mark_pos DIV.in_regex REGEX DIV - in_regex: . (129) + in_regex: . (130) - . reduce 129 (src line 745) + . reduce 130 (src line 752) - in_regex goto 115 + in_regex goto 117 -state 55 +state 58 decorator_declaration: mark_pos DEF.ID compound_stmt - ID shift 116 + ID shift 118 . error -state 56 +state 59 decoration_stmt: mark_pos DECO.compound_stmt - LCURLY shift 51 + LCURLY shift 54 . error - compound_stmt goto 117 + compound_stmt goto 119 -state 57 +state 60 delete_stmt: mark_pos DEL.postfix_expr AFTER DURATIONLITERAL delete_stmt: mark_pos DEL.postfix_expr - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -551,265 +571,265 @@ state 57 INTLITERAL shift 40 FLOATLITERAL shift 41 LPAREN shift 39 - . reduce 128 (src line 735) + . reduce 129 (src line 742) - primary_expr goto 91 - postfix_expr goto 118 + primary_expr goto 94 + postfix_expr goto 120 indexed_expr goto 34 id_expr goto 43 builtin_expr goto 35 - mark_pos goto 92 - -state 58 - expr_stmt: expr NL. (25) - - . reduce 25 (src line 215) - - -state 59 - metric_declaration: metric_hide_spec metric_type_spec.metric_decl_attr_spec - - STRING shift 122 - ID shift 121 - . error - - metric_decl_attr_spec goto 119 - metric_name_spec goto 120 - -state 60 - metric_type_spec: COUNTER. (106) - - . reduce 106 (src line 600) - + mark_pos goto 95 state 61 - metric_type_spec: GAUGE. (107) + expr_stmt: expr NL. (26) - . reduce 107 (src line 605) + . reduce 26 (src line 222) state 62 - metric_type_spec: TIMER. (108) + metric_declaration: metric_hide_spec metric_type_spec.metric_decl_attr_spec - . reduce 108 (src line 609) + STRING shift 124 + ID shift 123 + . error + metric_decl_attr_spec goto 121 + metric_name_spec goto 122 state 63 - metric_type_spec: TEXT. (109) + metric_type_spec: COUNTER. (107) - . reduce 109 (src line 613) + . reduce 107 (src line 607) state 64 - metric_type_spec: HISTOGRAM. (110) + metric_type_spec: GAUGE. (108) - . reduce 110 (src line 617) + . reduce 108 (src line 612) state 65 - conditional_expr: pattern_expr logical_op.opt_nl logical_expr - opt_nl: . (130) + metric_type_spec: TIMER. (109) - NL shift 108 - . reduce 130 (src line 755) + . reduce 109 (src line 616) - opt_nl goto 123 state 66 - logical_op: AND. (35) + metric_type_spec: TEXT. (110) - . reduce 35 (src line 263) + . reduce 110 (src line 620) state 67 - logical_op: OR. (36) + metric_type_spec: HISTOGRAM. (111) - . reduce 36 (src line 266) + . reduce 111 (src line 624) state 68 - logical_expr: logical_expr logical_op.opt_nl bitwise_expr - logical_expr: logical_expr logical_op.opt_nl match_expr - opt_nl: . (130) + conditional_expr: pattern_expr logical_op.opt_nl logical_expr + opt_nl: . (131) - NL shift 108 - . reduce 130 (src line 755) + NL shift 111 + . reduce 131 (src line 762) - opt_nl goto 124 + opt_nl goto 125 state 69 - postfix_expr: postfix_expr postfix_op. (75) + logical_op: AND. (36) - . reduce 75 (src line 425) + . reduce 36 (src line 270) state 70 - postfix_op: INC. (76) + logical_op: OR. (37) - . reduce 76 (src line 431) + . reduce 37 (src line 273) state 71 - postfix_op: DEC. (77) + logical_expr: logical_expr logical_op.opt_nl bitwise_expr + logical_expr: logical_expr logical_op.opt_nl match_expr + opt_nl: . (131) - . reduce 77 (src line 434) + NL shift 111 + . reduce 131 (src line 762) + opt_nl goto 126 state 72 - concat_expr: concat_expr PLUS.opt_nl regex_pattern - concat_expr: concat_expr PLUS.opt_nl id_expr - opt_nl: . (130) + postfix_expr: postfix_expr postfix_op. (76) - NL shift 108 - . reduce 130 (src line 755) + . reduce 76 (src line 432) - opt_nl goto 125 state 73 - bitwise_expr: bitwise_expr bitwise_op.opt_nl rel_expr - opt_nl: . (130) + postfix_op: INC. (77) - NL shift 108 - . reduce 130 (src line 755) + . reduce 77 (src line 438) - opt_nl goto 126 state 74 - bitwise_op: BITAND. (39) + postfix_op: DEC. (78) - . reduce 39 (src line 280) + . reduce 78 (src line 441) state 75 - bitwise_op: BITOR. (40) + concat_expr: concat_expr PLUS.opt_nl regex_pattern + concat_expr: concat_expr PLUS.opt_nl id_expr + opt_nl: . (131) - . reduce 40 (src line 283) + NL shift 111 + . reduce 131 (src line 762) + opt_nl goto 127 state 76 - bitwise_op: XOR. (41) + bitwise_expr: bitwise_expr bitwise_op.opt_nl rel_expr + opt_nl: . (131) - . reduce 41 (src line 285) + NL shift 111 + . reduce 131 (src line 762) + opt_nl goto 128 state 77 - assign_expr: unary_expr ASSIGN.opt_nl logical_expr - opt_nl: . (130) + bitwise_op: BITAND. (40) - NL shift 108 - . reduce 130 (src line 755) + . reduce 40 (src line 287) - opt_nl goto 127 state 78 - assign_expr: unary_expr ADD_ASSIGN.opt_nl logical_expr - opt_nl: . (130) + bitwise_op: BITOR. (41) - NL shift 108 - . reduce 130 (src line 755) + . reduce 41 (src line 290) - opt_nl goto 128 state 79 - match_expr: primary_expr match_op.opt_nl pattern_expr - match_expr: primary_expr match_op.opt_nl primary_expr - opt_nl: . (130) + bitwise_op: XOR. (42) - NL shift 108 - . reduce 130 (src line 755) + . reduce 42 (src line 292) - opt_nl goto 129 state 80 - match_op: MATCH. (60) + assign_expr: unary_expr ASSIGN.opt_nl logical_expr + opt_nl: . (131) - . reduce 60 (src line 360) + NL shift 111 + . reduce 131 (src line 762) + opt_nl goto 129 state 81 - match_op: NOT_MATCH. (61) + assign_expr: unary_expr ADD_ASSIGN.opt_nl logical_expr + opt_nl: . (131) - . reduce 61 (src line 363) + NL shift 111 + . reduce 131 (src line 762) + opt_nl goto 130 state 82 - rel_expr: rel_expr rel_op.opt_nl shift_expr - opt_nl: . (130) + match_expr: primary_expr match_op.opt_nl pattern_expr + match_expr: primary_expr match_op.opt_nl primary_expr + opt_nl: . (131) - NL shift 108 - . reduce 130 (src line 755) + NL shift 111 + . reduce 131 (src line 762) - opt_nl goto 130 + opt_nl goto 131 state 83 - rel_op: LT. (44) + match_op: MATCH. (61) - . reduce 44 (src line 299) + . reduce 61 (src line 367) state 84 - rel_op: GT. (45) + match_op: NOT_MATCH. (62) - . reduce 45 (src line 302) + . reduce 62 (src line 370) state 85 - rel_op: LE. (46) + rel_expr: rel_expr rel_op.opt_nl shift_expr + opt_nl: . (131) - . reduce 46 (src line 304) + NL shift 111 + . reduce 131 (src line 762) + opt_nl goto 132 state 86 - rel_op: GE. (47) + rel_op: LT. (45) - . reduce 47 (src line 306) + . reduce 45 (src line 306) state 87 - rel_op: EQ. (48) + rel_op: GT. (46) - . reduce 48 (src line 308) + . reduce 46 (src line 309) state 88 - rel_op: NE. (49) + rel_op: LE. (47) - . reduce 49 (src line 310) + . reduce 47 (src line 311) state 89 - unary_expr: NOT unary_expr. (73) + rel_op: GE. (48) - . reduce 73 (src line 415) + . reduce 48 (src line 313) state 90 - unary_expr: postfix_expr. (72) - postfix_expr: postfix_expr.postfix_op + rel_op: EQ. (49) - INC shift 70 - DEC shift 71 - . reduce 72 (src line 412) + . reduce 49 (src line 315) - postfix_op goto 69 state 91 - postfix_expr: primary_expr. (74) + rel_op: NE. (50) - . reduce 74 (src line 422) + . reduce 50 (src line 317) state 92 + unary_expr: NOT unary_expr. (74) + + . reduce 74 (src line 422) + + +state 93 + unary_expr: postfix_expr. (73) + postfix_expr: postfix_expr.postfix_op + + INC shift 73 + DEC shift 74 + . reduce 73 (src line 419) + + postfix_op goto 72 + +state 94 + postfix_expr: primary_expr. (75) + + . reduce 75 (src line 429) + + +state 95 builtin_expr: mark_pos.BUILTIN LPAREN RPAREN builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN - BUILTIN shift 53 + BUILTIN shift 56 . error -state 93 +state 96 indexed_expr: indexed_expr LSQUARE.arg_expr_list RSQUARE - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -819,170 +839,167 @@ state 93 FLOATLITERAL shift 41 NOT shift 33 LPAREN shift 39 - . reduce 128 (src line 735) + . reduce 129 (src line 742) - arg_expr_list goto 131 + arg_expr_list goto 133 primary_expr goto 30 multiplicative_expr goto 46 additive_expr goto 44 - postfix_expr goto 90 - unary_expr goto 95 + postfix_expr goto 93 + unary_expr goto 98 rel_expr goto 32 shift_expr goto 42 bitwise_expr goto 27 - logical_expr goto 133 + logical_expr goto 135 indexed_expr goto 34 id_expr goto 43 concat_expr goto 26 - pattern_expr goto 134 + pattern_expr goto 136 regex_pattern goto 31 match_expr goto 28 builtin_expr goto 35 - arg_expr goto 132 - mark_pos goto 135 + arg_expr goto 134 + mark_pos goto 137 -state 94 +state 97 logical_expr: logical_expr.logical_op opt_nl bitwise_expr logical_expr: logical_expr.logical_op opt_nl match_expr primary_expr: LPAREN logical_expr.RPAREN - AND shift 66 - OR shift 67 - RPAREN shift 136 + AND shift 69 + OR shift 70 + RPAREN shift 138 . error - logical_op goto 68 - -state 95 - multiplicative_expr: unary_expr. (66) - - . reduce 66 (src line 391) - - -state 96 - shift_expr: shift_expr shift_op.opt_nl additive_expr - opt_nl: . (130) - - NL shift 108 - . reduce 130 (src line 755) - - opt_nl goto 137 - -state 97 - shift_op: SHL. (52) - - . reduce 52 (src line 324) - + logical_op goto 71 state 98 - shift_op: SHR. (53) + multiplicative_expr: unary_expr. (67) - . reduce 53 (src line 327) + . reduce 67 (src line 398) state 99 - additive_expr: additive_expr add_op.opt_nl multiplicative_expr - opt_nl: . (130) + shift_expr: shift_expr shift_op.opt_nl additive_expr + opt_nl: . (131) - NL shift 108 - . reduce 130 (src line 755) + NL shift 111 + . reduce 131 (src line 762) - opt_nl goto 138 + opt_nl goto 139 state 100 - add_op: PLUS. (56) + shift_op: SHL. (53) - . reduce 56 (src line 341) + . reduce 53 (src line 331) state 101 - add_op: MINUS. (57) + shift_op: SHR. (54) - . reduce 57 (src line 344) + . reduce 54 (src line 334) state 102 - multiplicative_expr: multiplicative_expr mul_op.opt_nl unary_expr - opt_nl: . (130) + additive_expr: additive_expr add_op.opt_nl multiplicative_expr + opt_nl: . (131) - NL shift 108 - . reduce 130 (src line 755) + NL shift 111 + . reduce 131 (src line 762) - opt_nl goto 139 + opt_nl goto 140 state 103 - mul_op: MUL. (68) + add_op: PLUS. (57) - . reduce 68 (src line 400) + . reduce 57 (src line 348) state 104 - mul_op: DIV. (69) + add_op: MINUS. (58) - . reduce 69 (src line 403) + . reduce 58 (src line 351) state 105 - mul_op: MOD. (70) + multiplicative_expr: multiplicative_expr mul_op.opt_nl unary_expr + opt_nl: . (131) - . reduce 70 (src line 405) + NL shift 111 + . reduce 131 (src line 762) + opt_nl goto 141 state 106 - mul_op: POW. (71) + mul_op: MUL. (69) - . reduce 71 (src line 407) + . reduce 69 (src line 407) state 107 - stmt: CONST id_expr opt_nl.concat_expr - mark_pos: . (128) + mul_op: DIV. (70) - . reduce 128 (src line 735) + . reduce 70 (src line 410) - concat_expr goto 140 - regex_pattern goto 31 - mark_pos goto 141 state 108 - opt_nl: NL. (131) + mul_op: MOD. (71) - . reduce 131 (src line 757) + . reduce 71 (src line 412) state 109 - log_filter_spec: LOGFILTER log_filter_list NL. (15) + mul_op: POW. (72) - . reduce 15 (src line 152) + . reduce 72 (src line 414) state 110 - log_filter_list: log_filter_list COMMA.STRING + stmt: CONST id_expr opt_nl.concat_expr + mark_pos: . (129) - STRING shift 142 - . error + . reduce 129 (src line 742) + concat_expr goto 142 + regex_pattern goto 31 + mark_pos goto 143 state 111 + opt_nl: NL. (132) + + . reduce 132 (src line 764) + + +state 112 + log_filter_list: log_filter_list COMMA.log_filter_expr + + STRING shift 52 + ID shift 51 + . error + + id_or_string goto 50 + log_filter_expr goto 144 + +state 113 conditional_stmt: conditional_expr compound_stmt ELSE.compound_stmt - LCURLY shift 51 + LCURLY shift 54 . error - compound_stmt goto 143 + compound_stmt goto 145 -state 112 +state 114 stmt_list: stmt_list.stmt compound_stmt: LCURLY stmt_list.RCURLY - mark_pos: . (128) - metric_hide_spec: . (97) + mark_pos: . (129) + metric_hide_spec: . (98) INVALID shift 14 - COUNTER reduce 97 (src line 548) - GAUGE reduce 97 (src line 548) - TIMER reduce 97 (src line 548) - TEXT reduce 97 (src line 548) - HISTOGRAM reduce 97 (src line 548) + COUNTER reduce 98 (src line 555) + GAUGE reduce 98 (src line 555) + TIMER reduce 98 (src line 555) + TEXT reduce 98 (src line 555) + HISTOGRAM reduce 98 (src line 555) CONST shift 12 HIDDEN shift 25 NEXT shift 11 @@ -994,11 +1011,11 @@ state 112 INTLITERAL shift 40 FLOATLITERAL shift 41 NOT shift 33 - RCURLY shift 144 + RCURLY shift 146 LPAREN shift 39 NL shift 18 LOGFILTER shift 15 - . reduce 128 (src line 735) + . reduce 129 (src line 742) stmt goto 3 conditional_stmt goto 5 @@ -1027,19 +1044,19 @@ state 112 delete_stmt goto 10 builtin_expr goto 35 metric_hide_spec goto 20 - log_filter_spec goto 4 + log_filter_stmt goto 4 mark_pos goto 17 -state 113 - conditional_stmt: mark_pos OTHERWISE compound_stmt. (20) +state 115 + conditional_stmt: mark_pos OTHERWISE compound_stmt. (21) - . reduce 20 (src line 187) + . reduce 21 (src line 194) -state 114 +state 116 builtin_expr: mark_pos BUILTIN LPAREN.RPAREN builtin_expr: mark_pos BUILTIN LPAREN.arg_expr_list RPAREN - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -1049,101 +1066,101 @@ state 114 FLOATLITERAL shift 41 NOT shift 33 LPAREN shift 39 - RPAREN shift 145 - . reduce 128 (src line 735) + RPAREN shift 147 + . reduce 129 (src line 742) - arg_expr_list goto 146 + arg_expr_list goto 148 primary_expr goto 30 multiplicative_expr goto 46 additive_expr goto 44 - postfix_expr goto 90 - unary_expr goto 95 + postfix_expr goto 93 + unary_expr goto 98 rel_expr goto 32 shift_expr goto 42 bitwise_expr goto 27 - logical_expr goto 133 + logical_expr goto 135 indexed_expr goto 34 id_expr goto 43 concat_expr goto 26 - pattern_expr goto 134 + pattern_expr goto 136 regex_pattern goto 31 match_expr goto 28 builtin_expr goto 35 - arg_expr goto 132 - mark_pos goto 135 + arg_expr goto 134 + mark_pos goto 137 -state 115 +state 117 regex_pattern: mark_pos DIV in_regex.REGEX DIV - REGEX shift 147 + REGEX shift 149 . error -state 116 +state 118 decorator_declaration: mark_pos DEF ID.compound_stmt - LCURLY shift 51 + LCURLY shift 54 . error - compound_stmt goto 148 + compound_stmt goto 150 -state 117 - decoration_stmt: mark_pos DECO compound_stmt. (123) +state 119 + decoration_stmt: mark_pos DECO compound_stmt. (124) - . reduce 123 (src line 702) + . reduce 124 (src line 709) -state 118 +state 120 postfix_expr: postfix_expr.postfix_op delete_stmt: mark_pos DEL postfix_expr.AFTER DURATIONLITERAL - delete_stmt: mark_pos DEL postfix_expr. (125) + delete_stmt: mark_pos DEL postfix_expr. (126) - AFTER shift 149 - INC shift 70 - DEC shift 71 - . reduce 125 (src line 715) + AFTER shift 151 + INC shift 73 + DEC shift 74 + . reduce 126 (src line 722) - postfix_op goto 69 + postfix_op goto 72 -state 119 - metric_declaration: metric_hide_spec metric_type_spec metric_decl_attr_spec. (96) +state 121 + metric_declaration: metric_hide_spec metric_type_spec metric_decl_attr_spec. (97) metric_decl_attr_spec: metric_decl_attr_spec.metric_by_spec metric_decl_attr_spec: metric_decl_attr_spec.metric_as_spec metric_decl_attr_spec: metric_decl_attr_spec.metric_buckets_spec metric_decl_attr_spec: metric_decl_attr_spec.metric_limit_spec - AS shift 155 - BY shift 154 - BUCKETS shift 156 - LIMIT shift 157 - . reduce 96 (src line 537) + AS shift 157 + BY shift 156 + BUCKETS shift 158 + LIMIT shift 159 + . reduce 97 (src line 544) - metric_limit_spec goto 153 - metric_as_spec goto 151 - metric_by_spec goto 150 - metric_buckets_spec goto 152 + metric_limit_spec goto 155 + metric_as_spec goto 153 + metric_by_spec goto 152 + metric_buckets_spec goto 154 -state 120 - metric_decl_attr_spec: metric_name_spec. (103) +state 122 + metric_decl_attr_spec: metric_name_spec. (104) - . reduce 103 (src line 581) + . reduce 104 (src line 588) -state 121 - metric_name_spec: ID. (104) +state 123 + metric_name_spec: ID. (105) - . reduce 104 (src line 588) + . reduce 105 (src line 595) -state 122 - metric_name_spec: STRING. (105) +state 124 + metric_name_spec: STRING. (106) - . reduce 105 (src line 593) + . reduce 106 (src line 600) -state 123 +state 125 conditional_expr: pattern_expr logical_op opt_nl.logical_expr - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -1153,27 +1170,27 @@ state 123 FLOATLITERAL shift 41 NOT shift 33 LPAREN shift 39 - . reduce 128 (src line 735) + . reduce 129 (src line 742) primary_expr goto 30 multiplicative_expr goto 46 additive_expr goto 44 - postfix_expr goto 90 - unary_expr goto 95 + postfix_expr goto 93 + unary_expr goto 98 rel_expr goto 32 shift_expr goto 42 bitwise_expr goto 27 - logical_expr goto 158 + logical_expr goto 160 indexed_expr goto 34 id_expr goto 43 match_expr goto 28 builtin_expr goto 35 - mark_pos goto 92 + mark_pos goto 95 -state 124 +state 126 logical_expr: logical_expr logical_op opt_nl.bitwise_expr logical_expr: logical_expr logical_op opt_nl.match_expr - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -1183,37 +1200,37 @@ state 124 FLOATLITERAL shift 41 NOT shift 33 LPAREN shift 39 - . reduce 128 (src line 735) + . reduce 129 (src line 742) primary_expr goto 30 multiplicative_expr goto 46 additive_expr goto 44 - postfix_expr goto 90 - unary_expr goto 95 + postfix_expr goto 93 + unary_expr goto 98 rel_expr goto 32 shift_expr goto 42 - bitwise_expr goto 159 + bitwise_expr goto 161 indexed_expr goto 34 id_expr goto 43 - match_expr goto 160 + match_expr goto 162 builtin_expr goto 35 - mark_pos goto 92 + mark_pos goto 95 -state 125 +state 127 concat_expr: concat_expr PLUS opt_nl.regex_pattern concat_expr: concat_expr PLUS opt_nl.id_expr - mark_pos: . (128) + mark_pos: . (129) ID shift 45 - . reduce 128 (src line 735) + . reduce 129 (src line 742) - id_expr goto 162 - regex_pattern goto 161 - mark_pos goto 141 + id_expr goto 164 + regex_pattern goto 163 + mark_pos goto 143 -state 126 +state 128 bitwise_expr: bitwise_expr bitwise_op opt_nl.rel_expr - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -1223,23 +1240,23 @@ state 126 FLOATLITERAL shift 41 NOT shift 33 LPAREN shift 39 - . reduce 128 (src line 735) + . reduce 129 (src line 742) - primary_expr goto 91 + primary_expr goto 94 multiplicative_expr goto 46 additive_expr goto 44 - postfix_expr goto 90 - unary_expr goto 95 - rel_expr goto 163 + postfix_expr goto 93 + unary_expr goto 98 + rel_expr goto 165 shift_expr goto 42 indexed_expr goto 34 id_expr goto 43 builtin_expr goto 35 - mark_pos goto 92 + mark_pos goto 95 -state 127 +state 129 assign_expr: unary_expr ASSIGN opt_nl.logical_expr - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -1249,26 +1266,26 @@ state 127 FLOATLITERAL shift 41 NOT shift 33 LPAREN shift 39 - . reduce 128 (src line 735) + . reduce 129 (src line 742) primary_expr goto 30 multiplicative_expr goto 46 additive_expr goto 44 - postfix_expr goto 90 - unary_expr goto 95 + postfix_expr goto 93 + unary_expr goto 98 rel_expr goto 32 shift_expr goto 42 bitwise_expr goto 27 - logical_expr goto 164 + logical_expr goto 166 indexed_expr goto 34 id_expr goto 43 match_expr goto 28 builtin_expr goto 35 - mark_pos goto 92 + mark_pos goto 95 -state 128 +state 130 assign_expr: unary_expr ADD_ASSIGN opt_nl.logical_expr - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -1278,27 +1295,27 @@ state 128 FLOATLITERAL shift 41 NOT shift 33 LPAREN shift 39 - . reduce 128 (src line 735) + . reduce 129 (src line 742) primary_expr goto 30 multiplicative_expr goto 46 additive_expr goto 44 - postfix_expr goto 90 - unary_expr goto 95 + postfix_expr goto 93 + unary_expr goto 98 rel_expr goto 32 shift_expr goto 42 bitwise_expr goto 27 - logical_expr goto 165 + logical_expr goto 167 indexed_expr goto 34 id_expr goto 43 match_expr goto 28 builtin_expr goto 35 - mark_pos goto 92 + mark_pos goto 95 -state 129 +state 131 match_expr: primary_expr match_op opt_nl.pattern_expr match_expr: primary_expr match_op opt_nl.primary_expr - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -1307,20 +1324,20 @@ state 129 INTLITERAL shift 40 FLOATLITERAL shift 41 LPAREN shift 39 - . reduce 128 (src line 735) + . reduce 129 (src line 742) - primary_expr goto 167 + primary_expr goto 169 indexed_expr goto 34 id_expr goto 43 concat_expr goto 26 - pattern_expr goto 166 + pattern_expr goto 168 regex_pattern goto 31 builtin_expr goto 35 - mark_pos goto 135 + mark_pos goto 137 -state 130 +state 132 rel_expr: rel_expr rel_op opt_nl.shift_expr - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -1330,70 +1347,70 @@ state 130 FLOATLITERAL shift 41 NOT shift 33 LPAREN shift 39 - . reduce 128 (src line 735) + . reduce 129 (src line 742) - primary_expr goto 91 + primary_expr goto 94 multiplicative_expr goto 46 additive_expr goto 44 - postfix_expr goto 90 - unary_expr goto 95 - shift_expr goto 168 + postfix_expr goto 93 + unary_expr goto 98 + shift_expr goto 170 indexed_expr goto 34 id_expr goto 43 builtin_expr goto 35 - mark_pos goto 92 + mark_pos goto 95 -state 131 +state 133 indexed_expr: indexed_expr LSQUARE arg_expr_list.RSQUARE arg_expr_list: arg_expr_list.COMMA arg_expr - RSQUARE shift 169 - COMMA shift 170 + RSQUARE shift 171 + COMMA shift 172 . error -state 132 - arg_expr_list: arg_expr. (91) +state 134 + arg_expr_list: arg_expr. (92) - . reduce 91 (src line 508) + . reduce 92 (src line 515) -state 133 +state 135 logical_expr: logical_expr.logical_op opt_nl bitwise_expr logical_expr: logical_expr.logical_op opt_nl match_expr - arg_expr: logical_expr. (93) + arg_expr: logical_expr. (94) - AND shift 66 - OR shift 67 - . reduce 93 (src line 521) + AND shift 69 + OR shift 70 + . reduce 94 (src line 528) - logical_op goto 68 + logical_op goto 71 -state 134 - arg_expr: pattern_expr. (94) +state 136 + arg_expr: pattern_expr. (95) - . reduce 94 (src line 524) + . reduce 95 (src line 531) -state 135 +state 137 builtin_expr: mark_pos.BUILTIN LPAREN RPAREN builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN regex_pattern: mark_pos.DIV in_regex REGEX DIV - BUILTIN shift 53 - DIV shift 54 + BUILTIN shift 56 + DIV shift 57 . error -state 136 - primary_expr: LPAREN logical_expr RPAREN. (83) +state 138 + primary_expr: LPAREN logical_expr RPAREN. (84) - . reduce 83 (src line 456) + . reduce 84 (src line 463) -state 137 +state 139 shift_expr: shift_expr shift_op opt_nl.additive_expr - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -1403,21 +1420,21 @@ state 137 FLOATLITERAL shift 41 NOT shift 33 LPAREN shift 39 - . reduce 128 (src line 735) + . reduce 129 (src line 742) - primary_expr goto 91 + primary_expr goto 94 multiplicative_expr goto 46 - additive_expr goto 171 - postfix_expr goto 90 - unary_expr goto 95 + additive_expr goto 173 + postfix_expr goto 93 + unary_expr goto 98 indexed_expr goto 34 id_expr goto 43 builtin_expr goto 35 - mark_pos goto 92 + mark_pos goto 95 -state 138 +state 140 additive_expr: additive_expr add_op opt_nl.multiplicative_expr - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -1427,20 +1444,20 @@ state 138 FLOATLITERAL shift 41 NOT shift 33 LPAREN shift 39 - . reduce 128 (src line 735) + . reduce 129 (src line 742) - primary_expr goto 91 - multiplicative_expr goto 172 - postfix_expr goto 90 - unary_expr goto 95 + primary_expr goto 94 + multiplicative_expr goto 174 + postfix_expr goto 93 + unary_expr goto 98 indexed_expr goto 34 id_expr goto 43 builtin_expr goto 35 - mark_pos goto 92 + mark_pos goto 95 -state 139 +state 141 multiplicative_expr: multiplicative_expr mul_op opt_nl.unary_expr - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -1450,128 +1467,128 @@ state 139 FLOATLITERAL shift 41 NOT shift 33 LPAREN shift 39 - . reduce 128 (src line 735) + . reduce 129 (src line 742) - primary_expr goto 91 - postfix_expr goto 90 - unary_expr goto 173 + primary_expr goto 94 + postfix_expr goto 93 + unary_expr goto 175 indexed_expr goto 34 id_expr goto 43 builtin_expr goto 35 - mark_pos goto 92 + mark_pos goto 95 -state 140 +state 142 stmt: CONST id_expr opt_nl concat_expr. (12) concat_expr: concat_expr.PLUS opt_nl regex_pattern concat_expr: concat_expr.PLUS opt_nl id_expr - PLUS shift 72 - . reduce 12 (src line 138) + PLUS shift 75 + . reduce 12 (src line 136) -state 141 +state 143 regex_pattern: mark_pos.DIV in_regex REGEX DIV - DIV shift 54 + DIV shift 57 . error -state 142 - log_filter_list: log_filter_list COMMA STRING. (17) +state 144 + log_filter_list: log_filter_list COMMA log_filter_expr. (17) - . reduce 17 (src line 167) + . reduce 17 (src line 168) -state 143 - conditional_stmt: conditional_expr compound_stmt ELSE compound_stmt. (18) +state 145 + conditional_stmt: conditional_expr compound_stmt ELSE compound_stmt. (19) - . reduce 18 (src line 174) + . reduce 19 (src line 181) -state 144 - compound_stmt: LCURLY stmt_list RCURLY. (26) +state 146 + compound_stmt: LCURLY stmt_list RCURLY. (27) - . reduce 26 (src line 220) + . reduce 27 (src line 227) -state 145 - builtin_expr: mark_pos BUILTIN LPAREN RPAREN. (89) +state 147 + builtin_expr: mark_pos BUILTIN LPAREN RPAREN. (90) - . reduce 89 (src line 495) + . reduce 90 (src line 502) -state 146 +state 148 builtin_expr: mark_pos BUILTIN LPAREN arg_expr_list.RPAREN arg_expr_list: arg_expr_list.COMMA arg_expr - RPAREN shift 174 - COMMA shift 170 + RPAREN shift 176 + COMMA shift 172 . error -state 147 +state 149 regex_pattern: mark_pos DIV in_regex REGEX.DIV - DIV shift 175 + DIV shift 177 . error -state 148 - decorator_declaration: mark_pos DEF ID compound_stmt. (122) +state 150 + decorator_declaration: mark_pos DEF ID compound_stmt. (123) - . reduce 122 (src line 694) + . reduce 123 (src line 701) -state 149 +state 151 delete_stmt: mark_pos DEL postfix_expr AFTER.DURATIONLITERAL - DURATIONLITERAL shift 176 + DURATIONLITERAL shift 178 . error -state 150 - metric_decl_attr_spec: metric_decl_attr_spec metric_by_spec. (99) +state 152 + metric_decl_attr_spec: metric_decl_attr_spec metric_by_spec. (100) - . reduce 99 (src line 560) + . reduce 100 (src line 567) -state 151 - metric_decl_attr_spec: metric_decl_attr_spec metric_as_spec. (100) +state 153 + metric_decl_attr_spec: metric_decl_attr_spec metric_as_spec. (101) - . reduce 100 (src line 566) + . reduce 101 (src line 573) -state 152 - metric_decl_attr_spec: metric_decl_attr_spec metric_buckets_spec. (101) +state 154 + metric_decl_attr_spec: metric_decl_attr_spec metric_buckets_spec. (102) - . reduce 101 (src line 571) + . reduce 102 (src line 578) -state 153 - metric_decl_attr_spec: metric_decl_attr_spec metric_limit_spec. (102) +state 155 + metric_decl_attr_spec: metric_decl_attr_spec metric_limit_spec. (103) - . reduce 102 (src line 576) + . reduce 103 (src line 583) -state 154 +state 156 metric_by_spec: BY.metric_by_expr_list - STRING shift 181 - ID shift 180 + STRING shift 52 + ID shift 51 . error - id_or_string goto 179 - metric_by_expr goto 178 - metric_by_expr_list goto 177 + id_or_string goto 181 + metric_by_expr goto 180 + metric_by_expr_list goto 179 -state 155 +state 157 metric_as_spec: AS.STRING STRING shift 182 . error -state 156 +state 158 metric_buckets_spec: BUCKETS.metric_buckets_list INTLITERAL shift 185 @@ -1580,120 +1597,120 @@ state 156 metric_buckets_list goto 183 -state 157 +state 159 metric_limit_spec: LIMIT.INTLITERAL INTLITERAL shift 186 . error -state 158 - conditional_expr: pattern_expr logical_op opt_nl logical_expr. (22) +state 160 + conditional_expr: pattern_expr logical_op opt_nl logical_expr. (23) logical_expr: logical_expr.logical_op opt_nl bitwise_expr logical_expr: logical_expr.logical_op opt_nl match_expr - AND shift 66 - OR shift 67 - . reduce 22 (src line 199) + AND shift 69 + OR shift 70 + . reduce 23 (src line 206) - logical_op goto 68 + logical_op goto 71 -state 159 - logical_expr: logical_expr logical_op opt_nl bitwise_expr. (33) +state 161 + logical_expr: logical_expr logical_op opt_nl bitwise_expr. (34) bitwise_expr: bitwise_expr.bitwise_op opt_nl rel_expr - BITAND shift 74 - XOR shift 76 - BITOR shift 75 - . reduce 33 (src line 253) + BITAND shift 77 + XOR shift 79 + BITOR shift 78 + . reduce 34 (src line 260) - bitwise_op goto 73 + bitwise_op goto 76 -state 160 - logical_expr: logical_expr logical_op opt_nl match_expr. (34) +state 162 + logical_expr: logical_expr logical_op opt_nl match_expr. (35) - . reduce 34 (src line 257) + . reduce 35 (src line 264) -state 161 - concat_expr: concat_expr PLUS opt_nl regex_pattern. (64) +state 163 + concat_expr: concat_expr PLUS opt_nl regex_pattern. (65) - . reduce 64 (src line 380) + . reduce 65 (src line 387) -state 162 - concat_expr: concat_expr PLUS opt_nl id_expr. (65) +state 164 + concat_expr: concat_expr PLUS opt_nl id_expr. (66) - . reduce 65 (src line 384) + . reduce 66 (src line 391) -state 163 - bitwise_expr: bitwise_expr bitwise_op opt_nl rel_expr. (38) +state 165 + bitwise_expr: bitwise_expr bitwise_op opt_nl rel_expr. (39) rel_expr: rel_expr.rel_op opt_nl shift_expr - LT shift 83 - GT shift 84 - LE shift 85 - GE shift 86 - EQ shift 87 - NE shift 88 - . reduce 38 (src line 274) + LT shift 86 + GT shift 87 + LE shift 88 + GE shift 89 + EQ shift 90 + NE shift 91 + . reduce 39 (src line 281) - rel_op goto 82 + rel_op goto 85 -state 164 - assign_expr: unary_expr ASSIGN opt_nl logical_expr. (29) +state 166 + assign_expr: unary_expr ASSIGN opt_nl logical_expr. (30) logical_expr: logical_expr.logical_op opt_nl bitwise_expr logical_expr: logical_expr.logical_op opt_nl match_expr - AND shift 66 - OR shift 67 - . reduce 29 (src line 236) + AND shift 69 + OR shift 70 + . reduce 30 (src line 243) - logical_op goto 68 + logical_op goto 71 -state 165 - assign_expr: unary_expr ADD_ASSIGN opt_nl logical_expr. (30) +state 167 + assign_expr: unary_expr ADD_ASSIGN opt_nl logical_expr. (31) logical_expr: logical_expr.logical_op opt_nl bitwise_expr logical_expr: logical_expr.logical_op opt_nl match_expr - AND shift 66 - OR shift 67 - . reduce 30 (src line 241) + AND shift 69 + OR shift 70 + . reduce 31 (src line 248) - logical_op goto 68 + logical_op goto 71 -state 166 - match_expr: primary_expr match_op opt_nl pattern_expr. (58) +state 168 + match_expr: primary_expr match_op opt_nl pattern_expr. (59) - . reduce 58 (src line 349) + . reduce 59 (src line 356) -state 167 - match_expr: primary_expr match_op opt_nl primary_expr. (59) +state 169 + match_expr: primary_expr match_op opt_nl primary_expr. (60) - . reduce 59 (src line 354) + . reduce 60 (src line 361) -state 168 - rel_expr: rel_expr rel_op opt_nl shift_expr. (43) +state 170 + rel_expr: rel_expr rel_op opt_nl shift_expr. (44) shift_expr: shift_expr.shift_op opt_nl additive_expr - SHL shift 97 - SHR shift 98 - . reduce 43 (src line 293) + SHL shift 100 + SHR shift 101 + . reduce 44 (src line 300) - shift_op goto 96 + shift_op goto 99 -state 169 - indexed_expr: indexed_expr LSQUARE arg_expr_list RSQUARE. (87) +state 171 + indexed_expr: indexed_expr LSQUARE arg_expr_list RSQUARE. (88) - . reduce 87 (src line 477) + . reduce 88 (src line 484) -state 170 +state 172 arg_expr_list: arg_expr_list COMMA.arg_expr - mark_pos: . (128) + mark_pos: . (129) STRING shift 38 CAPREF shift 36 @@ -1703,152 +1720,140 @@ state 170 FLOATLITERAL shift 41 NOT shift 33 LPAREN shift 39 - . reduce 128 (src line 735) + . reduce 129 (src line 742) primary_expr goto 30 multiplicative_expr goto 46 additive_expr goto 44 - postfix_expr goto 90 - unary_expr goto 95 + postfix_expr goto 93 + unary_expr goto 98 rel_expr goto 32 shift_expr goto 42 bitwise_expr goto 27 - logical_expr goto 133 + logical_expr goto 135 indexed_expr goto 34 id_expr goto 43 concat_expr goto 26 - pattern_expr goto 134 + pattern_expr goto 136 regex_pattern goto 31 match_expr goto 28 builtin_expr goto 35 arg_expr goto 187 - mark_pos goto 135 - -state 171 - shift_expr: shift_expr shift_op opt_nl additive_expr. (51) - additive_expr: additive_expr.add_op opt_nl multiplicative_expr - - MINUS shift 101 - PLUS shift 100 - . reduce 51 (src line 318) - - add_op goto 99 - -state 172 - additive_expr: additive_expr add_op opt_nl multiplicative_expr. (55) - multiplicative_expr: multiplicative_expr.mul_op opt_nl unary_expr - - DIV shift 104 - MOD shift 105 - MUL shift 103 - POW shift 106 - . reduce 55 (src line 335) - - mul_op goto 102 + mark_pos goto 137 state 173 - multiplicative_expr: multiplicative_expr mul_op opt_nl unary_expr. (67) + shift_expr: shift_expr shift_op opt_nl additive_expr. (52) + additive_expr: additive_expr.add_op opt_nl multiplicative_expr - . reduce 67 (src line 394) + MINUS shift 104 + PLUS shift 103 + . reduce 52 (src line 325) + add_op goto 102 state 174 - builtin_expr: mark_pos BUILTIN LPAREN arg_expr_list RPAREN. (90) + additive_expr: additive_expr add_op opt_nl multiplicative_expr. (56) + multiplicative_expr: multiplicative_expr.mul_op opt_nl unary_expr - . reduce 90 (src line 500) + DIV shift 107 + MOD shift 108 + MUL shift 106 + POW shift 109 + . reduce 56 (src line 342) + mul_op goto 105 state 175 - regex_pattern: mark_pos DIV in_regex REGEX DIV. (95) + multiplicative_expr: multiplicative_expr mul_op opt_nl unary_expr. (68) - . reduce 95 (src line 529) + . reduce 68 (src line 401) state 176 - delete_stmt: mark_pos DEL postfix_expr AFTER DURATIONLITERAL. (124) + builtin_expr: mark_pos BUILTIN LPAREN arg_expr_list RPAREN. (91) - . reduce 124 (src line 710) + . reduce 91 (src line 507) state 177 - metric_by_spec: BY metric_by_expr_list. (111) - metric_by_expr_list: metric_by_expr_list.COMMA metric_by_expr + regex_pattern: mark_pos DIV in_regex REGEX DIV. (96) - COMMA shift 188 - . reduce 111 (src line 624) + . reduce 96 (src line 536) state 178 - metric_by_expr_list: metric_by_expr. (112) + delete_stmt: mark_pos DEL postfix_expr AFTER DURATIONLITERAL. (125) - . reduce 112 (src line 631) + . reduce 125 (src line 717) state 179 - metric_by_expr: id_or_string. (114) + metric_by_spec: BY metric_by_expr_list. (112) + metric_by_expr_list: metric_by_expr_list.COMMA metric_by_expr - . reduce 114 (src line 644) + COMMA shift 188 + . reduce 112 (src line 631) state 180 - id_or_string: ID. (126) + metric_by_expr_list: metric_by_expr. (113) - . reduce 126 (src line 721) + . reduce 113 (src line 638) state 181 - id_or_string: STRING. (127) + metric_by_expr: id_or_string. (115) - . reduce 127 (src line 726) + . reduce 115 (src line 651) state 182 - metric_as_spec: AS STRING. (115) + metric_as_spec: AS STRING. (116) - . reduce 115 (src line 650) + . reduce 116 (src line 657) state 183 - metric_buckets_spec: BUCKETS metric_buckets_list. (117) + metric_buckets_spec: BUCKETS metric_buckets_list. (118) metric_buckets_list: metric_buckets_list.COMMA FLOATLITERAL metric_buckets_list: metric_buckets_list.COMMA INTLITERAL COMMA shift 189 - . reduce 117 (src line 665) + . reduce 118 (src line 672) state 184 - metric_buckets_list: FLOATLITERAL. (118) + metric_buckets_list: FLOATLITERAL. (119) - . reduce 118 (src line 671) + . reduce 119 (src line 678) state 185 - metric_buckets_list: INTLITERAL. (119) + metric_buckets_list: INTLITERAL. (120) - . reduce 119 (src line 677) + . reduce 120 (src line 684) state 186 - metric_limit_spec: LIMIT INTLITERAL. (116) + metric_limit_spec: LIMIT INTLITERAL. (117) - . reduce 116 (src line 657) + . reduce 117 (src line 664) state 187 - arg_expr_list: arg_expr_list COMMA arg_expr. (92) + arg_expr_list: arg_expr_list COMMA arg_expr. (93) - . reduce 92 (src line 514) + . reduce 93 (src line 521) state 188 metric_by_expr_list: metric_by_expr_list COMMA.metric_by_expr - STRING shift 181 - ID shift 180 + STRING shift 52 + ID shift 51 . error - id_or_string goto 179 + id_or_string goto 181 metric_by_expr goto 190 state 189 @@ -1861,32 +1866,32 @@ state 189 state 190 - metric_by_expr_list: metric_by_expr_list COMMA metric_by_expr. (113) + metric_by_expr_list: metric_by_expr_list COMMA metric_by_expr. (114) - . reduce 113 (src line 637) + . reduce 114 (src line 644) state 191 - metric_buckets_list: metric_buckets_list COMMA FLOATLITERAL. (120) + metric_buckets_list: metric_buckets_list COMMA FLOATLITERAL. (121) - . reduce 120 (src line 682) + . reduce 121 (src line 689) state 192 - metric_buckets_list: metric_buckets_list COMMA INTLITERAL. (121) + metric_buckets_list: metric_buckets_list COMMA INTLITERAL. (122) - . reduce 121 (src line 687) + . reduce 122 (src line 694) -67 terminals, 57 nonterminals -132 grammar rules, 193/16000 states +67 terminals, 58 nonterminals +133 grammar rules, 193/16000 states 0 shift/reduce, 0 reduce/reduce conflicts reported -106 working sets used -memory: parser 401/240000 -173 extra closures -288 shift entries, 13 exceptions -118 goto entries +107 working sets used +memory: parser 394/240000 +176 extra closures +289 shift entries, 13 exceptions +122 goto entries 194 entries saved by goto default -Optimizer space used: output 255/240000 -255 table entries, 0 zero +Optimizer space used: output 256/240000 +256 table entries, 0 zero maximum spread: 67, maximum offset: 188 From e619a03c04b21b9e321b957ad76d1274449658a4 Mon Sep 17 00:00:00 2001 From: Jason Herbage Date: Tue, 1 Jul 2025 10:05:11 +0100 Subject: [PATCH 154/381] fixes for comments and removed the integration test for now --- internal/mtail/logmapping_integration_test.go | 61 - internal/runtime/code/object.go | 10 +- internal/runtime/compiler/parser/parser.go | 1504 -------------- internal/runtime/compiler/parser/y.output | 1840 ----------------- internal/runtime/runtime.go | 2 +- internal/runtime/runtime_test.go | 2 +- 6 files changed, 7 insertions(+), 3412 deletions(-) delete mode 100644 internal/mtail/logmapping_integration_test.go delete mode 100644 internal/runtime/compiler/parser/parser.go delete mode 100644 internal/runtime/compiler/parser/y.output diff --git a/internal/mtail/logmapping_integration_test.go b/internal/mtail/logmapping_integration_test.go deleted file mode 100644 index b06ffacf0..000000000 --- a/internal/mtail/logmapping_integration_test.go +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 Google Inc. All Rights Reserved. -// This file is available under the Apache license. - -package mtail_test - -import ( - "os" - "path/filepath" - "testing" - - "github.com/golang/glog" - "github.com/jaqx0r/mtail/internal/mtail" - "github.com/jaqx0r/mtail/internal/testutil" -) - -func TestLogMapping(t *testing.T) { - testutil.SkipIfShort(t) - tmpDir := testutil.TestTempDir(t) - - logDir := filepath.Join(tmpDir, "logs") - progDir := filepath.Join(tmpDir, "progs") - err := os.Mkdir(logDir, 0o700) - testutil.FatalIfErr(t, err) - err = os.Mkdir(progDir, 0o700) - testutil.FatalIfErr(t, err) - - readLogFile := filepath.Join(logDir, "readlog") - unreadLogFile := filepath.Join(logDir, "ignorelog") - - readFile := testutil.TestOpenFile(t, readLogFile) - unreadFile := testutil.TestOpenFile(t, unreadLogFile) - os.WriteFile(filepath.Join(progDir, "mapping.mtail"), []byte("logmapping \""+progDir+"/readlog\"\n"), 0o666) - os.WriteFile(filepath.Join(progDir, "notmapping.mtail"), []byte("logmapping \""+progDir+"/ignorelog\"\n"), 0o666) - defer readFile.Close() - defer unreadFile.Close() - - m, stopM := mtail.TestStartServer(t, 1, 1, mtail.ProgramPath(progDir), mtail.LogPathPatterns(logDir+"/readlog", logDir+"/ignorelog")) - - defer stopM() - - m.AwakenPatternPollers(1, 1) - m.AwakenLogStreams(1, 1) // Force read to EOF - - { - lineCountCheck := m.ExpectMapExpvarDeltaWithDeadline("prog_lines_total", "mapping.mtail", 1) - n, err := readFile.WriteString("line 1\n") - testutil.FatalIfErr(t, err) - glog.Infof("Wrote %d bytes", n) - m.AwakenLogStreams(1, 1) - lineCountCheck() - } - - { - lineCountCheck := m.ExpectMapExpvarDeltaWithDeadline("prog_lines_total", "notmapping.mtail", 0) - n, err := unreadFile.WriteString("line 2\n") - testutil.FatalIfErr(t, err) - glog.Infof("Wrote %d bytes", n) - m.AwakenLogStreams(1, 1) - lineCountCheck() - } -} diff --git a/internal/runtime/code/object.go b/internal/runtime/code/object.go index 3fd5eb4fb..5aebe04e3 100644 --- a/internal/runtime/code/object.go +++ b/internal/runtime/code/object.go @@ -11,9 +11,9 @@ import ( // Object is the data and bytecode resulting from compiled program source. type Object struct { - Program []Instr // The program bytecode. - Strings []string // Static strings. - Regexps []*regexp.Regexp // Static regular expressions. - Metrics []*metrics.Metric // Metrics accessible to this program. - RelevantLogs []string // logs this program can be used against - if empty can be applied to any log + Program []Instr // The program bytecode. + Strings []string // Static strings. + Regexps []*regexp.Regexp // Static regular expressions. + Metrics []*metrics.Metric // Metrics accessible to this program. + LogRestriction []string // logs this program can be used against - if empty can be applied to any log } diff --git a/internal/runtime/compiler/parser/parser.go b/internal/runtime/compiler/parser/parser.go deleted file mode 100644 index 07690c920..000000000 --- a/internal/runtime/compiler/parser/parser.go +++ /dev/null @@ -1,1504 +0,0 @@ -// Code generated by goyacc -v y.output -o parser.go -p mtail parser.y. DO NOT EDIT. - -//line parser.y:5 -/* #nosec G104 generated code, errors reported do not make sense */ -package parser - -import __yyfmt__ "fmt" - -//line parser.y:6 - -import ( - "time" - - "github.com/golang/glog" - "github.com/jaqx0r/mtail/internal/metrics" - "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" - "github.com/jaqx0r/mtail/internal/runtime/compiler/position" -) - -//line parser.y:19 -type mtailSymType struct { - yys int - intVal int64 - floatVal float64 - floats []float64 - op int - text string - texts []string - flag bool - n ast.Node - kind metrics.Kind - duration time.Duration -} - -const INVALID = 57346 -const COUNTER = 57347 -const GAUGE = 57348 -const TIMER = 57349 -const TEXT = 57350 -const HISTOGRAM = 57351 -const AFTER = 57352 -const AS = 57353 -const BY = 57354 -const CONST = 57355 -const HIDDEN = 57356 -const DEF = 57357 -const DEL = 57358 -const NEXT = 57359 -const OTHERWISE = 57360 -const ELSE = 57361 -const STOP = 57362 -const BUCKETS = 57363 -const LIMIT = 57364 -const BUILTIN = 57365 -const REGEX = 57366 -const STRING = 57367 -const CAPREF = 57368 -const CAPREF_NAMED = 57369 -const ID = 57370 -const DECO = 57371 -const INTLITERAL = 57372 -const FLOATLITERAL = 57373 -const DURATIONLITERAL = 57374 -const INC = 57375 -const DEC = 57376 -const DIV = 57377 -const MOD = 57378 -const MUL = 57379 -const MINUS = 57380 -const PLUS = 57381 -const POW = 57382 -const SHL = 57383 -const SHR = 57384 -const LT = 57385 -const GT = 57386 -const LE = 57387 -const GE = 57388 -const EQ = 57389 -const NE = 57390 -const BITAND = 57391 -const XOR = 57392 -const BITOR = 57393 -const NOT = 57394 -const AND = 57395 -const OR = 57396 -const ADD_ASSIGN = 57397 -const ASSIGN = 57398 -const MATCH = 57399 -const NOT_MATCH = 57400 -const LCURLY = 57401 -const RCURLY = 57402 -const LPAREN = 57403 -const RPAREN = 57404 -const LSQUARE = 57405 -const RSQUARE = 57406 -const COMMA = 57407 -const NL = 57408 - -var mtailToknames = [...]string{ - "$end", - "error", - "$unk", - "INVALID", - "COUNTER", - "GAUGE", - "TIMER", - "TEXT", - "HISTOGRAM", - "AFTER", - "AS", - "BY", - "CONST", - "HIDDEN", - "DEF", - "DEL", - "NEXT", - "OTHERWISE", - "ELSE", - "STOP", - "BUCKETS", - "LIMIT", - "BUILTIN", - "REGEX", - "STRING", - "CAPREF", - "CAPREF_NAMED", - "ID", - "DECO", - "INTLITERAL", - "FLOATLITERAL", - "DURATIONLITERAL", - "INC", - "DEC", - "DIV", - "MOD", - "MUL", - "MINUS", - "PLUS", - "POW", - "SHL", - "SHR", - "LT", - "GT", - "LE", - "GE", - "EQ", - "NE", - "BITAND", - "XOR", - "BITOR", - "NOT", - "AND", - "OR", - "ADD_ASSIGN", - "ASSIGN", - "MATCH", - "NOT_MATCH", - "LCURLY", - "RCURLY", - "LPAREN", - "RPAREN", - "LSQUARE", - "RSQUARE", - "COMMA", - "NL", -} - -var mtailStatenames = [...]string{} - -const mtailEofCode = 1 -const mtailErrCode = 2 -const mtailInitialStackSize = 16 - -//line parser.y:733 - -// tokenpos returns the position of the current token. -func tokenpos(mtaillex mtailLexer) position.Position { - return mtaillex.(*parser).t.Pos -} - -// markedpos returns the position recorded from the most recent mark_pos -// production. -func markedpos(mtaillex mtailLexer) position.Position { - return mtaillex.(*parser).pos -} - -// positionFromMark returns a position spanning from the last mark to the current position. -func positionFromMark(mtaillex mtailLexer) position.Position { - tp := tokenpos(mtaillex) - mp := markedpos(mtaillex) - return *position.Merge(&mp, &tp) -} - -//line yacctab:1 -var mtailExca = [...]int8{ - -1, 1, - 1, -1, - -2, 0, - -1, 2, - 1, 1, - 5, 93, - 6, 93, - 7, 93, - 8, 93, - 9, 93, - -2, 124, - -1, 22, - 66, 24, - -2, 68, - -1, 106, - 5, 93, - 6, 93, - 7, 93, - 8, 93, - 9, 93, - -2, 124, -} - -const mtailPrivate = 57344 - -const mtailLast = 249 - -var mtailAct = [...]uint8{ - 171, 88, 126, 28, 15, 91, 42, 44, 27, 30, - 103, 127, 41, 24, 20, 86, 40, 167, 22, 128, - 163, 182, 19, 26, 45, 29, 104, 25, 36, 34, - 35, 43, 54, 38, 39, 87, 181, 85, 89, 125, - 108, 46, 36, 34, 35, 43, 47, 38, 39, 90, - 162, 163, 62, 63, 2, 31, 49, 87, 76, 77, - 68, 130, 74, 73, 37, 138, 62, 63, 50, 112, - 93, 94, 117, 97, 96, 118, 168, 50, 37, 119, - 120, 70, 72, 71, 121, 122, 123, 66, 67, 124, - 107, 129, 185, 184, 111, 79, 80, 81, 82, 83, - 84, 169, 106, 131, 179, 135, 132, 175, 15, 133, - 129, 43, 27, 110, 100, 101, 99, 134, 20, 102, - 174, 135, 22, 173, 87, 129, 19, 160, 87, 151, - 156, 142, 155, 157, 158, 87, 87, 87, 164, 166, - 165, 161, 153, 159, 140, 154, 152, 136, 139, 178, - 177, 13, 141, 116, 66, 67, 115, 49, 105, 109, - 11, 23, 1, 176, 10, 129, 180, 12, 64, 145, - 13, 65, 36, 34, 35, 43, 75, 38, 39, 11, - 23, 98, 183, 10, 95, 69, 12, 92, 61, 78, - 18, 36, 34, 35, 43, 170, 38, 39, 143, 31, - 56, 57, 58, 59, 60, 172, 144, 137, 37, 36, - 34, 35, 43, 16, 38, 39, 146, 55, 31, 33, - 51, 53, 114, 48, 9, 8, 7, 37, 49, 113, - 6, 32, 16, 21, 52, 17, 31, 148, 147, 5, - 50, 14, 4, 3, 0, 37, 0, 149, 150, -} - -var mtailPact = [...]int16{ - -1000, -1000, 166, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 83, -1000, -1000, -13, 205, -1000, -34, 195, 13, - 13, -1000, 54, -1000, 21, 32, -1000, 7, 1, -1000, - 52, 184, -25, -1000, -1000, -1000, -1000, 184, -1000, -1000, - 29, -1000, 35, -1000, 79, -40, 139, -1000, -13, -21, - -1000, 85, -13, 17, -1000, 128, -1000, -1000, -1000, -1000, - -1000, -40, -1000, -1000, -40, -1000, -1000, -1000, -40, -40, - -1000, -1000, -1000, -40, -40, -40, -1000, -1000, -40, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 54, -1000, 134, 184, - -1, -1000, -40, -1000, -1000, -40, -1000, -1000, -40, -1000, - -1000, -1000, -1000, -1000, -1000, -13, 147, -1000, 3, 120, - -13, -1000, 121, 226, -1000, -1000, -1000, 184, 184, 83, - 184, 184, 184, 17, 184, -14, -1000, 13, -1000, 33, - -1000, 184, 184, 184, 21, 42, -1000, -1000, -1000, -45, - 41, -1000, 69, -1000, -1000, -1000, -1000, 95, 82, 119, - 74, 13, 32, -1000, -1000, -1000, 52, 13, 13, -1000, - -1000, 29, -1000, 184, 35, 79, -1000, -1000, -1000, -1000, - -29, -1000, -1000, -1000, -1000, -1000, -44, -1000, -1000, -1000, - -1000, 95, 62, -1000, -1000, -1000, -} - -var mtailPgo = [...]uint8{ - 0, 54, 243, 39, 41, 242, 241, 239, 235, 3, - 7, 6, 15, 5, 233, 9, 16, 27, 11, 231, - 12, 13, 19, 230, 229, 226, 225, 25, 23, 224, - 222, 219, 2, 217, 216, 206, 205, 0, 198, 195, - 190, 189, 187, 185, 168, 184, 181, 176, 171, 169, - 163, 162, 10, 1, 159, -} - -var mtailR1 = [...]int8{ - 0, 51, 1, 1, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 5, 5, 5, 6, 6, 6, - 7, 7, 4, 8, 8, 14, 14, 18, 18, 18, - 18, 44, 44, 17, 17, 43, 43, 43, 15, 15, - 41, 41, 41, 41, 41, 41, 16, 16, 42, 42, - 11, 11, 45, 45, 28, 28, 47, 47, 22, 21, - 21, 21, 10, 10, 46, 46, 46, 46, 13, 13, - 12, 12, 48, 48, 9, 9, 9, 9, 9, 9, - 9, 9, 19, 19, 20, 31, 31, 3, 3, 32, - 32, 27, 23, 40, 40, 24, 24, 24, 24, 24, - 30, 30, 33, 33, 33, 33, 33, 38, 39, 39, - 37, 35, 34, 49, 50, 50, 50, 50, 25, 26, - 29, 29, 36, 36, 53, 54, 52, 52, -} - -var mtailR2 = [...]int8{ - 0, 1, 0, 2, 1, 1, 1, 1, 1, 1, - 1, 4, 1, 1, 4, 2, 3, 1, 4, 1, - 1, 2, 3, 1, 1, 4, 4, 1, 1, 4, - 4, 1, 1, 1, 4, 1, 1, 1, 1, 4, - 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, - 1, 4, 1, 1, 4, 4, 1, 1, 1, 1, - 4, 4, 1, 4, 1, 1, 1, 1, 1, 2, - 1, 2, 1, 1, 1, 1, 1, 1, 1, 3, - 1, 1, 1, 4, 1, 4, 5, 1, 3, 1, - 1, 5, 3, 0, 1, 2, 2, 2, 2, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, - 1, 2, 2, 2, 1, 1, 3, 3, 4, 3, - 5, 3, 1, 1, 0, 0, 0, 1, -} - -var mtailChk = [...]int16{ - -1000, -51, -1, -2, -5, -7, -23, -25, -26, -29, - 17, 13, 20, 4, -6, -53, 66, -8, -40, -22, - -18, -14, -12, 14, -21, -17, -28, -13, -9, -27, - -15, 52, -19, -31, 26, 27, 25, 61, 30, 31, - -16, -20, -11, 28, -10, -20, -4, 59, 18, 23, - 35, 15, 29, 16, 66, -33, 5, 6, 7, 8, - 9, -44, 53, 54, -44, -48, 33, 34, 39, -43, - 49, 51, 50, 56, 55, -47, 57, 58, -41, 43, - 44, 45, 46, 47, 48, -13, -12, -9, -53, 63, - -18, -13, -42, 41, 42, -45, 39, 38, -46, 37, - 35, 36, 40, -52, 66, 19, -1, -4, 61, -54, - 28, -4, -12, -24, -30, 28, 25, -52, -52, -52, - -52, -52, -52, -52, -52, -3, -32, -18, -22, -53, - 62, -52, -52, -52, -21, -53, -4, 60, 62, -3, - 24, -4, 10, -38, -35, -49, -34, 12, 11, 21, - 22, -18, -17, -28, -27, -20, -15, -18, -18, -22, - -9, -16, 64, 65, -11, -10, -13, 62, 35, 32, - -39, -37, -36, 28, 25, 25, -50, 31, 30, 30, - -32, 65, 65, -37, 31, 30, -} - -var mtailDef = [...]int8{ - 2, -2, -2, 3, 4, 5, 6, 7, 8, 9, - 10, 0, 12, 13, 0, 0, 20, 0, 0, 17, - 19, 23, -2, 94, 58, 27, 28, 62, 70, 59, - 33, 124, 74, 75, 76, 77, 78, 124, 80, 81, - 38, 82, 46, 84, 50, 126, 15, 2, 0, 0, - 125, 0, 0, 124, 21, 0, 102, 103, 104, 105, - 106, 126, 31, 32, 126, 71, 72, 73, 126, 126, - 35, 36, 37, 126, 126, 126, 56, 57, 126, 40, - 41, 42, 43, 44, 45, 69, 68, 70, 0, 124, - 0, 62, 126, 48, 49, 126, 52, 53, 126, 64, - 65, 66, 67, 124, 127, 0, -2, 16, 124, 0, - 0, 119, 121, 92, 99, 100, 101, 124, 124, 124, - 124, 124, 124, 124, 124, 0, 87, 89, 90, 0, - 79, 124, 124, 124, 11, 0, 14, 22, 85, 0, - 0, 118, 0, 95, 96, 97, 98, 0, 0, 0, - 0, 18, 29, 30, 60, 61, 34, 25, 26, 54, - 55, 39, 83, 124, 47, 51, 63, 86, 91, 120, - 107, 108, 110, 122, 123, 111, 113, 114, 115, 112, - 88, 0, 0, 109, 116, 117, -} - -var mtailTok1 = [...]int8{ - 1, -} - -var mtailTok2 = [...]int8{ - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, -} - -var mtailTok3 = [...]int8{ - 0, -} - -var mtailErrorMessages = [...]struct { - state int - token int - msg string -}{ - {109, 4, "unexpected end of file, expecting '/' to end regex"}, - {15, 1, "unexpected end of file, expecting '}' to end block"}, - {15, 1, "unexpected end of file, expecting '}' to end block"}, - {15, 1, "unexpected end of file, expecting '}' to end block"}, - {14, 63, "unexpected indexing of an expression"}, - {14, 66, "statement with no effect, missing an assignment, `+' concatenation, or `{}' block?"}, -} - -//line yaccpar:1 - -/* parser for yacc output */ - -var ( - mtailDebug = 0 - mtailErrorVerbose = false -) - -type mtailLexer interface { - Lex(lval *mtailSymType) int - Error(s string) -} - -type mtailParser interface { - Parse(mtailLexer) int - Lookahead() int -} - -type mtailParserImpl struct { - lval mtailSymType - stack [mtailInitialStackSize]mtailSymType - char int -} - -func (p *mtailParserImpl) Lookahead() int { - return p.char -} - -func mtailNewParser() mtailParser { - return &mtailParserImpl{} -} - -const mtailFlag = -1000 - -func mtailTokname(c int) string { - if c >= 1 && c-1 < len(mtailToknames) { - if mtailToknames[c-1] != "" { - return mtailToknames[c-1] - } - } - return __yyfmt__.Sprintf("tok-%v", c) -} - -func mtailStatname(s int) string { - if s >= 0 && s < len(mtailStatenames) { - if mtailStatenames[s] != "" { - return mtailStatenames[s] - } - } - return __yyfmt__.Sprintf("state-%v", s) -} - -func mtailErrorMessage(state, lookAhead int) string { - const TOKSTART = 4 - - if !mtailErrorVerbose { - return "syntax error" - } - - for _, e := range mtailErrorMessages { - if e.state == state && e.token == lookAhead { - return "syntax error: " + e.msg - } - } - - res := "syntax error: unexpected " + mtailTokname(lookAhead) - - // To match Bison, suggest at most four expected tokens. - expected := make([]int, 0, 4) - - // Look for shiftable tokens. - base := int(mtailPact[state]) - for tok := TOKSTART; tok-1 < len(mtailToknames); tok++ { - if n := base + tok; n >= 0 && n < mtailLast && int(mtailChk[int(mtailAct[n])]) == tok { - if len(expected) == cap(expected) { - return res - } - expected = append(expected, tok) - } - } - - if mtailDef[state] == -2 { - i := 0 - for mtailExca[i] != -1 || int(mtailExca[i+1]) != state { - i += 2 - } - - // Look for tokens that we accept or reduce. - for i += 2; mtailExca[i] >= 0; i += 2 { - tok := int(mtailExca[i]) - if tok < TOKSTART || mtailExca[i+1] == 0 { - continue - } - if len(expected) == cap(expected) { - return res - } - expected = append(expected, tok) - } - - // If the default action is to accept or reduce, give up. - if mtailExca[i+1] != 0 { - return res - } - } - - for i, tok := range expected { - if i == 0 { - res += ", expecting " - } else { - res += " or " - } - res += mtailTokname(tok) - } - return res -} - -func mtaillex1(lex mtailLexer, lval *mtailSymType) (char, token int) { - token = 0 - char = lex.Lex(lval) - if char <= 0 { - token = int(mtailTok1[0]) - goto out - } - if char < len(mtailTok1) { - token = int(mtailTok1[char]) - goto out - } - if char >= mtailPrivate { - if char < mtailPrivate+len(mtailTok2) { - token = int(mtailTok2[char-mtailPrivate]) - goto out - } - } - for i := 0; i < len(mtailTok3); i += 2 { - token = int(mtailTok3[i+0]) - if token == char { - token = int(mtailTok3[i+1]) - goto out - } - } - -out: - if token == 0 { - token = int(mtailTok2[1]) /* unknown char */ - } - if mtailDebug >= 3 { - __yyfmt__.Printf("lex %s(%d)\n", mtailTokname(token), uint(char)) - } - return char, token -} - -func mtailParse(mtaillex mtailLexer) int { - return mtailNewParser().Parse(mtaillex) -} - -func (mtailrcvr *mtailParserImpl) Parse(mtaillex mtailLexer) int { - var mtailn int - var mtailVAL mtailSymType - var mtailDollar []mtailSymType - _ = mtailDollar // silence set and not used - mtailS := mtailrcvr.stack[:] - - Nerrs := 0 /* number of errors */ - Errflag := 0 /* error recovery flag */ - mtailstate := 0 - mtailrcvr.char = -1 - mtailtoken := -1 // mtailrcvr.char translated into internal numbering - defer func() { - // Make sure we report no lookahead when not parsing. - mtailstate = -1 - mtailrcvr.char = -1 - mtailtoken = -1 - }() - mtailp := -1 - goto mtailstack - -ret0: - return 0 - -ret1: - return 1 - -mtailstack: - /* put a state and value onto the stack */ - if mtailDebug >= 4 { - __yyfmt__.Printf("char %v in %v\n", mtailTokname(mtailtoken), mtailStatname(mtailstate)) - } - - mtailp++ - if mtailp >= len(mtailS) { - nyys := make([]mtailSymType, len(mtailS)*2) - copy(nyys, mtailS) - mtailS = nyys - } - mtailS[mtailp] = mtailVAL - mtailS[mtailp].yys = mtailstate - -mtailnewstate: - mtailn = int(mtailPact[mtailstate]) - if mtailn <= mtailFlag { - goto mtaildefault /* simple state */ - } - if mtailrcvr.char < 0 { - mtailrcvr.char, mtailtoken = mtaillex1(mtaillex, &mtailrcvr.lval) - } - mtailn += mtailtoken - if mtailn < 0 || mtailn >= mtailLast { - goto mtaildefault - } - mtailn = int(mtailAct[mtailn]) - if int(mtailChk[mtailn]) == mtailtoken { /* valid shift */ - mtailrcvr.char = -1 - mtailtoken = -1 - mtailVAL = mtailrcvr.lval - mtailstate = mtailn - if Errflag > 0 { - Errflag-- - } - goto mtailstack - } - -mtaildefault: - /* default state action */ - mtailn = int(mtailDef[mtailstate]) - if mtailn == -2 { - if mtailrcvr.char < 0 { - mtailrcvr.char, mtailtoken = mtaillex1(mtaillex, &mtailrcvr.lval) - } - - /* look through exception table */ - xi := 0 - for { - if mtailExca[xi+0] == -1 && int(mtailExca[xi+1]) == mtailstate { - break - } - xi += 2 - } - for xi += 2; ; xi += 2 { - mtailn = int(mtailExca[xi+0]) - if mtailn < 0 || mtailn == mtailtoken { - break - } - } - mtailn = int(mtailExca[xi+1]) - if mtailn < 0 { - goto ret0 - } - } - if mtailn == 0 { - /* error ... attempt to resume parsing */ - switch Errflag { - case 0: /* brand new error */ - mtaillex.Error(mtailErrorMessage(mtailstate, mtailtoken)) - Nerrs++ - if mtailDebug >= 1 { - __yyfmt__.Printf("%s", mtailStatname(mtailstate)) - __yyfmt__.Printf(" saw %s\n", mtailTokname(mtailtoken)) - } - fallthrough - - case 1, 2: /* incompletely recovered error ... try again */ - Errflag = 3 - - /* find a state where "error" is a legal shift action */ - for mtailp >= 0 { - mtailn = int(mtailPact[mtailS[mtailp].yys]) + mtailErrCode - if mtailn >= 0 && mtailn < mtailLast { - mtailstate = int(mtailAct[mtailn]) /* simulate a shift of "error" */ - if int(mtailChk[mtailstate]) == mtailErrCode { - goto mtailstack - } - } - - /* the current p has no shift on "error", pop stack */ - if mtailDebug >= 2 { - __yyfmt__.Printf("error recovery pops state %d\n", mtailS[mtailp].yys) - } - mtailp-- - } - /* there is no state on the stack with an error shift ... abort */ - goto ret1 - - case 3: /* no shift yet; clobber input char */ - if mtailDebug >= 2 { - __yyfmt__.Printf("error recovery discards %s\n", mtailTokname(mtailtoken)) - } - if mtailtoken == mtailEofCode { - goto ret1 - } - mtailrcvr.char = -1 - mtailtoken = -1 - goto mtailnewstate /* try again in the same state */ - } - } - - /* reduction by production mtailn */ - if mtailDebug >= 2 { - __yyfmt__.Printf("reduce %v in:\n\t%v\n", mtailn, mtailStatname(mtailstate)) - } - - mtailnt := mtailn - mtailpt := mtailp - _ = mtailpt // guard against "declared and not used" - - mtailp -= int(mtailR2[mtailn]) - // mtailp is now the index of $0. Perform the default action. Iff the - // reduced production is Îĩ, $1 is possibly out of range. - if mtailp+1 >= len(mtailS) { - nyys := make([]mtailSymType, len(mtailS)*2) - copy(nyys, mtailS) - mtailS = nyys - } - mtailVAL = mtailS[mtailp+1] - - /* consult goto table to find next state */ - mtailn = int(mtailR1[mtailn]) - mtailg := int(mtailPgo[mtailn]) - mtailj := mtailg + mtailS[mtailp].yys + 1 - - if mtailj >= mtailLast { - mtailstate = int(mtailAct[mtailg]) - } else { - mtailstate = int(mtailAct[mtailj]) - if int(mtailChk[mtailstate]) != -mtailn { - mtailstate = int(mtailAct[mtailg]) - } - } - // dummy call; replaced with literal code - switch mtailnt { - - case 1: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:93 - { - mtaillex.(*parser).root = mtailDollar[1].n - } - case 2: - mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:101 - { - mtailVAL.n = &ast.StmtList{} - } - case 3: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:105 - { - mtailVAL.n = mtailDollar[1].n - if mtailDollar[2].n != nil { - mtailVAL.n.(*ast.StmtList).Children = append(mtailVAL.n.(*ast.StmtList).Children, mtailDollar[2].n) - } - } - case 4: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:116 - { - mtailVAL.n = mtailDollar[1].n - } - case 5: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:118 - { - mtailVAL.n = mtailDollar[1].n - } - case 6: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:120 - { - mtailVAL.n = mtailDollar[1].n - } - case 7: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:122 - { - mtailVAL.n = mtailDollar[1].n - } - case 8: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:124 - { - mtailVAL.n = mtailDollar[1].n - } - case 9: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:126 - { - mtailVAL.n = mtailDollar[1].n - } - case 10: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:128 - { - mtailVAL.n = &ast.NextStmt{tokenpos(mtaillex)} - } - case 11: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:132 - { - mtailVAL.n = &ast.PatternFragment{ID: mtailDollar[2].n, Expr: mtailDollar[4].n} - } - case 12: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:136 - { - mtailVAL.n = &ast.StopStmt{tokenpos(mtaillex)} - } - case 13: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:140 - { - mtailVAL.n = &ast.Error{tokenpos(mtaillex), mtailDollar[1].text} - } - case 14: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:148 - { - mtailVAL.n = &ast.CondStmt{mtailDollar[1].n, mtailDollar[2].n, mtailDollar[4].n, nil} - } - case 15: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:152 - { - if mtailDollar[1].n != nil { - mtailVAL.n = &ast.CondStmt{mtailDollar[1].n, mtailDollar[2].n, nil, nil} - } else { - mtailVAL.n = mtailDollar[2].n - } - } - case 16: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:160 - { - o := &ast.OtherwiseStmt{positionFromMark(mtaillex)} - mtailVAL.n = &ast.CondStmt{o, mtailDollar[3].n, nil, nil} - } - case 17: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:168 - { - mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: MATCH} - } - case 18: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:172 - { - mtailVAL.n = &ast.BinaryExpr{ - LHS: &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: MATCH}, - RHS: mtailDollar[4].n, - Op: mtailDollar[2].op, - } - } - case 19: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:180 - { - mtailVAL.n = mtailDollar[1].n - } - case 20: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:186 - { - mtailVAL.n = nil - } - case 21: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:188 - { - mtailVAL.n = mtailDollar[1].n - } - case 22: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:194 - { - mtailVAL.n = mtailDollar[2].n - } - case 23: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:202 - { - mtailVAL.n = mtailDollar[1].n - } - case 24: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:204 - { - mtailVAL.n = mtailDollar[1].n - } - case 25: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:210 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 26: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:214 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 27: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:222 - { - mtailVAL.n = mtailDollar[1].n - } - case 28: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:224 - { - mtailVAL.n = mtailDollar[1].n - } - case 29: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:226 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 30: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:230 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 31: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:237 - { - mtailVAL.op = mtailDollar[1].op - } - case 32: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:239 - { - mtailVAL.op = mtailDollar[1].op - } - case 33: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:245 - { - mtailVAL.n = mtailDollar[1].n - } - case 34: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:247 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 35: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:254 - { - mtailVAL.op = mtailDollar[1].op - } - case 36: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:256 - { - mtailVAL.op = mtailDollar[1].op - } - case 37: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:258 - { - mtailVAL.op = mtailDollar[1].op - } - case 38: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:264 - { - mtailVAL.n = mtailDollar[1].n - } - case 39: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:266 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 40: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:273 - { - mtailVAL.op = mtailDollar[1].op - } - case 41: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:275 - { - mtailVAL.op = mtailDollar[1].op - } - case 42: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:277 - { - mtailVAL.op = mtailDollar[1].op - } - case 43: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:279 - { - mtailVAL.op = mtailDollar[1].op - } - case 44: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:281 - { - mtailVAL.op = mtailDollar[1].op - } - case 45: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:283 - { - mtailVAL.op = mtailDollar[1].op - } - case 46: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:289 - { - mtailVAL.n = mtailDollar[1].n - } - case 47: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:291 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 48: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:298 - { - mtailVAL.op = mtailDollar[1].op - } - case 49: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:300 - { - mtailVAL.op = mtailDollar[1].op - } - case 50: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:306 - { - mtailVAL.n = mtailDollar[1].n - } - case 51: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:308 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 52: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:315 - { - mtailVAL.op = mtailDollar[1].op - } - case 53: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:317 - { - mtailVAL.op = mtailDollar[1].op - } - case 54: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:323 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 55: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:327 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 56: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:334 - { - mtailVAL.op = mtailDollar[1].op - } - case 57: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:336 - { - mtailVAL.op = mtailDollar[1].op - } - case 58: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:343 - { - mtailVAL.n = &ast.PatternExpr{Expr: mtailDollar[1].n} - } - case 59: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:351 - { - mtailVAL.n = mtailDollar[1].n - } - case 60: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:353 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: PLUS} - } - case 61: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:357 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: PLUS} - } - case 62: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:365 - { - mtailVAL.n = mtailDollar[1].n - } - case 63: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:367 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 64: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:374 - { - mtailVAL.op = mtailDollar[1].op - } - case 65: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:376 - { - mtailVAL.op = mtailDollar[1].op - } - case 66: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:378 - { - mtailVAL.op = mtailDollar[1].op - } - case 67: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:380 - { - mtailVAL.op = mtailDollar[1].op - } - case 68: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:386 - { - mtailVAL.n = mtailDollar[1].n - } - case 69: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:388 - { - mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[2].n, Op: mtailDollar[1].op} - } - case 70: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:396 - { - mtailVAL.n = mtailDollar[1].n - } - case 71: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:398 - { - mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: mtailDollar[2].op} - } - case 72: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:405 - { - mtailVAL.op = mtailDollar[1].op - } - case 73: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:407 - { - mtailVAL.op = mtailDollar[1].op - } - case 74: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:413 - { - mtailVAL.n = mtailDollar[1].n - } - case 75: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:415 - { - mtailVAL.n = mtailDollar[1].n - } - case 76: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:417 - { - mtailVAL.n = &ast.CaprefTerm{tokenpos(mtaillex), mtailDollar[1].text, false, nil} - } - case 77: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:421 - { - mtailVAL.n = &ast.CaprefTerm{tokenpos(mtaillex), mtailDollar[1].text, true, nil} - } - case 78: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:425 - { - mtailVAL.n = &ast.StringLit{tokenpos(mtaillex), mtailDollar[1].text} - } - case 79: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:429 - { - mtailVAL.n = mtailDollar[2].n - } - case 80: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:433 - { - mtailVAL.n = &ast.IntLit{tokenpos(mtaillex), mtailDollar[1].intVal} - } - case 81: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:437 - { - mtailVAL.n = &ast.FloatLit{tokenpos(mtaillex), mtailDollar[1].floatVal} - } - case 82: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:445 - { - // Build an empty IndexedExpr so that the recursive rule below doesn't need to handle the alternative. - mtailVAL.n = &ast.IndexedExpr{LHS: mtailDollar[1].n, Index: &ast.ExprList{}} - } - case 83: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:450 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.IndexedExpr).Index.(*ast.ExprList).Children = append( - mtailVAL.n.(*ast.IndexedExpr).Index.(*ast.ExprList).Children, - mtailDollar[3].n.(*ast.ExprList).Children...) - } - case 84: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:461 - { - mtailVAL.n = &ast.IDTerm{tokenpos(mtaillex), mtailDollar[1].text, nil, false} - } - case 85: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:469 - { - mtailVAL.n = &ast.BuiltinExpr{P: positionFromMark(mtaillex), Name: mtailDollar[2].text, Args: nil} - } - case 86: - mtailDollar = mtailS[mtailpt-5 : mtailpt+1] -//line parser.y:473 - { - mtailVAL.n = &ast.BuiltinExpr{P: positionFromMark(mtaillex), Name: mtailDollar[2].text, Args: mtailDollar[4].n} - } - case 87: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:482 - { - mtailVAL.n = &ast.ExprList{} - mtailVAL.n.(*ast.ExprList).Children = append(mtailVAL.n.(*ast.ExprList).Children, mtailDollar[1].n) - } - case 88: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:487 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.ExprList).Children = append(mtailVAL.n.(*ast.ExprList).Children, mtailDollar[3].n) - } - case 89: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:495 - { - mtailVAL.n = mtailDollar[1].n - } - case 90: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:497 - { - mtailVAL.n = mtailDollar[1].n - } - case 91: - mtailDollar = mtailS[mtailpt-5 : mtailpt+1] -//line parser.y:503 - { - mtailVAL.n = &ast.PatternLit{P: positionFromMark(mtaillex), Pattern: mtailDollar[4].text} - } - case 92: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:511 - { - mtailVAL.n = mtailDollar[3].n - d := mtailVAL.n.(*ast.VarDecl) - d.Kind = mtailDollar[2].kind - d.Hidden = mtailDollar[1].flag - } - case 93: - mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:522 - { - mtailVAL.flag = false - } - case 94: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:526 - { - mtailVAL.flag = true - } - case 95: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:534 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.VarDecl).Keys = mtailDollar[2].texts - } - case 96: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:539 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.VarDecl).ExportedName = mtailDollar[2].text - } - case 97: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:544 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.VarDecl).Buckets = mtailDollar[2].floats - } - case 98: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:549 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.VarDecl).Limit = mtailDollar[2].intVal - } - case 99: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:554 - { - mtailVAL.n = mtailDollar[1].n - } - case 100: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:562 - { - mtailVAL.n = &ast.VarDecl{P: tokenpos(mtaillex), Name: mtailDollar[1].text} - } - case 101: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:566 - { - mtailVAL.n = &ast.VarDecl{P: tokenpos(mtaillex), Name: mtailDollar[1].text} - } - case 102: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:574 - { - mtailVAL.kind = metrics.Counter - } - case 103: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:578 - { - mtailVAL.kind = metrics.Gauge - } - case 104: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:582 - { - mtailVAL.kind = metrics.Timer - } - case 105: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:586 - { - mtailVAL.kind = metrics.Text - } - case 106: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:590 - { - mtailVAL.kind = metrics.Histogram - } - case 107: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:598 - { - mtailVAL.texts = mtailDollar[2].texts - } - case 108: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:605 - { - mtailVAL.texts = make([]string, 0) - mtailVAL.texts = append(mtailVAL.texts, mtailDollar[1].text) - } - case 109: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:610 - { - mtailVAL.texts = mtailDollar[1].texts - mtailVAL.texts = append(mtailVAL.texts, mtailDollar[3].text) - } - case 110: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:618 - { - mtailVAL.text = mtailDollar[1].text - } - case 111: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:624 - { - mtailVAL.text = mtailDollar[2].text - } - case 112: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:631 - { - mtailVAL.intVal = mtailDollar[2].intVal - } - case 113: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:639 - { - mtailVAL.floats = mtailDollar[2].floats - } - case 114: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:645 - { - mtailVAL.floats = make([]float64, 0) - mtailVAL.floats = append(mtailVAL.floats, mtailDollar[1].floatVal) - } - case 115: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:650 - { - mtailVAL.floats = make([]float64, 0) - mtailVAL.floats = append(mtailVAL.floats, float64(mtailDollar[1].intVal)) - } - case 116: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:655 - { - mtailVAL.floats = mtailDollar[1].floats - mtailVAL.floats = append(mtailVAL.floats, mtailDollar[3].floatVal) - } - case 117: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:660 - { - mtailVAL.floats = mtailDollar[1].floats - mtailVAL.floats = append(mtailVAL.floats, float64(mtailDollar[3].intVal)) - } - case 118: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:668 - { - mtailVAL.n = &ast.DecoDecl{P: markedpos(mtaillex), Name: mtailDollar[3].text, Block: mtailDollar[4].n} - } - case 119: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:676 - { - mtailVAL.n = &ast.DecoStmt{markedpos(mtaillex), mtailDollar[2].text, mtailDollar[3].n, nil, nil} - } - case 120: - mtailDollar = mtailS[mtailpt-5 : mtailpt+1] -//line parser.y:684 - { - mtailVAL.n = &ast.DelStmt{P: positionFromMark(mtaillex), N: mtailDollar[3].n, Expiry: mtailDollar[5].duration} - } - case 121: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:688 - { - mtailVAL.n = &ast.DelStmt{P: positionFromMark(mtaillex), N: mtailDollar[3].n} - } - case 122: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:695 - { - mtailVAL.text = mtailDollar[1].text - } - case 123: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:699 - { - mtailVAL.text = mtailDollar[1].text - } - case 124: - mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:709 - { - glog.V(2).Infof("position marked at %v", tokenpos(mtaillex)) - mtaillex.(*parser).pos = tokenpos(mtaillex) - } - case 125: - mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:719 - { - mtaillex.(*parser).inRegex() - } - } - goto mtailstack /* stack new state and value */ -} diff --git a/internal/runtime/compiler/parser/y.output b/internal/runtime/compiler/parser/y.output deleted file mode 100644 index d7620a328..000000000 --- a/internal/runtime/compiler/parser/y.output +++ /dev/null @@ -1,1840 +0,0 @@ - -state 0 - $accept: .start $end - stmt_list: . (2) - - . reduce 2 (src line 99) - - stmt_list goto 2 - start goto 1 - -state 1 - $accept: start.$end - - $end accept - . error - - -state 2 - start: stmt_list. (1) - stmt_list: stmt_list.stmt - mark_pos: . (124) - metric_hide_spec: . (93) - - $end reduce 1 (src line 91) - INVALID shift 13 - COUNTER reduce 93 (src line 520) - GAUGE reduce 93 (src line 520) - TIMER reduce 93 (src line 520) - TEXT reduce 93 (src line 520) - HISTOGRAM reduce 93 (src line 520) - CONST shift 11 - HIDDEN shift 23 - NEXT shift 10 - STOP shift 12 - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - NL shift 16 - . reduce 124 (src line 707) - - stmt goto 3 - conditional_stmt goto 4 - conditional_expr goto 14 - expr_stmt goto 5 - expr goto 17 - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 22 - unary_expr goto 27 - assign_expr goto 21 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 20 - indexed_expr goto 32 - id_expr goto 41 - concat_expr goto 24 - pattern_expr goto 19 - metric_declaration goto 6 - decorator_declaration goto 7 - decoration_stmt goto 8 - regex_pattern goto 29 - match_expr goto 26 - delete_stmt goto 9 - builtin_expr goto 33 - metric_hide_spec goto 18 - mark_pos goto 15 - -state 3 - stmt_list: stmt_list stmt. (3) - - . reduce 3 (src line 104) - - -state 4 - stmt: conditional_stmt. (4) - - . reduce 4 (src line 114) - - -state 5 - stmt: expr_stmt. (5) - - . reduce 5 (src line 117) - - -state 6 - stmt: metric_declaration. (6) - - . reduce 6 (src line 119) - - -state 7 - stmt: decorator_declaration. (7) - - . reduce 7 (src line 121) - - -state 8 - stmt: decoration_stmt. (8) - - . reduce 8 (src line 123) - - -state 9 - stmt: delete_stmt. (9) - - . reduce 9 (src line 125) - - -state 10 - stmt: NEXT. (10) - - . reduce 10 (src line 127) - - -state 11 - stmt: CONST.id_expr opt_nl concat_expr - - ID shift 43 - . error - - id_expr goto 45 - -state 12 - stmt: STOP. (12) - - . reduce 12 (src line 135) - - -state 13 - stmt: INVALID. (13) - - . reduce 13 (src line 139) - - -state 14 - conditional_stmt: conditional_expr.compound_stmt ELSE compound_stmt - conditional_stmt: conditional_expr.compound_stmt - - LCURLY shift 47 - . error - - compound_stmt goto 46 - -state 15 - conditional_stmt: mark_pos.OTHERWISE compound_stmt - builtin_expr: mark_pos.BUILTIN LPAREN RPAREN - builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN - regex_pattern: mark_pos.DIV in_regex REGEX DIV - decorator_declaration: mark_pos.DEF ID compound_stmt - decoration_stmt: mark_pos.DECO compound_stmt - delete_stmt: mark_pos.DEL postfix_expr AFTER DURATIONLITERAL - delete_stmt: mark_pos.DEL postfix_expr - - DEF shift 51 - DEL shift 53 - OTHERWISE shift 48 - BUILTIN shift 49 - DECO shift 52 - DIV shift 50 - . error - - -state 16 - expr_stmt: NL. (20) - - . reduce 20 (src line 184) - - -state 17 - expr_stmt: expr.NL - - NL shift 54 - . error - - -state 18 - metric_declaration: metric_hide_spec.metric_type_spec metric_decl_attr_spec - - COUNTER shift 56 - GAUGE shift 57 - TIMER shift 58 - TEXT shift 59 - HISTOGRAM shift 60 - . error - - metric_type_spec goto 55 - -state 19 - conditional_expr: pattern_expr. (17) - conditional_expr: pattern_expr.logical_op opt_nl logical_expr - - AND shift 62 - OR shift 63 - . reduce 17 (src line 166) - - logical_op goto 61 - -state 20 - conditional_expr: logical_expr. (19) - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - - AND shift 62 - OR shift 63 - . reduce 19 (src line 179) - - logical_op goto 64 - -state 21 - expr: assign_expr. (23) - - . reduce 23 (src line 200) - - -state 22 - expr: postfix_expr. (24) - unary_expr: postfix_expr. (68) - postfix_expr: postfix_expr.postfix_op - - INC shift 66 - DEC shift 67 - NL reduce 24 (src line 203) - . reduce 68 (src line 384) - - postfix_op goto 65 - -state 23 - metric_hide_spec: HIDDEN. (94) - - . reduce 94 (src line 525) - - -state 24 - pattern_expr: concat_expr. (58) - concat_expr: concat_expr.PLUS opt_nl regex_pattern - concat_expr: concat_expr.PLUS opt_nl id_expr - - PLUS shift 68 - . reduce 58 (src line 341) - - -state 25 - logical_expr: bitwise_expr. (27) - bitwise_expr: bitwise_expr.bitwise_op opt_nl rel_expr - - BITAND shift 70 - XOR shift 72 - BITOR shift 71 - . reduce 27 (src line 220) - - bitwise_op goto 69 - -state 26 - logical_expr: match_expr. (28) - - . reduce 28 (src line 223) - - -state 27 - assign_expr: unary_expr.ASSIGN opt_nl logical_expr - assign_expr: unary_expr.ADD_ASSIGN opt_nl logical_expr - multiplicative_expr: unary_expr. (62) - - ADD_ASSIGN shift 74 - ASSIGN shift 73 - . reduce 62 (src line 363) - - -state 28 - match_expr: primary_expr.match_op opt_nl pattern_expr - match_expr: primary_expr.match_op opt_nl primary_expr - postfix_expr: primary_expr. (70) - - MATCH shift 76 - NOT_MATCH shift 77 - . reduce 70 (src line 394) - - match_op goto 75 - -state 29 - concat_expr: regex_pattern. (59) - - . reduce 59 (src line 349) - - -state 30 - bitwise_expr: rel_expr. (33) - rel_expr: rel_expr.rel_op opt_nl shift_expr - - LT shift 79 - GT shift 80 - LE shift 81 - GE shift 82 - EQ shift 83 - NE shift 84 - . reduce 33 (src line 243) - - rel_op goto 78 - -state 31 - unary_expr: NOT.unary_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 87 - postfix_expr goto 86 - unary_expr goto 85 - indexed_expr goto 32 - id_expr goto 41 - builtin_expr goto 33 - mark_pos goto 88 - -state 32 - primary_expr: indexed_expr. (74) - indexed_expr: indexed_expr.LSQUARE arg_expr_list RSQUARE - - LSQUARE shift 89 - . reduce 74 (src line 411) - - -state 33 - primary_expr: builtin_expr. (75) - - . reduce 75 (src line 414) - - -state 34 - primary_expr: CAPREF. (76) - - . reduce 76 (src line 416) - - -state 35 - primary_expr: CAPREF_NAMED. (77) - - . reduce 77 (src line 420) - - -state 36 - primary_expr: STRING. (78) - - . reduce 78 (src line 424) - - -state 37 - primary_expr: LPAREN.logical_expr RPAREN - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 90 - indexed_expr goto 32 - id_expr goto 41 - match_expr goto 26 - builtin_expr goto 33 - mark_pos goto 88 - -state 38 - primary_expr: INTLITERAL. (80) - - . reduce 80 (src line 432) - - -state 39 - primary_expr: FLOATLITERAL. (81) - - . reduce 81 (src line 436) - - -state 40 - rel_expr: shift_expr. (38) - shift_expr: shift_expr.shift_op opt_nl additive_expr - - SHL shift 93 - SHR shift 94 - . reduce 38 (src line 262) - - shift_op goto 92 - -state 41 - indexed_expr: id_expr. (82) - - . reduce 82 (src line 443) - - -state 42 - shift_expr: additive_expr. (46) - additive_expr: additive_expr.add_op opt_nl multiplicative_expr - - MINUS shift 97 - PLUS shift 96 - . reduce 46 (src line 287) - - add_op goto 95 - -state 43 - id_expr: ID. (84) - - . reduce 84 (src line 459) - - -state 44 - additive_expr: multiplicative_expr. (50) - multiplicative_expr: multiplicative_expr.mul_op opt_nl unary_expr - - DIV shift 100 - MOD shift 101 - MUL shift 99 - POW shift 102 - . reduce 50 (src line 304) - - mul_op goto 98 - -state 45 - stmt: CONST id_expr.opt_nl concat_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 103 - -state 46 - conditional_stmt: conditional_expr compound_stmt.ELSE compound_stmt - conditional_stmt: conditional_expr compound_stmt. (15) - - ELSE shift 105 - . reduce 15 (src line 151) - - -state 47 - compound_stmt: LCURLY.stmt_list RCURLY - stmt_list: . (2) - - . reduce 2 (src line 99) - - stmt_list goto 106 - -state 48 - conditional_stmt: mark_pos OTHERWISE.compound_stmt - - LCURLY shift 47 - . error - - compound_stmt goto 107 - -state 49 - builtin_expr: mark_pos BUILTIN.LPAREN RPAREN - builtin_expr: mark_pos BUILTIN.LPAREN arg_expr_list RPAREN - - LPAREN shift 108 - . error - - -state 50 - regex_pattern: mark_pos DIV.in_regex REGEX DIV - in_regex: . (125) - - . reduce 125 (src line 717) - - in_regex goto 109 - -state 51 - decorator_declaration: mark_pos DEF.ID compound_stmt - - ID shift 110 - . error - - -state 52 - decoration_stmt: mark_pos DECO.compound_stmt - - LCURLY shift 47 - . error - - compound_stmt goto 111 - -state 53 - delete_stmt: mark_pos DEL.postfix_expr AFTER DURATIONLITERAL - delete_stmt: mark_pos DEL.postfix_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 87 - postfix_expr goto 112 - indexed_expr goto 32 - id_expr goto 41 - builtin_expr goto 33 - mark_pos goto 88 - -state 54 - expr_stmt: expr NL. (21) - - . reduce 21 (src line 187) - - -state 55 - metric_declaration: metric_hide_spec metric_type_spec.metric_decl_attr_spec - - STRING shift 116 - ID shift 115 - . error - - metric_decl_attr_spec goto 113 - metric_name_spec goto 114 - -state 56 - metric_type_spec: COUNTER. (102) - - . reduce 102 (src line 572) - - -state 57 - metric_type_spec: GAUGE. (103) - - . reduce 103 (src line 577) - - -state 58 - metric_type_spec: TIMER. (104) - - . reduce 104 (src line 581) - - -state 59 - metric_type_spec: TEXT. (105) - - . reduce 105 (src line 585) - - -state 60 - metric_type_spec: HISTOGRAM. (106) - - . reduce 106 (src line 589) - - -state 61 - conditional_expr: pattern_expr logical_op.opt_nl logical_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 117 - -state 62 - logical_op: AND. (31) - - . reduce 31 (src line 235) - - -state 63 - logical_op: OR. (32) - - . reduce 32 (src line 238) - - -state 64 - logical_expr: logical_expr logical_op.opt_nl bitwise_expr - logical_expr: logical_expr logical_op.opt_nl match_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 118 - -state 65 - postfix_expr: postfix_expr postfix_op. (71) - - . reduce 71 (src line 397) - - -state 66 - postfix_op: INC. (72) - - . reduce 72 (src line 403) - - -state 67 - postfix_op: DEC. (73) - - . reduce 73 (src line 406) - - -state 68 - concat_expr: concat_expr PLUS.opt_nl regex_pattern - concat_expr: concat_expr PLUS.opt_nl id_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 119 - -state 69 - bitwise_expr: bitwise_expr bitwise_op.opt_nl rel_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 120 - -state 70 - bitwise_op: BITAND. (35) - - . reduce 35 (src line 252) - - -state 71 - bitwise_op: BITOR. (36) - - . reduce 36 (src line 255) - - -state 72 - bitwise_op: XOR. (37) - - . reduce 37 (src line 257) - - -state 73 - assign_expr: unary_expr ASSIGN.opt_nl logical_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 121 - -state 74 - assign_expr: unary_expr ADD_ASSIGN.opt_nl logical_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 122 - -state 75 - match_expr: primary_expr match_op.opt_nl pattern_expr - match_expr: primary_expr match_op.opt_nl primary_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 123 - -state 76 - match_op: MATCH. (56) - - . reduce 56 (src line 332) - - -state 77 - match_op: NOT_MATCH. (57) - - . reduce 57 (src line 335) - - -state 78 - rel_expr: rel_expr rel_op.opt_nl shift_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 124 - -state 79 - rel_op: LT. (40) - - . reduce 40 (src line 271) - - -state 80 - rel_op: GT. (41) - - . reduce 41 (src line 274) - - -state 81 - rel_op: LE. (42) - - . reduce 42 (src line 276) - - -state 82 - rel_op: GE. (43) - - . reduce 43 (src line 278) - - -state 83 - rel_op: EQ. (44) - - . reduce 44 (src line 280) - - -state 84 - rel_op: NE. (45) - - . reduce 45 (src line 282) - - -state 85 - unary_expr: NOT unary_expr. (69) - - . reduce 69 (src line 387) - - -state 86 - unary_expr: postfix_expr. (68) - postfix_expr: postfix_expr.postfix_op - - INC shift 66 - DEC shift 67 - . reduce 68 (src line 384) - - postfix_op goto 65 - -state 87 - postfix_expr: primary_expr. (70) - - . reduce 70 (src line 394) - - -state 88 - builtin_expr: mark_pos.BUILTIN LPAREN RPAREN - builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN - - BUILTIN shift 49 - . error - - -state 89 - indexed_expr: indexed_expr LSQUARE.arg_expr_list RSQUARE - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - arg_expr_list goto 125 - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 127 - indexed_expr goto 32 - id_expr goto 41 - concat_expr goto 24 - pattern_expr goto 128 - regex_pattern goto 29 - match_expr goto 26 - builtin_expr goto 33 - arg_expr goto 126 - mark_pos goto 129 - -state 90 - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - primary_expr: LPAREN logical_expr.RPAREN - - AND shift 62 - OR shift 63 - RPAREN shift 130 - . error - - logical_op goto 64 - -state 91 - multiplicative_expr: unary_expr. (62) - - . reduce 62 (src line 363) - - -state 92 - shift_expr: shift_expr shift_op.opt_nl additive_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 131 - -state 93 - shift_op: SHL. (48) - - . reduce 48 (src line 296) - - -state 94 - shift_op: SHR. (49) - - . reduce 49 (src line 299) - - -state 95 - additive_expr: additive_expr add_op.opt_nl multiplicative_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 132 - -state 96 - add_op: PLUS. (52) - - . reduce 52 (src line 313) - - -state 97 - add_op: MINUS. (53) - - . reduce 53 (src line 316) - - -state 98 - multiplicative_expr: multiplicative_expr mul_op.opt_nl unary_expr - opt_nl: . (126) - - NL shift 104 - . reduce 126 (src line 727) - - opt_nl goto 133 - -state 99 - mul_op: MUL. (64) - - . reduce 64 (src line 372) - - -state 100 - mul_op: DIV. (65) - - . reduce 65 (src line 375) - - -state 101 - mul_op: MOD. (66) - - . reduce 66 (src line 377) - - -state 102 - mul_op: POW. (67) - - . reduce 67 (src line 379) - - -state 103 - stmt: CONST id_expr opt_nl.concat_expr - mark_pos: . (124) - - . reduce 124 (src line 707) - - concat_expr goto 134 - regex_pattern goto 29 - mark_pos goto 135 - -state 104 - opt_nl: NL. (127) - - . reduce 127 (src line 729) - - -state 105 - conditional_stmt: conditional_expr compound_stmt ELSE.compound_stmt - - LCURLY shift 47 - . error - - compound_stmt goto 136 - -state 106 - stmt_list: stmt_list.stmt - compound_stmt: LCURLY stmt_list.RCURLY - mark_pos: . (124) - metric_hide_spec: . (93) - - INVALID shift 13 - COUNTER reduce 93 (src line 520) - GAUGE reduce 93 (src line 520) - TIMER reduce 93 (src line 520) - TEXT reduce 93 (src line 520) - HISTOGRAM reduce 93 (src line 520) - CONST shift 11 - HIDDEN shift 23 - NEXT shift 10 - STOP shift 12 - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - RCURLY shift 137 - LPAREN shift 37 - NL shift 16 - . reduce 124 (src line 707) - - stmt goto 3 - conditional_stmt goto 4 - conditional_expr goto 14 - expr_stmt goto 5 - expr goto 17 - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 22 - unary_expr goto 27 - assign_expr goto 21 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 20 - indexed_expr goto 32 - id_expr goto 41 - concat_expr goto 24 - pattern_expr goto 19 - metric_declaration goto 6 - decorator_declaration goto 7 - decoration_stmt goto 8 - regex_pattern goto 29 - match_expr goto 26 - delete_stmt goto 9 - builtin_expr goto 33 - metric_hide_spec goto 18 - mark_pos goto 15 - -state 107 - conditional_stmt: mark_pos OTHERWISE compound_stmt. (16) - - . reduce 16 (src line 159) - - -state 108 - builtin_expr: mark_pos BUILTIN LPAREN.RPAREN - builtin_expr: mark_pos BUILTIN LPAREN.arg_expr_list RPAREN - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - RPAREN shift 138 - . reduce 124 (src line 707) - - arg_expr_list goto 139 - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 127 - indexed_expr goto 32 - id_expr goto 41 - concat_expr goto 24 - pattern_expr goto 128 - regex_pattern goto 29 - match_expr goto 26 - builtin_expr goto 33 - arg_expr goto 126 - mark_pos goto 129 - -state 109 - regex_pattern: mark_pos DIV in_regex.REGEX DIV - - REGEX shift 140 - . error - - -state 110 - decorator_declaration: mark_pos DEF ID.compound_stmt - - LCURLY shift 47 - . error - - compound_stmt goto 141 - -state 111 - decoration_stmt: mark_pos DECO compound_stmt. (119) - - . reduce 119 (src line 674) - - -state 112 - postfix_expr: postfix_expr.postfix_op - delete_stmt: mark_pos DEL postfix_expr.AFTER DURATIONLITERAL - delete_stmt: mark_pos DEL postfix_expr. (121) - - AFTER shift 142 - INC shift 66 - DEC shift 67 - . reduce 121 (src line 687) - - postfix_op goto 65 - -state 113 - metric_declaration: metric_hide_spec metric_type_spec metric_decl_attr_spec. (92) - metric_decl_attr_spec: metric_decl_attr_spec.metric_by_spec - metric_decl_attr_spec: metric_decl_attr_spec.metric_as_spec - metric_decl_attr_spec: metric_decl_attr_spec.metric_buckets_spec - metric_decl_attr_spec: metric_decl_attr_spec.metric_limit_spec - - AS shift 148 - BY shift 147 - BUCKETS shift 149 - LIMIT shift 150 - . reduce 92 (src line 509) - - metric_limit_spec goto 146 - metric_as_spec goto 144 - metric_by_spec goto 143 - metric_buckets_spec goto 145 - -state 114 - metric_decl_attr_spec: metric_name_spec. (99) - - . reduce 99 (src line 553) - - -state 115 - metric_name_spec: ID. (100) - - . reduce 100 (src line 560) - - -state 116 - metric_name_spec: STRING. (101) - - . reduce 101 (src line 565) - - -state 117 - conditional_expr: pattern_expr logical_op opt_nl.logical_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 151 - indexed_expr goto 32 - id_expr goto 41 - match_expr goto 26 - builtin_expr goto 33 - mark_pos goto 88 - -state 118 - logical_expr: logical_expr logical_op opt_nl.bitwise_expr - logical_expr: logical_expr logical_op opt_nl.match_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 152 - indexed_expr goto 32 - id_expr goto 41 - match_expr goto 153 - builtin_expr goto 33 - mark_pos goto 88 - -state 119 - concat_expr: concat_expr PLUS opt_nl.regex_pattern - concat_expr: concat_expr PLUS opt_nl.id_expr - mark_pos: . (124) - - ID shift 43 - . reduce 124 (src line 707) - - id_expr goto 155 - regex_pattern goto 154 - mark_pos goto 135 - -state 120 - bitwise_expr: bitwise_expr bitwise_op opt_nl.rel_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 87 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 156 - shift_expr goto 40 - indexed_expr goto 32 - id_expr goto 41 - builtin_expr goto 33 - mark_pos goto 88 - -state 121 - assign_expr: unary_expr ASSIGN opt_nl.logical_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 157 - indexed_expr goto 32 - id_expr goto 41 - match_expr goto 26 - builtin_expr goto 33 - mark_pos goto 88 - -state 122 - assign_expr: unary_expr ADD_ASSIGN opt_nl.logical_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 158 - indexed_expr goto 32 - id_expr goto 41 - match_expr goto 26 - builtin_expr goto 33 - mark_pos goto 88 - -state 123 - match_expr: primary_expr match_op opt_nl.pattern_expr - match_expr: primary_expr match_op opt_nl.primary_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 160 - indexed_expr goto 32 - id_expr goto 41 - concat_expr goto 24 - pattern_expr goto 159 - regex_pattern goto 29 - builtin_expr goto 33 - mark_pos goto 129 - -state 124 - rel_expr: rel_expr rel_op opt_nl.shift_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 87 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - shift_expr goto 161 - indexed_expr goto 32 - id_expr goto 41 - builtin_expr goto 33 - mark_pos goto 88 - -state 125 - indexed_expr: indexed_expr LSQUARE arg_expr_list.RSQUARE - arg_expr_list: arg_expr_list.COMMA arg_expr - - RSQUARE shift 162 - COMMA shift 163 - . error - - -state 126 - arg_expr_list: arg_expr. (87) - - . reduce 87 (src line 480) - - -state 127 - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - arg_expr: logical_expr. (89) - - AND shift 62 - OR shift 63 - . reduce 89 (src line 493) - - logical_op goto 64 - -state 128 - arg_expr: pattern_expr. (90) - - . reduce 90 (src line 496) - - -state 129 - builtin_expr: mark_pos.BUILTIN LPAREN RPAREN - builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN - regex_pattern: mark_pos.DIV in_regex REGEX DIV - - BUILTIN shift 49 - DIV shift 50 - . error - - -state 130 - primary_expr: LPAREN logical_expr RPAREN. (79) - - . reduce 79 (src line 428) - - -state 131 - shift_expr: shift_expr shift_op opt_nl.additive_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 87 - multiplicative_expr goto 44 - additive_expr goto 164 - postfix_expr goto 86 - unary_expr goto 91 - indexed_expr goto 32 - id_expr goto 41 - builtin_expr goto 33 - mark_pos goto 88 - -state 132 - additive_expr: additive_expr add_op opt_nl.multiplicative_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 87 - multiplicative_expr goto 165 - postfix_expr goto 86 - unary_expr goto 91 - indexed_expr goto 32 - id_expr goto 41 - builtin_expr goto 33 - mark_pos goto 88 - -state 133 - multiplicative_expr: multiplicative_expr mul_op opt_nl.unary_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 87 - postfix_expr goto 86 - unary_expr goto 166 - indexed_expr goto 32 - id_expr goto 41 - builtin_expr goto 33 - mark_pos goto 88 - -state 134 - stmt: CONST id_expr opt_nl concat_expr. (11) - concat_expr: concat_expr.PLUS opt_nl regex_pattern - concat_expr: concat_expr.PLUS opt_nl id_expr - - PLUS shift 68 - . reduce 11 (src line 131) - - -state 135 - regex_pattern: mark_pos.DIV in_regex REGEX DIV - - DIV shift 50 - . error - - -state 136 - conditional_stmt: conditional_expr compound_stmt ELSE compound_stmt. (14) - - . reduce 14 (src line 146) - - -state 137 - compound_stmt: LCURLY stmt_list RCURLY. (22) - - . reduce 22 (src line 192) - - -state 138 - builtin_expr: mark_pos BUILTIN LPAREN RPAREN. (85) - - . reduce 85 (src line 467) - - -state 139 - builtin_expr: mark_pos BUILTIN LPAREN arg_expr_list.RPAREN - arg_expr_list: arg_expr_list.COMMA arg_expr - - RPAREN shift 167 - COMMA shift 163 - . error - - -state 140 - regex_pattern: mark_pos DIV in_regex REGEX.DIV - - DIV shift 168 - . error - - -state 141 - decorator_declaration: mark_pos DEF ID compound_stmt. (118) - - . reduce 118 (src line 666) - - -state 142 - delete_stmt: mark_pos DEL postfix_expr AFTER.DURATIONLITERAL - - DURATIONLITERAL shift 169 - . error - - -state 143 - metric_decl_attr_spec: metric_decl_attr_spec metric_by_spec. (95) - - . reduce 95 (src line 532) - - -state 144 - metric_decl_attr_spec: metric_decl_attr_spec metric_as_spec. (96) - - . reduce 96 (src line 538) - - -state 145 - metric_decl_attr_spec: metric_decl_attr_spec metric_buckets_spec. (97) - - . reduce 97 (src line 543) - - -state 146 - metric_decl_attr_spec: metric_decl_attr_spec metric_limit_spec. (98) - - . reduce 98 (src line 548) - - -state 147 - metric_by_spec: BY.metric_by_expr_list - - STRING shift 174 - ID shift 173 - . error - - id_or_string goto 172 - metric_by_expr goto 171 - metric_by_expr_list goto 170 - -state 148 - metric_as_spec: AS.STRING - - STRING shift 175 - . error - - -state 149 - metric_buckets_spec: BUCKETS.metric_buckets_list - - INTLITERAL shift 178 - FLOATLITERAL shift 177 - . error - - metric_buckets_list goto 176 - -state 150 - metric_limit_spec: LIMIT.INTLITERAL - - INTLITERAL shift 179 - . error - - -state 151 - conditional_expr: pattern_expr logical_op opt_nl logical_expr. (18) - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - - AND shift 62 - OR shift 63 - . reduce 18 (src line 171) - - logical_op goto 64 - -state 152 - logical_expr: logical_expr logical_op opt_nl bitwise_expr. (29) - bitwise_expr: bitwise_expr.bitwise_op opt_nl rel_expr - - BITAND shift 70 - XOR shift 72 - BITOR shift 71 - . reduce 29 (src line 225) - - bitwise_op goto 69 - -state 153 - logical_expr: logical_expr logical_op opt_nl match_expr. (30) - - . reduce 30 (src line 229) - - -state 154 - concat_expr: concat_expr PLUS opt_nl regex_pattern. (60) - - . reduce 60 (src line 352) - - -state 155 - concat_expr: concat_expr PLUS opt_nl id_expr. (61) - - . reduce 61 (src line 356) - - -state 156 - bitwise_expr: bitwise_expr bitwise_op opt_nl rel_expr. (34) - rel_expr: rel_expr.rel_op opt_nl shift_expr - - LT shift 79 - GT shift 80 - LE shift 81 - GE shift 82 - EQ shift 83 - NE shift 84 - . reduce 34 (src line 246) - - rel_op goto 78 - -state 157 - assign_expr: unary_expr ASSIGN opt_nl logical_expr. (25) - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - - AND shift 62 - OR shift 63 - . reduce 25 (src line 208) - - logical_op goto 64 - -state 158 - assign_expr: unary_expr ADD_ASSIGN opt_nl logical_expr. (26) - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - - AND shift 62 - OR shift 63 - . reduce 26 (src line 213) - - logical_op goto 64 - -state 159 - match_expr: primary_expr match_op opt_nl pattern_expr. (54) - - . reduce 54 (src line 321) - - -state 160 - match_expr: primary_expr match_op opt_nl primary_expr. (55) - - . reduce 55 (src line 326) - - -state 161 - rel_expr: rel_expr rel_op opt_nl shift_expr. (39) - shift_expr: shift_expr.shift_op opt_nl additive_expr - - SHL shift 93 - SHR shift 94 - . reduce 39 (src line 265) - - shift_op goto 92 - -state 162 - indexed_expr: indexed_expr LSQUARE arg_expr_list RSQUARE. (83) - - . reduce 83 (src line 449) - - -state 163 - arg_expr_list: arg_expr_list COMMA.arg_expr - mark_pos: . (124) - - STRING shift 36 - CAPREF shift 34 - CAPREF_NAMED shift 35 - ID shift 43 - INTLITERAL shift 38 - FLOATLITERAL shift 39 - NOT shift 31 - LPAREN shift 37 - . reduce 124 (src line 707) - - primary_expr goto 28 - multiplicative_expr goto 44 - additive_expr goto 42 - postfix_expr goto 86 - unary_expr goto 91 - rel_expr goto 30 - shift_expr goto 40 - bitwise_expr goto 25 - logical_expr goto 127 - indexed_expr goto 32 - id_expr goto 41 - concat_expr goto 24 - pattern_expr goto 128 - regex_pattern goto 29 - match_expr goto 26 - builtin_expr goto 33 - arg_expr goto 180 - mark_pos goto 129 - -state 164 - shift_expr: shift_expr shift_op opt_nl additive_expr. (47) - additive_expr: additive_expr.add_op opt_nl multiplicative_expr - - MINUS shift 97 - PLUS shift 96 - . reduce 47 (src line 290) - - add_op goto 95 - -state 165 - additive_expr: additive_expr add_op opt_nl multiplicative_expr. (51) - multiplicative_expr: multiplicative_expr.mul_op opt_nl unary_expr - - DIV shift 100 - MOD shift 101 - MUL shift 99 - POW shift 102 - . reduce 51 (src line 307) - - mul_op goto 98 - -state 166 - multiplicative_expr: multiplicative_expr mul_op opt_nl unary_expr. (63) - - . reduce 63 (src line 366) - - -state 167 - builtin_expr: mark_pos BUILTIN LPAREN arg_expr_list RPAREN. (86) - - . reduce 86 (src line 472) - - -state 168 - regex_pattern: mark_pos DIV in_regex REGEX DIV. (91) - - . reduce 91 (src line 501) - - -state 169 - delete_stmt: mark_pos DEL postfix_expr AFTER DURATIONLITERAL. (120) - - . reduce 120 (src line 682) - - -state 170 - metric_by_spec: BY metric_by_expr_list. (107) - metric_by_expr_list: metric_by_expr_list.COMMA metric_by_expr - - COMMA shift 181 - . reduce 107 (src line 596) - - -state 171 - metric_by_expr_list: metric_by_expr. (108) - - . reduce 108 (src line 603) - - -state 172 - metric_by_expr: id_or_string. (110) - - . reduce 110 (src line 616) - - -state 173 - id_or_string: ID. (122) - - . reduce 122 (src line 693) - - -state 174 - id_or_string: STRING. (123) - - . reduce 123 (src line 698) - - -state 175 - metric_as_spec: AS STRING. (111) - - . reduce 111 (src line 622) - - -state 176 - metric_buckets_spec: BUCKETS metric_buckets_list. (113) - metric_buckets_list: metric_buckets_list.COMMA FLOATLITERAL - metric_buckets_list: metric_buckets_list.COMMA INTLITERAL - - COMMA shift 182 - . reduce 113 (src line 637) - - -state 177 - metric_buckets_list: FLOATLITERAL. (114) - - . reduce 114 (src line 643) - - -state 178 - metric_buckets_list: INTLITERAL. (115) - - . reduce 115 (src line 649) - - -state 179 - metric_limit_spec: LIMIT INTLITERAL. (112) - - . reduce 112 (src line 629) - - -state 180 - arg_expr_list: arg_expr_list COMMA arg_expr. (88) - - . reduce 88 (src line 486) - - -state 181 - metric_by_expr_list: metric_by_expr_list COMMA.metric_by_expr - - STRING shift 174 - ID shift 173 - . error - - id_or_string goto 172 - metric_by_expr goto 183 - -state 182 - metric_buckets_list: metric_buckets_list COMMA.FLOATLITERAL - metric_buckets_list: metric_buckets_list COMMA.INTLITERAL - - INTLITERAL shift 185 - FLOATLITERAL shift 184 - . error - - -state 183 - metric_by_expr_list: metric_by_expr_list COMMA metric_by_expr. (109) - - . reduce 109 (src line 609) - - -state 184 - metric_buckets_list: metric_buckets_list COMMA FLOATLITERAL. (116) - - . reduce 116 (src line 654) - - -state 185 - metric_buckets_list: metric_buckets_list COMMA INTLITERAL. (117) - - . reduce 117 (src line 659) - - -66 terminals, 55 nonterminals -128 grammar rules, 186/16000 states -0 shift/reduce, 0 reduce/reduce conflicts reported -104 working sets used -memory: parser 397/240000 -169 extra closures -282 shift entries, 13 exceptions -116 goto entries -193 entries saved by goto default -Optimizer space used: output 249/240000 -249 table entries, 2 zero -maximum spread: 66, maximum offset: 181 diff --git a/internal/runtime/runtime.go b/internal/runtime/runtime.go index a2fd7bc94..6e6d6eac7 100644 --- a/internal/runtime/runtime.go +++ b/internal/runtime/runtime.go @@ -175,7 +175,7 @@ func (r *Runtime) CompileAndRun(name string, input io.Reader) error { r.logmappingsMu.RLock() r.logmappings[name] = map[uint32]struct{}{} - for _, log := range obj.RelevantLogs { + for _, log := range obj.LogRestriction { r.logmappings[name][logline.GetHash(log)] = struct{}{} } diff --git a/internal/runtime/runtime_test.go b/internal/runtime/runtime_test.go index ffabf94bc..f9dc80338 100644 --- a/internal/runtime/runtime_test.go +++ b/internal/runtime/runtime_test.go @@ -94,7 +94,7 @@ func TestLoadProg(t *testing.T) { wg.Wait() } -func TestNewProcessesLines(t *testing.T) { +func TestLogLineFilter(t *testing.T) { tests := []struct { lines []*logline.LogLine From 691c7bba190f8235cd32e49dc4f28a521bead647 Mon Sep 17 00:00:00 2001 From: Jason Herbage Date: Tue, 1 Jul 2025 10:58:22 +0100 Subject: [PATCH 155/381] program_mapping_parser --- docs/Programming-Guide.md | 4 +- .../runtime/compiler/codegen/codegen_test.go | 12 + internal/runtime/compiler/parser/parser.go | 1548 -------------- internal/runtime/compiler/parser/parser.y | 2 - .../runtime/compiler/parser/parser_test.go | 5 + internal/runtime/compiler/parser/y.output | 1897 ----------------- 6 files changed, 20 insertions(+), 3448 deletions(-) delete mode 100644 internal/runtime/compiler/parser/parser.go delete mode 100644 internal/runtime/compiler/parser/y.output diff --git a/docs/Programming-Guide.md b/docs/Programming-Guide.md index 35e8c8ce5..be2369b44 100644 --- a/docs/Programming-Guide.md +++ b/docs/Programming-Guide.md @@ -134,12 +134,14 @@ Note the position of the underscore in the regular expression match. ## Log Filtering -The `log_filter` keyword can be used in an mtail program to provide a list of filenames (including the full path to the file). If a `log_filter` is used the program is restricted only to processing logfiles with the names provided. If no `log_filter` keyword is used then all logfiles read by mtail are read by the program. `log_filter` can be used to reduce the resource consumption of mtail by ensuring programs only read the lines they were designed for. +The `log_filter` keyword can be used in an mtail program to provide a list of filenames (including the full path to the file). If a `log_filter` is used the program is restricted only to processing logfiles with the names provided. If no `log_filter` keyword is used then all logfiles read by mtail are read by the program. `log_filter` can be used to reduce the resource consumption of mtail by ensuring programs only read the lines they were designed for. `log_filter` lists are additive if the keyword is used multiple times and duplicate logfile entries are ignored. Example use: ``` log_filter "/tmp/read_this_log.txt", "/tmp/read_this_log_as_well.txt" +... +log_filter "/tmp/and_yet_another_log.txt" ``` ## Conditional structures diff --git a/internal/runtime/compiler/codegen/codegen_test.go b/internal/runtime/compiler/codegen/codegen_test.go index 646a838d8..460523753 100644 --- a/internal/runtime/compiler/codegen/codegen_test.go +++ b/internal/runtime/compiler/codegen/codegen_test.go @@ -1079,6 +1079,18 @@ log_filter "/tmp/log1", "/tmp/log2" "/tmp/log2", }, }, + { + "log_filter additive use", + `log_filter tmplog1, tmplog2 +log_filter tmplog1, tmplog3`, + nil, + []string{ + "tmplog1", + "tmplog2", + "tmplog1", // this is de-duplicated later before it is used in the runtime + "tmplog3", + }, + }, { "nested decorators", `def b { diff --git a/internal/runtime/compiler/parser/parser.go b/internal/runtime/compiler/parser/parser.go deleted file mode 100644 index 705bc1c08..000000000 --- a/internal/runtime/compiler/parser/parser.go +++ /dev/null @@ -1,1548 +0,0 @@ -// Code generated by goyacc -v y.output -o parser.go -p mtail parser.y. DO NOT EDIT. - -//line parser.y:5 -/* #nosec G104 generated code, errors reported do not make sense */ -package parser - -import __yyfmt__ "fmt" - -//line parser.y:6 - -import ( - "time" - - "github.com/golang/glog" - "github.com/jaqx0r/mtail/internal/metrics" - "github.com/jaqx0r/mtail/internal/runtime/compiler/ast" - "github.com/jaqx0r/mtail/internal/runtime/compiler/position" -) - -//line parser.y:19 -type mtailSymType struct { - yys int - intVal int64 - floatVal float64 - floats []float64 - op int - text string - texts []string - flag bool - n ast.Node - kind metrics.Kind - duration time.Duration - logFilter *ast.LogFilter // Add this field for *ast.LogFilter -} - -const INVALID = 57346 -const COUNTER = 57347 -const GAUGE = 57348 -const TIMER = 57349 -const TEXT = 57350 -const HISTOGRAM = 57351 -const AFTER = 57352 -const AS = 57353 -const BY = 57354 -const CONST = 57355 -const HIDDEN = 57356 -const DEF = 57357 -const DEL = 57358 -const NEXT = 57359 -const OTHERWISE = 57360 -const ELSE = 57361 -const STOP = 57362 -const BUCKETS = 57363 -const LIMIT = 57364 -const BUILTIN = 57365 -const REGEX = 57366 -const STRING = 57367 -const CAPREF = 57368 -const CAPREF_NAMED = 57369 -const ID = 57370 -const DECO = 57371 -const INTLITERAL = 57372 -const FLOATLITERAL = 57373 -const DURATIONLITERAL = 57374 -const INC = 57375 -const DEC = 57376 -const DIV = 57377 -const MOD = 57378 -const MUL = 57379 -const MINUS = 57380 -const PLUS = 57381 -const POW = 57382 -const SHL = 57383 -const SHR = 57384 -const LT = 57385 -const GT = 57386 -const LE = 57387 -const GE = 57388 -const EQ = 57389 -const NE = 57390 -const BITAND = 57391 -const XOR = 57392 -const BITOR = 57393 -const NOT = 57394 -const AND = 57395 -const OR = 57396 -const ADD_ASSIGN = 57397 -const ASSIGN = 57398 -const MATCH = 57399 -const NOT_MATCH = 57400 -const LCURLY = 57401 -const RCURLY = 57402 -const LPAREN = 57403 -const RPAREN = 57404 -const LSQUARE = 57405 -const RSQUARE = 57406 -const COMMA = 57407 -const NL = 57408 -const LOGFILTER = 57409 - -var mtailToknames = [...]string{ - "$end", - "error", - "$unk", - "INVALID", - "COUNTER", - "GAUGE", - "TIMER", - "TEXT", - "HISTOGRAM", - "AFTER", - "AS", - "BY", - "CONST", - "HIDDEN", - "DEF", - "DEL", - "NEXT", - "OTHERWISE", - "ELSE", - "STOP", - "BUCKETS", - "LIMIT", - "BUILTIN", - "REGEX", - "STRING", - "CAPREF", - "CAPREF_NAMED", - "ID", - "DECO", - "INTLITERAL", - "FLOATLITERAL", - "DURATIONLITERAL", - "INC", - "DEC", - "DIV", - "MOD", - "MUL", - "MINUS", - "PLUS", - "POW", - "SHL", - "SHR", - "LT", - "GT", - "LE", - "GE", - "EQ", - "NE", - "BITAND", - "XOR", - "BITOR", - "NOT", - "AND", - "OR", - "ADD_ASSIGN", - "ASSIGN", - "MATCH", - "NOT_MATCH", - "LCURLY", - "RCURLY", - "LPAREN", - "RPAREN", - "LSQUARE", - "RSQUARE", - "COMMA", - "NL", - "LOGFILTER", -} - -var mtailStatenames = [...]string{} - -const mtailEofCode = 1 -const mtailErrCode = 2 -const mtailInitialStackSize = 16 - -//line parser.y:768 - -// tokenpos returns the position of the current token. -func tokenpos(mtaillex mtailLexer) position.Position { - return mtaillex.(*parser).t.Pos -} - -// markedpos returns the position recorded from the most recent mark_pos -// production. -func markedpos(mtaillex mtailLexer) position.Position { - return mtaillex.(*parser).pos -} - -// positionFromMark returns a position spanning from the last mark to the current position. -func positionFromMark(mtaillex mtailLexer) position.Position { - tp := tokenpos(mtaillex) - mp := markedpos(mtaillex) - return *position.Merge(&mp, &tp) -} - -//line yacctab:1 -var mtailExca = [...]int16{ - -1, 1, - 1, -1, - -2, 0, - -1, 2, - 1, 1, - 5, 98, - 6, 98, - 7, 98, - 8, 98, - 9, 98, - -2, 129, - -1, 24, - 66, 29, - -2, 73, - -1, 114, - 5, 98, - 6, 98, - 7, 98, - 8, 98, - 9, 98, - -2, 129, -} - -const mtailPrivate = 57344 - -const mtailLast = 256 - -var mtailAct = [...]uint8{ - 50, 180, 95, 134, 30, 17, 98, 44, 46, 29, - 53, 43, 135, 31, 26, 22, 93, 42, 176, 24, - 136, 172, 32, 21, 47, 111, 28, 27, 38, 36, - 37, 45, 61, 40, 41, 14, 171, 172, 94, 133, - 92, 189, 49, 188, 12, 25, 112, 96, 11, 116, - 54, 13, 97, 83, 84, 33, 38, 36, 37, 45, - 2, 40, 41, 75, 39, 94, 115, 81, 80, 177, - 119, 69, 70, 38, 36, 37, 45, 120, 40, 41, - 138, 69, 70, 33, 38, 36, 37, 45, 57, 40, - 41, 110, 39, 77, 79, 78, 178, 18, 15, 137, - 33, 86, 87, 88, 89, 90, 91, 100, 101, 39, - 147, 104, 103, 143, 56, 114, 186, 17, 45, 137, - 39, 29, 73, 74, 145, 142, 57, 22, 118, 150, - 143, 24, 182, 94, 137, 21, 169, 94, 160, 164, - 149, 163, 166, 167, 94, 94, 94, 173, 175, 174, - 170, 165, 168, 162, 161, 144, 148, 181, 151, 56, - 125, 192, 191, 126, 107, 108, 106, 127, 128, 109, - 185, 184, 129, 130, 131, 137, 187, 132, 117, 1, - 71, 73, 74, 14, 52, 124, 113, 51, 123, 181, - 190, 139, 12, 25, 140, 4, 11, 141, 183, 13, - 58, 60, 68, 55, 38, 36, 37, 45, 56, 40, - 41, 157, 156, 154, 59, 63, 64, 65, 66, 67, - 57, 158, 159, 72, 82, 105, 102, 76, 99, 85, - 20, 33, 48, 179, 152, 153, 155, 62, 35, 146, - 39, 122, 10, 9, 8, 18, 15, 121, 7, 34, - 23, 19, 6, 16, 5, 3, -} - -var mtailPact = [...]int16{ - -1000, -1000, 31, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 90, -1000, -1000, 159, -9, 185, -1000, -34, - 210, 28, 28, -1000, 89, -1000, 24, 44, -1000, 12, - -4, -1000, 58, 3, -16, -1000, -1000, -1000, -1000, 3, - -1000, -1000, 66, -1000, 73, -1000, 129, -41, -19, -1000, - -1000, -1000, -1000, 167, -1000, -9, -12, -1000, 100, -9, - 59, -1000, 160, -1000, -1000, -1000, -1000, -1000, -41, -1000, - -1000, -41, -1000, -1000, -1000, -41, -41, -1000, -1000, -1000, - -41, -41, -41, -1000, -1000, -41, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 89, -1000, 136, 3, 18, -1000, -41, - -1000, -1000, -41, -1000, -1000, -41, -1000, -1000, -1000, -1000, - -1000, -1000, 159, -9, 179, -1000, 48, 116, -9, -1000, - 148, 200, -1000, -1000, -1000, 3, 3, 90, 3, 3, - 3, 59, 3, -28, -1000, 28, -1000, 91, -1000, 3, - 3, 3, 24, 53, -1000, -1000, -1000, -1000, -44, 34, - -1000, 64, -1000, -1000, -1000, -1000, 159, 107, 140, 86, - 28, 44, -1000, -1000, -1000, 58, 28, 28, -1000, -1000, - 66, -1000, 3, 73, 129, -1000, -1000, -1000, -1000, -22, - -1000, -1000, -1000, -24, -1000, -1000, -1000, -1000, 159, 131, - -1000, -1000, -1000, -} - -var mtailPgo = [...]uint8{ - 0, 60, 255, 39, 10, 254, 253, 252, 251, 4, - 8, 7, 16, 6, 250, 22, 17, 27, 12, 249, - 11, 14, 20, 248, 247, 244, 243, 13, 26, 242, - 241, 238, 3, 237, 236, 235, 0, 1, 42, 234, - 233, 232, 230, 229, 228, 227, 180, 226, 225, 224, - 223, 213, 198, 195, 179, 91, 2, 178, -} - -var mtailR1 = [...]int8{ - 0, 54, 1, 1, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 53, 41, 41, 38, 5, - 5, 5, 6, 6, 6, 7, 7, 4, 8, 8, - 14, 14, 18, 18, 18, 18, 46, 46, 17, 17, - 45, 45, 45, 15, 15, 43, 43, 43, 43, 43, - 43, 16, 16, 44, 44, 11, 11, 47, 47, 28, - 28, 49, 49, 22, 21, 21, 21, 10, 10, 48, - 48, 48, 48, 13, 13, 12, 12, 50, 50, 9, - 9, 9, 9, 9, 9, 9, 9, 19, 19, 20, - 31, 31, 3, 3, 32, 32, 27, 23, 42, 42, - 24, 24, 24, 24, 24, 30, 30, 33, 33, 33, - 33, 33, 39, 40, 40, 37, 35, 34, 51, 52, - 52, 52, 52, 25, 26, 29, 29, 36, 36, 56, - 57, 55, 55, -} - -var mtailR2 = [...]int8{ - 0, 1, 0, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 4, 1, 1, 2, 1, 3, 1, 4, - 2, 3, 1, 4, 1, 1, 2, 3, 1, 1, - 4, 4, 1, 1, 4, 4, 1, 1, 1, 4, - 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, - 1, 1, 4, 1, 1, 1, 4, 1, 1, 4, - 4, 1, 1, 1, 1, 4, 4, 1, 4, 1, - 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, - 1, 1, 1, 1, 3, 1, 1, 1, 4, 1, - 4, 5, 1, 3, 1, 1, 5, 3, 0, 1, - 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 1, 3, 1, 2, 2, 2, 1, - 1, 3, 3, 4, 3, 5, 3, 1, 1, 0, - 0, 0, 1, -} - -var mtailChk = [...]int16{ - -1000, -54, -1, -2, -53, -5, -7, -23, -25, -26, - -29, 17, 13, 20, 4, 67, -6, -56, 66, -8, - -42, -22, -18, -14, -12, 14, -21, -17, -28, -13, - -9, -27, -15, 52, -19, -31, 26, 27, 25, 61, - 30, 31, -16, -20, -11, 28, -10, -20, -41, -38, - -36, 28, 25, -4, 59, 18, 23, 35, 15, 29, - 16, 66, -33, 5, 6, 7, 8, 9, -46, 53, - 54, -46, -50, 33, 34, 39, -45, 49, 51, 50, - 56, 55, -49, 57, 58, -43, 43, 44, 45, 46, - 47, 48, -13, -12, -9, -56, 63, -18, -13, -44, - 41, 42, -47, 39, 38, -48, 37, 35, 36, 40, - -55, 66, 65, 19, -1, -4, 61, -57, 28, -4, - -12, -24, -30, 28, 25, -55, -55, -55, -55, -55, - -55, -55, -55, -3, -32, -18, -22, -56, 62, -55, - -55, -55, -21, -56, -38, -4, 60, 62, -3, 24, - -4, 10, -39, -35, -51, -34, 12, 11, 21, 22, - -18, -17, -28, -27, -20, -15, -18, -18, -22, -9, - -16, 64, 65, -11, -10, -13, 62, 35, 32, -40, - -37, -36, 25, -52, 31, 30, 30, -32, 65, 65, - -37, 31, 30, -} - -var mtailDef = [...]int16{ - 2, -2, -2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 0, 13, 14, 0, 0, 0, 25, 0, - 0, 22, 24, 28, -2, 99, 63, 32, 33, 67, - 75, 64, 38, 129, 79, 80, 81, 82, 83, 129, - 85, 86, 43, 87, 51, 89, 55, 131, 15, 16, - 18, 127, 128, 20, 2, 0, 0, 130, 0, 0, - 129, 26, 0, 107, 108, 109, 110, 111, 131, 36, - 37, 131, 76, 77, 78, 131, 131, 40, 41, 42, - 131, 131, 131, 61, 62, 131, 45, 46, 47, 48, - 49, 50, 74, 73, 75, 0, 129, 0, 67, 131, - 53, 54, 131, 57, 58, 131, 69, 70, 71, 72, - 129, 132, 0, 0, -2, 21, 129, 0, 0, 124, - 126, 97, 104, 105, 106, 129, 129, 129, 129, 129, - 129, 129, 129, 0, 92, 94, 95, 0, 84, 129, - 129, 129, 12, 0, 17, 19, 27, 90, 0, 0, - 123, 0, 100, 101, 102, 103, 0, 0, 0, 0, - 23, 34, 35, 65, 66, 39, 30, 31, 59, 60, - 44, 88, 129, 52, 56, 68, 91, 96, 125, 112, - 113, 115, 116, 118, 119, 120, 117, 93, 0, 0, - 114, 121, 122, -} - -var mtailTok1 = [...]int8{ - 1, -} - -var mtailTok2 = [...]int8{ - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, -} - -var mtailTok3 = [...]int8{ - 0, -} - -var mtailErrorMessages = [...]struct { - state int - token int - msg string -}{ - {117, 4, "unexpected end of file, expecting '/' to end regex"}, - {17, 1, "unexpected end of file, expecting '}' to end block"}, - {17, 1, "unexpected end of file, expecting '}' to end block"}, - {17, 1, "unexpected end of file, expecting '}' to end block"}, - {16, 63, "unexpected indexing of an expression"}, - {16, 66, "statement with no effect, missing an assignment, `+' concatenation, or `{}' block?"}, -} - -//line yaccpar:1 - -/* parser for yacc output */ - -var ( - mtailDebug = 0 - mtailErrorVerbose = false -) - -type mtailLexer interface { - Lex(lval *mtailSymType) int - Error(s string) -} - -type mtailParser interface { - Parse(mtailLexer) int - Lookahead() int -} - -type mtailParserImpl struct { - lval mtailSymType - stack [mtailInitialStackSize]mtailSymType - char int -} - -func (p *mtailParserImpl) Lookahead() int { - return p.char -} - -func mtailNewParser() mtailParser { - return &mtailParserImpl{} -} - -const mtailFlag = -1000 - -func mtailTokname(c int) string { - if c >= 1 && c-1 < len(mtailToknames) { - if mtailToknames[c-1] != "" { - return mtailToknames[c-1] - } - } - return __yyfmt__.Sprintf("tok-%v", c) -} - -func mtailStatname(s int) string { - if s >= 0 && s < len(mtailStatenames) { - if mtailStatenames[s] != "" { - return mtailStatenames[s] - } - } - return __yyfmt__.Sprintf("state-%v", s) -} - -func mtailErrorMessage(state, lookAhead int) string { - const TOKSTART = 4 - - if !mtailErrorVerbose { - return "syntax error" - } - - for _, e := range mtailErrorMessages { - if e.state == state && e.token == lookAhead { - return "syntax error: " + e.msg - } - } - - res := "syntax error: unexpected " + mtailTokname(lookAhead) - - // To match Bison, suggest at most four expected tokens. - expected := make([]int, 0, 4) - - // Look for shiftable tokens. - base := int(mtailPact[state]) - for tok := TOKSTART; tok-1 < len(mtailToknames); tok++ { - if n := base + tok; n >= 0 && n < mtailLast && int(mtailChk[int(mtailAct[n])]) == tok { - if len(expected) == cap(expected) { - return res - } - expected = append(expected, tok) - } - } - - if mtailDef[state] == -2 { - i := 0 - for mtailExca[i] != -1 || int(mtailExca[i+1]) != state { - i += 2 - } - - // Look for tokens that we accept or reduce. - for i += 2; mtailExca[i] >= 0; i += 2 { - tok := int(mtailExca[i]) - if tok < TOKSTART || mtailExca[i+1] == 0 { - continue - } - if len(expected) == cap(expected) { - return res - } - expected = append(expected, tok) - } - - // If the default action is to accept or reduce, give up. - if mtailExca[i+1] != 0 { - return res - } - } - - for i, tok := range expected { - if i == 0 { - res += ", expecting " - } else { - res += " or " - } - res += mtailTokname(tok) - } - return res -} - -func mtaillex1(lex mtailLexer, lval *mtailSymType) (char, token int) { - token = 0 - char = lex.Lex(lval) - if char <= 0 { - token = int(mtailTok1[0]) - goto out - } - if char < len(mtailTok1) { - token = int(mtailTok1[char]) - goto out - } - if char >= mtailPrivate { - if char < mtailPrivate+len(mtailTok2) { - token = int(mtailTok2[char-mtailPrivate]) - goto out - } - } - for i := 0; i < len(mtailTok3); i += 2 { - token = int(mtailTok3[i+0]) - if token == char { - token = int(mtailTok3[i+1]) - goto out - } - } - -out: - if token == 0 { - token = int(mtailTok2[1]) /* unknown char */ - } - if mtailDebug >= 3 { - __yyfmt__.Printf("lex %s(%d)\n", mtailTokname(token), uint(char)) - } - return char, token -} - -func mtailParse(mtaillex mtailLexer) int { - return mtailNewParser().Parse(mtaillex) -} - -func (mtailrcvr *mtailParserImpl) Parse(mtaillex mtailLexer) int { - var mtailn int - var mtailVAL mtailSymType - var mtailDollar []mtailSymType - _ = mtailDollar // silence set and not used - mtailS := mtailrcvr.stack[:] - - Nerrs := 0 /* number of errors */ - Errflag := 0 /* error recovery flag */ - mtailstate := 0 - mtailrcvr.char = -1 - mtailtoken := -1 // mtailrcvr.char translated into internal numbering - defer func() { - // Make sure we report no lookahead when not parsing. - mtailstate = -1 - mtailrcvr.char = -1 - mtailtoken = -1 - }() - mtailp := -1 - goto mtailstack - -ret0: - return 0 - -ret1: - return 1 - -mtailstack: - /* put a state and value onto the stack */ - if mtailDebug >= 4 { - __yyfmt__.Printf("char %v in %v\n", mtailTokname(mtailtoken), mtailStatname(mtailstate)) - } - - mtailp++ - if mtailp >= len(mtailS) { - nyys := make([]mtailSymType, len(mtailS)*2) - copy(nyys, mtailS) - mtailS = nyys - } - mtailS[mtailp] = mtailVAL - mtailS[mtailp].yys = mtailstate - -mtailnewstate: - mtailn = int(mtailPact[mtailstate]) - if mtailn <= mtailFlag { - goto mtaildefault /* simple state */ - } - if mtailrcvr.char < 0 { - mtailrcvr.char, mtailtoken = mtaillex1(mtaillex, &mtailrcvr.lval) - } - mtailn += mtailtoken - if mtailn < 0 || mtailn >= mtailLast { - goto mtaildefault - } - mtailn = int(mtailAct[mtailn]) - if int(mtailChk[mtailn]) == mtailtoken { /* valid shift */ - mtailrcvr.char = -1 - mtailtoken = -1 - mtailVAL = mtailrcvr.lval - mtailstate = mtailn - if Errflag > 0 { - Errflag-- - } - goto mtailstack - } - -mtaildefault: - /* default state action */ - mtailn = int(mtailDef[mtailstate]) - if mtailn == -2 { - if mtailrcvr.char < 0 { - mtailrcvr.char, mtailtoken = mtaillex1(mtaillex, &mtailrcvr.lval) - } - - /* look through exception table */ - xi := 0 - for { - if mtailExca[xi+0] == -1 && int(mtailExca[xi+1]) == mtailstate { - break - } - xi += 2 - } - for xi += 2; ; xi += 2 { - mtailn = int(mtailExca[xi+0]) - if mtailn < 0 || mtailn == mtailtoken { - break - } - } - mtailn = int(mtailExca[xi+1]) - if mtailn < 0 { - goto ret0 - } - } - if mtailn == 0 { - /* error ... attempt to resume parsing */ - switch Errflag { - case 0: /* brand new error */ - mtaillex.Error(mtailErrorMessage(mtailstate, mtailtoken)) - Nerrs++ - if mtailDebug >= 1 { - __yyfmt__.Printf("%s", mtailStatname(mtailstate)) - __yyfmt__.Printf(" saw %s\n", mtailTokname(mtailtoken)) - } - fallthrough - - case 1, 2: /* incompletely recovered error ... try again */ - Errflag = 3 - - /* find a state where "error" is a legal shift action */ - for mtailp >= 0 { - mtailn = int(mtailPact[mtailS[mtailp].yys]) + mtailErrCode - if mtailn >= 0 && mtailn < mtailLast { - mtailstate = int(mtailAct[mtailn]) /* simulate a shift of "error" */ - if int(mtailChk[mtailstate]) == mtailErrCode { - goto mtailstack - } - } - - /* the current p has no shift on "error", pop stack */ - if mtailDebug >= 2 { - __yyfmt__.Printf("error recovery pops state %d\n", mtailS[mtailp].yys) - } - mtailp-- - } - /* there is no state on the stack with an error shift ... abort */ - goto ret1 - - case 3: /* no shift yet; clobber input char */ - if mtailDebug >= 2 { - __yyfmt__.Printf("error recovery discards %s\n", mtailTokname(mtailtoken)) - } - if mtailtoken == mtailEofCode { - goto ret1 - } - mtailrcvr.char = -1 - mtailtoken = -1 - goto mtailnewstate /* try again in the same state */ - } - } - - /* reduction by production mtailn */ - if mtailDebug >= 2 { - __yyfmt__.Printf("reduce %v in:\n\t%v\n", mtailn, mtailStatname(mtailstate)) - } - - mtailnt := mtailn - mtailpt := mtailp - _ = mtailpt // guard against "declared and not used" - - mtailp -= int(mtailR2[mtailn]) - // mtailp is now the index of $0. Perform the default action. Iff the - // reduced production is Îĩ, $1 is possibly out of range. - if mtailp+1 >= len(mtailS) { - nyys := make([]mtailSymType, len(mtailS)*2) - copy(nyys, mtailS) - mtailS = nyys - } - mtailVAL = mtailS[mtailp+1] - - /* consult goto table to find next state */ - mtailn = int(mtailR1[mtailn]) - mtailg := int(mtailPgo[mtailn]) - mtailj := mtailg + mtailS[mtailp].yys + 1 - - if mtailj >= mtailLast { - mtailstate = int(mtailAct[mtailg]) - } else { - mtailstate = int(mtailAct[mtailj]) - if int(mtailChk[mtailstate]) != -mtailn { - mtailstate = int(mtailAct[mtailg]) - } - } - // dummy call; replaced with literal code - switch mtailnt { - - case 1: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:96 - { - mtaillex.(*parser).root = mtailDollar[1].n - } - case 2: - mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:104 - { - mtailVAL.n = &ast.StmtList{} - } - case 3: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:108 - { - mtailVAL.n = mtailDollar[1].n - if mtailDollar[2].n != nil { - mtailVAL.n.(*ast.StmtList).Children = append(mtailVAL.n.(*ast.StmtList).Children, mtailDollar[2].n) - } - } - case 4: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:119 - { - mtailVAL.n = mtailDollar[1].logFilter - } - case 5: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:121 - { - mtailVAL.n = mtailDollar[1].n - } - case 6: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:123 - { - mtailVAL.n = mtailDollar[1].n - } - case 7: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:125 - { - mtailVAL.n = mtailDollar[1].n - } - case 8: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:127 - { - mtailVAL.n = mtailDollar[1].n - } - case 9: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:129 - { - mtailVAL.n = mtailDollar[1].n - } - case 10: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:131 - { - mtailVAL.n = mtailDollar[1].n - } - case 11: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:133 - { - mtailVAL.n = &ast.NextStmt{tokenpos(mtaillex)} - } - case 12: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:137 - { - mtailVAL.n = &ast.PatternFragment{ID: mtailDollar[2].n, Expr: mtailDollar[4].n} - } - case 13: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:141 - { - mtailVAL.n = &ast.StopStmt{tokenpos(mtaillex)} - } - case 14: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:145 - { - mtailVAL.n = &ast.Error{tokenpos(mtaillex), mtailDollar[1].text} - } - case 15: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:154 - { - mtailVAL.logFilter = &ast.LogFilter{ - P: tokenpos(mtaillex), - Filters: mtailDollar[2].texts, // $2 is the list of strings (type []string) - } - } - case 16: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:164 - { - mtailVAL.texts = make([]string, 0) - mtailVAL.texts = append(mtailVAL.texts, mtailDollar[1].text) - } - case 17: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:169 - { - mtailVAL.texts = mtailDollar[1].texts - mtailVAL.texts = append(mtailVAL.texts, mtailDollar[3].text) - } - case 18: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:177 - { - mtailVAL.text = mtailDollar[1].text - } - case 19: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:183 - { - mtailVAL.n = &ast.CondStmt{mtailDollar[1].n, mtailDollar[2].n, mtailDollar[4].n, nil} - } - case 20: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:187 - { - if mtailDollar[1].n != nil { - mtailVAL.n = &ast.CondStmt{mtailDollar[1].n, mtailDollar[2].n, nil, nil} - } else { - mtailVAL.n = mtailDollar[2].n - } - } - case 21: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:195 - { - o := &ast.OtherwiseStmt{positionFromMark(mtaillex)} - mtailVAL.n = &ast.CondStmt{o, mtailDollar[3].n, nil, nil} - } - case 22: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:203 - { - mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: MATCH} - } - case 23: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:207 - { - mtailVAL.n = &ast.BinaryExpr{ - LHS: &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: MATCH}, - RHS: mtailDollar[4].n, - Op: mtailDollar[2].op, - } - } - case 24: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:215 - { - mtailVAL.n = mtailDollar[1].n - } - case 25: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:221 - { - mtailVAL.n = nil - } - case 26: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:223 - { - mtailVAL.n = mtailDollar[1].n - } - case 27: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:229 - { - mtailVAL.n = mtailDollar[2].n - } - case 28: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:237 - { - mtailVAL.n = mtailDollar[1].n - } - case 29: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:239 - { - mtailVAL.n = mtailDollar[1].n - } - case 30: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:245 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 31: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:249 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 32: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:257 - { - mtailVAL.n = mtailDollar[1].n - } - case 33: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:259 - { - mtailVAL.n = mtailDollar[1].n - } - case 34: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:261 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 35: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:265 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 36: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:272 - { - mtailVAL.op = mtailDollar[1].op - } - case 37: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:274 - { - mtailVAL.op = mtailDollar[1].op - } - case 38: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:280 - { - mtailVAL.n = mtailDollar[1].n - } - case 39: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:282 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 40: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:289 - { - mtailVAL.op = mtailDollar[1].op - } - case 41: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:291 - { - mtailVAL.op = mtailDollar[1].op - } - case 42: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:293 - { - mtailVAL.op = mtailDollar[1].op - } - case 43: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:299 - { - mtailVAL.n = mtailDollar[1].n - } - case 44: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:301 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 45: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:308 - { - mtailVAL.op = mtailDollar[1].op - } - case 46: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:310 - { - mtailVAL.op = mtailDollar[1].op - } - case 47: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:312 - { - mtailVAL.op = mtailDollar[1].op - } - case 48: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:314 - { - mtailVAL.op = mtailDollar[1].op - } - case 49: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:316 - { - mtailVAL.op = mtailDollar[1].op - } - case 50: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:318 - { - mtailVAL.op = mtailDollar[1].op - } - case 51: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:324 - { - mtailVAL.n = mtailDollar[1].n - } - case 52: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:326 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 53: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:333 - { - mtailVAL.op = mtailDollar[1].op - } - case 54: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:335 - { - mtailVAL.op = mtailDollar[1].op - } - case 55: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:341 - { - mtailVAL.n = mtailDollar[1].n - } - case 56: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:343 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 57: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:350 - { - mtailVAL.op = mtailDollar[1].op - } - case 58: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:352 - { - mtailVAL.op = mtailDollar[1].op - } - case 59: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:358 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 60: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:362 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 61: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:369 - { - mtailVAL.op = mtailDollar[1].op - } - case 62: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:371 - { - mtailVAL.op = mtailDollar[1].op - } - case 63: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:378 - { - mtailVAL.n = &ast.PatternExpr{Expr: mtailDollar[1].n} - } - case 64: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:386 - { - mtailVAL.n = mtailDollar[1].n - } - case 65: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:388 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: PLUS} - } - case 66: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:392 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: PLUS} - } - case 67: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:400 - { - mtailVAL.n = mtailDollar[1].n - } - case 68: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:402 - { - mtailVAL.n = &ast.BinaryExpr{LHS: mtailDollar[1].n, RHS: mtailDollar[4].n, Op: mtailDollar[2].op} - } - case 69: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:409 - { - mtailVAL.op = mtailDollar[1].op - } - case 70: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:411 - { - mtailVAL.op = mtailDollar[1].op - } - case 71: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:413 - { - mtailVAL.op = mtailDollar[1].op - } - case 72: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:415 - { - mtailVAL.op = mtailDollar[1].op - } - case 73: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:421 - { - mtailVAL.n = mtailDollar[1].n - } - case 74: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:423 - { - mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[2].n, Op: mtailDollar[1].op} - } - case 75: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:431 - { - mtailVAL.n = mtailDollar[1].n - } - case 76: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:433 - { - mtailVAL.n = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: mtailDollar[1].n, Op: mtailDollar[2].op} - } - case 77: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:440 - { - mtailVAL.op = mtailDollar[1].op - } - case 78: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:442 - { - mtailVAL.op = mtailDollar[1].op - } - case 79: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:448 - { - mtailVAL.n = mtailDollar[1].n - } - case 80: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:450 - { - mtailVAL.n = mtailDollar[1].n - } - case 81: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:452 - { - mtailVAL.n = &ast.CaprefTerm{tokenpos(mtaillex), mtailDollar[1].text, false, nil} - } - case 82: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:456 - { - mtailVAL.n = &ast.CaprefTerm{tokenpos(mtaillex), mtailDollar[1].text, true, nil} - } - case 83: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:460 - { - mtailVAL.n = &ast.StringLit{tokenpos(mtaillex), mtailDollar[1].text} - } - case 84: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:464 - { - mtailVAL.n = mtailDollar[2].n - } - case 85: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:468 - { - mtailVAL.n = &ast.IntLit{tokenpos(mtaillex), mtailDollar[1].intVal} - } - case 86: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:472 - { - mtailVAL.n = &ast.FloatLit{tokenpos(mtaillex), mtailDollar[1].floatVal} - } - case 87: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:480 - { - // Build an empty IndexedExpr so that the recursive rule below doesn't need to handle the alternative. - mtailVAL.n = &ast.IndexedExpr{LHS: mtailDollar[1].n, Index: &ast.ExprList{}} - } - case 88: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:485 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.IndexedExpr).Index.(*ast.ExprList).Children = append( - mtailVAL.n.(*ast.IndexedExpr).Index.(*ast.ExprList).Children, - mtailDollar[3].n.(*ast.ExprList).Children...) - } - case 89: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:496 - { - mtailVAL.n = &ast.IDTerm{tokenpos(mtaillex), mtailDollar[1].text, nil, false} - } - case 90: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:504 - { - mtailVAL.n = &ast.BuiltinExpr{P: positionFromMark(mtaillex), Name: mtailDollar[2].text, Args: nil} - } - case 91: - mtailDollar = mtailS[mtailpt-5 : mtailpt+1] -//line parser.y:508 - { - mtailVAL.n = &ast.BuiltinExpr{P: positionFromMark(mtaillex), Name: mtailDollar[2].text, Args: mtailDollar[4].n} - } - case 92: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:517 - { - mtailVAL.n = &ast.ExprList{} - mtailVAL.n.(*ast.ExprList).Children = append(mtailVAL.n.(*ast.ExprList).Children, mtailDollar[1].n) - } - case 93: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:522 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.ExprList).Children = append(mtailVAL.n.(*ast.ExprList).Children, mtailDollar[3].n) - } - case 94: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:530 - { - mtailVAL.n = mtailDollar[1].n - } - case 95: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:532 - { - mtailVAL.n = mtailDollar[1].n - } - case 96: - mtailDollar = mtailS[mtailpt-5 : mtailpt+1] -//line parser.y:538 - { - mtailVAL.n = &ast.PatternLit{P: positionFromMark(mtaillex), Pattern: mtailDollar[4].text} - } - case 97: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:546 - { - mtailVAL.n = mtailDollar[3].n - d := mtailVAL.n.(*ast.VarDecl) - d.Kind = mtailDollar[2].kind - d.Hidden = mtailDollar[1].flag - } - case 98: - mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:557 - { - mtailVAL.flag = false - } - case 99: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:561 - { - mtailVAL.flag = true - } - case 100: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:569 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.VarDecl).Keys = mtailDollar[2].texts - } - case 101: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:574 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.VarDecl).ExportedName = mtailDollar[2].text - } - case 102: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:579 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.VarDecl).Buckets = mtailDollar[2].floats - } - case 103: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:584 - { - mtailVAL.n = mtailDollar[1].n - mtailVAL.n.(*ast.VarDecl).Limit = mtailDollar[2].intVal - } - case 104: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:589 - { - mtailVAL.n = mtailDollar[1].n - } - case 105: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:597 - { - mtailVAL.n = &ast.VarDecl{P: tokenpos(mtaillex), Name: mtailDollar[1].text} - } - case 106: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:601 - { - mtailVAL.n = &ast.VarDecl{P: tokenpos(mtaillex), Name: mtailDollar[1].text} - } - case 107: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:609 - { - mtailVAL.kind = metrics.Counter - } - case 108: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:613 - { - mtailVAL.kind = metrics.Gauge - } - case 109: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:617 - { - mtailVAL.kind = metrics.Timer - } - case 110: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:621 - { - mtailVAL.kind = metrics.Text - } - case 111: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:625 - { - mtailVAL.kind = metrics.Histogram - } - case 112: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:633 - { - mtailVAL.texts = mtailDollar[2].texts - } - case 113: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:640 - { - mtailVAL.texts = make([]string, 0) - mtailVAL.texts = append(mtailVAL.texts, mtailDollar[1].text) - } - case 114: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:645 - { - mtailVAL.texts = mtailDollar[1].texts - mtailVAL.texts = append(mtailVAL.texts, mtailDollar[3].text) - } - case 115: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:653 - { - mtailVAL.text = mtailDollar[1].text - } - case 116: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:659 - { - mtailVAL.text = mtailDollar[2].text - } - case 117: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:666 - { - mtailVAL.intVal = mtailDollar[2].intVal - } - case 118: - mtailDollar = mtailS[mtailpt-2 : mtailpt+1] -//line parser.y:674 - { - mtailVAL.floats = mtailDollar[2].floats - } - case 119: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:680 - { - mtailVAL.floats = make([]float64, 0) - mtailVAL.floats = append(mtailVAL.floats, mtailDollar[1].floatVal) - } - case 120: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:685 - { - mtailVAL.floats = make([]float64, 0) - mtailVAL.floats = append(mtailVAL.floats, float64(mtailDollar[1].intVal)) - } - case 121: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:690 - { - mtailVAL.floats = mtailDollar[1].floats - mtailVAL.floats = append(mtailVAL.floats, mtailDollar[3].floatVal) - } - case 122: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:695 - { - mtailVAL.floats = mtailDollar[1].floats - mtailVAL.floats = append(mtailVAL.floats, float64(mtailDollar[3].intVal)) - } - case 123: - mtailDollar = mtailS[mtailpt-4 : mtailpt+1] -//line parser.y:703 - { - mtailVAL.n = &ast.DecoDecl{P: markedpos(mtaillex), Name: mtailDollar[3].text, Block: mtailDollar[4].n} - } - case 124: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:711 - { - mtailVAL.n = &ast.DecoStmt{markedpos(mtaillex), mtailDollar[2].text, mtailDollar[3].n, nil, nil} - } - case 125: - mtailDollar = mtailS[mtailpt-5 : mtailpt+1] -//line parser.y:719 - { - mtailVAL.n = &ast.DelStmt{P: positionFromMark(mtaillex), N: mtailDollar[3].n, Expiry: mtailDollar[5].duration} - } - case 126: - mtailDollar = mtailS[mtailpt-3 : mtailpt+1] -//line parser.y:723 - { - mtailVAL.n = &ast.DelStmt{P: positionFromMark(mtaillex), N: mtailDollar[3].n} - } - case 127: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:730 - { - mtailVAL.text = mtailDollar[1].text - } - case 128: - mtailDollar = mtailS[mtailpt-1 : mtailpt+1] -//line parser.y:734 - { - mtailVAL.text = mtailDollar[1].text - } - case 129: - mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:744 - { - glog.V(2).Infof("position marked at %v", tokenpos(mtaillex)) - mtaillex.(*parser).pos = tokenpos(mtaillex) - } - case 130: - mtailDollar = mtailS[mtailpt-0 : mtailpt+1] -//line parser.y:754 - { - mtaillex.(*parser).inRegex() - } - } - goto mtailstack /* stack new state and value */ -} diff --git a/internal/runtime/compiler/parser/parser.y b/internal/runtime/compiler/parser/parser.y index 0eacd73ca..a91e801f8 100644 --- a/internal/runtime/compiler/parser/parser.y +++ b/internal/runtime/compiler/parser/parser.y @@ -147,8 +147,6 @@ stmt } ; - -/* By specification describes index keys for a multidimensional variable. */ log_filter_stmt : LOGFILTER log_filter_list { diff --git a/internal/runtime/compiler/parser/parser_test.go b/internal/runtime/compiler/parser/parser_test.go index 6102deca3..b60ef7b21 100644 --- a/internal/runtime/compiler/parser/parser_test.go +++ b/internal/runtime/compiler/parser/parser_test.go @@ -454,6 +454,11 @@ $foo =~ X { "log_filter no spaces", "log_filter foo,bar,baz", }, + { + "log_filter multiple lines", + `log_filter foo,bar,baz +log_filter foo,bar,bee`, + }, { "log_filter then a clause", "log_filter \"foo\", \"bar\", \"baz\"\n/foo/ {} else {}", diff --git a/internal/runtime/compiler/parser/y.output b/internal/runtime/compiler/parser/y.output deleted file mode 100644 index f31af5063..000000000 --- a/internal/runtime/compiler/parser/y.output +++ /dev/null @@ -1,1897 +0,0 @@ - -state 0 - $accept: .start $end - stmt_list: . (2) - - . reduce 2 (src line 102) - - stmt_list goto 2 - start goto 1 - -state 1 - $accept: start.$end - - $end accept - . error - - -state 2 - start: stmt_list. (1) - stmt_list: stmt_list.stmt - mark_pos: . (129) - metric_hide_spec: . (98) - - $end reduce 1 (src line 94) - INVALID shift 14 - COUNTER reduce 98 (src line 555) - GAUGE reduce 98 (src line 555) - TIMER reduce 98 (src line 555) - TEXT reduce 98 (src line 555) - HISTOGRAM reduce 98 (src line 555) - CONST shift 12 - HIDDEN shift 25 - NEXT shift 11 - STOP shift 13 - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - LPAREN shift 39 - NL shift 18 - LOGFILTER shift 15 - . reduce 129 (src line 742) - - stmt goto 3 - conditional_stmt goto 5 - conditional_expr goto 16 - expr_stmt goto 6 - expr goto 19 - primary_expr goto 30 - multiplicative_expr goto 46 - additive_expr goto 44 - postfix_expr goto 24 - unary_expr goto 29 - assign_expr goto 23 - rel_expr goto 32 - shift_expr goto 42 - bitwise_expr goto 27 - logical_expr goto 22 - indexed_expr goto 34 - id_expr goto 43 - concat_expr goto 26 - pattern_expr goto 21 - metric_declaration goto 7 - decorator_declaration goto 8 - decoration_stmt goto 9 - regex_pattern goto 31 - match_expr goto 28 - delete_stmt goto 10 - builtin_expr goto 35 - metric_hide_spec goto 20 - log_filter_stmt goto 4 - mark_pos goto 17 - -state 3 - stmt_list: stmt_list stmt. (3) - - . reduce 3 (src line 107) - - -state 4 - stmt: log_filter_stmt. (4) - - . reduce 4 (src line 117) - - -state 5 - stmt: conditional_stmt. (5) - - . reduce 5 (src line 120) - - -state 6 - stmt: expr_stmt. (6) - - . reduce 6 (src line 122) - - -state 7 - stmt: metric_declaration. (7) - - . reduce 7 (src line 124) - - -state 8 - stmt: decorator_declaration. (8) - - . reduce 8 (src line 126) - - -state 9 - stmt: decoration_stmt. (9) - - . reduce 9 (src line 128) - - -state 10 - stmt: delete_stmt. (10) - - . reduce 10 (src line 130) - - -state 11 - stmt: NEXT. (11) - - . reduce 11 (src line 132) - - -state 12 - stmt: CONST.id_expr opt_nl concat_expr - - ID shift 45 - . error - - id_expr goto 47 - -state 13 - stmt: STOP. (13) - - . reduce 13 (src line 140) - - -state 14 - stmt: INVALID. (14) - - . reduce 14 (src line 144) - - -state 15 - log_filter_stmt: LOGFILTER.log_filter_list - - STRING shift 52 - ID shift 51 - . error - - id_or_string goto 50 - log_filter_expr goto 49 - log_filter_list goto 48 - -state 16 - conditional_stmt: conditional_expr.compound_stmt ELSE compound_stmt - conditional_stmt: conditional_expr.compound_stmt - - LCURLY shift 54 - . error - - compound_stmt goto 53 - -state 17 - conditional_stmt: mark_pos.OTHERWISE compound_stmt - builtin_expr: mark_pos.BUILTIN LPAREN RPAREN - builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN - regex_pattern: mark_pos.DIV in_regex REGEX DIV - decorator_declaration: mark_pos.DEF ID compound_stmt - decoration_stmt: mark_pos.DECO compound_stmt - delete_stmt: mark_pos.DEL postfix_expr AFTER DURATIONLITERAL - delete_stmt: mark_pos.DEL postfix_expr - - DEF shift 58 - DEL shift 60 - OTHERWISE shift 55 - BUILTIN shift 56 - DECO shift 59 - DIV shift 57 - . error - - -state 18 - expr_stmt: NL. (25) - - . reduce 25 (src line 219) - - -state 19 - expr_stmt: expr.NL - - NL shift 61 - . error - - -state 20 - metric_declaration: metric_hide_spec.metric_type_spec metric_decl_attr_spec - - COUNTER shift 63 - GAUGE shift 64 - TIMER shift 65 - TEXT shift 66 - HISTOGRAM shift 67 - . error - - metric_type_spec goto 62 - -state 21 - conditional_expr: pattern_expr. (22) - conditional_expr: pattern_expr.logical_op opt_nl logical_expr - - AND shift 69 - OR shift 70 - . reduce 22 (src line 201) - - logical_op goto 68 - -state 22 - conditional_expr: logical_expr. (24) - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - - AND shift 69 - OR shift 70 - . reduce 24 (src line 214) - - logical_op goto 71 - -state 23 - expr: assign_expr. (28) - - . reduce 28 (src line 235) - - -state 24 - expr: postfix_expr. (29) - unary_expr: postfix_expr. (73) - postfix_expr: postfix_expr.postfix_op - - INC shift 73 - DEC shift 74 - NL reduce 29 (src line 238) - . reduce 73 (src line 419) - - postfix_op goto 72 - -state 25 - metric_hide_spec: HIDDEN. (99) - - . reduce 99 (src line 560) - - -state 26 - pattern_expr: concat_expr. (63) - concat_expr: concat_expr.PLUS opt_nl regex_pattern - concat_expr: concat_expr.PLUS opt_nl id_expr - - PLUS shift 75 - . reduce 63 (src line 376) - - -state 27 - logical_expr: bitwise_expr. (32) - bitwise_expr: bitwise_expr.bitwise_op opt_nl rel_expr - - BITAND shift 77 - XOR shift 79 - BITOR shift 78 - . reduce 32 (src line 255) - - bitwise_op goto 76 - -state 28 - logical_expr: match_expr. (33) - - . reduce 33 (src line 258) - - -state 29 - assign_expr: unary_expr.ASSIGN opt_nl logical_expr - assign_expr: unary_expr.ADD_ASSIGN opt_nl logical_expr - multiplicative_expr: unary_expr. (67) - - ADD_ASSIGN shift 81 - ASSIGN shift 80 - . reduce 67 (src line 398) - - -state 30 - match_expr: primary_expr.match_op opt_nl pattern_expr - match_expr: primary_expr.match_op opt_nl primary_expr - postfix_expr: primary_expr. (75) - - MATCH shift 83 - NOT_MATCH shift 84 - . reduce 75 (src line 429) - - match_op goto 82 - -state 31 - concat_expr: regex_pattern. (64) - - . reduce 64 (src line 384) - - -state 32 - bitwise_expr: rel_expr. (38) - rel_expr: rel_expr.rel_op opt_nl shift_expr - - LT shift 86 - GT shift 87 - LE shift 88 - GE shift 89 - EQ shift 90 - NE shift 91 - . reduce 38 (src line 278) - - rel_op goto 85 - -state 33 - unary_expr: NOT.unary_expr - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - LPAREN shift 39 - . reduce 129 (src line 742) - - primary_expr goto 94 - postfix_expr goto 93 - unary_expr goto 92 - indexed_expr goto 34 - id_expr goto 43 - builtin_expr goto 35 - mark_pos goto 95 - -state 34 - primary_expr: indexed_expr. (79) - indexed_expr: indexed_expr.LSQUARE arg_expr_list RSQUARE - - LSQUARE shift 96 - . reduce 79 (src line 446) - - -state 35 - primary_expr: builtin_expr. (80) - - . reduce 80 (src line 449) - - -state 36 - primary_expr: CAPREF. (81) - - . reduce 81 (src line 451) - - -state 37 - primary_expr: CAPREF_NAMED. (82) - - . reduce 82 (src line 455) - - -state 38 - primary_expr: STRING. (83) - - . reduce 83 (src line 459) - - -state 39 - primary_expr: LPAREN.logical_expr RPAREN - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - LPAREN shift 39 - . reduce 129 (src line 742) - - primary_expr goto 30 - multiplicative_expr goto 46 - additive_expr goto 44 - postfix_expr goto 93 - unary_expr goto 98 - rel_expr goto 32 - shift_expr goto 42 - bitwise_expr goto 27 - logical_expr goto 97 - indexed_expr goto 34 - id_expr goto 43 - match_expr goto 28 - builtin_expr goto 35 - mark_pos goto 95 - -state 40 - primary_expr: INTLITERAL. (85) - - . reduce 85 (src line 467) - - -state 41 - primary_expr: FLOATLITERAL. (86) - - . reduce 86 (src line 471) - - -state 42 - rel_expr: shift_expr. (43) - shift_expr: shift_expr.shift_op opt_nl additive_expr - - SHL shift 100 - SHR shift 101 - . reduce 43 (src line 297) - - shift_op goto 99 - -state 43 - indexed_expr: id_expr. (87) - - . reduce 87 (src line 478) - - -state 44 - shift_expr: additive_expr. (51) - additive_expr: additive_expr.add_op opt_nl multiplicative_expr - - MINUS shift 104 - PLUS shift 103 - . reduce 51 (src line 322) - - add_op goto 102 - -state 45 - id_expr: ID. (89) - - . reduce 89 (src line 494) - - -state 46 - additive_expr: multiplicative_expr. (55) - multiplicative_expr: multiplicative_expr.mul_op opt_nl unary_expr - - DIV shift 107 - MOD shift 108 - MUL shift 106 - POW shift 109 - . reduce 55 (src line 339) - - mul_op goto 105 - -state 47 - stmt: CONST id_expr.opt_nl concat_expr - opt_nl: . (131) - - NL shift 111 - . reduce 131 (src line 762) - - opt_nl goto 110 - -state 48 - log_filter_stmt: LOGFILTER log_filter_list. (15) - log_filter_list: log_filter_list.COMMA log_filter_expr - - COMMA shift 112 - . reduce 15 (src line 152) - - -state 49 - log_filter_list: log_filter_expr. (16) - - . reduce 16 (src line 162) - - -state 50 - log_filter_expr: id_or_string. (18) - - . reduce 18 (src line 175) - - -state 51 - id_or_string: ID. (127) - - . reduce 127 (src line 728) - - -state 52 - id_or_string: STRING. (128) - - . reduce 128 (src line 733) - - -state 53 - conditional_stmt: conditional_expr compound_stmt.ELSE compound_stmt - conditional_stmt: conditional_expr compound_stmt. (20) - - ELSE shift 113 - . reduce 20 (src line 186) - - -state 54 - compound_stmt: LCURLY.stmt_list RCURLY - stmt_list: . (2) - - . reduce 2 (src line 102) - - stmt_list goto 114 - -state 55 - conditional_stmt: mark_pos OTHERWISE.compound_stmt - - LCURLY shift 54 - . error - - compound_stmt goto 115 - -state 56 - builtin_expr: mark_pos BUILTIN.LPAREN RPAREN - builtin_expr: mark_pos BUILTIN.LPAREN arg_expr_list RPAREN - - LPAREN shift 116 - . error - - -state 57 - regex_pattern: mark_pos DIV.in_regex REGEX DIV - in_regex: . (130) - - . reduce 130 (src line 752) - - in_regex goto 117 - -state 58 - decorator_declaration: mark_pos DEF.ID compound_stmt - - ID shift 118 - . error - - -state 59 - decoration_stmt: mark_pos DECO.compound_stmt - - LCURLY shift 54 - . error - - compound_stmt goto 119 - -state 60 - delete_stmt: mark_pos DEL.postfix_expr AFTER DURATIONLITERAL - delete_stmt: mark_pos DEL.postfix_expr - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - LPAREN shift 39 - . reduce 129 (src line 742) - - primary_expr goto 94 - postfix_expr goto 120 - indexed_expr goto 34 - id_expr goto 43 - builtin_expr goto 35 - mark_pos goto 95 - -state 61 - expr_stmt: expr NL. (26) - - . reduce 26 (src line 222) - - -state 62 - metric_declaration: metric_hide_spec metric_type_spec.metric_decl_attr_spec - - STRING shift 124 - ID shift 123 - . error - - metric_decl_attr_spec goto 121 - metric_name_spec goto 122 - -state 63 - metric_type_spec: COUNTER. (107) - - . reduce 107 (src line 607) - - -state 64 - metric_type_spec: GAUGE. (108) - - . reduce 108 (src line 612) - - -state 65 - metric_type_spec: TIMER. (109) - - . reduce 109 (src line 616) - - -state 66 - metric_type_spec: TEXT. (110) - - . reduce 110 (src line 620) - - -state 67 - metric_type_spec: HISTOGRAM. (111) - - . reduce 111 (src line 624) - - -state 68 - conditional_expr: pattern_expr logical_op.opt_nl logical_expr - opt_nl: . (131) - - NL shift 111 - . reduce 131 (src line 762) - - opt_nl goto 125 - -state 69 - logical_op: AND. (36) - - . reduce 36 (src line 270) - - -state 70 - logical_op: OR. (37) - - . reduce 37 (src line 273) - - -state 71 - logical_expr: logical_expr logical_op.opt_nl bitwise_expr - logical_expr: logical_expr logical_op.opt_nl match_expr - opt_nl: . (131) - - NL shift 111 - . reduce 131 (src line 762) - - opt_nl goto 126 - -state 72 - postfix_expr: postfix_expr postfix_op. (76) - - . reduce 76 (src line 432) - - -state 73 - postfix_op: INC. (77) - - . reduce 77 (src line 438) - - -state 74 - postfix_op: DEC. (78) - - . reduce 78 (src line 441) - - -state 75 - concat_expr: concat_expr PLUS.opt_nl regex_pattern - concat_expr: concat_expr PLUS.opt_nl id_expr - opt_nl: . (131) - - NL shift 111 - . reduce 131 (src line 762) - - opt_nl goto 127 - -state 76 - bitwise_expr: bitwise_expr bitwise_op.opt_nl rel_expr - opt_nl: . (131) - - NL shift 111 - . reduce 131 (src line 762) - - opt_nl goto 128 - -state 77 - bitwise_op: BITAND. (40) - - . reduce 40 (src line 287) - - -state 78 - bitwise_op: BITOR. (41) - - . reduce 41 (src line 290) - - -state 79 - bitwise_op: XOR. (42) - - . reduce 42 (src line 292) - - -state 80 - assign_expr: unary_expr ASSIGN.opt_nl logical_expr - opt_nl: . (131) - - NL shift 111 - . reduce 131 (src line 762) - - opt_nl goto 129 - -state 81 - assign_expr: unary_expr ADD_ASSIGN.opt_nl logical_expr - opt_nl: . (131) - - NL shift 111 - . reduce 131 (src line 762) - - opt_nl goto 130 - -state 82 - match_expr: primary_expr match_op.opt_nl pattern_expr - match_expr: primary_expr match_op.opt_nl primary_expr - opt_nl: . (131) - - NL shift 111 - . reduce 131 (src line 762) - - opt_nl goto 131 - -state 83 - match_op: MATCH. (61) - - . reduce 61 (src line 367) - - -state 84 - match_op: NOT_MATCH. (62) - - . reduce 62 (src line 370) - - -state 85 - rel_expr: rel_expr rel_op.opt_nl shift_expr - opt_nl: . (131) - - NL shift 111 - . reduce 131 (src line 762) - - opt_nl goto 132 - -state 86 - rel_op: LT. (45) - - . reduce 45 (src line 306) - - -state 87 - rel_op: GT. (46) - - . reduce 46 (src line 309) - - -state 88 - rel_op: LE. (47) - - . reduce 47 (src line 311) - - -state 89 - rel_op: GE. (48) - - . reduce 48 (src line 313) - - -state 90 - rel_op: EQ. (49) - - . reduce 49 (src line 315) - - -state 91 - rel_op: NE. (50) - - . reduce 50 (src line 317) - - -state 92 - unary_expr: NOT unary_expr. (74) - - . reduce 74 (src line 422) - - -state 93 - unary_expr: postfix_expr. (73) - postfix_expr: postfix_expr.postfix_op - - INC shift 73 - DEC shift 74 - . reduce 73 (src line 419) - - postfix_op goto 72 - -state 94 - postfix_expr: primary_expr. (75) - - . reduce 75 (src line 429) - - -state 95 - builtin_expr: mark_pos.BUILTIN LPAREN RPAREN - builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN - - BUILTIN shift 56 - . error - - -state 96 - indexed_expr: indexed_expr LSQUARE.arg_expr_list RSQUARE - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - LPAREN shift 39 - . reduce 129 (src line 742) - - arg_expr_list goto 133 - primary_expr goto 30 - multiplicative_expr goto 46 - additive_expr goto 44 - postfix_expr goto 93 - unary_expr goto 98 - rel_expr goto 32 - shift_expr goto 42 - bitwise_expr goto 27 - logical_expr goto 135 - indexed_expr goto 34 - id_expr goto 43 - concat_expr goto 26 - pattern_expr goto 136 - regex_pattern goto 31 - match_expr goto 28 - builtin_expr goto 35 - arg_expr goto 134 - mark_pos goto 137 - -state 97 - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - primary_expr: LPAREN logical_expr.RPAREN - - AND shift 69 - OR shift 70 - RPAREN shift 138 - . error - - logical_op goto 71 - -state 98 - multiplicative_expr: unary_expr. (67) - - . reduce 67 (src line 398) - - -state 99 - shift_expr: shift_expr shift_op.opt_nl additive_expr - opt_nl: . (131) - - NL shift 111 - . reduce 131 (src line 762) - - opt_nl goto 139 - -state 100 - shift_op: SHL. (53) - - . reduce 53 (src line 331) - - -state 101 - shift_op: SHR. (54) - - . reduce 54 (src line 334) - - -state 102 - additive_expr: additive_expr add_op.opt_nl multiplicative_expr - opt_nl: . (131) - - NL shift 111 - . reduce 131 (src line 762) - - opt_nl goto 140 - -state 103 - add_op: PLUS. (57) - - . reduce 57 (src line 348) - - -state 104 - add_op: MINUS. (58) - - . reduce 58 (src line 351) - - -state 105 - multiplicative_expr: multiplicative_expr mul_op.opt_nl unary_expr - opt_nl: . (131) - - NL shift 111 - . reduce 131 (src line 762) - - opt_nl goto 141 - -state 106 - mul_op: MUL. (69) - - . reduce 69 (src line 407) - - -state 107 - mul_op: DIV. (70) - - . reduce 70 (src line 410) - - -state 108 - mul_op: MOD. (71) - - . reduce 71 (src line 412) - - -state 109 - mul_op: POW. (72) - - . reduce 72 (src line 414) - - -state 110 - stmt: CONST id_expr opt_nl.concat_expr - mark_pos: . (129) - - . reduce 129 (src line 742) - - concat_expr goto 142 - regex_pattern goto 31 - mark_pos goto 143 - -state 111 - opt_nl: NL. (132) - - . reduce 132 (src line 764) - - -state 112 - log_filter_list: log_filter_list COMMA.log_filter_expr - - STRING shift 52 - ID shift 51 - . error - - id_or_string goto 50 - log_filter_expr goto 144 - -state 113 - conditional_stmt: conditional_expr compound_stmt ELSE.compound_stmt - - LCURLY shift 54 - . error - - compound_stmt goto 145 - -state 114 - stmt_list: stmt_list.stmt - compound_stmt: LCURLY stmt_list.RCURLY - mark_pos: . (129) - metric_hide_spec: . (98) - - INVALID shift 14 - COUNTER reduce 98 (src line 555) - GAUGE reduce 98 (src line 555) - TIMER reduce 98 (src line 555) - TEXT reduce 98 (src line 555) - HISTOGRAM reduce 98 (src line 555) - CONST shift 12 - HIDDEN shift 25 - NEXT shift 11 - STOP shift 13 - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - RCURLY shift 146 - LPAREN shift 39 - NL shift 18 - LOGFILTER shift 15 - . reduce 129 (src line 742) - - stmt goto 3 - conditional_stmt goto 5 - conditional_expr goto 16 - expr_stmt goto 6 - expr goto 19 - primary_expr goto 30 - multiplicative_expr goto 46 - additive_expr goto 44 - postfix_expr goto 24 - unary_expr goto 29 - assign_expr goto 23 - rel_expr goto 32 - shift_expr goto 42 - bitwise_expr goto 27 - logical_expr goto 22 - indexed_expr goto 34 - id_expr goto 43 - concat_expr goto 26 - pattern_expr goto 21 - metric_declaration goto 7 - decorator_declaration goto 8 - decoration_stmt goto 9 - regex_pattern goto 31 - match_expr goto 28 - delete_stmt goto 10 - builtin_expr goto 35 - metric_hide_spec goto 20 - log_filter_stmt goto 4 - mark_pos goto 17 - -state 115 - conditional_stmt: mark_pos OTHERWISE compound_stmt. (21) - - . reduce 21 (src line 194) - - -state 116 - builtin_expr: mark_pos BUILTIN LPAREN.RPAREN - builtin_expr: mark_pos BUILTIN LPAREN.arg_expr_list RPAREN - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - LPAREN shift 39 - RPAREN shift 147 - . reduce 129 (src line 742) - - arg_expr_list goto 148 - primary_expr goto 30 - multiplicative_expr goto 46 - additive_expr goto 44 - postfix_expr goto 93 - unary_expr goto 98 - rel_expr goto 32 - shift_expr goto 42 - bitwise_expr goto 27 - logical_expr goto 135 - indexed_expr goto 34 - id_expr goto 43 - concat_expr goto 26 - pattern_expr goto 136 - regex_pattern goto 31 - match_expr goto 28 - builtin_expr goto 35 - arg_expr goto 134 - mark_pos goto 137 - -state 117 - regex_pattern: mark_pos DIV in_regex.REGEX DIV - - REGEX shift 149 - . error - - -state 118 - decorator_declaration: mark_pos DEF ID.compound_stmt - - LCURLY shift 54 - . error - - compound_stmt goto 150 - -state 119 - decoration_stmt: mark_pos DECO compound_stmt. (124) - - . reduce 124 (src line 709) - - -state 120 - postfix_expr: postfix_expr.postfix_op - delete_stmt: mark_pos DEL postfix_expr.AFTER DURATIONLITERAL - delete_stmt: mark_pos DEL postfix_expr. (126) - - AFTER shift 151 - INC shift 73 - DEC shift 74 - . reduce 126 (src line 722) - - postfix_op goto 72 - -state 121 - metric_declaration: metric_hide_spec metric_type_spec metric_decl_attr_spec. (97) - metric_decl_attr_spec: metric_decl_attr_spec.metric_by_spec - metric_decl_attr_spec: metric_decl_attr_spec.metric_as_spec - metric_decl_attr_spec: metric_decl_attr_spec.metric_buckets_spec - metric_decl_attr_spec: metric_decl_attr_spec.metric_limit_spec - - AS shift 157 - BY shift 156 - BUCKETS shift 158 - LIMIT shift 159 - . reduce 97 (src line 544) - - metric_limit_spec goto 155 - metric_as_spec goto 153 - metric_by_spec goto 152 - metric_buckets_spec goto 154 - -state 122 - metric_decl_attr_spec: metric_name_spec. (104) - - . reduce 104 (src line 588) - - -state 123 - metric_name_spec: ID. (105) - - . reduce 105 (src line 595) - - -state 124 - metric_name_spec: STRING. (106) - - . reduce 106 (src line 600) - - -state 125 - conditional_expr: pattern_expr logical_op opt_nl.logical_expr - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - LPAREN shift 39 - . reduce 129 (src line 742) - - primary_expr goto 30 - multiplicative_expr goto 46 - additive_expr goto 44 - postfix_expr goto 93 - unary_expr goto 98 - rel_expr goto 32 - shift_expr goto 42 - bitwise_expr goto 27 - logical_expr goto 160 - indexed_expr goto 34 - id_expr goto 43 - match_expr goto 28 - builtin_expr goto 35 - mark_pos goto 95 - -state 126 - logical_expr: logical_expr logical_op opt_nl.bitwise_expr - logical_expr: logical_expr logical_op opt_nl.match_expr - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - LPAREN shift 39 - . reduce 129 (src line 742) - - primary_expr goto 30 - multiplicative_expr goto 46 - additive_expr goto 44 - postfix_expr goto 93 - unary_expr goto 98 - rel_expr goto 32 - shift_expr goto 42 - bitwise_expr goto 161 - indexed_expr goto 34 - id_expr goto 43 - match_expr goto 162 - builtin_expr goto 35 - mark_pos goto 95 - -state 127 - concat_expr: concat_expr PLUS opt_nl.regex_pattern - concat_expr: concat_expr PLUS opt_nl.id_expr - mark_pos: . (129) - - ID shift 45 - . reduce 129 (src line 742) - - id_expr goto 164 - regex_pattern goto 163 - mark_pos goto 143 - -state 128 - bitwise_expr: bitwise_expr bitwise_op opt_nl.rel_expr - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - LPAREN shift 39 - . reduce 129 (src line 742) - - primary_expr goto 94 - multiplicative_expr goto 46 - additive_expr goto 44 - postfix_expr goto 93 - unary_expr goto 98 - rel_expr goto 165 - shift_expr goto 42 - indexed_expr goto 34 - id_expr goto 43 - builtin_expr goto 35 - mark_pos goto 95 - -state 129 - assign_expr: unary_expr ASSIGN opt_nl.logical_expr - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - LPAREN shift 39 - . reduce 129 (src line 742) - - primary_expr goto 30 - multiplicative_expr goto 46 - additive_expr goto 44 - postfix_expr goto 93 - unary_expr goto 98 - rel_expr goto 32 - shift_expr goto 42 - bitwise_expr goto 27 - logical_expr goto 166 - indexed_expr goto 34 - id_expr goto 43 - match_expr goto 28 - builtin_expr goto 35 - mark_pos goto 95 - -state 130 - assign_expr: unary_expr ADD_ASSIGN opt_nl.logical_expr - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - LPAREN shift 39 - . reduce 129 (src line 742) - - primary_expr goto 30 - multiplicative_expr goto 46 - additive_expr goto 44 - postfix_expr goto 93 - unary_expr goto 98 - rel_expr goto 32 - shift_expr goto 42 - bitwise_expr goto 27 - logical_expr goto 167 - indexed_expr goto 34 - id_expr goto 43 - match_expr goto 28 - builtin_expr goto 35 - mark_pos goto 95 - -state 131 - match_expr: primary_expr match_op opt_nl.pattern_expr - match_expr: primary_expr match_op opt_nl.primary_expr - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - LPAREN shift 39 - . reduce 129 (src line 742) - - primary_expr goto 169 - indexed_expr goto 34 - id_expr goto 43 - concat_expr goto 26 - pattern_expr goto 168 - regex_pattern goto 31 - builtin_expr goto 35 - mark_pos goto 137 - -state 132 - rel_expr: rel_expr rel_op opt_nl.shift_expr - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - LPAREN shift 39 - . reduce 129 (src line 742) - - primary_expr goto 94 - multiplicative_expr goto 46 - additive_expr goto 44 - postfix_expr goto 93 - unary_expr goto 98 - shift_expr goto 170 - indexed_expr goto 34 - id_expr goto 43 - builtin_expr goto 35 - mark_pos goto 95 - -state 133 - indexed_expr: indexed_expr LSQUARE arg_expr_list.RSQUARE - arg_expr_list: arg_expr_list.COMMA arg_expr - - RSQUARE shift 171 - COMMA shift 172 - . error - - -state 134 - arg_expr_list: arg_expr. (92) - - . reduce 92 (src line 515) - - -state 135 - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - arg_expr: logical_expr. (94) - - AND shift 69 - OR shift 70 - . reduce 94 (src line 528) - - logical_op goto 71 - -state 136 - arg_expr: pattern_expr. (95) - - . reduce 95 (src line 531) - - -state 137 - builtin_expr: mark_pos.BUILTIN LPAREN RPAREN - builtin_expr: mark_pos.BUILTIN LPAREN arg_expr_list RPAREN - regex_pattern: mark_pos.DIV in_regex REGEX DIV - - BUILTIN shift 56 - DIV shift 57 - . error - - -state 138 - primary_expr: LPAREN logical_expr RPAREN. (84) - - . reduce 84 (src line 463) - - -state 139 - shift_expr: shift_expr shift_op opt_nl.additive_expr - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - LPAREN shift 39 - . reduce 129 (src line 742) - - primary_expr goto 94 - multiplicative_expr goto 46 - additive_expr goto 173 - postfix_expr goto 93 - unary_expr goto 98 - indexed_expr goto 34 - id_expr goto 43 - builtin_expr goto 35 - mark_pos goto 95 - -state 140 - additive_expr: additive_expr add_op opt_nl.multiplicative_expr - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - LPAREN shift 39 - . reduce 129 (src line 742) - - primary_expr goto 94 - multiplicative_expr goto 174 - postfix_expr goto 93 - unary_expr goto 98 - indexed_expr goto 34 - id_expr goto 43 - builtin_expr goto 35 - mark_pos goto 95 - -state 141 - multiplicative_expr: multiplicative_expr mul_op opt_nl.unary_expr - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - LPAREN shift 39 - . reduce 129 (src line 742) - - primary_expr goto 94 - postfix_expr goto 93 - unary_expr goto 175 - indexed_expr goto 34 - id_expr goto 43 - builtin_expr goto 35 - mark_pos goto 95 - -state 142 - stmt: CONST id_expr opt_nl concat_expr. (12) - concat_expr: concat_expr.PLUS opt_nl regex_pattern - concat_expr: concat_expr.PLUS opt_nl id_expr - - PLUS shift 75 - . reduce 12 (src line 136) - - -state 143 - regex_pattern: mark_pos.DIV in_regex REGEX DIV - - DIV shift 57 - . error - - -state 144 - log_filter_list: log_filter_list COMMA log_filter_expr. (17) - - . reduce 17 (src line 168) - - -state 145 - conditional_stmt: conditional_expr compound_stmt ELSE compound_stmt. (19) - - . reduce 19 (src line 181) - - -state 146 - compound_stmt: LCURLY stmt_list RCURLY. (27) - - . reduce 27 (src line 227) - - -state 147 - builtin_expr: mark_pos BUILTIN LPAREN RPAREN. (90) - - . reduce 90 (src line 502) - - -state 148 - builtin_expr: mark_pos BUILTIN LPAREN arg_expr_list.RPAREN - arg_expr_list: arg_expr_list.COMMA arg_expr - - RPAREN shift 176 - COMMA shift 172 - . error - - -state 149 - regex_pattern: mark_pos DIV in_regex REGEX.DIV - - DIV shift 177 - . error - - -state 150 - decorator_declaration: mark_pos DEF ID compound_stmt. (123) - - . reduce 123 (src line 701) - - -state 151 - delete_stmt: mark_pos DEL postfix_expr AFTER.DURATIONLITERAL - - DURATIONLITERAL shift 178 - . error - - -state 152 - metric_decl_attr_spec: metric_decl_attr_spec metric_by_spec. (100) - - . reduce 100 (src line 567) - - -state 153 - metric_decl_attr_spec: metric_decl_attr_spec metric_as_spec. (101) - - . reduce 101 (src line 573) - - -state 154 - metric_decl_attr_spec: metric_decl_attr_spec metric_buckets_spec. (102) - - . reduce 102 (src line 578) - - -state 155 - metric_decl_attr_spec: metric_decl_attr_spec metric_limit_spec. (103) - - . reduce 103 (src line 583) - - -state 156 - metric_by_spec: BY.metric_by_expr_list - - STRING shift 52 - ID shift 51 - . error - - id_or_string goto 181 - metric_by_expr goto 180 - metric_by_expr_list goto 179 - -state 157 - metric_as_spec: AS.STRING - - STRING shift 182 - . error - - -state 158 - metric_buckets_spec: BUCKETS.metric_buckets_list - - INTLITERAL shift 185 - FLOATLITERAL shift 184 - . error - - metric_buckets_list goto 183 - -state 159 - metric_limit_spec: LIMIT.INTLITERAL - - INTLITERAL shift 186 - . error - - -state 160 - conditional_expr: pattern_expr logical_op opt_nl logical_expr. (23) - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - - AND shift 69 - OR shift 70 - . reduce 23 (src line 206) - - logical_op goto 71 - -state 161 - logical_expr: logical_expr logical_op opt_nl bitwise_expr. (34) - bitwise_expr: bitwise_expr.bitwise_op opt_nl rel_expr - - BITAND shift 77 - XOR shift 79 - BITOR shift 78 - . reduce 34 (src line 260) - - bitwise_op goto 76 - -state 162 - logical_expr: logical_expr logical_op opt_nl match_expr. (35) - - . reduce 35 (src line 264) - - -state 163 - concat_expr: concat_expr PLUS opt_nl regex_pattern. (65) - - . reduce 65 (src line 387) - - -state 164 - concat_expr: concat_expr PLUS opt_nl id_expr. (66) - - . reduce 66 (src line 391) - - -state 165 - bitwise_expr: bitwise_expr bitwise_op opt_nl rel_expr. (39) - rel_expr: rel_expr.rel_op opt_nl shift_expr - - LT shift 86 - GT shift 87 - LE shift 88 - GE shift 89 - EQ shift 90 - NE shift 91 - . reduce 39 (src line 281) - - rel_op goto 85 - -state 166 - assign_expr: unary_expr ASSIGN opt_nl logical_expr. (30) - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - - AND shift 69 - OR shift 70 - . reduce 30 (src line 243) - - logical_op goto 71 - -state 167 - assign_expr: unary_expr ADD_ASSIGN opt_nl logical_expr. (31) - logical_expr: logical_expr.logical_op opt_nl bitwise_expr - logical_expr: logical_expr.logical_op opt_nl match_expr - - AND shift 69 - OR shift 70 - . reduce 31 (src line 248) - - logical_op goto 71 - -state 168 - match_expr: primary_expr match_op opt_nl pattern_expr. (59) - - . reduce 59 (src line 356) - - -state 169 - match_expr: primary_expr match_op opt_nl primary_expr. (60) - - . reduce 60 (src line 361) - - -state 170 - rel_expr: rel_expr rel_op opt_nl shift_expr. (44) - shift_expr: shift_expr.shift_op opt_nl additive_expr - - SHL shift 100 - SHR shift 101 - . reduce 44 (src line 300) - - shift_op goto 99 - -state 171 - indexed_expr: indexed_expr LSQUARE arg_expr_list RSQUARE. (88) - - . reduce 88 (src line 484) - - -state 172 - arg_expr_list: arg_expr_list COMMA.arg_expr - mark_pos: . (129) - - STRING shift 38 - CAPREF shift 36 - CAPREF_NAMED shift 37 - ID shift 45 - INTLITERAL shift 40 - FLOATLITERAL shift 41 - NOT shift 33 - LPAREN shift 39 - . reduce 129 (src line 742) - - primary_expr goto 30 - multiplicative_expr goto 46 - additive_expr goto 44 - postfix_expr goto 93 - unary_expr goto 98 - rel_expr goto 32 - shift_expr goto 42 - bitwise_expr goto 27 - logical_expr goto 135 - indexed_expr goto 34 - id_expr goto 43 - concat_expr goto 26 - pattern_expr goto 136 - regex_pattern goto 31 - match_expr goto 28 - builtin_expr goto 35 - arg_expr goto 187 - mark_pos goto 137 - -state 173 - shift_expr: shift_expr shift_op opt_nl additive_expr. (52) - additive_expr: additive_expr.add_op opt_nl multiplicative_expr - - MINUS shift 104 - PLUS shift 103 - . reduce 52 (src line 325) - - add_op goto 102 - -state 174 - additive_expr: additive_expr add_op opt_nl multiplicative_expr. (56) - multiplicative_expr: multiplicative_expr.mul_op opt_nl unary_expr - - DIV shift 107 - MOD shift 108 - MUL shift 106 - POW shift 109 - . reduce 56 (src line 342) - - mul_op goto 105 - -state 175 - multiplicative_expr: multiplicative_expr mul_op opt_nl unary_expr. (68) - - . reduce 68 (src line 401) - - -state 176 - builtin_expr: mark_pos BUILTIN LPAREN arg_expr_list RPAREN. (91) - - . reduce 91 (src line 507) - - -state 177 - regex_pattern: mark_pos DIV in_regex REGEX DIV. (96) - - . reduce 96 (src line 536) - - -state 178 - delete_stmt: mark_pos DEL postfix_expr AFTER DURATIONLITERAL. (125) - - . reduce 125 (src line 717) - - -state 179 - metric_by_spec: BY metric_by_expr_list. (112) - metric_by_expr_list: metric_by_expr_list.COMMA metric_by_expr - - COMMA shift 188 - . reduce 112 (src line 631) - - -state 180 - metric_by_expr_list: metric_by_expr. (113) - - . reduce 113 (src line 638) - - -state 181 - metric_by_expr: id_or_string. (115) - - . reduce 115 (src line 651) - - -state 182 - metric_as_spec: AS STRING. (116) - - . reduce 116 (src line 657) - - -state 183 - metric_buckets_spec: BUCKETS metric_buckets_list. (118) - metric_buckets_list: metric_buckets_list.COMMA FLOATLITERAL - metric_buckets_list: metric_buckets_list.COMMA INTLITERAL - - COMMA shift 189 - . reduce 118 (src line 672) - - -state 184 - metric_buckets_list: FLOATLITERAL. (119) - - . reduce 119 (src line 678) - - -state 185 - metric_buckets_list: INTLITERAL. (120) - - . reduce 120 (src line 684) - - -state 186 - metric_limit_spec: LIMIT INTLITERAL. (117) - - . reduce 117 (src line 664) - - -state 187 - arg_expr_list: arg_expr_list COMMA arg_expr. (93) - - . reduce 93 (src line 521) - - -state 188 - metric_by_expr_list: metric_by_expr_list COMMA.metric_by_expr - - STRING shift 52 - ID shift 51 - . error - - id_or_string goto 181 - metric_by_expr goto 190 - -state 189 - metric_buckets_list: metric_buckets_list COMMA.FLOATLITERAL - metric_buckets_list: metric_buckets_list COMMA.INTLITERAL - - INTLITERAL shift 192 - FLOATLITERAL shift 191 - . error - - -state 190 - metric_by_expr_list: metric_by_expr_list COMMA metric_by_expr. (114) - - . reduce 114 (src line 644) - - -state 191 - metric_buckets_list: metric_buckets_list COMMA FLOATLITERAL. (121) - - . reduce 121 (src line 689) - - -state 192 - metric_buckets_list: metric_buckets_list COMMA INTLITERAL. (122) - - . reduce 122 (src line 694) - - -67 terminals, 58 nonterminals -133 grammar rules, 193/16000 states -0 shift/reduce, 0 reduce/reduce conflicts reported -107 working sets used -memory: parser 394/240000 -176 extra closures -289 shift entries, 13 exceptions -122 goto entries -194 entries saved by goto default -Optimizer space used: output 256/240000 -256 table entries, 0 zero -maximum spread: 67, maximum offset: 188 From b368a79035f7e2cb25c1635ba0ddd0b6d29be9af Mon Sep 17 00:00:00 2001 From: Jason Herbage Date: Tue, 1 Jul 2025 11:10:47 +0100 Subject: [PATCH 156/381] fixed more unit tests --- internal/tailer/logstream/fifostream_unix_test.go | 4 ++-- internal/tailer/logstream/filestream_unix_test.go | 6 +++--- internal/tailer/tail_test.go | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/internal/tailer/logstream/fifostream_unix_test.go b/internal/tailer/logstream/fifostream_unix_test.go index f60f58eab..761ddbeb4 100644 --- a/internal/tailer/logstream/fifostream_unix_test.go +++ b/internal/tailer/logstream/fifostream_unix_test.go @@ -164,8 +164,8 @@ func TestFifoStreamReadStdin(t *testing.T) { testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: "-", Line: "1", Filenamehash: logline.GetHash(name)}, - {Context: context.TODO(), Filename: "-", Line: "2", Filenamehash: logline.GetHash(name)}, + {Context: context.TODO(), Filename: "-", Line: "1", Filenamehash: logline.GetHash("-")}, + {Context: context.TODO(), Filename: "-", Line: "2", Filenamehash: logline.GetHash("-")}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, ps.Lines()) diff --git a/internal/tailer/logstream/filestream_unix_test.go b/internal/tailer/logstream/filestream_unix_test.go index 8dd8b3d60..753910e83 100644 --- a/internal/tailer/logstream/filestream_unix_test.go +++ b/internal/tailer/logstream/filestream_unix_test.go @@ -40,8 +40,8 @@ func TestFileStreamRotation(t *testing.T) { testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: name, Line: "1"}, - {Context: context.TODO(), Filename: name, Line: "2"}, + {Context: context.TODO(), Filename: name, Line: "1", Filenamehash: logline.GetHash(name)}, + {Context: context.TODO(), Filename: name, Line: "2", Filenamehash: logline.GetHash(name)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, fs.Lines()) @@ -89,7 +89,7 @@ func TestFileStreamURL(t *testing.T) { testutil.FatalIfErr(t, err) expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: name, Line: "yo"}, + {Context: context.TODO(), Filename: name, Line: "yo", Filenamehash: logline.GetHash(name)}, } checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, fs.Lines()) diff --git a/internal/tailer/tail_test.go b/internal/tailer/tail_test.go index 0cb579f67..ff7efc599 100644 --- a/internal/tailer/tail_test.go +++ b/internal/tailer/tail_test.go @@ -172,7 +172,7 @@ func TestHandleLogUpdatePartialLine(t *testing.T) { received := testutil.LinesReceived(ta.lines) expected := []*logline.LogLine{ - {Context: context.Background(), Filename: logfile, Line: "ab"}, + {Context: context.Background(), Filename: logfile, Line: "ab", Filenamehash: logline.GetHash(logfile)}, } testutil.ExpectNoDiff(t, expected, received, testutil.IgnoreFields(logline.LogLine{}, "Context")) } From a64a0c4dcd951727e8e80b7d42d1818e0bee4289 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Fri, 4 Jul 2025 09:10:19 +1000 Subject: [PATCH 157/381] ci: Tag benchmark tests and run them in the benchmark workflow. --- .github/workflows/benchmark.yml | 29 +++++++++-------------------- MODULE.bazel.lock | 25 +++++++++++++------------ internal/metrics/BUILD.bazel | 1 + internal/metrics/datum/BUILD.bazel | 1 + internal/mtail/BUILD.bazel | 1 + 5 files changed, 25 insertions(+), 32 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 7ba5dbdee..f36d54b66 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -9,30 +9,19 @@ on: jobs: benchmark: - if: ${{ false }} runs-on: ubuntu-latest permissions: # For benchmark-action comment-always pull-requests: write steps: - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 + - uses: bazel-contrib/setup-bazel@0.15.0 with: - go-version-file: 'go.mod' - cache: true - - run: make bench - env: - HEAD_REF: ${{ env.GITHUB_REF_NAME }} - - uses: actions/cache@v4 - with: - path: ./cache - key: ${{ runner.os }}-benchmark - - uses: benchmark-action/github-action-benchmark@v1.20.4 - with: - tool: 'go' - output-file-path: test-results/benchmark-results-${{ env.GITHUB_REF_NAME }}.txt - external-data-json-path: ./cache/benchmark-data.json - save-data-file: ${{ github.event_name != 'pull_request' }} - github-token: ${{ secrets.GITHUB_TOKEN }} - comment-on-alert: true - summary-always: true + bazelisk-cache: true + disk-cache: ${{ github.workflow }} + repository-cache: true + - run: bazel build --build_tag_filters=benchmark //... + - run: | + for target in $(bazel query "attr(tags, '\\bbenchmark\\b', //...)"); do + bazel run ${target} -- -test.bench + done diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index f414b6d7f..17fe8e789 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -11,8 +11,8 @@ "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/MODULE.bazel": "2b31ffcc9bdc8295b2167e07a757dbbc9ac8906e7028e5170a3708cecaac119f", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.1/MODULE.bazel": "5856d258da9d38d8b9c66e8eb7d4eff0a9770565b1014a483e14dd2fe5b55372", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.1/source.json": "74988e23bc5042325c783dcd1dc9ad006a66d747fb47553419befa03b133b91f", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.4/MODULE.bazel": "d39e4b18e594d81c526d7cfc513e7ecfa8ca9eb5b61488d1d790faa94b34f2d9", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.4/source.json": "506fa924e19fd8a33d617e33a17e4fce845f9ff9acb3a2aa7cf7300650698705", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.2/MODULE.bazel": "780d1a6522b28f5edb7ea09630748720721dfe27690d65a2d33aa7509de77e07", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838", "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", @@ -24,7 +24,8 @@ "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", - "https://bcr.bazel.build/modules/bazel_features/1.21.0/source.json": "3e8379efaaef53ce35b7b8ba419df829315a880cb0a030e5bb45c96d6d5ecb5f", + "https://bcr.bazel.build/modules/bazel_features/1.30.0/MODULE.bazel": "a14b62d05969a293b80257e72e597c2da7f717e1e69fa8b339703ed6731bec87", + "https://bcr.bazel.build/modules/bazel_features/1.30.0/source.json": "b07e17f067fe4f69f90b03b36ef1e08fe0d1f3cac254c1241a1818773e3423bc", "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", "https://bcr.bazel.build/modules/bazel_features/1.9.0/MODULE.bazel": "885151d58d90d8d9c811eb75e3288c11f850e1d6b481a8c9f766adee4712358b", "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", @@ -46,8 +47,8 @@ "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", - "https://bcr.bazel.build/modules/gazelle/0.43.0/MODULE.bazel": "846e1fe396eefc0f9ddad2b33e9bd364dd993fc2f42a88e31590fe0b0eefa3f0", - "https://bcr.bazel.build/modules/gazelle/0.43.0/source.json": "021a77f6625906d9d176e2fa351175e842622a5d45989312f2ad4924aab72df6", + "https://bcr.bazel.build/modules/gazelle/0.44.0/MODULE.bazel": "fd3177ca0938da57a1e416cad3f39b9c4334defbc717e89aba9d9ddbbb0341da", + "https://bcr.bazel.build/modules/gazelle/0.44.0/source.json": "7fb65ef9c1ce470d099ca27fd478673d9d64c844af28d0d472b0874c7d590cb6", "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", @@ -92,19 +93,19 @@ "https://bcr.bazel.build/modules/rules_cc/0.0.14/MODULE.bazel": "5e343a3aac88b8d7af3b1b6d2093b55c347b8eefc2e7d1442f7a02dc8fea48ac", "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", - "https://bcr.bazel.build/modules/rules_cc/0.0.17/MODULE.bazel": "2ae1d8f4238ec67d7185d8861cb0a2cdf4bc608697c331b95bf990e69b62e64a", - "https://bcr.bazel.build/modules/rules_cc/0.0.17/source.json": "4db99b3f55c90ab28d14552aa0632533e3e8e5e9aea0f5c24ac0014282c2a7c5", "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", + "https://bcr.bazel.build/modules/rules_cc/0.1.1/MODULE.bazel": "2f0222a6f229f0bf44cd711dc13c858dad98c62d52bd51d8fc3a764a83125513", + "https://bcr.bazel.build/modules/rules_cc/0.1.1/source.json": "d61627377bd7dd1da4652063e368d9366fc9a73920bfa396798ad92172cf645c", "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/MODULE.bazel": "40c97d1144356f52905566c55811f13b299453a14ac7769dfba2ac38192337a8", "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/source.json": "c8b1e2c717646f1702290959a3302a178fb639d987ab61d548105019f11e527e", "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel": "55861d8e8bb0e62cbd2896f60ff303f62ffcb0eddb74ecb0e5c0cbe36fc292c8", "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", - "https://bcr.bazel.build/modules/rules_go/0.50.1/MODULE.bazel": "b91a308dc5782bb0a8021ad4330c81fea5bda77f96b9e4c117b9b9c8f6665ee0", + "https://bcr.bazel.build/modules/rules_go/0.51.0/MODULE.bazel": "b6920f505935bfd69381651c942496d99b16e2a12f3dd5263b90ded16f3b4d0f", "https://bcr.bazel.build/modules/rules_go/0.55.1/MODULE.bazel": "a57a6fc59a74326c0b440d07cca209edf13c7d1a641e48cfbeab56e79f873609", "https://bcr.bazel.build/modules/rules_go/0.55.1/source.json": "827a740c8959c9d20616889e7746cde4dcc6ee80d25146943627ccea0736328f", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", @@ -118,8 +119,8 @@ "https://bcr.bazel.build/modules/rules_java/7.2.0/MODULE.bazel": "06c0334c9be61e6cef2c8c84a7800cef502063269a5af25ceb100b192453d4ab", "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel": "50dece891cfdf1741ea230d001aa9c14398062f2b7c066470accace78e412bc2", "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", - "https://bcr.bazel.build/modules/rules_java/8.11.0/MODULE.bazel": "c3d280bc5ff1038dcb3bacb95d3f6b83da8dd27bba57820ec89ea4085da767ad", - "https://bcr.bazel.build/modules/rules_java/8.11.0/source.json": "302b52a39259a85aa06ca3addb9787864ca3e03b432a5f964ea68244397e7544", + "https://bcr.bazel.build/modules/rules_java/8.12.0/MODULE.bazel": "8e6590b961f2defdfc2811c089c75716cb2f06c8a4edeb9a8d85eaa64ee2a761", + "https://bcr.bazel.build/modules/rules_java/8.12.0/source.json": "cbd5d55d9d38d4008a7d00bee5b5a5a4b6031fcd4a56515c9accbcd42c7be2ba", "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", @@ -177,8 +178,8 @@ "https://bcr.bazel.build/modules/yq.bzl/0.1.1/source.json": "2d2bad780a9f2b9195a4a370314d2c17ae95eaa745cefc2e12fbc49759b15aa3", "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", "https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", - "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/MODULE.bazel": "af322bc08976524477c79d1e45e241b6efbeb918c497e8840b8ab116802dda79", - "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/source.json": "2be409ac3c7601245958cd4fcdff4288be79ed23bd690b4b951f500d54ee6e7d", + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.5/MODULE.bazel": "eec517b5bbe5492629466e11dae908d043364302283de25581e3eb944326c4ca", + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.5/source.json": "22bc55c47af97246cfc093d0acf683a7869377de362b5d1c552c2c2e16b7a806", "https://bcr.bazel.build/modules/zlib/1.3.1/MODULE.bazel": "751c9940dcfe869f5f7274e1295422a34623555916eb98c174c1e945594bf198" }, "selectedYankedVersions": {}, diff --git a/internal/metrics/BUILD.bazel b/internal/metrics/BUILD.bazel index 0aa6b9ea4..cdefcbd35 100644 --- a/internal/metrics/BUILD.bazel +++ b/internal/metrics/BUILD.bazel @@ -26,6 +26,7 @@ go_test( "store_test.go", ], embed = [":metrics"], + tags = ["benchmark"], deps = [ "//internal/metrics/datum", "//internal/testutil", diff --git a/internal/metrics/datum/BUILD.bazel b/internal/metrics/datum/BUILD.bazel index 279354049..5e15ccc1c 100644 --- a/internal/metrics/datum/BUILD.bazel +++ b/internal/metrics/datum/BUILD.bazel @@ -22,5 +22,6 @@ go_test( "int_test.go", ], embed = [":datum"], + tags = ["benchmark"], deps = ["//internal/testutil"], ) diff --git a/internal/mtail/BUILD.bazel b/internal/mtail/BUILD.bazel index f1a5586ef..5f95676ac 100644 --- a/internal/mtail/BUILD.bazel +++ b/internal/mtail/BUILD.bazel @@ -62,6 +62,7 @@ go_test( "//examples", ], embed = [":mtail"], + tags = ["benchmark"], deps = [ "//internal/metrics", "//internal/metrics/datum", From 7d4f9bb57480de1b5265091bec736ea624e1ced7 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Tue, 8 Jul 2025 20:25:32 +1000 Subject: [PATCH 158/381] fix: test.bench needs an argument --- .github/workflows/benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index f36d54b66..d6ce901f3 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -23,5 +23,5 @@ jobs: - run: bazel build --build_tag_filters=benchmark //... - run: | for target in $(bazel query "attr(tags, '\\bbenchmark\\b', //...)"); do - bazel run ${target} -- -test.bench + bazel run ${target} -- -test.bench=.* done From b6e453c59fa223ef9081a7ae434ba46e8a8c2d1d Mon Sep 17 00:00:00 2001 From: Jason Herbage Date: Tue, 8 Jul 2025 13:30:16 +0100 Subject: [PATCH 159/381] include and exclude integration tests for log_filter --- examples/log_filter.mtail | 10 ++ examples/log_filter_ignore.mtail | 10 ++ internal/mtail/log_filter_integration_test.go | 120 ++++++++++++++++++ internal/mtail/testing.go | 1 + 4 files changed, 141 insertions(+) create mode 100644 examples/log_filter.mtail create mode 100644 examples/log_filter_ignore.mtail create mode 100644 internal/mtail/log_filter_integration_test.go diff --git a/examples/log_filter.mtail b/examples/log_filter.mtail new file mode 100644 index 000000000..def7365c4 --- /dev/null +++ b/examples/log_filter.mtail @@ -0,0 +1,10 @@ +# Copyright 2025 The mtail Authors. All Rights Reserved. +# This file is available under the Apache license. +# SPDX-License-Identifier: Apache-2.0 + +log_filter "<>" +counter lines_total + +/$/ { + lines_total++ +} diff --git a/examples/log_filter_ignore.mtail b/examples/log_filter_ignore.mtail new file mode 100644 index 000000000..63bdd02cd --- /dev/null +++ b/examples/log_filter_ignore.mtail @@ -0,0 +1,10 @@ +# Copyright 2025 The mtail Authors. All Rights Reserved. +# This file is available under the Apache license. +# SPDX-License-Identifier: Apache-2.0 + +log_filter "do_not_read_this_log" +counter lines_total + +/$/ { + lines_total++ +} diff --git a/internal/mtail/log_filter_integration_test.go b/internal/mtail/log_filter_integration_test.go new file mode 100644 index 000000000..8b17fddea --- /dev/null +++ b/internal/mtail/log_filter_integration_test.go @@ -0,0 +1,120 @@ +// Copyright 2019 Google Inc. All Rights Reserved. +// This file is available under the Apache license. + +package mtail_test + +import ( + "fmt" + "io/ioutil" + "path/filepath" + "strings" + "sync" + "testing" + + "github.com/jaqx0r/mtail/internal/mtail" + "github.com/jaqx0r/mtail/internal/testutil" +) + +func TestIncludeLog(t *testing.T) { + testutil.SkipIfShort(t) + + logDir := testutil.TestTempDir(t) + + // The logfile isn't known until now so we need to create out own Program Dir, copy in the program and update the log_filter + progDir := testutil.TestTempDir(t) + + content, err := ioutil.ReadFile("../../examples/log_filter.mtail") + testutil.FatalIfErr(t, err) + + logFile := filepath.Join(logDir, "log") + + updatedContent := strings.ReplaceAll(string(content), "<>", logFile) + + progFile := filepath.Join(progDir, "/test.mtail") + + // Write the updated content to the destination file + err = ioutil.WriteFile(progFile, []byte(updatedContent), 0644) + + testutil.FatalIfErr(t, err) + + // Verify the file was written correctly + writtenContent, err := ioutil.ReadFile(progFile) + testutil.FatalIfErr(t, err) + if string(writtenContent) != updatedContent { + t.Fatalf("File content mismatch: expected %q, got %q", updatedContent, string(writtenContent)) + } + + m, stopM := mtail.TestStartServer(t, 1, 1, mtail.LogPathPatterns(logFile), mtail.ProgramPath(progFile)) + defer stopM() + + lineCountCheck := m.ExpectMapExpvarDeltaWithDeadline("log_lines_total", logFile, 3) + progLineCountCheck := m.ExpectMapExpvarDeltaWithDeadline("prog_lines_total", "test.mtail", 3) + logCountCheck := m.ExpectExpvarDeltaWithDeadline("log_count", 1) + + f := testutil.TestOpenFile(t, logFile) + defer f.Close() + m.AwakenPatternPollers(1, 1) // Find `logFile` + m.AwakenLogStreams(1, 1) // Force a sync to EOF + + for i := 1; i <= 3; i++ { + testutil.WriteString(t, f, fmt.Sprintf("%d\n", i)) + } + m.AwakenLogStreams(1, 1) // Expect to read 3 lines here. + + var wg sync.WaitGroup + wg.Add(3) + go func() { + defer wg.Done() + lineCountCheck() + }() + go func() { + defer wg.Done() + logCountCheck() + }() + go func() { + defer wg.Done() + progLineCountCheck() + }() + wg.Wait() +} + +func TestExcludeLog(t *testing.T) { + testutil.SkipIfShort(t) + + logDir := testutil.TestTempDir(t) + + logFile := filepath.Join(logDir, "log") + + m, stopM := mtail.TestStartServer(t, 1, 1, mtail.LogPathPatterns(logFile), mtail.ProgramPath(mtail.ProgramPath("../../examples/log_filter_ignore.mtail"))) + defer stopM() + + lineCountCheck := m.ExpectMapExpvarDeltaWithDeadline("log_lines_total", logFile, 3) + progLineCountCheck := m.ExpectMapExpvarDeltaWithDeadline("prog_lines_total", "log_filter_ignore.mtail", 0) // not read + logCountCheck := m.ExpectExpvarDeltaWithDeadline("log_count", 1) + + f := testutil.TestOpenFile(t, logFile) + defer f.Close() + m.AwakenPatternPollers(1, 1) // Find `logFile` + m.AwakenLogStreams(1, 1) // Force a sync to EOF + + for i := 1; i <= 3; i++ { + testutil.WriteString(t, f, fmt.Sprintf("%d\n", i)) + } + m.AwakenLogStreams(1, 1) // Expect to read 3 lines here. + + var wg sync.WaitGroup + wg.Add(3) + go func() { + defer wg.Done() + lineCountCheck() + }() + go func() { + defer wg.Done() + logCountCheck() + }() + go func() { + defer wg.Done() + progLineCountCheck() + }() + wg.Wait() +} diff --git a/internal/mtail/testing.go b/internal/mtail/testing.go index 21a8a3624..d3aa60526 100644 --- a/internal/mtail/testing.go +++ b/internal/mtail/testing.go @@ -57,6 +57,7 @@ func TestMakeServer(tb testing.TB, patternWakers int, streamWakers int, options expvar.Get("log_closes_total").(*expvar.Map).Init() expvar.Get("file_truncates_total").(*expvar.Map).Init() expvar.Get("prog_loads_total").(*expvar.Map).Init() + expvar.Get("prog_lines_total").(*expvar.Map).Init() ctx, cancel := context.WithCancel(context.Background()) ts := &TestServer{ From 33714e56f24d6904cdbc36a15f18d7f7371e4450 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 8 Jul 2025 22:08:01 +0000 Subject: [PATCH 160/381] chore(deps): update dependency go to v1.24.5 --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 697f1114f..0630bf5a1 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/jaqx0r/mtail go 1.23.0 -toolchain go1.24.4 +toolchain go1.24.5 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 From 840e9d75af9df8522982150955e15e912a21d18a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Jul 2025 23:13:26 +0000 Subject: [PATCH 161/381] build(deps): bump golang.org/x/sys from 0.33.0 to 0.34.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.33.0 to 0.34.0. - [Commits](https://github.com/golang/sys/compare/v0.33.0...v0.34.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-version: 0.34.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 697f1114f..a59574cbe 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0 go.opentelemetry.io/otel/sdk v1.37.0 go.opentelemetry.io/otel/sdk/metric v1.37.0 - golang.org/x/sys v0.33.0 + golang.org/x/sys v0.34.0 golang.org/x/tools v0.34.0 ) diff --git a/go.sum b/go.sum index b22917bca..97bc1077b 100644 --- a/go.sum +++ b/go.sum @@ -258,8 +258,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= -golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= +golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From 4342d0848ab614bc539a5acd955b4b5789569100 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 23:06:29 +0000 Subject: [PATCH 162/381] build(deps): bump golang.org/x/tools from 0.34.0 to 0.35.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.34.0 to 0.35.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.34.0...v0.35.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.35.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index ef067fa05..da4e09006 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.37.0 go.opentelemetry.io/otel/sdk/metric v1.37.0 golang.org/x/sys v0.34.0 - golang.org/x/tools v0.34.0 + golang.org/x/tools v0.35.0 ) require ( @@ -39,9 +39,9 @@ require ( go.opentelemetry.io/otel/metric v1.37.0 // indirect go.opentelemetry.io/otel/trace v1.37.0 // indirect go.opentelemetry.io/proto/otlp v1.7.0 // indirect - golang.org/x/net v0.41.0 // indirect - golang.org/x/sync v0.15.0 // indirect - golang.org/x/text v0.26.0 // indirect + golang.org/x/net v0.42.0 // indirect + golang.org/x/sync v0.16.0 // indirect + golang.org/x/text v0.27.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect diff --git a/go.sum b/go.sum index 97bc1077b..0f3e79565 100644 --- a/go.sum +++ b/go.sum @@ -221,8 +221,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw= -golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= +golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= +golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -236,8 +236,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8= -golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -265,8 +265,8 @@ 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.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.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M= -golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= +golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= +golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -300,8 +300,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= -golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= +golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0= +golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From a2a974945c614a8a152ae5c07dd551215b1f5d19 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 16 Jul 2025 22:45:07 +0000 Subject: [PATCH 163/381] chore(deps): update dependency aspect_bazel_lib to v2.20.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 47702eede..a586af69a 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.19.4") +bazel_dep(name = "aspect_bazel_lib", version = "2.20.0") bazel_dep(name = "rules_oci", version = "2.2.6") bazel_dep(name = "platforms", version = "1.0.0") From f44178c7f1b625fbcc58d41aded5c7da7f5f2e06 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Jul 2025 23:15:45 +0000 Subject: [PATCH 164/381] build(deps): bump sigstore/cosign-installer from 3.9.1 to 3.9.2 --- updated-dependencies: - dependency-name: sigstore/cosign-installer dependency-version: 3.9.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3d3744456..3a26bf4f6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -138,7 +138,7 @@ jobs: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - uses: sigstore/cosign-installer@v3.9.1 + - uses: sigstore/cosign-installer@v3.9.2 - name: verify image env: IMAGE: ${{ matrix.image }} From af3cfe580c6844bd29415b0dffce9bc0b5621453 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 27 Jul 2025 18:45:30 +1000 Subject: [PATCH 165/381] ci: Install bencher and collect benchmarks with it. --- .github/workflows/benchmark.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index d6ce901f3..43cbf86c3 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -20,8 +20,11 @@ jobs: bazelisk-cache: true disk-cache: ${{ github.workflow }} repository-cache: true + - uses: bencherdev/bencher@main - run: bazel build --build_tag_filters=benchmark //... - run: | for target in $(bazel query "attr(tags, '\\bbenchmark\\b', //...)"); do - bazel run ${target} -- -test.bench=.* + bencher run \ + --adapter go_bench \ + bazel run ${target} -- -test.bench=.* done From 7980d3c1b7c99f2cefcbacaca045b7323635e306 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 31 Jul 2025 23:33:55 +0000 Subject: [PATCH 166/381] build(deps): bump github.com/prometheus/client_golang Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.22.0 to 1.23.0. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/v1.23.0/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.22.0...v1.23.0) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-version: 1.23.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index da4e09006..a20d615b6 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 - github.com/prometheus/client_golang v1.22.0 + github.com/prometheus/client_golang v1.23.0 github.com/prometheus/common v0.65.0 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.37.0 @@ -33,7 +33,7 @@ require ( github.com/kylelemons/godebug v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/prometheus/client_model v0.6.2 // indirect - github.com/prometheus/procfs v0.15.1 // indirect + github.com/prometheus/procfs v0.16.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/otel/metric v1.37.0 // indirect diff --git a/go.sum b/go.sum index 0f3e79565..5948d58f9 100644 --- a/go.sum +++ b/go.sum @@ -124,15 +124,15 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q= -github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= +github.com/prometheus/client_golang v1.23.0 h1:ust4zpdl9r4trLY/gSjlm07PuiBq2ynaXXlptpfy8Uc= +github.com/prometheus/client_golang v1.23.0/go.mod h1:i/o0R9ByOnHX0McrTMTyhYvKE4haaf2mW08I+jGAjEE= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE= github.com/prometheus/common v0.65.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= +github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= +github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= @@ -169,6 +169,8 @@ go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mx go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= go.opentelemetry.io/proto/otlp v1.7.0 h1:jX1VolD6nHuFzOYso2E73H85i92Mv8JQYk0K9vz09os= go.opentelemetry.io/proto/otlp v1.7.0/go.mod h1:fSKjH6YJ7HDlwzltzyMj036AJ3ejJLCgCSHGj4efDDo= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= From 9d35bf955ec32fe759aae0d567700f6c1ad4d03a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 23:34:42 +0000 Subject: [PATCH 167/381] chore(deps): update distroless_base docker digest to 007fbc0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index a586af69a..b6c940411 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:201ef9125ff3f55fda8e0697eff0b3ce9078366503ef066653635a3ac3ed9c26", + digest = "sha256:007fbc0e0df2f12b739e9032a45ade4c58be0c9981767c440da6c404418f3144", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From 4bc6926e4695a724027e0e8c69223582f51e83bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 23:54:22 +0000 Subject: [PATCH 168/381] build(deps): bump github.com/bazelbuild/rules_go from 0.55.1 to 0.56.0 Bumps [github.com/bazelbuild/rules_go](https://github.com/bazelbuild/rules_go) from 0.55.1 to 0.56.0. - [Release notes](https://github.com/bazelbuild/rules_go/releases) - [Commits](https://github.com/bazelbuild/rules_go/compare/v0.55.1...v0.56.0) --- updated-dependencies: - dependency-name: github.com/bazelbuild/rules_go dependency-version: 0.56.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a20d615b6..3ceadaac8 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.5 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 - github.com/bazelbuild/rules_go v0.55.1 + github.com/bazelbuild/rules_go v0.56.0 github.com/golang/glog v1.2.5 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 diff --git a/go.sum b/go.sum index 5948d58f9..3e6295e2e 100644 --- a/go.sum +++ b/go.sum @@ -25,8 +25,8 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXV 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/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/bazelbuild/rules_go v0.55.1 h1:cQYGcunY8myOB+0Ym6PGQRhc/milkRcNv0my3XgxaDU= -github.com/bazelbuild/rules_go v0.55.1/go.mod h1:T90Gpyq4HDFlsrvtQa2CBdHNJ2P4rAu/uUTmQbanzf0= +github.com/bazelbuild/rules_go v0.56.0 h1:Ow/oLK5NRhaooY2M2f1+fBiFlGPzmvA4TSaEHisL/RQ= +github.com/bazelbuild/rules_go v0.56.0/go.mod h1:T90Gpyq4HDFlsrvtQa2CBdHNJ2P4rAu/uUTmQbanzf0= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v5 v5.0.2 h1:rIfFVxEf1QsI7E1ZHfp/B4DF/6QBAUhmgkxc0H7Zss8= From c7f4cafc91c1d9e808f4da9085d4b7b988446531 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 3 Aug 2025 14:42:54 +1000 Subject: [PATCH 169/381] ci: Set bencher token. --- .github/workflows/benchmark.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 43cbf86c3..fe98ae20c 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -11,8 +11,8 @@ jobs: benchmark: runs-on: ubuntu-latest permissions: - # For benchmark-action comment-always - pull-requests: write + # Allo bencher to write to the checks API + checks: write steps: - uses: actions/checkout@v4 - uses: bazel-contrib/setup-bazel@0.15.0 @@ -26,5 +26,8 @@ jobs: for target in $(bazel query "attr(tags, '\\bbenchmark\\b', //...)"); do bencher run \ --adapter go_bench \ + --project mtail \ + --token '${{ secrets.BENCHER_API_TOKEN }}' \ + --github-actions '${{ secrets.GITHUB.TOKEN }}' \ bazel run ${target} -- -test.bench=.* done From 35ac43804669e400c669311f1cdbbd799a38fc2a Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 3 Aug 2025 17:45:05 +1000 Subject: [PATCH 170/381] ci: Separate benchmark run from upload. This follows the secure practice for running on a fork-pr. However unlike https://bencher.dev/docs/how-to/github-actions/ I've also factored out some reusable composite actions for running bazel benchmarks and for uploading the benchmark result artifact. --- .github/actions/bazel-benchmark/action.yml | 38 ++++++++++++++++++++++ .github/actions/bencher-run/action.yml | 25 ++++++++++++++ .github/workflows/benchmark-upload.yml | 18 ++++++++++ .github/workflows/benchmark.yml | 15 +-------- 4 files changed, 82 insertions(+), 14 deletions(-) create mode 100644 .github/actions/bazel-benchmark/action.yml create mode 100644 .github/actions/bencher-run/action.yml create mode 100644 .github/workflows/benchmark-upload.yml diff --git a/.github/actions/bazel-benchmark/action.yml b/.github/actions/bazel-benchmark/action.yml new file mode 100644 index 000000000..c20e899ae --- /dev/null +++ b/.github/actions/bazel-benchmark/action.yml @@ -0,0 +1,38 @@ +# Run benchmark tests under bazedl +# Assumes bazel exists, use `bazel-contrib/setup-bazel` before calling this action. +name: bazel benchmark +description: Run benchmarks under Bazel and save output +inputs: + build_tag_filters: + description: Tag to filter on to find benchmarks to build + required: true + default: benchmark + targets: + description: Bazel targets to build + required: true + default: //... + bazel_run_flags: + description: Flags to pass to Bazel to run the benchmarks + required: true + default: -test.bench=.* + output_artifact: + description: Name of the output artifact + required: true + default: benchmark_results +runs: + using: composite + steps: + - name: build benchmarks + run: bazel build --build_tag_filters=${{ inputs.build_tag_filters }} ${{ inputs.targets }} + shell: bash + - name: run benchmarks + shell: bash + run: | + for target in $(bazel query "attr(tags, '\\b${{ inputs.build_tag_filters }}\\b', ${{ inputs.targets }})"); do + bazel run ${target} -- ${{ inputs.bazel_run_flags }} + done | tee benchmark_results.txt + - name: upload benchmark results artfact + uses: actions/upload-artifact@v4 + with: + name: ${{ inputs.output_artifact }} + path: benchmark_results.txt diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml new file mode 100644 index 000000000..85c671cd2 --- /dev/null +++ b/.github/actions/bencher-run/action.yml @@ -0,0 +1,25 @@ +# Run bencher on a benchmark result artifact. +# Assumes BENCHER_API_TOKEN and GITHUB_TOKEN secrets exist. + +name: bencher run +description: Run bencher on a benchmark result artifact +inputs: + benchmark_results_artifact: + description: Name of the artifact to download, to find the benchmark results within. + required: true + default: benchmark_results +runs: + using: composite + steps: + - uses: bencherdev/bencher@main + - uses: actions/download-artifact@v4 + with: + name: ${{ inputs.benchmark_results_artifact }} + run_id: ${{ github.event.workflow_run.id || github.run_id }} + - name: bencher run + shell: bash + run: | + bencher run \ + --token ${{ secrets.BENCHER_API_TOKEN }} \ + --github-actions ${{ secrets.GITHUB_TOKEN }} \ + --file "${{ inputs.benchmark_results_action }} diff --git a/.github/workflows/benchmark-upload.yml b/.github/workflows/benchmark-upload.yml new file mode 100644 index 000000000..8ecf3a0bc --- /dev/null +++ b/.github/workflows/benchmark-upload.yml @@ -0,0 +1,18 @@ +name: benchmark-upload + +on: + workflow_run: + workflows: + - benchmark + types: + - completed + +jobs: + doit: + if: github.event.workflow_run.conclusion == 'success' + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: ./.github/actions/bencher-run + diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index fe98ae20c..e46f34b5a 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -10,9 +10,6 @@ on: jobs: benchmark: runs-on: ubuntu-latest - permissions: - # Allo bencher to write to the checks API - checks: write steps: - uses: actions/checkout@v4 - uses: bazel-contrib/setup-bazel@0.15.0 @@ -20,14 +17,4 @@ jobs: bazelisk-cache: true disk-cache: ${{ github.workflow }} repository-cache: true - - uses: bencherdev/bencher@main - - run: bazel build --build_tag_filters=benchmark //... - - run: | - for target in $(bazel query "attr(tags, '\\bbenchmark\\b', //...)"); do - bencher run \ - --adapter go_bench \ - --project mtail \ - --token '${{ secrets.BENCHER_API_TOKEN }}' \ - --github-actions '${{ secrets.GITHUB.TOKEN }}' \ - bazel run ${target} -- -test.bench=.* - done + - uses: ./.github/actions/bazel-benchmark From 93065647936ac320260f1840d12906334f5f051f Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 4 Aug 2025 14:04:25 +1000 Subject: [PATCH 171/381] ci: Set up concurrency on the ci, release, and benchmark workflows. --- .github/workflows/benchmark.yml | 4 ++++ .github/workflows/ci.yml | 4 ++++ .github/workflows/release.yml | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index e46f34b5a..79a295308 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -7,6 +7,10 @@ on: # Record on merges to main - main +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: benchmark: runs-on: ubuntu-latest diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dc88f91cb..71e084357 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,6 +9,10 @@ on: merge_group: workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + env: GOPROXY: "https://proxy.golang.org" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3a26bf4f6..9f0c2651f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,6 +6,10 @@ on: merge_group: push: # testing, unless there's a tag (steps.0.if below) +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + env: REGISTRY: ghcr.io From 80c584d7040d90bf9569edc3289c3d75f17ebacf Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 4 Aug 2025 16:11:31 +1000 Subject: [PATCH 172/381] ci: Check out the local action before trying to run it. --- .github/workflows/benchmark-upload.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/benchmark-upload.yml b/.github/workflows/benchmark-upload.yml index 8ecf3a0bc..b92494d93 100644 --- a/.github/workflows/benchmark-upload.yml +++ b/.github/workflows/benchmark-upload.yml @@ -14,5 +14,6 @@ jobs: permissions: pull-requests: write steps: + - uses: actions/checkout@v4 - uses: ./.github/actions/bencher-run From b5f033f9180cba1cae3f41da172bf24fef363247 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 4 Aug 2025 16:14:55 +1000 Subject: [PATCH 173/381] ci: Rename the upload job. --- .github/workflows/benchmark-upload.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmark-upload.yml b/.github/workflows/benchmark-upload.yml index b92494d93..4d1da7b5c 100644 --- a/.github/workflows/benchmark-upload.yml +++ b/.github/workflows/benchmark-upload.yml @@ -8,7 +8,7 @@ on: - completed jobs: - doit: + bencher-upload: if: github.event.workflow_run.conclusion == 'success' runs-on: ubuntu-latest permissions: From d75512d3b1d9b564ef5e181e035eec101ea922b2 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 4 Aug 2025 16:35:45 +1000 Subject: [PATCH 174/381] ci: Fix quoting in bencher-run command. --- .github/actions/bencher-run/action.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index 85c671cd2..471edb03f 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -20,6 +20,6 @@ runs: shell: bash run: | bencher run \ - --token ${{ secrets.BENCHER_API_TOKEN }} \ - --github-actions ${{ secrets.GITHUB_TOKEN }} \ - --file "${{ inputs.benchmark_results_action }} + --token '${{ secrets.BENCHER_API_TOKEN }}' \ + --github-actions '${{ secrets.GITHUB_TOKEN }}' \ + --file ${{ inputs.benchmark_results_action }} From 35d8415643c943a34fa1a98018ade3bc9b0a1b61 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 4 Aug 2025 17:02:29 +1000 Subject: [PATCH 175/381] ci: publish test results and upload coverage when not cancelled --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 71e084357..f46fc3f5a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,11 +51,11 @@ jobs: run: | bazel info bazel-testlogs output_path | sed -e 's/: /=/' >> $GITHUB_OUTPUT - uses: EnricoMi/publish-unit-test-result-action/linux@v2 - if: always() + if: (!cancelled()) with: files: ${{ steps.bazel_info.outputs.bazel-testlogs }}/**/test.xml - uses: codecov/codecov-action@v5 - if: always() + if: (!cancelled()) env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} with: From b9e18812443b1fa0fa06cb0fea0260cfa4d75fae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Aug 2025 15:33:42 +0000 Subject: [PATCH 176/381] chore(deps): update docker/login-action action to v3.5.0 --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9f0c2651f..d4e32d14c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -41,7 +41,7 @@ jobs: with: go-version-file: 'go.mod' cache: true - - uses: docker/login-action@v3.4.0 + - uses: docker/login-action@v3.5.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -137,7 +137,7 @@ jobs: strategy: matrix: ${{ fromJSON(needs.goreleaser.outputs.image_subjects) }} steps: - - uses: docker/login-action@v3.4.0 + - uses: docker/login-action@v3.5.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} From 368572b31268ab8e69e0a62d0e6cdfbf78380d88 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Aug 2025 17:39:38 +0000 Subject: [PATCH 177/381] chore(deps): update distroless_base docker digest to 1951bed --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index b6c940411..dd48cca9b 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:007fbc0e0df2f12b739e9032a45ade4c58be0c9981767c440da6c404418f3144", + digest = "sha256:1951bedd9ab20dd71a5ab11b3f5a624863d7af4109f299d62289928b9e311d5d", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From c3bd8889283023ad10345821c0aa9755c17087a2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 00:46:02 +0000 Subject: [PATCH 178/381] chore(deps): update dependency rules_go to v0.56.1 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index dd48cca9b..cbaf02a1b 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -3,7 +3,7 @@ module( version = "3", ) -bazel_dep(name = "rules_go", version = "0.55.1") +bazel_dep(name = "rules_go", version = "0.56.1") go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") go_sdk.from_file(go_mod = "//:go.mod") From cfb89733c7868bd86e586fbdea160612d765d8d7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 07:02:50 +0000 Subject: [PATCH 179/381] build(deps): bump github.com/bazelbuild/rules_go from 0.56.0 to 0.56.1 Bumps [github.com/bazelbuild/rules_go](https://github.com/bazelbuild/rules_go) from 0.56.0 to 0.56.1. - [Release notes](https://github.com/bazelbuild/rules_go/releases) - [Commits](https://github.com/bazelbuild/rules_go/compare/v0.56.0...v0.56.1) --- updated-dependencies: - dependency-name: github.com/bazelbuild/rules_go dependency-version: 0.56.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3ceadaac8..5e3a505e8 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.5 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 - github.com/bazelbuild/rules_go v0.56.0 + github.com/bazelbuild/rules_go v0.56.1 github.com/golang/glog v1.2.5 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 diff --git a/go.sum b/go.sum index 3e6295e2e..952ccb420 100644 --- a/go.sum +++ b/go.sum @@ -25,8 +25,8 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXV 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/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/bazelbuild/rules_go v0.56.0 h1:Ow/oLK5NRhaooY2M2f1+fBiFlGPzmvA4TSaEHisL/RQ= -github.com/bazelbuild/rules_go v0.56.0/go.mod h1:T90Gpyq4HDFlsrvtQa2CBdHNJ2P4rAu/uUTmQbanzf0= +github.com/bazelbuild/rules_go v0.56.1 h1:YOyW1J8kdvJl1AzlWrR+qikC6EPiFVbT4l1gjTBfXT0= +github.com/bazelbuild/rules_go v0.56.1/go.mod h1:T90Gpyq4HDFlsrvtQa2CBdHNJ2P4rAu/uUTmQbanzf0= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v5 v5.0.2 h1:rIfFVxEf1QsI7E1ZHfp/B4DF/6QBAUhmgkxc0H7Zss8= From 2cfd9dcf96418dfbd9bb4583e571df65395fc48b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 16:53:05 +0000 Subject: [PATCH 180/381] chore(deps): update dependency gazelle to v0.45.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index cbaf02a1b..178023552 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -12,7 +12,7 @@ go_sdk.from_file(go_mod = "//:go.mod") # Like golangci-lint, but integrated into the build. go_sdk.nogo(nogo = "//:nogo") -bazel_dep(name = "gazelle", version = "0.44.0") +bazel_dep(name = "gazelle", version = "0.45.0") # Update dependencies with # `bazel run //:gazelle`. From efdef33a3e638b7b1a51ed0ee7c0d00c7af140a7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 22:54:55 +0000 Subject: [PATCH 181/381] chore(deps): update actions/download-artifact action to v5 --- .github/actions/bencher-run/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index 471edb03f..c45534d17 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -12,7 +12,7 @@ runs: using: composite steps: - uses: bencherdev/bencher@main - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v5 with: name: ${{ inputs.benchmark_results_artifact }} run_id: ${{ github.event.workflow_run.id || github.run_id }} From e1f0ea9cec377584f3f21feabe09cc28c487b94a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Aug 2025 23:26:41 +0000 Subject: [PATCH 182/381] build(deps): bump golang.org/x/sys from 0.34.0 to 0.35.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.34.0 to 0.35.0. - [Commits](https://github.com/golang/sys/compare/v0.34.0...v0.35.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-version: 0.35.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5e3a505e8..f028b58e4 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0 go.opentelemetry.io/otel/sdk v1.37.0 go.opentelemetry.io/otel/sdk/metric v1.37.0 - golang.org/x/sys v0.34.0 + golang.org/x/sys v0.35.0 golang.org/x/tools v0.35.0 ) diff --git a/go.sum b/go.sum index 952ccb420..c5a636818 100644 --- a/go.sum +++ b/go.sum @@ -260,8 +260,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= -golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From f6990a4f70a58f2fa36f147c39b5a1c46d3ac4ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Aug 2025 23:31:22 +0000 Subject: [PATCH 183/381] build(deps): bump golang.org/x/tools from 0.35.0 to 0.36.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.35.0 to 0.36.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.35.0...v0.36.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.36.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index f028b58e4..c1116f784 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.37.0 go.opentelemetry.io/otel/sdk/metric v1.37.0 golang.org/x/sys v0.35.0 - golang.org/x/tools v0.35.0 + golang.org/x/tools v0.36.0 ) require ( @@ -39,9 +39,9 @@ require ( go.opentelemetry.io/otel/metric v1.37.0 // indirect go.opentelemetry.io/otel/trace v1.37.0 // indirect go.opentelemetry.io/proto/otlp v1.7.0 // indirect - golang.org/x/net v0.42.0 // indirect + golang.org/x/net v0.43.0 // indirect golang.org/x/sync v0.16.0 // indirect - golang.org/x/text v0.27.0 // indirect + golang.org/x/text v0.28.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect diff --git a/go.sum b/go.sum index c5a636818..5a7adc2fb 100644 --- a/go.sum +++ b/go.sum @@ -223,8 +223,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= -golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= +golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= +golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -267,8 +267,8 @@ 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.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.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= -golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= +golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= +golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -302,8 +302,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0= -golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= +golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 78862d0c021fabfc68e06f8c677aa1c48dbfb1e8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Aug 2025 05:10:49 +0000 Subject: [PATCH 184/381] chore(deps): update distroless_base docker digest to 4f6e739 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 178023552..956b24f76 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:1951bedd9ab20dd71a5ab11b3f5a624863d7af4109f299d62289928b9e311d5d", + digest = "sha256:4f6e739881403e7d50f52a4e574c4e3c88266031fd555303ee2f1ba262523d6a", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From e6abe167303ddc022094e0b5d047f20742f7c17d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Aug 2025 13:54:43 +0000 Subject: [PATCH 185/381] chore(deps): update dependency go to v1.24.6 --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index c1116f784..8ceb2f91e 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/jaqx0r/mtail go 1.23.0 -toolchain go1.24.5 +toolchain go1.24.6 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 From d18cc830bbaf623111a8ccf9a9d88e1d3879a525 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 11 Aug 2025 17:32:21 +0000 Subject: [PATCH 186/381] chore(deps): update actions/checkout action to v5 --- .github/workflows/benchmark-upload.yml | 2 +- .github/workflows/benchmark.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/tag-new-release.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/benchmark-upload.yml b/.github/workflows/benchmark-upload.yml index 4d1da7b5c..609f3eec3 100644 --- a/.github/workflows/benchmark-upload.yml +++ b/.github/workflows/benchmark-upload.yml @@ -14,6 +14,6 @@ jobs: permissions: pull-requests: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ./.github/actions/bencher-run diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 79a295308..b2f331f61 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -15,7 +15,7 @@ jobs: benchmark: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: bazel-contrib/setup-bazel@0.15.0 with: bazelisk-cache: true diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 71e084357..4a31b843a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,7 +33,7 @@ jobs: # and writes to the checks API checks: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: bazel-contrib/setup-bazel@0.15.0 with: # Avoid downloading Bazel each time diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d4e32d14c..ce9d9a67f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,7 +33,7 @@ jobs: run: echo $GITHUB_CONTEXT - if: ${{ !startsWith(github.ref, 'refs/tags/') }} run: echo "flags=--snapshot" >> $GITHUB_ENV - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 - run: git fetch --force --tags diff --git a/.github/workflows/tag-new-release.yml b/.github/workflows/tag-new-release.yml index 24ccf41b6..6347e790e 100644 --- a/.github/workflows/tag-new-release.yml +++ b/.github/workflows/tag-new-release.yml @@ -13,7 +13,7 @@ jobs: permissions: contents: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: mathieudutour/github-tag-action@v6.2 continue-on-error: true # ok to not make a new tag with: From afcc1a097059de9d432cc8303ec79a5cbbb5575d Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Tue, 12 Aug 2025 03:49:01 +1000 Subject: [PATCH 187/381] ci: Pass BENCHER_API_TOKEN to the composite action. --- .github/actions/bencher-run/action.yml | 7 +++++-- .github/workflows/benchmark-upload.yml | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index c45534d17..e465ea1b7 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -4,6 +4,9 @@ name: bencher run description: Run bencher on a benchmark result artifact inputs: + BENCHER_API_TOKEN: + description: Token to interact with Bencher.dev + required: true benchmark_results_artifact: description: Name of the artifact to download, to find the benchmark results within. required: true @@ -20,6 +23,6 @@ runs: shell: bash run: | bencher run \ - --token '${{ secrets.BENCHER_API_TOKEN }}' \ - --github-actions '${{ secrets.GITHUB_TOKEN }}' \ + --token '${{ inputs.BENCHER_API_TOKEN }}' \ + --github-actions '${{ github.token }}' \ --file ${{ inputs.benchmark_results_action }} diff --git a/.github/workflows/benchmark-upload.yml b/.github/workflows/benchmark-upload.yml index 4d1da7b5c..6479a6ddd 100644 --- a/.github/workflows/benchmark-upload.yml +++ b/.github/workflows/benchmark-upload.yml @@ -16,4 +16,6 @@ jobs: steps: - uses: actions/checkout@v4 - uses: ./.github/actions/bencher-run + with: + BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }} From 5b51a3a34c9e48716ca14c020b3407c174bb1f41 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 13 Aug 2025 06:47:57 +1000 Subject: [PATCH 188/381] ci: Pass the github trigger event between workflows. Parse the event and turn into bencher flags. --- .github/actions/bencher-run/action.yml | 26 +++++++++++++++++++++++++- .github/workflows/benchmark.yml | 4 ++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index e465ea1b7..6b0ddf3f4 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -11,6 +11,10 @@ inputs: description: Name of the artifact to download, to find the benchmark results within. required: true default: benchmark_results + workflow_event: + description: Name of the workflow trigger event json to download + required: true + default: event.json runs: using: composite steps: @@ -18,11 +22,31 @@ runs: - uses: actions/download-artifact@v5 with: name: ${{ inputs.benchmark_results_artifact }} - run_id: ${{ github.event.workflow_run.id || github.run_id }} + run-id: ${{ github.event.workflow_run.id || github.run_id }} + - uses: actions/download-artifact@v4 + with: + name: ${{ inputs.workflow_event }} + run-id: ${{ github.event.workflow_run.id || github.run_id }} + - uses: actions/github-script@v6 + with: + script: | + let fs = require('fs') + let event = JSON.parse(fs.readFileSync(github.event.inputs.workflow_event, {encoding: 'utf8'})); + flags = []; + if (!!event.pull_request) { + flags.push("--branch", event.pull_request.head.ref); + flags.push("--hash", event.pull_request.head.sha); + flags.push("--start-point", event.pull_request.base.ref); + flags.push("--start-point-hash", event.pull_request.head.sha); + flags.push("--start-point-clone-thresholds") + flags.push("--start-point-reset") + flags.push("--ci-number", event.number); + core.exportVariable("BENCHER_FLAGS", flags.join(" ")); - name: bencher run shell: bash run: | bencher run \ --token '${{ inputs.BENCHER_API_TOKEN }}' \ --github-actions '${{ github.token }}' \ + ${{ BENCHER_FLAGS }} \ --file ${{ inputs.benchmark_results_action }} diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index b2f331f61..e93a280f6 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -22,3 +22,7 @@ jobs: disk-cache: ${{ github.workflow }} repository-cache: true - uses: ./.github/actions/bazel-benchmark + - uses: actions/upload-artifact@v4 + with: + name: event.json + path: ${{ github.event_path }} From e73fd15ff7e30fbe64756f26482fb2dafb93b30b Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 13 Aug 2025 07:22:11 +1000 Subject: [PATCH 189/381] ci: Fix typo. --- .github/actions/bencher-run/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index 6b0ddf3f4..c74f65fd2 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -48,5 +48,5 @@ runs: bencher run \ --token '${{ inputs.BENCHER_API_TOKEN }}' \ --github-actions '${{ github.token }}' \ - ${{ BENCHER_FLAGS }} \ + $BENCHER_FLAGS \ --file ${{ inputs.benchmark_results_action }} From c5e5d8578c8c0f25249e0cdfc95cc5af2fa4504c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 21:34:14 +0000 Subject: [PATCH 190/381] chore(deps): update actions/download-artifact action to v5 --- .github/actions/bencher-run/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index c74f65fd2..00683217f 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -23,7 +23,7 @@ runs: with: name: ${{ inputs.benchmark_results_artifact }} run-id: ${{ github.event.workflow_run.id || github.run_id }} - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v5 with: name: ${{ inputs.workflow_event }} run-id: ${{ github.event.workflow_run.id || github.run_id }} From ddd2d62181a287e762bb284d1bfd2403774df746 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 22:55:32 +0000 Subject: [PATCH 191/381] chore(deps): update actions/github-script action to v7 --- .github/actions/bencher-run/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index 00683217f..a2d303e98 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -27,7 +27,7 @@ runs: with: name: ${{ inputs.workflow_event }} run-id: ${{ github.event.workflow_run.id || github.run_id }} - - uses: actions/github-script@v6 + - uses: actions/github-script@v7 with: script: | let fs = require('fs') From dd763ad438c4b3972b08dcac92709a6cbd071346 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 14 Aug 2025 06:03:55 +1000 Subject: [PATCH 192/381] ci: Set permissions for actions: read on upload workflow. --- .github/actions/bencher-run/action.yml | 4 ++-- .github/workflows/benchmark-upload.yml | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index a2d303e98..9c631af20 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -22,11 +22,11 @@ runs: - uses: actions/download-artifact@v5 with: name: ${{ inputs.benchmark_results_artifact }} - run-id: ${{ github.event.workflow_run.id || github.run_id }} + run-id: ${{ github.event.workflow_run.id }} - uses: actions/download-artifact@v5 with: name: ${{ inputs.workflow_event }} - run-id: ${{ github.event.workflow_run.id || github.run_id }} + run-id: ${{ github.event.workflow_run.id }} - uses: actions/github-script@v7 with: script: | diff --git a/.github/workflows/benchmark-upload.yml b/.github/workflows/benchmark-upload.yml index 5fc8cbf10..26b665b08 100644 --- a/.github/workflows/benchmark-upload.yml +++ b/.github/workflows/benchmark-upload.yml @@ -13,6 +13,7 @@ jobs: runs-on: ubuntu-latest permissions: pull-requests: write + actions: read steps: - uses: actions/checkout@v5 - uses: ./.github/actions/bencher-run From e2469ac5990229bcf86a7c45bc9ab06652e34293 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 14 Aug 2025 06:41:18 +1000 Subject: [PATCH 193/381] ci: Specify token to allow fetch from another workflow. --- .github/actions/bencher-run/action.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index 9c631af20..92bea8c60 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -23,10 +23,12 @@ runs: with: name: ${{ inputs.benchmark_results_artifact }} run-id: ${{ github.event.workflow_run.id }} + github-token: ${{ github.token }} - uses: actions/download-artifact@v5 with: name: ${{ inputs.workflow_event }} run-id: ${{ github.event.workflow_run.id }} + github-token: ${{ github.token }} - uses: actions/github-script@v7 with: script: | From 4a6ad501b61f776d29f7404544816781ecd7aabf Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 14 Aug 2025 08:06:53 +1000 Subject: [PATCH 194/381] ci: Fix syntax error. --- .github/actions/bencher-run/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index 92bea8c60..14025aaf4 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -32,7 +32,7 @@ runs: - uses: actions/github-script@v7 with: script: | - let fs = require('fs') + let fs = require('fs'); let event = JSON.parse(fs.readFileSync(github.event.inputs.workflow_event, {encoding: 'utf8'})); flags = []; if (!!event.pull_request) { From b5b93609f37502212172a08bbbf1858ec2378bb7 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 14 Aug 2025 08:45:35 +1000 Subject: [PATCH 195/381] ci: Fix another fucking typo. Why are GitHub actions the worst? --- .github/actions/bencher-run/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index 14025aaf4..0d1aae245 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -43,6 +43,7 @@ runs: flags.push("--start-point-clone-thresholds") flags.push("--start-point-reset") flags.push("--ci-number", event.number); + } core.exportVariable("BENCHER_FLAGS", flags.join(" ")); - name: bencher run shell: bash From 4095253440fad5409f0220cd1ca97f58e1ad9207 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 14 Aug 2025 08:53:56 +1000 Subject: [PATCH 196/381] =?UTF-8?q?ci:=20=F0=9F=98=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/actions/bencher-run/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index 0d1aae245..64e653649 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -43,7 +43,7 @@ runs: flags.push("--start-point-clone-thresholds") flags.push("--start-point-reset") flags.push("--ci-number", event.number); - } + } core.exportVariable("BENCHER_FLAGS", flags.join(" ")); - name: bencher run shell: bash From 03aec6070b83ce6f2c675bea29371cc6f7b00fe2 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 14 Aug 2025 12:09:37 +1000 Subject: [PATCH 197/381] ci: Fetch input correctly --- .github/actions/bencher-run/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index 64e653649..ea53fedf5 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -33,7 +33,7 @@ runs: with: script: | let fs = require('fs'); - let event = JSON.parse(fs.readFileSync(github.event.inputs.workflow_event, {encoding: 'utf8'})); + let event = JSON.parse(fs.readFileSync(core.getInput('workflow_event'), {encoding: 'utf8'})); flags = []; if (!!event.pull_request) { flags.push("--branch", event.pull_request.head.ref); From 79274ea51776f5ddb27e98b775c139cc2ed2d63f Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 14 Aug 2025 17:29:50 +1000 Subject: [PATCH 198/381] ci: Use an environment variable to pass the event. --- .github/actions/bencher-run/action.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index ea53fedf5..babb2b8c9 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -30,10 +30,13 @@ runs: run-id: ${{ github.event.workflow_run.id }} github-token: ${{ github.token }} - uses: actions/github-script@v7 + env: + EVT: ${{ inputs.workflow_event }} with: script: | let fs = require('fs'); - let event = JSON.parse(fs.readFileSync(core.getInput('workflow_event'), {encoding: 'utf8'})); + let event = JSON.parse(fs.readFileSync(process +env.EVT, {encoding: 'utf8'})); flags = []; if (!!event.pull_request) { flags.push("--branch", event.pull_request.head.ref); From 6d80e0db4cee43114186ccff833bdb65d7ecf85f Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Thu, 14 Aug 2025 17:37:30 +1000 Subject: [PATCH 199/381] =?UTF-8?q?ci:=20=F0=9F=98=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/actions/bencher-run/action.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index babb2b8c9..5b5378055 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -35,8 +35,7 @@ runs: with: script: | let fs = require('fs'); - let event = JSON.parse(fs.readFileSync(process -env.EVT, {encoding: 'utf8'})); + let event = JSON.parse(fs.readFileSync(process.env.EVT, {encoding: 'utf8'})); flags = []; if (!!event.pull_request) { flags.push("--branch", event.pull_request.head.ref); From 4a6ec533d57ac61f34ed5c104b290259d7b08edd Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Fri, 15 Aug 2025 17:08:15 +1000 Subject: [PATCH 200/381] ci: Fix a typo in the name of the input. Why is this error even allowed by the validator?? --- .github/actions/bencher-run/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index 5b5378055..4a396af5c 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -54,4 +54,4 @@ runs: --token '${{ inputs.BENCHER_API_TOKEN }}' \ --github-actions '${{ github.token }}' \ $BENCHER_FLAGS \ - --file ${{ inputs.benchmark_results_action }} + --file ${{ inputs.benchmark_results_artifact }} From 0f29fb55a3af09d831950be9d03097e06a8e0720 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Fri, 15 Aug 2025 17:17:40 +1000 Subject: [PATCH 201/381] ci: Fix path to download --- .github/actions/bazel-benchmark/action.yml | 2 +- .github/actions/bencher-run/action.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/bazel-benchmark/action.yml b/.github/actions/bazel-benchmark/action.yml index c20e899ae..380b74258 100644 --- a/.github/actions/bazel-benchmark/action.yml +++ b/.github/actions/bazel-benchmark/action.yml @@ -18,7 +18,7 @@ inputs: output_artifact: description: Name of the output artifact required: true - default: benchmark_results + default: benchmark_results.txt runs: using: composite steps: diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index 4a396af5c..7c1830f2e 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -10,7 +10,7 @@ inputs: benchmark_results_artifact: description: Name of the artifact to download, to find the benchmark results within. required: true - default: benchmark_results + default: benchmark_results.txt workflow_event: description: Name of the workflow trigger event json to download required: true From de516ac526982e10c6d26bd9ce2b83d0e9ec9198 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Fri, 15 Aug 2025 17:24:35 +1000 Subject: [PATCH 202/381] ci: Allow checks:write to the bencher upload workflow. --- .github/workflows/benchmark-upload.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/benchmark-upload.yml b/.github/workflows/benchmark-upload.yml index 26b665b08..ca9dda2e4 100644 --- a/.github/workflows/benchmark-upload.yml +++ b/.github/workflows/benchmark-upload.yml @@ -14,6 +14,7 @@ jobs: permissions: pull-requests: write actions: read + checks: write steps: - uses: actions/checkout@v5 - uses: ./.github/actions/bencher-run From 6c40e45a9a0b4e0b73cd7557b6152609a2993433 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Fri, 15 Aug 2025 17:33:30 +1000 Subject: [PATCH 203/381] ci: Comment the permissions required in benchmark-upload. --- .github/workflows/benchmark-upload.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/benchmark-upload.yml b/.github/workflows/benchmark-upload.yml index ca9dda2e4..d039f6fb6 100644 --- a/.github/workflows/benchmark-upload.yml +++ b/.github/workflows/benchmark-upload.yml @@ -12,8 +12,11 @@ jobs: if: github.event.workflow_run.conclusion == 'success' runs-on: ubuntu-latest permissions: + # Allow bencher-run to write to the PR comments pull-requests: write + # Allow bencher-run to read the benchmark results artifact actions: read + # Allow bencher-run to write to the checks api checks: write steps: - uses: actions/checkout@v5 From 3391d15c67d24ced0568db4c7e160750091eddfb Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 16 Aug 2025 16:20:11 +1000 Subject: [PATCH 204/381] ci: Fix a typo in comment. --- .github/actions/bazel-benchmark/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/bazel-benchmark/action.yml b/.github/actions/bazel-benchmark/action.yml index 380b74258..adae60260 100644 --- a/.github/actions/bazel-benchmark/action.yml +++ b/.github/actions/bazel-benchmark/action.yml @@ -1,4 +1,4 @@ -# Run benchmark tests under bazedl +# Run benchmark tests under bazel # Assumes bazel exists, use `bazel-contrib/setup-bazel` before calling this action. name: bazel benchmark description: Run benchmarks under Bazel and save output From fcba7cb45e5f7592fd988720993a82b0620e96ce Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 16 Aug 2025 16:32:48 +1000 Subject: [PATCH 205/381] chore: Update `MODULE.bazel.lock` --- MODULE.bazel.lock | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 1d07ec96b..bd13e6dbd 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -11,8 +11,8 @@ "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/MODULE.bazel": "2b31ffcc9bdc8295b2167e07a757dbbc9ac8906e7028e5170a3708cecaac119f", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.4/MODULE.bazel": "d39e4b18e594d81c526d7cfc513e7ecfa8ca9eb5b61488d1d790faa94b34f2d9", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.4/source.json": "506fa924e19fd8a33d617e33a17e4fce845f9ff9acb3a2aa7cf7300650698705", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.20.0/MODULE.bazel": "c5565bac49e1973227225b441fad1c938d498d83df62dc5da95b2fab0f0626a2", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.20.0/source.json": "3eaada79dd3c65b6c57d5fc33c57ffd2896c4ebd78c4c9001a790a70f7f50e61", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.2/MODULE.bazel": "780d1a6522b28f5edb7ea09630748720721dfe27690d65a2d33aa7509de77e07", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838", "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", @@ -47,8 +47,8 @@ "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", - "https://bcr.bazel.build/modules/gazelle/0.44.0/MODULE.bazel": "fd3177ca0938da57a1e416cad3f39b9c4334defbc717e89aba9d9ddbbb0341da", - "https://bcr.bazel.build/modules/gazelle/0.44.0/source.json": "7fb65ef9c1ce470d099ca27fd478673d9d64c844af28d0d472b0874c7d590cb6", + "https://bcr.bazel.build/modules/gazelle/0.45.0/MODULE.bazel": "ecd19ebe9f8e024e1ccffb6d997cc893a974bcc581f1ae08f386bdd448b10687", + "https://bcr.bazel.build/modules/gazelle/0.45.0/source.json": "111d182facc5f5e80f0b823d5f077b74128f40c3fd2eccc89a06f34191bd3392", "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", @@ -60,7 +60,8 @@ "https://bcr.bazel.build/modules/jsoncpp/1.9.5/source.json": "4108ee5085dd2885a341c7fab149429db457b3169b86eb081fa245eadf69169d", "https://bcr.bazel.build/modules/libpfm/4.11.0/MODULE.bazel": "45061ff025b301940f1e30d2c16bea596c25b176c8b6b3087e92615adbd52902", "https://bcr.bazel.build/modules/package_metadata/0.0.2/MODULE.bazel": "fb8d25550742674d63d7b250063d4580ca530499f045d70748b1b142081ebb92", - "https://bcr.bazel.build/modules/package_metadata/0.0.2/source.json": "e53a759a72488d2c0576f57491ef2da0cf4aab05ac0997314012495935531b73", + "https://bcr.bazel.build/modules/package_metadata/0.0.5/MODULE.bazel": "ef4f9439e3270fdd6b9fd4dbc3d2f29d13888e44c529a1b243f7a31dfbc2e8e4", + "https://bcr.bazel.build/modules/package_metadata/0.0.5/source.json": "2326db2f6592578177751c3e1f74786b79382cd6008834c9d01ec865b9126a85", "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", "https://bcr.bazel.build/modules/platforms/0.0.11/MODULE.bazel": "0daefc49732e227caa8bfa834d65dc52e8cc18a2faf80df25e8caea151a9413f", "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", @@ -93,6 +94,7 @@ "https://bcr.bazel.build/modules/rules_cc/0.0.14/MODULE.bazel": "5e343a3aac88b8d7af3b1b6d2093b55c347b8eefc2e7d1442f7a02dc8fea48ac", "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", + "https://bcr.bazel.build/modules/rules_cc/0.0.17/MODULE.bazel": "2ae1d8f4238ec67d7185d8861cb0a2cdf4bc608697c331b95bf990e69b62e64a", "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", @@ -105,9 +107,9 @@ "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel": "55861d8e8bb0e62cbd2896f60ff303f62ffcb0eddb74ecb0e5c0cbe36fc292c8", "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", - "https://bcr.bazel.build/modules/rules_go/0.51.0/MODULE.bazel": "b6920f505935bfd69381651c942496d99b16e2a12f3dd5263b90ded16f3b4d0f", - "https://bcr.bazel.build/modules/rules_go/0.55.1/MODULE.bazel": "a57a6fc59a74326c0b440d07cca209edf13c7d1a641e48cfbeab56e79f873609", - "https://bcr.bazel.build/modules/rules_go/0.55.1/source.json": "827a740c8959c9d20616889e7746cde4dcc6ee80d25146943627ccea0736328f", + "https://bcr.bazel.build/modules/rules_go/0.53.0/MODULE.bazel": "a4ed760d3ac0dbc0d7b967631a9a3fd9100d28f7d9fcf214b4df87d4bfff5f9a", + "https://bcr.bazel.build/modules/rules_go/0.56.1/MODULE.bazel": "d5b835c548ac917345f1780cd2da52edc1130a908fe091c92096895303ae78a0", + "https://bcr.bazel.build/modules/rules_go/0.56.1/source.json": "0c902f7272e8d4e47e459af97be472bc19dadbbe6023a0719d1adce8483ac75a", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", @@ -186,7 +188,7 @@ "moduleExtensions": { "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { "general": { - "bzlTransitiveDigest": "sFhcgPbDQehmbD1EOXzX4H1q/CD5df8zwG4kp4jbvr8=", + "bzlTransitiveDigest": "hUTp2w+RUVdL7ma5esCXZJAFnX7vLbVfLd7FwnQI6bU=", "usagesDigest": "QI2z8ZUR+mqtbwsf2fLqYdJAkPOHdOV+tF2yVAUgRzw=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -250,8 +252,8 @@ }, "@@rules_oci+//oci:extensions.bzl%oci": { "general": { - "bzlTransitiveDigest": "JYTZKsYgcCw/TSmUMag+JtBl8Sumrp33kiK4RB8F6vA=", - "usagesDigest": "oFSYcVPRWeSzHPw3iAIgQ2NAED64D1SRP8BRnnNnbRA=", + "bzlTransitiveDigest": "iQZOkLD5gZw8LZ9chmHTJF8IzhJjzPejnvw6vAz6Qmk=", + "usagesDigest": "AzwFY4WHwb3qIxutUSSA7UUiZCzuKhEXY9+uWGUzCtA=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -263,7 +265,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:201ef9125ff3f55fda8e0697eff0b3ce9078366503ef066653635a3ac3ed9c26", + "identifier": "sha256:4f6e739881403e7d50f52a4e574c4e3c88266031fd555303ee2f1ba262523d6a", "platform": "linux/amd64", "target_name": "distroless_base_linux_amd64", "bazel_tags": [] @@ -276,7 +278,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:201ef9125ff3f55fda8e0697eff0b3ce9078366503ef066653635a3ac3ed9c26", + "identifier": "sha256:4f6e739881403e7d50f52a4e574c4e3c88266031fd555303ee2f1ba262523d6a", "platform": "linux/arm64/v8", "target_name": "distroless_base_linux_arm64_v8", "bazel_tags": [] @@ -290,7 +292,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:201ef9125ff3f55fda8e0697eff0b3ce9078366503ef066653635a3ac3ed9c26", + "identifier": "sha256:4f6e739881403e7d50f52a4e574c4e3c88266031fd555303ee2f1ba262523d6a", "platforms": { "@@platforms//cpu:x86_64": "@distroless_base_linux_amd64", "@@platforms//cpu:arm64": "@distroless_base_linux_arm64_v8" From ad8134ef9645b126ac626833713e526d40cbfc32 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 16 Aug 2025 16:36:34 +1000 Subject: [PATCH 206/381] test: Include the `log_filter_integration_test`. This was missed in the filter feature merges. --- internal/mtail/BUILD.bazel | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/mtail/BUILD.bazel b/internal/mtail/BUILD.bazel index 5f95676ac..0ed47b239 100644 --- a/internal/mtail/BUILD.bazel +++ b/internal/mtail/BUILD.bazel @@ -43,6 +43,7 @@ go_test( "examples_integration_unix_test.go", "exec_integration_test.go", "log_deletion_integration_unix_test.go", + "log_filter_integration_test.go", "log_glob_integration_test.go", "log_rotation_integration_test.go", "log_rotation_integration_unix_test.go", From b112994226b8b3fe98ad75d0c0fa184735e102bf Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 16 Aug 2025 17:25:18 +1000 Subject: [PATCH 207/381] ci: Pass the project to bencher. This is necessary to keep results uploaded to the same Project in bencher. It can't figure it out from the GitHub project state. --- .github/actions/bencher-run/action.yml | 6 +++++- .github/workflows/benchmark-upload.yml | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index 7c1830f2e..7e948bbad 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -5,7 +5,7 @@ name: bencher run description: Run bencher on a benchmark result artifact inputs: BENCHER_API_TOKEN: - description: Token to interact with Bencher.dev + description: Token to interact with Bencher.dev; https://bencher.dev/docs/explanation/bencher-run/#--token-token required: true benchmark_results_artifact: description: Name of the artifact to download, to find the benchmark results within. @@ -15,6 +15,9 @@ inputs: description: Name of the workflow trigger event json to download required: true default: event.json + project: + required: true + description: Project slug or UUID for Bencher.dev; https://bencher.dev/docs/explanation/bencher-run/#--project-project runs: using: composite steps: @@ -53,5 +56,6 @@ runs: bencher run \ --token '${{ inputs.BENCHER_API_TOKEN }}' \ --github-actions '${{ github.token }}' \ + --project '${{ inputs.project }}' \ $BENCHER_FLAGS \ --file ${{ inputs.benchmark_results_artifact }} diff --git a/.github/workflows/benchmark-upload.yml b/.github/workflows/benchmark-upload.yml index d039f6fb6..21e346337 100644 --- a/.github/workflows/benchmark-upload.yml +++ b/.github/workflows/benchmark-upload.yml @@ -23,4 +23,4 @@ jobs: - uses: ./.github/actions/bencher-run with: BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }} - + project: 238e7993-fc7a-4a69-aa82-470abd249c8b From 7e8f8c36398795fdc85ed1ffc4020f28a6278c08 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 17 Aug 2025 10:00:48 +1000 Subject: [PATCH 208/381] doc: Fix copyright comment. --- internal/mtail/log_filter_integration_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/mtail/log_filter_integration_test.go b/internal/mtail/log_filter_integration_test.go index 8b17fddea..1ea5d8251 100644 --- a/internal/mtail/log_filter_integration_test.go +++ b/internal/mtail/log_filter_integration_test.go @@ -1,4 +1,4 @@ -// Copyright 2019 Google Inc. All Rights Reserved. +// Copyright 2025 The mtail Authors. All Rights Reserved. // This file is available under the Apache license. package mtail_test From f62563d707fe04d772005879c034737895d18b61 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Aug 2025 22:03:10 +0000 Subject: [PATCH 209/381] chore(deps): update dependency aspect_bazel_lib to v2.21.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 956b24f76..f26fa7a53 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.20.0") +bazel_dep(name = "aspect_bazel_lib", version = "2.21.0") bazel_dep(name = "rules_oci", version = "2.2.6") bazel_dep(name = "platforms", version = "1.0.0") From 7dc34449946d2e84ab900e1b06d7314a28b166f7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Aug 2025 17:42:05 +0000 Subject: [PATCH 210/381] chore(deps): update dependency rules_go to v0.57.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index f26fa7a53..bc862e4e7 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -3,7 +3,7 @@ module( version = "3", ) -bazel_dep(name = "rules_go", version = "0.56.1") +bazel_dep(name = "rules_go", version = "0.57.0") go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") go_sdk.from_file(go_mod = "//:go.mod") From 092cfd78e2791d62f5ba5e10e0790a2baeeb6b0b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 21 Aug 2025 23:19:41 +0000 Subject: [PATCH 211/381] build(deps): bump github.com/bazelbuild/rules_go from 0.56.1 to 0.57.0 Bumps [github.com/bazelbuild/rules_go](https://github.com/bazelbuild/rules_go) from 0.56.1 to 0.57.0. - [Release notes](https://github.com/bazelbuild/rules_go/releases) - [Commits](https://github.com/bazelbuild/rules_go/compare/v0.56.1...v0.57.0) --- updated-dependencies: - dependency-name: github.com/bazelbuild/rules_go dependency-version: 0.57.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8ceb2f91e..e1439f382 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.6 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 - github.com/bazelbuild/rules_go v0.56.1 + github.com/bazelbuild/rules_go v0.57.0 github.com/golang/glog v1.2.5 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 diff --git a/go.sum b/go.sum index 5a7adc2fb..b18db379a 100644 --- a/go.sum +++ b/go.sum @@ -25,8 +25,8 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXV 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/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/bazelbuild/rules_go v0.56.1 h1:YOyW1J8kdvJl1AzlWrR+qikC6EPiFVbT4l1gjTBfXT0= -github.com/bazelbuild/rules_go v0.56.1/go.mod h1:T90Gpyq4HDFlsrvtQa2CBdHNJ2P4rAu/uUTmQbanzf0= +github.com/bazelbuild/rules_go v0.57.0 h1:qBFxjy29iJg22xWlu5A3mNwrXtCHiEnHcIt91SsiFGU= +github.com/bazelbuild/rules_go v0.57.0/go.mod h1:Pn30cb4M513fe2rQ6GiJ3q8QyrRsgC7zhuDvi50Lw4Y= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v5 v5.0.2 h1:rIfFVxEf1QsI7E1ZHfp/B4DF/6QBAUhmgkxc0H7Zss8= From 06a5d67b5c0ba812ffde528037092fdb6a22fe94 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Aug 2025 17:46:34 +0000 Subject: [PATCH 212/381] chore(deps): update dependency aspect_bazel_lib to v2.21.1 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index bc862e4e7..102d039e1 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.21.0") +bazel_dep(name = "aspect_bazel_lib", version = "2.21.1") bazel_dep(name = "rules_oci", version = "2.2.6") bazel_dep(name = "platforms", version = "1.0.0") From 9bf26b9e7eebf834cf8d23308400610f8eeb79f5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Aug 2025 17:51:37 +0000 Subject: [PATCH 213/381] chore(deps): update distroless_base docker digest to d605e13 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 102d039e1..b1b351158 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:4f6e739881403e7d50f52a4e574c4e3c88266031fd555303ee2f1ba262523d6a", + digest = "sha256:d605e138bb398428779e5ab490a6bbeeabfd2551bd919578b1044718e5c30798", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From 05e5ae34ba27ba92d191c2e528881703c6792a27 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Aug 2025 23:01:16 +0000 Subject: [PATCH 214/381] build(deps): bump go.opentelemetry.io/otel/sdk/metric Bumps [go.opentelemetry.io/otel/sdk/metric](https://github.com/open-telemetry/opentelemetry-go) from 1.37.0 to 1.38.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.37.0...v1.38.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/sdk/metric dependency-version: 1.38.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 10 +++++----- go.sum | 24 ++++++++++++------------ 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/go.mod b/go.mod index e1439f382..3a72077f1 100644 --- a/go.mod +++ b/go.mod @@ -14,10 +14,10 @@ require ( github.com/prometheus/client_golang v1.23.0 github.com/prometheus/common v0.65.0 go.opencensus.io v0.24.0 - go.opentelemetry.io/otel v1.37.0 + go.opentelemetry.io/otel v1.38.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0 - go.opentelemetry.io/otel/sdk v1.37.0 - go.opentelemetry.io/otel/sdk/metric v1.37.0 + go.opentelemetry.io/otel/sdk v1.38.0 + go.opentelemetry.io/otel/sdk/metric v1.38.0 golang.org/x/sys v0.35.0 golang.org/x/tools v0.36.0 ) @@ -36,8 +36,8 @@ require ( github.com/prometheus/procfs v0.16.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/otel/metric v1.37.0 // indirect - go.opentelemetry.io/otel/trace v1.37.0 // indirect + go.opentelemetry.io/otel/metric v1.38.0 // indirect + go.opentelemetry.io/otel/trace v1.38.0 // indirect go.opentelemetry.io/proto/otlp v1.7.0 // indirect golang.org/x/net v0.43.0 // indirect golang.org/x/sync v0.16.0 // indirect diff --git a/go.sum b/go.sum index b18db379a..46dbad086 100644 --- a/go.sum +++ b/go.sum @@ -141,8 +141,8 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P 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/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/uber/jaeger-client-go v2.25.0+incompatible h1:IxcNZ7WRY1Y3G4poYlx24szfsn/3LvK9QHCq9oQw8+U= github.com/uber/jaeger-client-go v2.25.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -155,18 +155,18 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ= -go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I= +go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8= +go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0 h1:zG8GlgXCJQd5BU98C0hZnBbElszTmUgCNCfYneaDL0A= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0/go.mod h1:hOfBCz8kv/wuq73Mx2H2QnWokh/kHZxkh6SNF2bdKtw= -go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE= -go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E= -go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI= -go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg= -go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc= -go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps= -go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4= -go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= +go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA= +go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI= +go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E= +go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg= +go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM= +go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= +go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE= +go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs= go.opentelemetry.io/proto/otlp v1.7.0 h1:jX1VolD6nHuFzOYso2E73H85i92Mv8JQYk0K9vz09os= go.opentelemetry.io/proto/otlp v1.7.0/go.mod h1:fSKjH6YJ7HDlwzltzyMj036AJ3ejJLCgCSHGj4efDDo= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= From 2b9ea8c009437c3554b3075486cf144c3b9ff6c4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Aug 2025 23:05:56 +0000 Subject: [PATCH 215/381] build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc Bumps [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc](https://github.com/open-telemetry/opentelemetry-go) from 1.37.0 to 1.38.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.37.0...v1.38.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc dependency-version: 1.38.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 16 ++++++++-------- go.sum | 34 ++++++++++++++++++---------------- 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/go.mod b/go.mod index 3a72077f1..51fbb9cc9 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/prometheus/common v0.65.0 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.38.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 go.opentelemetry.io/otel/sdk v1.38.0 go.opentelemetry.io/otel/sdk/metric v1.38.0 golang.org/x/sys v0.35.0 @@ -24,12 +24,12 @@ require ( require ( github.com/beorn7/perks v1.0.1 // indirect - github.com/cenkalti/backoff/v5 v5.0.2 // indirect + github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/prometheus/client_model v0.6.2 // indirect @@ -38,13 +38,13 @@ require ( go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/otel/metric v1.38.0 // indirect go.opentelemetry.io/otel/trace v1.38.0 // indirect - go.opentelemetry.io/proto/otlp v1.7.0 // indirect + go.opentelemetry.io/proto/otlp v1.7.1 // indirect golang.org/x/net v0.43.0 // indirect golang.org/x/sync v0.16.0 // indirect golang.org/x/text v0.28.0 // indirect google.golang.org/api v0.105.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect - google.golang.org/grpc v1.73.0 // indirect - google.golang.org/protobuf v1.36.6 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 // indirect + google.golang.org/grpc v1.75.0 // indirect + google.golang.org/protobuf v1.36.8 // indirect ) diff --git a/go.sum b/go.sum index 46dbad086..d43f17753 100644 --- a/go.sum +++ b/go.sum @@ -29,8 +29,8 @@ github.com/bazelbuild/rules_go v0.57.0 h1:qBFxjy29iJg22xWlu5A3mNwrXtCHiEnHcIt91S github.com/bazelbuild/rules_go v0.57.0/go.mod h1:Pn30cb4M513fe2rQ6GiJ3q8QyrRsgC7zhuDvi50Lw4Y= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cenkalti/backoff/v5 v5.0.2 h1:rIfFVxEf1QsI7E1ZHfp/B4DF/6QBAUhmgkxc0H7Zss8= -github.com/cenkalti/backoff/v5 v5.0.2/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= +github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= +github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -103,8 +103,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.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.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 h1:X5VWvz21y3gzm9Nw/kaUeku/1+uBhcekkmy4IkffJww= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1/go.mod h1:Zanoh4+gvIgluNqcfMVTJueD4wSS5hT7zTt4Mrutd90= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 h1:8Tjv8EJ+pM1xP8mK6egEbD1OgnVTyacbefKhmbLhIhU= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2/go.mod h1:pkJQ2tZHJ0aFOVEEot6oZmaVEZcRme73eIFmhiVuRWs= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -157,8 +157,8 @@ go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJyS go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8= go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0 h1:zG8GlgXCJQd5BU98C0hZnBbElszTmUgCNCfYneaDL0A= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0/go.mod h1:hOfBCz8kv/wuq73Mx2H2QnWokh/kHZxkh6SNF2bdKtw= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 h1:vl9obrcoWVKp/lwl8tRE33853I8Xru9HFbw/skNeLs8= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0/go.mod h1:GAXRxmLJcVM3u22IjTg74zWBrRCKq8BnOqUVLodpcpw= go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA= go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI= go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E= @@ -167,8 +167,8 @@ go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6 go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE= go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs= -go.opentelemetry.io/proto/otlp v1.7.0 h1:jX1VolD6nHuFzOYso2E73H85i92Mv8JQYk0K9vz09os= -go.opentelemetry.io/proto/otlp v1.7.0/go.mod h1:fSKjH6YJ7HDlwzltzyMj036AJ3ejJLCgCSHGj4efDDo= +go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOVAtj4= +go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -307,6 +307,8 @@ golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= +gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -344,10 +346,10 @@ google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 h1:oWVWY3NzT7KJppx2UKhKmzPq4SRe0LdCijVRwvGeikY= -google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822/go.mod h1:h3c4v36UTKzUiuaOKQ6gr3S+0hovBtUrXzTG/i3+XEc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 h1:fc6jSaCT0vBduLYZHYrBBNY4dsWuvgyff9noRNDdBeE= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= +google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 h1:BIRfGDEjiHRrk0QKZe3Xv2ieMhtgRGeLcZQ0mIVn4EY= +google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5/go.mod h1:j3QtIyytwqGr1JUDtYXwtMXWPKsEa5LtzIFN1Wn5WvE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 h1:eaY8u2EuxbRv7c3NiGK0/NedzVsCcV6hDuU5qPX5EGE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5/go.mod h1:M4/wBTSeyLxupu3W3tJtOgB14jILAS/XWPSSa3TAlJc= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -358,8 +360,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok= -google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc= +google.golang.org/grpc v1.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4= +google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= 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-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -369,8 +371,8 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= -google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= +google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= +google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= From 5c414e15f475c397fb3782273ad294a75976ee96 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 30 Aug 2025 15:07:15 +1000 Subject: [PATCH 216/381] chore: Delete unused scripts. --- hooks/build | 12 ------------ hooks/post_checkout | 4 ---- hooks/post_push | 41 ----------------------------------------- 3 files changed, 57 deletions(-) delete mode 100755 hooks/build delete mode 100755 hooks/post_checkout delete mode 100755 hooks/post_push diff --git a/hooks/build b/hooks/build deleted file mode 100755 index 6325668f0..000000000 --- a/hooks/build +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# $IMAGE_NAME var is injected into the build so the tag is correct. -echo "Build hook running" - -docker build \ - --build-arg version=$(git describe --tags --always) \ - --build-arg commit_hash=$(git rev-parse HEAD) \ - --build-arg vcs_url=$(git config --get remote.origin.url) \ - --build-arg vcs_branch=$(git rev-parse --abbrev-ref HEAD) \ - --build-arg build_date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \ - -t $IMAGE_NAME . diff --git a/hooks/post_checkout b/hooks/post_checkout deleted file mode 100755 index 69644b577..000000000 --- a/hooks/post_checkout +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -echo "Unshallowing to get correct tags to work." -git fetch --tags --unshallow --quiet origin diff --git a/hooks/post_push b/hooks/post_push deleted file mode 100755 index 4d63ceb33..000000000 --- a/hooks/post_push +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash -# hooks/post_push - -# https://docs.docker.com/docker-cloud/builds/advanced/ -# https://semver.org/ - -function add_tag() { - echo "Adding tag ${1}" - docker tag $IMAGE_NAME $DOCKER_REPO:$1 - docker push $DOCKER_REPO:$1 -} - -TAG=`git describe --tag --match "v*"` - -MAJOR=`echo ${TAG} | awk -F'-' '{print $1}' | awk -F'.' '{print $1}' | sed 's/v//'` -MINOR=`echo ${TAG} | awk -F'-' '{print $1}' | awk -F'.' '{print $2}' | sed 's/v//'` -PATCH=`echo ${TAG} | awk -F'-' '{print $1}' | awk -F'.' '{print $3}' | sed 's/v//'` -PRLS=`echo ${TAG} | awk -F'-' '{print $2}'` - -num='^[0-9]+$' -pre='^[0-9A-Za-z\.]+$' - -echo "Current Build: ${TAG}" - -if [ ! -z $MAJOR ] && [[ $MAJOR =~ $num ]]; then - add_tag ${MAJOR} - - if [ ! -z $MINOR ] && [[ $MINOR =~ $num ]]; then - add_tag ${MAJOR}.${MINOR} - - if [ ! -z $PATCH ] && [[ $PATCH =~ $num ]]; then - add_tag ${MAJOR}.${MINOR}.${PATCH} - - if [ ! -z $PRLS ] && [[ ! $PRLS =~ $num ]] && [[ $PRLS =~ $pre ]]; then - add_tag ${MAJOR}.${MINOR}.${PATCH}-${PRLS} - fi - fi - fi -fi - -exit $? From 9e87ebf05b903a42dc64b6bc59024b4c9118bb5a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Sep 2025 12:50:11 +0000 Subject: [PATCH 217/381] chore(deps): update actions/setup-go action to v6 --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ce9d9a67f..9b4f420ee 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,7 +37,7 @@ jobs: with: fetch-depth: 0 - run: git fetch --force --tags - - uses: actions/setup-go@v5 + - uses: actions/setup-go@v6 with: go-version-file: 'go.mod' cache: true From d7659508c689a65baa16fc9323a6cd7e448e0e43 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Sep 2025 12:50:15 +0000 Subject: [PATCH 218/381] chore(deps): update actions/stale action to v10 --- .github/workflows/stale.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index a80f5fc87..30f4ccf96 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -11,7 +11,7 @@ jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@v9 + - uses: actions/stale@v10 with: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-issue-message: 'This issue has been waiting for more information for more than 60 days and will be closed in 7 if no update is provided.' From 168619368cafd7de67e7ca953de4a1666588915b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Sep 2025 17:57:01 +0000 Subject: [PATCH 219/381] chore(deps): update actions/github-script action to v8 --- .github/actions/bencher-run/action.yml | 2 +- .github/workflows/auto-review.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index 7e948bbad..b6baf22d5 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -32,7 +32,7 @@ runs: name: ${{ inputs.workflow_event }} run-id: ${{ github.event.workflow_run.id }} github-token: ${{ github.token }} - - uses: actions/github-script@v7 + - uses: actions/github-script@v8 env: EVT: ${{ inputs.workflow_event }} with: diff --git a/.github/workflows/auto-review.yml b/.github/workflows/auto-review.yml index 09d49782d..3118dd75d 100644 --- a/.github/workflows/auto-review.yml +++ b/.github/workflows/auto-review.yml @@ -37,7 +37,7 @@ jobs: check-regexp: "test.*" wait-interval: 60 - - uses: "actions/github-script@v7" + - uses: "actions/github-script@v8" with: github-token: ${{ github.token }} script: | From 887497b045b1a318f44330c8dea60083163b1958 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 4 Sep 2025 23:01:22 +0000 Subject: [PATCH 220/381] build(deps): bump github.com/prometheus/client_golang Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.23.0 to 1.23.1. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.23.0...v1.23.1) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-version: 1.23.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 6 ++++-- go.sum | 20 ++++++++++++++++---- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 51fbb9cc9..f6e56ee74 100644 --- a/go.mod +++ b/go.mod @@ -11,8 +11,8 @@ require ( github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 - github.com/prometheus/client_golang v1.23.0 - github.com/prometheus/common v0.65.0 + github.com/prometheus/client_golang v1.23.1 + github.com/prometheus/common v0.66.0 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.38.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 @@ -29,6 +29,7 @@ require ( github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/google/uuid v1.6.0 // indirect + github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect @@ -47,4 +48,5 @@ require ( google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 // indirect google.golang.org/grpc v1.75.0 // indirect google.golang.org/protobuf v1.36.8 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/go.sum b/go.sum index d43f17753..203da42af 100644 --- a/go.sum +++ b/go.sum @@ -103,6 +103,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.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.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc h1:GN2Lv3MGO7AS6PrRoT6yV5+wkrOpcszoIsO4+4ds248= +github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 h1:8Tjv8EJ+pM1xP8mK6egEbD1OgnVTyacbefKhmbLhIhU= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2/go.mod h1:pkJQ2tZHJ0aFOVEEot6oZmaVEZcRme73eIFmhiVuRWs= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -114,8 +116,12 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= @@ -124,16 +130,18 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.23.0 h1:ust4zpdl9r4trLY/gSjlm07PuiBq2ynaXXlptpfy8Uc= -github.com/prometheus/client_golang v1.23.0/go.mod h1:i/o0R9ByOnHX0McrTMTyhYvKE4haaf2mW08I+jGAjEE= +github.com/prometheus/client_golang v1.23.1 h1:w6gXMLQGgd0jXXlote9lRHMe0nG01EbnJT+C0EJru2Y= +github.com/prometheus/client_golang v1.23.1/go.mod h1:br8j//v2eg2K5Vvna5klK8Ku5pcU5r4ll73v6ik5dIQ= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE= -github.com/prometheus/common v0.65.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8= +github.com/prometheus/common v0.66.0 h1:K/rJPHrG3+AoQs50r2+0t7zMnMzek2Vbv31OFVsMeVY= +github.com/prometheus/common v0.66.0/go.mod h1:Ux6NtV1B4LatamKE63tJBntoxD++xmtI/lK0VtEplN4= github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/stretchr/objx v0.1.0/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= @@ -375,8 +383,12 @@ google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyM google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From 7af42502d4a80234b2f472d5f7b61a179e44556c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Sep 2025 23:01:14 +0000 Subject: [PATCH 221/381] build(deps): bump github.com/prometheus/common from 0.66.0 to 0.66.1 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.66.0 to 0.66.1. - [Release notes](https://github.com/prometheus/common/releases) - [Changelog](https://github.com/prometheus/common/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/common/compare/v0.66.0...v0.66.1) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-version: 0.66.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 5 ++--- go.sum | 10 ++++------ 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index f6e56ee74..a6e31a7dd 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.23.1 - github.com/prometheus/common v0.66.0 + github.com/prometheus/common v0.66.1 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.38.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 @@ -29,7 +29,6 @@ require ( github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect @@ -40,6 +39,7 @@ require ( go.opentelemetry.io/otel/metric v1.38.0 // indirect go.opentelemetry.io/otel/trace v1.38.0 // indirect go.opentelemetry.io/proto/otlp v1.7.1 // indirect + go.yaml.in/yaml/v2 v2.4.2 // indirect golang.org/x/net v0.43.0 // indirect golang.org/x/sync v0.16.0 // indirect golang.org/x/text v0.28.0 // indirect @@ -48,5 +48,4 @@ require ( google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 // indirect google.golang.org/grpc v1.75.0 // indirect google.golang.org/protobuf v1.36.8 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/go.sum b/go.sum index 203da42af..7d44dada5 100644 --- a/go.sum +++ b/go.sum @@ -103,8 +103,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.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.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc h1:GN2Lv3MGO7AS6PrRoT6yV5+wkrOpcszoIsO4+4ds248= -github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 h1:8Tjv8EJ+pM1xP8mK6egEbD1OgnVTyacbefKhmbLhIhU= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2/go.mod h1:pkJQ2tZHJ0aFOVEEot6oZmaVEZcRme73eIFmhiVuRWs= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -135,8 +133,8 @@ github.com/prometheus/client_golang v1.23.1/go.mod h1:br8j//v2eg2K5Vvna5klK8Ku5p github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.66.0 h1:K/rJPHrG3+AoQs50r2+0t7zMnMzek2Vbv31OFVsMeVY= -github.com/prometheus/common v0.66.0/go.mod h1:Ux6NtV1B4LatamKE63tJBntoxD++xmtI/lK0VtEplN4= +github.com/prometheus/common v0.66.1 h1:h5E0h5/Y8niHc5DlaLlWLArTQI7tMrsfQjHV+d9ZoGs= +github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA= github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -179,6 +177,8 @@ go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOV go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI= +go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -387,8 +387,6 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From 1f323919274488ca471b8adec6745ac9e0836435 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Sep 2025 23:05:25 +0000 Subject: [PATCH 222/381] build(deps): bump github.com/prometheus/client_golang Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.23.1 to 1.23.2. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.23.1...v1.23.2) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-version: 1.23.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a6e31a7dd..9c8a190c1 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 - github.com/prometheus/client_golang v1.23.1 + github.com/prometheus/client_golang v1.23.2 github.com/prometheus/common v0.66.1 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.38.0 diff --git a/go.sum b/go.sum index 7d44dada5..a6278d2b1 100644 --- a/go.sum +++ b/go.sum @@ -128,8 +128,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.23.1 h1:w6gXMLQGgd0jXXlote9lRHMe0nG01EbnJT+C0EJru2Y= -github.com/prometheus/client_golang v1.23.1/go.mod h1:br8j//v2eg2K5Vvna5klK8Ku5pcU5r4ll73v6ik5dIQ= +github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= +github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= From 7ad6d9d8f9ab691ffee432a6d57ec4a342cd5cb8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 17:55:46 +0000 Subject: [PATCH 223/381] chore(deps): update distroless_base docker digest to fa15492 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index b1b351158..9f9ef5250 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:d605e138bb398428779e5ab490a6bbeeabfd2551bd919578b1044718e5c30798", + digest = "sha256:fa15492938650e1a5b87e34d47dc7d99a2b4e8aefd81b931b3f3eb6bb4c1d2f6", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From 9e1bccb97d8c3577bb2b619d62f68bb4c60a6c55 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 23:01:26 +0000 Subject: [PATCH 224/381] build(deps): bump golang.org/x/sys from 0.35.0 to 0.36.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.35.0 to 0.36.0. - [Commits](https://github.com/golang/sys/compare/v0.35.0...v0.36.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-version: 0.36.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 9c8a190c1..7a9b99ee9 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/jaqx0r/mtail -go 1.23.0 +go 1.24.0 toolchain go1.24.6 @@ -18,7 +18,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 go.opentelemetry.io/otel/sdk v1.38.0 go.opentelemetry.io/otel/sdk/metric v1.38.0 - golang.org/x/sys v0.35.0 + golang.org/x/sys v0.36.0 golang.org/x/tools v0.36.0 ) diff --git a/go.sum b/go.sum index a6278d2b1..139fee0e0 100644 --- a/go.sum +++ b/go.sum @@ -268,8 +268,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= -golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k= +golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From 9e95bc0ce955cfde6275b76c1e18655b5e31e065 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Sep 2025 23:01:21 +0000 Subject: [PATCH 225/381] build(deps): bump golang.org/x/tools from 0.36.0 to 0.37.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.36.0 to 0.37.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.36.0...v0.37.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.37.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 7a9b99ee9..534023ef6 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.38.0 go.opentelemetry.io/otel/sdk/metric v1.38.0 golang.org/x/sys v0.36.0 - golang.org/x/tools v0.36.0 + golang.org/x/tools v0.37.0 ) require ( @@ -40,9 +40,9 @@ require ( go.opentelemetry.io/otel/trace v1.38.0 // indirect go.opentelemetry.io/proto/otlp v1.7.1 // indirect go.yaml.in/yaml/v2 v2.4.2 // indirect - golang.org/x/net v0.43.0 // indirect - golang.org/x/sync v0.16.0 // indirect - golang.org/x/text v0.28.0 // indirect + golang.org/x/net v0.44.0 // indirect + golang.org/x/sync v0.17.0 // indirect + golang.org/x/text v0.29.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 // indirect diff --git a/go.sum b/go.sum index 139fee0e0..9c21bee8b 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= -golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= +golang.org/x/net v0.44.0 h1:evd8IRDyfNBMBTTY5XRF1vaZlD+EmWx6x8PkhR04H/I= +golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -246,8 +246,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -275,8 +275,8 @@ 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.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.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= -golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= +golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= +golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -310,8 +310,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= -golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= +golang.org/x/tools v0.37.0 h1:DVSRzp7FwePZW356yEAChSdNcQo6Nsp+fex1SUW09lE= +golang.org/x/tools v0.37.0/go.mod h1:MBN5QPQtLMHVdvsbtarmTNukZDdgwdwlO5qGacAzF0w= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 4a07feb8f48cfc8d47140c32235de862f790033c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Sep 2025 23:01:16 +0000 Subject: [PATCH 226/381] build(deps): bump sigstore/cosign-installer from 3.9.2 to 3.10.0 Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.9.2 to 3.10.0. - [Release notes](https://github.com/sigstore/cosign-installer/releases) - [Commits](https://github.com/sigstore/cosign-installer/compare/v3.9.2...v3.10.0) --- updated-dependencies: - dependency-name: sigstore/cosign-installer dependency-version: 3.10.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9b4f420ee..df09a4980 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -142,7 +142,7 @@ jobs: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - uses: sigstore/cosign-installer@v3.9.2 + - uses: sigstore/cosign-installer@v3.10.0 - name: verify image env: IMAGE: ${{ matrix.image }} From 3f9f5fdeaa168c7f20c61813c5326d50ed2efcb0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Sep 2025 23:01:29 +0000 Subject: [PATCH 227/381] build(deps): bump lewagon/wait-on-check-action from 1.4.0 to 1.4.1 Bumps [lewagon/wait-on-check-action](https://github.com/lewagon/wait-on-check-action) from 1.4.0 to 1.4.1. - [Release notes](https://github.com/lewagon/wait-on-check-action/releases) - [Changelog](https://github.com/lewagon/wait-on-check-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/lewagon/wait-on-check-action/compare/v1.4.0...v1.4.1) --- updated-dependencies: - dependency-name: lewagon/wait-on-check-action dependency-version: 1.4.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/auto-review.yml | 2 +- .github/workflows/automerge.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-review.yml b/.github/workflows/auto-review.yml index 3118dd75d..72b2f5e6a 100644 --- a/.github/workflows/auto-review.yml +++ b/.github/workflows/auto-review.yml @@ -30,7 +30,7 @@ jobs: # create review pull-requests: write steps: - - uses: lewagon/wait-on-check-action@v1.4.0 + - uses: lewagon/wait-on-check-action@v1.4.1 with: ref: ${{ github.event.pull_request.head.sha }} repo-token: ${{ github.token }} diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 072819456..9435528dd 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -40,7 +40,7 @@ jobs: # wait-on-check requires only checks read checks: read steps: - - uses: lewagon/wait-on-check-action@v1.4.0 + - uses: lewagon/wait-on-check-action@v1.4.1 with: ref: ${{ github.event.pull_request.head.sha }} check-regexp: "test.*" From f478dc7d4e2850535d01064268b83621a63045b4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Sep 2025 01:21:40 +0000 Subject: [PATCH 228/381] build(deps): bump docker/login-action from 3.5.0 to 3.6.0 Bumps [docker/login-action](https://github.com/docker/login-action) from 3.5.0 to 3.6.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v3.5.0...v3.6.0) --- updated-dependencies: - dependency-name: docker/login-action dependency-version: 3.6.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index df09a4980..d89d70ef7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -41,7 +41,7 @@ jobs: with: go-version-file: 'go.mod' cache: true - - uses: docker/login-action@v3.5.0 + - uses: docker/login-action@v3.6.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -137,7 +137,7 @@ jobs: strategy: matrix: ${{ fromJSON(needs.goreleaser.outputs.image_subjects) }} steps: - - uses: docker/login-action@v3.5.0 + - uses: docker/login-action@v3.6.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} From 081ea821e4ef037d1ff1d09a542ef265cbb76f2e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 23:01:28 +0000 Subject: [PATCH 229/381] build(deps): bump github.com/prometheus/common from 0.66.1 to 0.67.1 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.66.1 to 0.67.1. - [Release notes](https://github.com/prometheus/common/releases) - [Changelog](https://github.com/prometheus/common/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/common/compare/v0.66.1...v0.67.1) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-version: 0.67.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 534023ef6..b4f30ebd1 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.23.2 - github.com/prometheus/common v0.66.1 + github.com/prometheus/common v0.67.1 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.38.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 @@ -39,7 +39,7 @@ require ( go.opentelemetry.io/otel/metric v1.38.0 // indirect go.opentelemetry.io/otel/trace v1.38.0 // indirect go.opentelemetry.io/proto/otlp v1.7.1 // indirect - go.yaml.in/yaml/v2 v2.4.2 // indirect + go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/net v0.44.0 // indirect golang.org/x/sync v0.17.0 // indirect golang.org/x/text v0.29.0 // indirect @@ -47,5 +47,5 @@ require ( google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 // indirect google.golang.org/grpc v1.75.0 // indirect - google.golang.org/protobuf v1.36.8 // indirect + google.golang.org/protobuf v1.36.10 // indirect ) diff --git a/go.sum b/go.sum index 9c21bee8b..52b7651db 100644 --- a/go.sum +++ b/go.sum @@ -133,8 +133,8 @@ github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UH github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.66.1 h1:h5E0h5/Y8niHc5DlaLlWLArTQI7tMrsfQjHV+d9ZoGs= -github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA= +github.com/prometheus/common v0.67.1 h1:OTSON1P4DNxzTg4hmKCc37o4ZAZDv0cfXLkOt0oEowI= +github.com/prometheus/common v0.67.1/go.mod h1:RpmT9v35q2Y+lsieQsdOh5sXZ6ajUGC8NjZAmr8vb0Q= github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -177,8 +177,8 @@ go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOV go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI= -go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU= +go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= +go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -379,8 +379,8 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= -google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= +google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= +google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= From 6096509529aeb6b0bf06afea37c4e709c6aab5d5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 8 Oct 2025 23:01:26 +0000 Subject: [PATCH 230/381] build(deps): bump golang.org/x/sys from 0.36.0 to 0.37.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.36.0 to 0.37.0. - [Commits](https://github.com/golang/sys/compare/v0.36.0...v0.37.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-version: 0.37.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b4f30ebd1..dd976656a 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 go.opentelemetry.io/otel/sdk v1.38.0 go.opentelemetry.io/otel/sdk/metric v1.38.0 - golang.org/x/sys v0.36.0 + golang.org/x/sys v0.37.0 golang.org/x/tools v0.37.0 ) diff --git a/go.sum b/go.sum index 52b7651db..e953ff574 100644 --- a/go.sum +++ b/go.sum @@ -268,8 +268,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k= -golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ= +golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From 60ae8dd1bce57ae8f717be8b2c1610e7e3cad06d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Oct 2025 23:01:24 +0000 Subject: [PATCH 231/381] build(deps): bump golang.org/x/tools from 0.37.0 to 0.38.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.37.0 to 0.38.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.37.0...v0.38.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index dd976656a..0a2ae60aa 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.38.0 go.opentelemetry.io/otel/sdk/metric v1.38.0 golang.org/x/sys v0.37.0 - golang.org/x/tools v0.37.0 + golang.org/x/tools v0.38.0 ) require ( @@ -40,9 +40,9 @@ require ( go.opentelemetry.io/otel/trace v1.38.0 // indirect go.opentelemetry.io/proto/otlp v1.7.1 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/net v0.44.0 // indirect + golang.org/x/net v0.46.0 // indirect golang.org/x/sync v0.17.0 // indirect - golang.org/x/text v0.29.0 // indirect + golang.org/x/text v0.30.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 // indirect diff --git a/go.sum b/go.sum index e953ff574..db20615bb 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.44.0 h1:evd8IRDyfNBMBTTY5XRF1vaZlD+EmWx6x8PkhR04H/I= -golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY= +golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4= +golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -275,8 +275,8 @@ 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.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.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= -golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= +golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k= +golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -310,8 +310,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.37.0 h1:DVSRzp7FwePZW356yEAChSdNcQo6Nsp+fex1SUW09lE= -golang.org/x/tools v0.37.0/go.mod h1:MBN5QPQtLMHVdvsbtarmTNukZDdgwdwlO5qGacAzF0w= +golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ= +golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 4cc049e39aa17c2ff9932f750ab79e11d27a6d2b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 23:01:14 +0000 Subject: [PATCH 232/381] build(deps): bump sigstore/cosign-installer from 3.10.0 to 4.0.0 Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.10.0 to 4.0.0. - [Release notes](https://github.com/sigstore/cosign-installer/releases) - [Commits](https://github.com/sigstore/cosign-installer/compare/v3.10.0...v4.0.0) --- updated-dependencies: - dependency-name: sigstore/cosign-installer dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d89d70ef7..466d25ef8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -142,7 +142,7 @@ jobs: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - uses: sigstore/cosign-installer@v3.10.0 + - uses: sigstore/cosign-installer@v4.0.0 - name: verify image env: IMAGE: ${{ matrix.image }} From 3e2a6085f1177b5852a3c1b40f0aec03d336ebeb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 23 Oct 2025 23:01:35 +0000 Subject: [PATCH 233/381] build(deps): bump github.com/bazelbuild/rules_go from 0.57.0 to 0.58.0 Bumps [github.com/bazelbuild/rules_go](https://github.com/bazelbuild/rules_go) from 0.57.0 to 0.58.0. - [Release notes](https://github.com/bazelbuild/rules_go/releases) - [Commits](https://github.com/bazelbuild/rules_go/compare/v0.57.0...v0.58.0) --- updated-dependencies: - dependency-name: github.com/bazelbuild/rules_go dependency-version: 0.58.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0a2ae60aa..135757bd1 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.6 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 - github.com/bazelbuild/rules_go v0.57.0 + github.com/bazelbuild/rules_go v0.58.0 github.com/golang/glog v1.2.5 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 diff --git a/go.sum b/go.sum index db20615bb..3073077b9 100644 --- a/go.sum +++ b/go.sum @@ -25,8 +25,8 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXV 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/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/bazelbuild/rules_go v0.57.0 h1:qBFxjy29iJg22xWlu5A3mNwrXtCHiEnHcIt91SsiFGU= -github.com/bazelbuild/rules_go v0.57.0/go.mod h1:Pn30cb4M513fe2rQ6GiJ3q8QyrRsgC7zhuDvi50Lw4Y= +github.com/bazelbuild/rules_go v0.58.0 h1:O/pfKB+6RsDDKDeQcxk9yO02q/qUbO9GCG8UnL1AtVM= +github.com/bazelbuild/rules_go v0.58.0/go.mod h1:Pn30cb4M513fe2rQ6GiJ3q8QyrRsgC7zhuDvi50Lw4Y= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= From bac9e2a7ecb36b3075e88c25e6bc6b779a6c6f1f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 24 Oct 2025 23:01:13 +0000 Subject: [PATCH 234/381] build(deps): bump actions/upload-artifact from 4 to 5 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/benchmark.yml | 2 +- .github/workflows/oss-fuzz.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index e93a280f6..f765044af 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -22,7 +22,7 @@ jobs: disk-cache: ${{ github.workflow }} repository-cache: true - uses: ./.github/actions/bazel-benchmark - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v5 with: name: event.json path: ${{ github.event_path }} diff --git a/.github/workflows/oss-fuzz.yml b/.github/workflows/oss-fuzz.yml index dab46e78e..1be23c8f4 100644 --- a/.github/workflows/oss-fuzz.yml +++ b/.github/workflows/oss-fuzz.yml @@ -27,7 +27,7 @@ jobs: oss-fuzz-project-name: 'mtail' dry-run: false - name: Upload Crash - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 if: failure() && steps.build.outcome == 'success' with: name: artifacts From 03732d8b2bf3fc96ac479be72951d978b0acf836 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 24 Oct 2025 23:01:14 +0000 Subject: [PATCH 235/381] build(deps): bump github.com/bazelbuild/rules_go from 0.58.0 to 0.58.1 Bumps [github.com/bazelbuild/rules_go](https://github.com/bazelbuild/rules_go) from 0.58.0 to 0.58.1. - [Release notes](https://github.com/bazelbuild/rules_go/releases) - [Commits](https://github.com/bazelbuild/rules_go/compare/v0.58.0...v0.58.1) --- updated-dependencies: - dependency-name: github.com/bazelbuild/rules_go dependency-version: 0.58.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 135757bd1..d724b4efd 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.6 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 - github.com/bazelbuild/rules_go v0.58.0 + github.com/bazelbuild/rules_go v0.58.1 github.com/golang/glog v1.2.5 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 diff --git a/go.sum b/go.sum index 3073077b9..89d035d23 100644 --- a/go.sum +++ b/go.sum @@ -25,8 +25,8 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXV 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/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/bazelbuild/rules_go v0.58.0 h1:O/pfKB+6RsDDKDeQcxk9yO02q/qUbO9GCG8UnL1AtVM= -github.com/bazelbuild/rules_go v0.58.0/go.mod h1:Pn30cb4M513fe2rQ6GiJ3q8QyrRsgC7zhuDvi50Lw4Y= +github.com/bazelbuild/rules_go v0.58.1 h1:8+bYnP0qVWZhJByAKnOqdE79pYJc+aAVxaodl/b2IbQ= +github.com/bazelbuild/rules_go v0.58.1/go.mod h1:Pn30cb4M513fe2rQ6GiJ3q8QyrRsgC7zhuDvi50Lw4Y= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= From bfeeb9379bce1c22aeaff13ab7580417ec26990c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Oct 2025 23:30:17 +0000 Subject: [PATCH 236/381] build(deps): bump github.com/bazelbuild/rules_go from 0.58.1 to 0.58.2 Bumps [github.com/bazelbuild/rules_go](https://github.com/bazelbuild/rules_go) from 0.58.1 to 0.58.2. - [Release notes](https://github.com/bazelbuild/rules_go/releases) - [Commits](https://github.com/bazelbuild/rules_go/compare/v0.58.1...v0.58.2) --- updated-dependencies: - dependency-name: github.com/bazelbuild/rules_go dependency-version: 0.58.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d724b4efd..78897ef89 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.6 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 - github.com/bazelbuild/rules_go v0.58.1 + github.com/bazelbuild/rules_go v0.58.2 github.com/golang/glog v1.2.5 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 diff --git a/go.sum b/go.sum index 89d035d23..4673ae908 100644 --- a/go.sum +++ b/go.sum @@ -25,8 +25,8 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXV 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/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/bazelbuild/rules_go v0.58.1 h1:8+bYnP0qVWZhJByAKnOqdE79pYJc+aAVxaodl/b2IbQ= -github.com/bazelbuild/rules_go v0.58.1/go.mod h1:Pn30cb4M513fe2rQ6GiJ3q8QyrRsgC7zhuDvi50Lw4Y= +github.com/bazelbuild/rules_go v0.58.2 h1:VOZCroDLXBdTAnd43VWoVQO52g37mn/xwBHkvQpGQps= +github.com/bazelbuild/rules_go v0.58.2/go.mod h1:Pn30cb4M513fe2rQ6GiJ3q8QyrRsgC7zhuDvi50Lw4Y= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= From 069fcffc20a4b3d00eec91d72c6b9bfea4c134e5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Oct 2025 23:01:16 +0000 Subject: [PATCH 237/381] build(deps): bump github.com/prometheus/common from 0.67.1 to 0.67.2 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.67.1 to 0.67.2. - [Release notes](https://github.com/prometheus/common/releases) - [Changelog](https://github.com/prometheus/common/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/common/compare/v0.67.1...v0.67.2) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-version: 0.67.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 78897ef89..7681f12e0 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.23.2 - github.com/prometheus/common v0.67.1 + github.com/prometheus/common v0.67.2 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.38.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 diff --git a/go.sum b/go.sum index 4673ae908..313ee5224 100644 --- a/go.sum +++ b/go.sum @@ -133,8 +133,8 @@ github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UH github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.67.1 h1:OTSON1P4DNxzTg4hmKCc37o4ZAZDv0cfXLkOt0oEowI= -github.com/prometheus/common v0.67.1/go.mod h1:RpmT9v35q2Y+lsieQsdOh5sXZ6ajUGC8NjZAmr8vb0Q= +github.com/prometheus/common v0.67.2 h1:PcBAckGFTIHt2+L3I33uNRTlKTplNzFctXcWhPyAEN8= +github.com/prometheus/common v0.67.2/go.mod h1:63W3KZb1JOKgcjlIr64WW/LvFGAqKPj0atm+knVGEko= github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= From 84f0c68a94c6b7ff8f80543041b37ec9cc2e99b4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 Oct 2025 23:01:15 +0000 Subject: [PATCH 238/381] build(deps): bump github.com/bazelbuild/rules_go from 0.58.2 to 0.58.3 Bumps [github.com/bazelbuild/rules_go](https://github.com/bazelbuild/rules_go) from 0.58.2 to 0.58.3. - [Release notes](https://github.com/bazelbuild/rules_go/releases) - [Commits](https://github.com/bazelbuild/rules_go/compare/v0.58.2...v0.58.3) --- updated-dependencies: - dependency-name: github.com/bazelbuild/rules_go dependency-version: 0.58.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7681f12e0..a5ca1da4c 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.6 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 - github.com/bazelbuild/rules_go v0.58.2 + github.com/bazelbuild/rules_go v0.58.3 github.com/golang/glog v1.2.5 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 diff --git a/go.sum b/go.sum index 313ee5224..5415eb0b4 100644 --- a/go.sum +++ b/go.sum @@ -25,8 +25,8 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXV 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/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/bazelbuild/rules_go v0.58.2 h1:VOZCroDLXBdTAnd43VWoVQO52g37mn/xwBHkvQpGQps= -github.com/bazelbuild/rules_go v0.58.2/go.mod h1:Pn30cb4M513fe2rQ6GiJ3q8QyrRsgC7zhuDvi50Lw4Y= +github.com/bazelbuild/rules_go v0.58.3 h1:2Mdry2oCIzc+h9M2qRmK7S560vh8wOHh+al2MO+kbb8= +github.com/bazelbuild/rules_go v0.58.3/go.mod h1:Pn30cb4M513fe2rQ6GiJ3q8QyrRsgC7zhuDvi50Lw4Y= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= From 4ddd9b83c8b77bca18f205328dd39321e125c068 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Nov 2025 23:01:20 +0000 Subject: [PATCH 239/381] build(deps): bump github.com/bazelbuild/rules_go from 0.58.3 to 0.59.0 Bumps [github.com/bazelbuild/rules_go](https://github.com/bazelbuild/rules_go) from 0.58.3 to 0.59.0. - [Release notes](https://github.com/bazelbuild/rules_go/releases) - [Commits](https://github.com/bazelbuild/rules_go/compare/v0.58.3...v0.59.0) --- updated-dependencies: - dependency-name: github.com/bazelbuild/rules_go dependency-version: 0.59.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a5ca1da4c..2838a194f 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.24.6 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 - github.com/bazelbuild/rules_go v0.58.3 + github.com/bazelbuild/rules_go v0.59.0 github.com/golang/glog v1.2.5 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 diff --git a/go.sum b/go.sum index 5415eb0b4..6affd283c 100644 --- a/go.sum +++ b/go.sum @@ -25,8 +25,8 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXV 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/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/bazelbuild/rules_go v0.58.3 h1:2Mdry2oCIzc+h9M2qRmK7S560vh8wOHh+al2MO+kbb8= -github.com/bazelbuild/rules_go v0.58.3/go.mod h1:Pn30cb4M513fe2rQ6GiJ3q8QyrRsgC7zhuDvi50Lw4Y= +github.com/bazelbuild/rules_go v0.59.0 h1:RLhOwYIqeMgBpKelHEWTfIPjA37so3oa/rX+/qqq/P4= +github.com/bazelbuild/rules_go v0.59.0/go.mod h1:Pn30cb4M513fe2rQ6GiJ3q8QyrRsgC7zhuDvi50Lw4Y= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= From 95759fea338fb15a5186b51446369eeb1b42306a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Nov 2025 23:01:22 +0000 Subject: [PATCH 240/381] build(deps): bump golang.org/x/sys from 0.37.0 to 0.38.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.37.0 to 0.38.0. - [Commits](https://github.com/golang/sys/compare/v0.37.0...v0.38.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-version: 0.38.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2838a194f..3e874e972 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 go.opentelemetry.io/otel/sdk v1.38.0 go.opentelemetry.io/otel/sdk/metric v1.38.0 - golang.org/x/sys v0.37.0 + golang.org/x/sys v0.38.0 golang.org/x/tools v0.38.0 ) diff --git a/go.sum b/go.sum index 6affd283c..aaa6af81d 100644 --- a/go.sum +++ b/go.sum @@ -268,8 +268,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ= -golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= +golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From 88f64dee6cca36f4ada575aaabe18dd06a40a733 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Nov 2025 23:01:12 +0000 Subject: [PATCH 241/381] build(deps): bump golang.org/x/tools from 0.38.0 to 0.39.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.38.0 to 0.39.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.38.0...v0.39.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.39.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 3e874e972..65991d192 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.38.0 go.opentelemetry.io/otel/sdk/metric v1.38.0 golang.org/x/sys v0.38.0 - golang.org/x/tools v0.38.0 + golang.org/x/tools v0.39.0 ) require ( @@ -40,9 +40,9 @@ require ( go.opentelemetry.io/otel/trace v1.38.0 // indirect go.opentelemetry.io/proto/otlp v1.7.1 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/net v0.46.0 // indirect - golang.org/x/sync v0.17.0 // indirect - golang.org/x/text v0.30.0 // indirect + golang.org/x/net v0.47.0 // indirect + golang.org/x/sync v0.18.0 // indirect + golang.org/x/text v0.31.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 // indirect diff --git a/go.sum b/go.sum index aaa6af81d..b2d7d7aef 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4= -golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210= +golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= +golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -246,8 +246,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= -golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= +golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -275,8 +275,8 @@ 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.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.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k= -golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= +golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= +golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -310,8 +310,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ= -golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= +golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ= +golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 8b23f17d99770ae08060ad7b247b82767c0887f2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 16 Nov 2025 22:20:05 +0000 Subject: [PATCH 242/381] chore(deps): update distroless_base docker digest to 9e9b50d --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 9f9ef5250..d7e14f721 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:fa15492938650e1a5b87e34d47dc7d99a2b4e8aefd81b931b3f3eb6bb4c1d2f6", + digest = "sha256:9e9b50d2048db3741f86a48d939b4e4cc775f5889b3496439343301ff54cdba8", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From 60471177db05eb3f9c2d2d6e0d9a3f8d24c8437b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 16 Nov 2025 22:20:07 +0000 Subject: [PATCH 243/381] chore(deps): update dependency aspect_bazel_lib to v2.21.2 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 9f9ef5250..41f3e7116 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.21.1") +bazel_dep(name = "aspect_bazel_lib", version = "2.21.2") bazel_dep(name = "rules_oci", version = "2.2.6") bazel_dep(name = "platforms", version = "1.0.0") From 7a1d634b3cc51493dfef88c659a3b4ffeabcfb2f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 17 Nov 2025 00:29:13 +0000 Subject: [PATCH 244/381] chore(deps): update dependency gazelle to v0.47.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index f58d566f7..1cc5ad30d 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -12,7 +12,7 @@ go_sdk.from_file(go_mod = "//:go.mod") # Like golangci-lint, but integrated into the build. go_sdk.nogo(nogo = "//:nogo") -bazel_dep(name = "gazelle", version = "0.45.0") +bazel_dep(name = "gazelle", version = "0.47.0") # Update dependencies with # `bazel run //:gazelle`. From 986f6a9bba8eb94ac4ca5ed59a277fd4fa35fdf4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 17 Nov 2025 05:29:37 +0000 Subject: [PATCH 245/381] chore(deps): update dependency rules_go to v0.59.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 1cc5ad30d..d92317e3e 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -3,7 +3,7 @@ module( version = "3", ) -bazel_dep(name = "rules_go", version = "0.57.0") +bazel_dep(name = "rules_go", version = "0.59.0") go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") go_sdk.from_file(go_mod = "//:go.mod") From 0390e3aa9620f6d738bb138eacc407ec0cf688a4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 17 Nov 2025 05:29:41 +0000 Subject: [PATCH 246/381] chore(deps): update github artifact actions --- .github/actions/bazel-benchmark/action.yml | 2 +- .github/actions/bencher-run/action.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/actions/bazel-benchmark/action.yml b/.github/actions/bazel-benchmark/action.yml index adae60260..39fb9d3fb 100644 --- a/.github/actions/bazel-benchmark/action.yml +++ b/.github/actions/bazel-benchmark/action.yml @@ -32,7 +32,7 @@ runs: bazel run ${target} -- ${{ inputs.bazel_run_flags }} done | tee benchmark_results.txt - name: upload benchmark results artfact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: ${{ inputs.output_artifact }} path: benchmark_results.txt diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index b6baf22d5..889f594e7 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -22,12 +22,12 @@ runs: using: composite steps: - uses: bencherdev/bencher@main - - uses: actions/download-artifact@v5 + - uses: actions/download-artifact@v6 with: name: ${{ inputs.benchmark_results_artifact }} run-id: ${{ github.event.workflow_run.id }} github-token: ${{ github.token }} - - uses: actions/download-artifact@v5 + - uses: actions/download-artifact@v6 with: name: ${{ inputs.workflow_event }} run-id: ${{ github.event.workflow_run.id }} From c59bb5154300ba7e55c143d52f42b148c22357a1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Nov 2025 23:01:18 +0000 Subject: [PATCH 247/381] build(deps): bump github.com/prometheus/common from 0.67.2 to 0.67.3 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.67.2 to 0.67.3. - [Release notes](https://github.com/prometheus/common/releases) - [Changelog](https://github.com/prometheus/common/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/common/compare/v0.67.2...v0.67.3) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-version: 0.67.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 65991d192..72dd34231 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.23.2 - github.com/prometheus/common v0.67.2 + github.com/prometheus/common v0.67.3 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.38.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 diff --git a/go.sum b/go.sum index b2d7d7aef..cc06b870a 100644 --- a/go.sum +++ b/go.sum @@ -133,8 +133,8 @@ github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UH github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.67.2 h1:PcBAckGFTIHt2+L3I33uNRTlKTplNzFctXcWhPyAEN8= -github.com/prometheus/common v0.67.2/go.mod h1:63W3KZb1JOKgcjlIr64WW/LvFGAqKPj0atm+knVGEko= +github.com/prometheus/common v0.67.3 h1:shd26MlnwTw5jksTDhC7rTQIteBxy+ZZDr3t7F2xN2Q= +github.com/prometheus/common v0.67.3/go.mod h1:gP0fq6YjjNCLssJCQp0yk4M8W6ikLURwkdd/YKtTbyI= github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= From 131680431a3274c62edf42f5fe50a6a383a5d590 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 20 Nov 2025 17:39:30 +0000 Subject: [PATCH 248/381] chore(deps): update actions/checkout action to v6 --- .github/workflows/benchmark-upload.yml | 2 +- .github/workflows/benchmark.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/tag-new-release.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/benchmark-upload.yml b/.github/workflows/benchmark-upload.yml index 21e346337..e8087e45f 100644 --- a/.github/workflows/benchmark-upload.yml +++ b/.github/workflows/benchmark-upload.yml @@ -19,7 +19,7 @@ jobs: # Allow bencher-run to write to the checks api checks: write steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: ./.github/actions/bencher-run with: BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }} diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index f765044af..cc3dc6c12 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -15,7 +15,7 @@ jobs: benchmark: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: bazel-contrib/setup-bazel@0.15.0 with: bazelisk-cache: true diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a6dc05b73..2feb70381 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,7 +33,7 @@ jobs: # and writes to the checks API checks: write steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: bazel-contrib/setup-bazel@0.15.0 with: # Avoid downloading Bazel each time diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 466d25ef8..059f3c74d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,7 +33,7 @@ jobs: run: echo $GITHUB_CONTEXT - if: ${{ !startsWith(github.ref, 'refs/tags/') }} run: echo "flags=--snapshot" >> $GITHUB_ENV - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: fetch-depth: 0 - run: git fetch --force --tags diff --git a/.github/workflows/tag-new-release.yml b/.github/workflows/tag-new-release.yml index 6347e790e..9514d7a28 100644 --- a/.github/workflows/tag-new-release.yml +++ b/.github/workflows/tag-new-release.yml @@ -13,7 +13,7 @@ jobs: permissions: contents: write steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - uses: mathieudutour/github-tag-action@v6.2 continue-on-error: true # ok to not make a new tag with: From 79aaee61324abaf6506462a1041d3e5cdcbb3ff4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Nov 2025 23:01:25 +0000 Subject: [PATCH 249/381] build(deps): bump github.com/prometheus/common from 0.67.3 to 0.67.4 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.67.3 to 0.67.4. - [Release notes](https://github.com/prometheus/common/releases) - [Changelog](https://github.com/prometheus/common/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/common/compare/v0.67.3...v0.67.4) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-version: 0.67.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 72dd34231..a811d27da 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.23.2 - github.com/prometheus/common v0.67.3 + github.com/prometheus/common v0.67.4 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.38.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 diff --git a/go.sum b/go.sum index cc06b870a..b970dfb35 100644 --- a/go.sum +++ b/go.sum @@ -133,8 +133,8 @@ github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UH github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.67.3 h1:shd26MlnwTw5jksTDhC7rTQIteBxy+ZZDr3t7F2xN2Q= -github.com/prometheus/common v0.67.3/go.mod h1:gP0fq6YjjNCLssJCQp0yk4M8W6ikLURwkdd/YKtTbyI= +github.com/prometheus/common v0.67.4 h1:yR3NqWO1/UyO1w2PhUvXlGQs/PtFmoveVO0KZ4+Lvsc= +github.com/prometheus/common v0.67.4/go.mod h1:gP0fq6YjjNCLssJCQp0yk4M8W6ikLURwkdd/YKtTbyI= github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= From 8ad0b32f742a0cbce872410657785891b14896e8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Dec 2025 22:05:59 +0000 Subject: [PATCH 250/381] chore(deps): update dependency rules_oci to v2.2.7 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index d92317e3e..30d40e879 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -40,7 +40,7 @@ use_repo( # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. bazel_dep(name = "aspect_bazel_lib", version = "2.21.2") -bazel_dep(name = "rules_oci", version = "2.2.6") +bazel_dep(name = "rules_oci", version = "2.2.7") bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") From 8873b6cdec4cdc8e23b3dca28d8f1c1ff35b73fa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Dec 2025 16:52:36 +0000 Subject: [PATCH 251/381] chore(deps): update distroless_base docker digest to f5a3067 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 30d40e879..e47468bbc 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:9e9b50d2048db3741f86a48d939b4e4cc775f5889b3496439343301ff54cdba8", + digest = "sha256:f5a3067027c2b322cd71b844f3d84ad3deada45ceb8a30f301260a602455070e", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From 3fae4399a171aee962d286f4c1ebf8f86dcb2a5c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 5 Dec 2025 03:56:22 +0000 Subject: [PATCH 252/381] chore(deps): update dependency aspect_bazel_lib to v2.22.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index e47468bbc..b75bfcedf 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.21.2") +bazel_dep(name = "aspect_bazel_lib", version = "2.22.0") bazel_dep(name = "rules_oci", version = "2.2.7") bazel_dep(name = "platforms", version = "1.0.0") From eed2ba3a389bea537213c183bceb4fa7797811bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Dec 2025 23:01:27 +0000 Subject: [PATCH 253/381] build(deps): bump golang.org/x/sys from 0.38.0 to 0.39.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.38.0 to 0.39.0. - [Commits](https://github.com/golang/sys/compare/v0.38.0...v0.39.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-version: 0.39.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a811d27da..857ef8a79 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 go.opentelemetry.io/otel/sdk v1.38.0 go.opentelemetry.io/otel/sdk/metric v1.38.0 - golang.org/x/sys v0.38.0 + golang.org/x/sys v0.39.0 golang.org/x/tools v0.39.0 ) diff --git a/go.sum b/go.sum index b970dfb35..56b07da61 100644 --- a/go.sum +++ b/go.sum @@ -268,8 +268,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= -golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= +golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From 6d7e458f97b93471a2bc23bb1e2297baac45f29b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Dec 2025 23:01:31 +0000 Subject: [PATCH 254/381] build(deps): bump go.opentelemetry.io/otel from 1.38.0 to 1.39.0 Bumps [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) from 1.38.0 to 1.39.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.38.0...v1.39.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel dependency-version: 1.39.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 20 ++++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/go.mod b/go.mod index a811d27da..ada16b81e 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/prometheus/client_golang v1.23.2 github.com/prometheus/common v0.67.4 go.opencensus.io v0.24.0 - go.opentelemetry.io/otel v1.38.0 + go.opentelemetry.io/otel v1.39.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 go.opentelemetry.io/otel/sdk v1.38.0 go.opentelemetry.io/otel/sdk/metric v1.38.0 @@ -35,9 +35,9 @@ require ( github.com/prometheus/client_model v0.6.2 // indirect github.com/prometheus/procfs v0.16.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect - go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/otel/metric v1.38.0 // indirect - go.opentelemetry.io/otel/trace v1.38.0 // indirect + go.opentelemetry.io/auto/sdk v1.2.1 // indirect + go.opentelemetry.io/otel/metric v1.39.0 // indirect + go.opentelemetry.io/otel/trace v1.39.0 // indirect go.opentelemetry.io/proto/otlp v1.7.1 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/net v0.47.0 // indirect diff --git a/go.sum b/go.sum index b970dfb35..0c8fdc622 100644 --- a/go.sum +++ b/go.sum @@ -138,8 +138,8 @@ github.com/prometheus/common v0.67.4/go.mod h1:gP0fq6YjjNCLssJCQp0yk4M8W6ikLURwk github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/stretchr/objx v0.1.0/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= @@ -159,20 +159,20 @@ 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.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= -go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8= -go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM= +go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= +go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= +go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= +go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 h1:vl9obrcoWVKp/lwl8tRE33853I8Xru9HFbw/skNeLs8= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0/go.mod h1:GAXRxmLJcVM3u22IjTg74zWBrRCKq8BnOqUVLodpcpw= -go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA= -go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI= +go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= +go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E= go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg= go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM= go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= -go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE= -go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs= +go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= +go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOVAtj4= go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= From 5db68ab2f8b1baa28c4d6fdee1cb1804499cf4c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Dec 2025 23:17:50 +0000 Subject: [PATCH 255/381] build(deps): bump go.opentelemetry.io/otel/sdk from 1.38.0 to 1.39.0 Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.38.0 to 1.39.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.38.0...v1.39.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/sdk dependency-version: 1.39.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index b818b43fd..c5c799747 100644 --- a/go.mod +++ b/go.mod @@ -16,8 +16,8 @@ require ( go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.39.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 - go.opentelemetry.io/otel/sdk v1.38.0 - go.opentelemetry.io/otel/sdk/metric v1.38.0 + go.opentelemetry.io/otel/sdk v1.39.0 + go.opentelemetry.io/otel/sdk/metric v1.39.0 golang.org/x/sys v0.39.0 golang.org/x/tools v0.39.0 ) diff --git a/go.sum b/go.sum index 0d1512114..d08abe9d4 100644 --- a/go.sum +++ b/go.sum @@ -167,10 +167,10 @@ go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 h1:vl9 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0/go.mod h1:GAXRxmLJcVM3u22IjTg74zWBrRCKq8BnOqUVLodpcpw= go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= -go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E= -go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg= -go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM= -go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= +go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18= +go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE= +go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8= +go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew= go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOVAtj4= From 2c02570e618f02bad06153ec6fa7094a424e3337 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 9 Dec 2025 22:57:08 +0000 Subject: [PATCH 256/381] fix(deps): update module go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc to v1.39.0 --- go.mod | 12 ++++++------ go.sum | 12 ++++++++++++ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index c5c799747..05c15fa22 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/prometheus/common v0.67.4 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.39.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 go.opentelemetry.io/otel/sdk v1.39.0 go.opentelemetry.io/otel/sdk/metric v1.39.0 golang.org/x/sys v0.39.0 @@ -29,7 +29,7 @@ require ( github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/prometheus/client_model v0.6.2 // indirect @@ -38,14 +38,14 @@ require ( go.opentelemetry.io/auto/sdk v1.2.1 // indirect go.opentelemetry.io/otel/metric v1.39.0 // indirect go.opentelemetry.io/otel/trace v1.39.0 // indirect - go.opentelemetry.io/proto/otlp v1.7.1 // indirect + go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/net v0.47.0 // indirect golang.org/x/sync v0.18.0 // indirect golang.org/x/text v0.31.0 // indirect google.golang.org/api v0.105.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 // indirect - google.golang.org/grpc v1.75.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect + google.golang.org/grpc v1.77.0 // indirect google.golang.org/protobuf v1.36.10 // indirect ) diff --git a/go.sum b/go.sum index d08abe9d4..38b3a0d52 100644 --- a/go.sum +++ b/go.sum @@ -105,6 +105,8 @@ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 h1:8Tjv8EJ+pM1xP8mK6egEbD1OgnVTyacbefKhmbLhIhU= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2/go.mod h1:pkJQ2tZHJ0aFOVEEot6oZmaVEZcRme73eIFmhiVuRWs= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 h1:NmZ1PKzSTQbuGHw9DGPFomqkkLWMC+vZCkfs+FHv1Vg= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3/go.mod h1:zQrxl1YP88HQlA6i9c63DSVPFklWpGX4OWAc9bFuaH4= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -165,6 +167,8 @@ go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 h1:vl9obrcoWVKp/lwl8tRE33853I8Xru9HFbw/skNeLs8= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0/go.mod h1:GAXRxmLJcVM3u22IjTg74zWBrRCKq8BnOqUVLodpcpw= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 h1:cEf8jF6WbuGQWUVcqgyWtTR0kOOAWY1DYZ+UhvdmQPw= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0/go.mod h1:k1lzV5n5U3HkGvTCJHraTAGJ7MqsgL1wrGwTj1Isfiw= go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18= @@ -175,6 +179,8 @@ go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6 go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOVAtj4= go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE= +go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= +go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= @@ -356,8 +362,12 @@ google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 h1:BIRfGDEjiHRrk0QKZe3Xv2ieMhtgRGeLcZQ0mIVn4EY= google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5/go.mod h1:j3QtIyytwqGr1JUDtYXwtMXWPKsEa5LtzIFN1Wn5WvE= +google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 h1:fCvbg86sFXwdrl5LgVcTEvNC+2txB5mgROGmRL5mrls= +google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:+rXWjjaukWZun3mLfjmVnQi18E1AsFbDN9QdJ5YXLto= google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 h1:eaY8u2EuxbRv7c3NiGK0/NedzVsCcV6hDuU5qPX5EGE= google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5/go.mod h1:M4/wBTSeyLxupu3W3tJtOgB14jILAS/XWPSSa3TAlJc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 h1:gRkg/vSppuSQoDjxyiGfN4Upv/h/DQmIR10ZU8dh4Ww= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -370,6 +380,8 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4= google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= +google.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM= +google.golang.org/grpc v1.77.0/go.mod h1:z0BY1iVj0q8E1uSQCjL9cppRj+gnZjzDnzV0dHhrNig= 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-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= From 174222dfe52cee958703fcf5321bfe6aacee1fa1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 16 Dec 2025 16:48:37 +0000 Subject: [PATCH 257/381] chore(deps): update bazel-contrib/setup-bazel action to v0.16.0 --- .github/workflows/benchmark.yml | 2 +- .github/workflows/ci.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index cc3dc6c12..10abc407e 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: bazel-contrib/setup-bazel@0.15.0 + - uses: bazel-contrib/setup-bazel@0.16.0 with: bazelisk-cache: true disk-cache: ${{ github.workflow }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2feb70381..edf066fa6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: checks: write steps: - uses: actions/checkout@v6 - - uses: bazel-contrib/setup-bazel@0.15.0 + - uses: bazel-contrib/setup-bazel@0.16.0 with: # Avoid downloading Bazel each time bazelisk-cache: true From 83c7732f0071c62258286d4710a92224957a0a18 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 20 Dec 2025 21:32:37 +0000 Subject: [PATCH 258/381] chore(deps): update dependency rules_pkg to v1.2.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index b75bfcedf..a0af214b4 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -56,4 +56,4 @@ oci.pull( use_repo(oci, "distroless_base", "distroless_base_linux_amd64", "distroless_base_linux_arm64_v8") # `rules_pkg` for making releases -bazel_dep(name = "rules_pkg", version = "1.1.0") +bazel_dep(name = "rules_pkg", version = "1.2.0") From cc26614681d1dcf8b38a914389136f16e863345f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 20 Dec 2025 23:01:56 +0000 Subject: [PATCH 259/381] chore(deps): update github artifact actions --- .github/actions/bazel-benchmark/action.yml | 2 +- .github/actions/bencher-run/action.yml | 4 ++-- .github/workflows/benchmark.yml | 2 +- .github/workflows/oss-fuzz.yml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/bazel-benchmark/action.yml b/.github/actions/bazel-benchmark/action.yml index 39fb9d3fb..c01cfb305 100644 --- a/.github/actions/bazel-benchmark/action.yml +++ b/.github/actions/bazel-benchmark/action.yml @@ -32,7 +32,7 @@ runs: bazel run ${target} -- ${{ inputs.bazel_run_flags }} done | tee benchmark_results.txt - name: upload benchmark results artfact - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: ${{ inputs.output_artifact }} path: benchmark_results.txt diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index 889f594e7..64654bfbf 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -22,12 +22,12 @@ runs: using: composite steps: - uses: bencherdev/bencher@main - - uses: actions/download-artifact@v6 + - uses: actions/download-artifact@v7 with: name: ${{ inputs.benchmark_results_artifact }} run-id: ${{ github.event.workflow_run.id }} github-token: ${{ github.token }} - - uses: actions/download-artifact@v6 + - uses: actions/download-artifact@v7 with: name: ${{ inputs.workflow_event }} run-id: ${{ github.event.workflow_run.id }} diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 10abc407e..34f652a22 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -22,7 +22,7 @@ jobs: disk-cache: ${{ github.workflow }} repository-cache: true - uses: ./.github/actions/bazel-benchmark - - uses: actions/upload-artifact@v5 + - uses: actions/upload-artifact@v6 with: name: event.json path: ${{ github.event_path }} diff --git a/.github/workflows/oss-fuzz.yml b/.github/workflows/oss-fuzz.yml index 1be23c8f4..8295a8dfd 100644 --- a/.github/workflows/oss-fuzz.yml +++ b/.github/workflows/oss-fuzz.yml @@ -27,7 +27,7 @@ jobs: oss-fuzz-project-name: 'mtail' dry-run: false - name: Upload Crash - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 if: failure() && steps.build.outcome == 'success' with: name: artifacts From 38e7ec85462c92ee0302a5fac9a7984142713b42 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 21 Dec 2025 00:53:51 +0000 Subject: [PATCH 260/381] chore(deps): update dependency go to v1.25.5 --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 05c15fa22..ce887c0f9 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/jaqx0r/mtail go 1.24.0 -toolchain go1.24.6 +toolchain go1.25.5 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 From 3f462f99135393e4362b1d6effe326a3e0672d0f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Dec 2025 02:01:07 +0000 Subject: [PATCH 261/381] chore(deps): update dependency aspect_bazel_lib to v2.22.2 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index a0af214b4..eb16e410a 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.22.0") +bazel_dep(name = "aspect_bazel_lib", version = "2.22.2") bazel_dep(name = "rules_oci", version = "2.2.7") bazel_dep(name = "platforms", version = "1.0.0") From c710e193a9c14af2492441b0e8b3bc897da48bf7 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 21 Dec 2025 18:05:45 +1100 Subject: [PATCH 262/381] chore: Update MODULE.bazel.lock. --- MODULE.bazel.lock | 435 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 413 insertions(+), 22 deletions(-) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index bd13e6dbd..66acc9597 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1,5 +1,5 @@ { - "lockFileVersion": 18, + "lockFileVersion": 24, "registryFileHashes": { "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", @@ -11,8 +11,9 @@ "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/MODULE.bazel": "2b31ffcc9bdc8295b2167e07a757dbbc9ac8906e7028e5170a3708cecaac119f", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.20.0/MODULE.bazel": "c5565bac49e1973227225b441fad1c938d498d83df62dc5da95b2fab0f0626a2", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.20.0/source.json": "3eaada79dd3c65b6c57d5fc33c57ffd2896c4ebd78c4c9001a790a70f7f50e61", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.3/MODULE.bazel": "253d739ba126f62a5767d832765b12b59e9f8d2bc88cc1572f4a73e46eb298ca", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.0/MODULE.bazel": "7fe0191f047d4fe4a4a46c1107e2350cbb58a8fc2e10913aa4322d3190dec0bf", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.0/source.json": "369df5b7f2eae82f200fff95cf1425f90dee90a0d0948122060b48150ff0e224", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.2/MODULE.bazel": "780d1a6522b28f5edb7ea09630748720721dfe27690d65a2d33aa7509de77e07", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838", "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", @@ -24,11 +25,14 @@ "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", + "https://bcr.bazel.build/modules/bazel_features/1.28.0/MODULE.bazel": "4b4200e6cbf8fa335b2c3f43e1d6ef3e240319c33d43d60cc0fbd4b87ece299d", "https://bcr.bazel.build/modules/bazel_features/1.30.0/MODULE.bazel": "a14b62d05969a293b80257e72e597c2da7f717e1e69fa8b339703ed6731bec87", "https://bcr.bazel.build/modules/bazel_features/1.30.0/source.json": "b07e17f067fe4f69f90b03b36ef1e08fe0d1f3cac254c1241a1818773e3423bc", "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", "https://bcr.bazel.build/modules/bazel_features/1.9.0/MODULE.bazel": "885151d58d90d8d9c811eb75e3288c11f850e1d6b481a8c9f766adee4712358b", "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", + "https://bcr.bazel.build/modules/bazel_lib/3.0.0/MODULE.bazel": "22b70b80ac89ad3f3772526cd9feee2fa412c2b01933fea7ed13238a448d370d", + "https://bcr.bazel.build/modules/bazel_lib/3.0.0/source.json": "895f21909c6fba01d7c17914bb6c8e135982275a1b18cdaa4e62272217ef1751", "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", "https://bcr.bazel.build/modules/bazel_skylib/1.1.1/MODULE.bazel": "1add3e7d93ff2e6998f9e118022c84d163917d912f5afafb3058e3d2f1545b5e", "https://bcr.bazel.build/modules/bazel_skylib/1.2.0/MODULE.bazel": "44fe84260e454ed94ad326352a698422dbe372b21a1ac9f3eab76eb531223686", @@ -40,15 +44,18 @@ "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", "https://bcr.bazel.build/modules/bazel_skylib/1.7.0/MODULE.bazel": "0db596f4563de7938de764cc8deeabec291f55e8ec15299718b93c4423e9796d", "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b", - "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/source.json": "f121b43eeefc7c29efbd51b83d08631e2347297c95aac9764a701f2a6a2bb953", + "https://bcr.bazel.build/modules/bazel_skylib/1.8.1/MODULE.bazel": "88ade7293becda963e0e3ea33e7d54d3425127e0a326e0d17da085a5f1f03ff6", + "https://bcr.bazel.build/modules/bazel_skylib/1.8.1/source.json": "7ebaefba0b03efe59cac88ed5bbc67bcf59a3eff33af937345ede2a38b2d368a", "https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84", "https://bcr.bazel.build/modules/buildozer/7.1.2/source.json": "c9028a501d2db85793a6996205c8de120944f50a0d570438fcae0457a5f9d1f8", + "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.1/MODULE.bazel": "cdf8cbe5ee750db04b78878c9633cc76e80dcf4416cbe982ac3a9222f80713c8", + "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.1/source.json": "fa7b512dfcb5eafd90ce3959cf42a2a6fe96144ebbb4b3b3928054895f2afac2", "https://bcr.bazel.build/modules/gazelle/0.32.0/MODULE.bazel": "b499f58a5d0d3537f3cf5b76d8ada18242f64ec474d8391247438bf04f58c7b8", "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", - "https://bcr.bazel.build/modules/gazelle/0.45.0/MODULE.bazel": "ecd19ebe9f8e024e1ccffb6d997cc893a974bcc581f1ae08f386bdd448b10687", - "https://bcr.bazel.build/modules/gazelle/0.45.0/source.json": "111d182facc5f5e80f0b823d5f077b74128f40c3fd2eccc89a06f34191bd3392", + "https://bcr.bazel.build/modules/gazelle/0.47.0/MODULE.bazel": "b61bb007c4efad134aa30ee7f4a8e2a39b22aa5685f005edaa022fbd1de43ebc", + "https://bcr.bazel.build/modules/gazelle/0.47.0/source.json": "aeb2e5df14b7fb298625d75d08b9c65bdb0b56014c5eb89da9e5dd0572280ae6", "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", @@ -100,7 +107,8 @@ "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", "https://bcr.bazel.build/modules/rules_cc/0.1.1/MODULE.bazel": "2f0222a6f229f0bf44cd711dc13c858dad98c62d52bd51d8fc3a764a83125513", - "https://bcr.bazel.build/modules/rules_cc/0.1.1/source.json": "d61627377bd7dd1da4652063e368d9366fc9a73920bfa396798ad92172cf645c", + "https://bcr.bazel.build/modules/rules_cc/0.1.5/MODULE.bazel": "88dfc9361e8b5ae1008ac38f7cdfd45ad738e4fa676a3ad67d19204f045a1fd8", + "https://bcr.bazel.build/modules/rules_cc/0.1.5/source.json": "4bb4fed7f5499775d495739f785a5494a1f854645fa1bac5de131264f5acdf01", "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/MODULE.bazel": "40c97d1144356f52905566c55811f13b299453a14ac7769dfba2ac38192337a8", "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/source.json": "c8b1e2c717646f1702290959a3302a178fb639d987ab61d548105019f11e527e", @@ -108,8 +116,8 @@ "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", "https://bcr.bazel.build/modules/rules_go/0.53.0/MODULE.bazel": "a4ed760d3ac0dbc0d7b967631a9a3fd9100d28f7d9fcf214b4df87d4bfff5f9a", - "https://bcr.bazel.build/modules/rules_go/0.56.1/MODULE.bazel": "d5b835c548ac917345f1780cd2da52edc1130a908fe091c92096895303ae78a0", - "https://bcr.bazel.build/modules/rules_go/0.56.1/source.json": "0c902f7272e8d4e47e459af97be472bc19dadbbe6023a0719d1adce8483ac75a", + "https://bcr.bazel.build/modules/rules_go/0.59.0/MODULE.bazel": "b7e43e7414a3139a7547d1b4909b29085fbe5182b6c58cbe1ed4c6272815aeae", + "https://bcr.bazel.build/modules/rules_go/0.59.0/source.json": "1df17bb7865cfc029492c30163cee891d0dd8658ea0d5bfdf252c4b6db5c1ef6", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", @@ -121,8 +129,8 @@ "https://bcr.bazel.build/modules/rules_java/7.2.0/MODULE.bazel": "06c0334c9be61e6cef2c8c84a7800cef502063269a5af25ceb100b192453d4ab", "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel": "50dece891cfdf1741ea230d001aa9c14398062f2b7c066470accace78e412bc2", "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", - "https://bcr.bazel.build/modules/rules_java/8.12.0/MODULE.bazel": "8e6590b961f2defdfc2811c089c75716cb2f06c8a4edeb9a8d85eaa64ee2a761", - "https://bcr.bazel.build/modules/rules_java/8.12.0/source.json": "cbd5d55d9d38d4008a7d00bee5b5a5a4b6031fcd4a56515c9accbcd42c7be2ba", + "https://bcr.bazel.build/modules/rules_java/8.14.0/MODULE.bazel": "717717ed40cc69994596a45aec6ea78135ea434b8402fb91b009b9151dd65615", + "https://bcr.bazel.build/modules/rules_java/8.14.0/source.json": "8a88c4ca9e8759da53cddc88123880565c520503321e2566b4e33d0287a3d4bc", "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", @@ -139,12 +147,12 @@ "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", "https://bcr.bazel.build/modules/rules_license/1.0.0/MODULE.bazel": "a7fda60eefdf3d8c827262ba499957e4df06f659330bbe6cdbdb975b768bb65c", "https://bcr.bazel.build/modules/rules_license/1.0.0/source.json": "a52c89e54cc311196e478f8382df91c15f7a2bfdf4c6cd0e2675cc2ff0b56efb", - "https://bcr.bazel.build/modules/rules_oci/2.2.6/MODULE.bazel": "2ba6ddd679269e00aeffe9ca04faa2d0ca4129650982c9246d0d459fe2da47d9", - "https://bcr.bazel.build/modules/rules_oci/2.2.6/source.json": "94e7decb8f95d9465b0bbea71c65064cd16083be1350c7468f131818641dc4a5", + "https://bcr.bazel.build/modules/rules_oci/2.2.7/MODULE.bazel": "f6150e4b224d459f7f6523ef65967464ca4efdd266c7fbf2f5a2a51011957e0c", + "https://bcr.bazel.build/modules/rules_oci/2.2.7/source.json": "b099f02af330f47f19dc67fc9300ef6e1937a8c86882690db0e7a2fcea8c7f6b", "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", "https://bcr.bazel.build/modules/rules_pkg/1.0.1/MODULE.bazel": "5b1df97dbc29623bccdf2b0dcd0f5cb08e2f2c9050aab1092fd39a41e82686ff", - "https://bcr.bazel.build/modules/rules_pkg/1.1.0/MODULE.bazel": "9db8031e71b6ef32d1846106e10dd0ee2deac042bd9a2de22b4761b0c3036453", - "https://bcr.bazel.build/modules/rules_pkg/1.1.0/source.json": "fef768df13a92ce6067e1cd0cdc47560dace01354f1d921cfb1d632511f7d608", + "https://bcr.bazel.build/modules/rules_pkg/1.2.0/MODULE.bazel": "c7db3c2b407e673c7a39e3625dc05dc9f12d6682cbd82a3a5924a13b491eda7e", + "https://bcr.bazel.build/modules/rules_pkg/1.2.0/source.json": "9062e00845bf91a4247465d371baa837adf9b6ff44c542f73ba084f07667e1dc", "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", "https://bcr.bazel.build/modules/rules_proto/6.0.0/MODULE.bazel": "b531d7f09f58dce456cd61b4579ce8c86b38544da75184eadaf0a7cb7966453f", @@ -174,7 +182,8 @@ "https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5", "https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216", "https://bcr.bazel.build/modules/tar.bzl/0.2.1/MODULE.bazel": "52d1c00a80a8cc67acbd01649e83d8dd6a9dc426a6c0b754a04fe8c219c76468", - "https://bcr.bazel.build/modules/tar.bzl/0.2.1/source.json": "600ac6ff61744667a439e7b814ae59c1f29632c3984fccf8000c64c9db8d7bb6", + "https://bcr.bazel.build/modules/tar.bzl/0.5.1/MODULE.bazel": "7c2eb3dcfc53b0f3d6f9acdfd911ca803eaf92aadf54f8ca6e4c1f3aee288351", + "https://bcr.bazel.build/modules/tar.bzl/0.5.1/source.json": "deed3094f7cc779ed1d37a68403847b0e38d9dd9d931e03cb90825f3368b515f", "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", "https://bcr.bazel.build/modules/yq.bzl/0.1.1/MODULE.bazel": "9039681f9bcb8958ee2c87ffc74bdafba9f4369096a2b5634b88abc0eaefa072", "https://bcr.bazel.build/modules/yq.bzl/0.1.1/source.json": "2d2bad780a9f2b9195a4a370314d2c17ae95eaa745cefc2e12fbc49759b15aa3", @@ -188,7 +197,7 @@ "moduleExtensions": { "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { "general": { - "bzlTransitiveDigest": "hUTp2w+RUVdL7ma5esCXZJAFnX7vLbVfLd7FwnQI6bU=", + "bzlTransitiveDigest": "rL/34P1aFDq2GqVC2zCFgQ8nTuOC6ziogocpvG50Qz8=", "usagesDigest": "QI2z8ZUR+mqtbwsf2fLqYdJAkPOHdOV+tF2yVAUgRzw=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -252,8 +261,8 @@ }, "@@rules_oci+//oci:extensions.bzl%oci": { "general": { - "bzlTransitiveDigest": "iQZOkLD5gZw8LZ9chmHTJF8IzhJjzPejnvw6vAz6Qmk=", - "usagesDigest": "AzwFY4WHwb3qIxutUSSA7UUiZCzuKhEXY9+uWGUzCtA=", + "bzlTransitiveDigest": "QlIUsGfsZvanX1TeENU0UABAW1qtQhzvLc4Li7b0QT8=", + "usagesDigest": "BtYBnW7xmOPp5Bnba0135TpiJBCyTQJc4jf4TT2viJ8=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -265,7 +274,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:4f6e739881403e7d50f52a4e574c4e3c88266031fd555303ee2f1ba262523d6a", + "identifier": "sha256:f5a3067027c2b322cd71b844f3d84ad3deada45ceb8a30f301260a602455070e", "platform": "linux/amd64", "target_name": "distroless_base_linux_amd64", "bazel_tags": [] @@ -278,7 +287,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:4f6e739881403e7d50f52a4e574c4e3c88266031fd555303ee2f1ba262523d6a", + "identifier": "sha256:f5a3067027c2b322cd71b844f3d84ad3deada45ceb8a30f301260a602455070e", "platform": "linux/arm64/v8", "target_name": "distroless_base_linux_arm64_v8", "bazel_tags": [] @@ -292,7 +301,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:4f6e739881403e7d50f52a4e574c4e3c88266031fd555303ee2f1ba262523d6a", + "identifier": "sha256:f5a3067027c2b322cd71b844f3d84ad3deada45ceb8a30f301260a602455070e", "platforms": { "@@platforms//cpu:x86_64": "@distroless_base_linux_amd64", "@@platforms//cpu:arm64": "@distroless_base_linux_arm64_v8" @@ -453,6 +462,388 @@ ] ] } + }, + "@@tar.bzl+//tar:extensions.bzl%toolchains": { + "general": { + "bzlTransitiveDigest": "/2afh6fPjq/rcyE/jztQDK3ierehmFFngfvmqyRv72M=", + "usagesDigest": "maF8qsAIqeH1ey8pxP0gNZbvJt34kLZvTFeQ0ntrJVA=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "bsd_tar_toolchains": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:toolchain.bzl%tar_toolchains_repo", + "attributes": { + "user_repository_name": "bsd_tar_toolchains" + } + }, + "bsd_tar_toolchains_darwin_amd64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "bsd_tar_toolchains_darwin_arm64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "darwin_arm64" + } + }, + "bsd_tar_toolchains_linux_amd64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "bsd_tar_toolchains_linux_arm64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "bsd_tar_toolchains_windows_amd64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "windows_amd64" + } + }, + "bsd_tar_toolchains_windows_arm64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "windows_arm64" + } + } + }, + "recordedRepoMappingEntries": [] + } + } + }, + "facts": { + "@@rules_go+//go:extensions.bzl%go_sdk": { + "1.25.0": { + "aix_ppc64": [ + "go1.25.0.aix-ppc64.tar.gz", + "e5234a7dac67bc86c528fe9752fc9d63557918627707a733ab4cac1a6faed2d4" + ], + "darwin_amd64": [ + "go1.25.0.darwin-amd64.tar.gz", + "5bd60e823037062c2307c71e8111809865116714d6f6b410597cf5075dfd80ef" + ], + "darwin_arm64": [ + "go1.25.0.darwin-arm64.tar.gz", + "544932844156d8172f7a28f77f2ac9c15a23046698b6243f633b0a0b00c0749c" + ], + "dragonfly_amd64": [ + "go1.25.0.dragonfly-amd64.tar.gz", + "5ed3cf9a810a1483822538674f1336c06b51aa1b94d6d545a1a0319a48177120" + ], + "freebsd_386": [ + "go1.25.0.freebsd-386.tar.gz", + "abea5d5c6697e6b5c224731f2158fe87c602996a2a233ac0c4730cd57bf8374e" + ], + "freebsd_amd64": [ + "go1.25.0.freebsd-amd64.tar.gz", + "86e6fe0a29698d7601c4442052dac48bd58d532c51cccb8f1917df648138730b" + ], + "freebsd_arm": [ + "go1.25.0.freebsd-arm.tar.gz", + "d90b78e41921f72f30e8bbc81d9dec2cff7ff384a33d8d8debb24053e4336bfe" + ], + "freebsd_arm64": [ + "go1.25.0.freebsd-arm64.tar.gz", + "451d0da1affd886bfb291b7c63a6018527b269505db21ce6e14724f22ab0662e" + ], + "freebsd_riscv64": [ + "go1.25.0.freebsd-riscv64.tar.gz", + "7b565f76bd8bda46549eeaaefe0e53b251e644c230577290c0f66b1ecdb3cdbe" + ], + "illumos_amd64": [ + "go1.25.0.illumos-amd64.tar.gz", + "b1e1fdaab1ad25aa1c08d7a36c97d45d74b98b89c3f78c6d2145f77face54a2c" + ], + "linux_386": [ + "go1.25.0.linux-386.tar.gz", + "8c602dd9d99bc9453b3995d20ce4baf382cc50855900a0ece5de9929df4a993a" + ], + "linux_amd64": [ + "go1.25.0.linux-amd64.tar.gz", + "2852af0cb20a13139b3448992e69b868e50ed0f8a1e5940ee1de9e19a123b613" + ], + "linux_arm64": [ + "go1.25.0.linux-arm64.tar.gz", + "05de75d6994a2783699815ee553bd5a9327d8b79991de36e38b66862782f54ae" + ], + "linux_armv6l": [ + "go1.25.0.linux-armv6l.tar.gz", + "a5a8f8198fcf00e1e485b8ecef9ee020778bf32a408a4e8873371bfce458cd09" + ], + "linux_loong64": [ + "go1.25.0.linux-loong64.tar.gz", + "cab86b1cf761b1cb3bac86a8877cfc92e7b036fc0d3084123d77013d61432afc" + ], + "linux_mips": [ + "go1.25.0.linux-mips.tar.gz", + "d66b6fb74c3d91b9829dc95ec10ca1f047ef5e89332152f92e136cf0e2da5be1" + ], + "linux_mips64": [ + "go1.25.0.linux-mips64.tar.gz", + "4082e4381a8661bc2a839ff94ba3daf4f6cde20f8fb771b5b3d4762dc84198a2" + ], + "linux_mips64le": [ + "go1.25.0.linux-mips64le.tar.gz", + "70002c299ec7f7175ac2ef673b1b347eecfa54ae11f34416a6053c17f855afcc" + ], + "linux_mipsle": [ + "go1.25.0.linux-mipsle.tar.gz", + "b00a3a39eff099f6df9f1c7355bf28e4589d0586f42d7d4a394efb763d145a73" + ], + "linux_ppc64": [ + "go1.25.0.linux-ppc64.tar.gz", + "df166f33bd98160662560a72ff0b4ba731f969a80f088922bddcf566a88c1ec1" + ], + "linux_ppc64le": [ + "go1.25.0.linux-ppc64le.tar.gz", + "0f18a89e7576cf2c5fa0b487a1635d9bcbf843df5f110e9982c64df52a983ad0" + ], + "linux_riscv64": [ + "go1.25.0.linux-riscv64.tar.gz", + "c018ff74a2c48d55c8ca9b07c8e24163558ffec8bea08b326d6336905d956b67" + ], + "linux_s390x": [ + "go1.25.0.linux-s390x.tar.gz", + "34e5a2e19f2292fbaf8783e3a241e6e49689276aef6510a8060ea5ef54eee408" + ], + "netbsd_386": [ + "go1.25.0.netbsd-386.tar.gz", + "f8586cdb7aa855657609a5c5f6dbf523efa00c2bbd7c76d3936bec80aa6c0aba" + ], + "netbsd_amd64": [ + "go1.25.0.netbsd-amd64.tar.gz", + "ae8dc1469385b86a157a423bb56304ba45730de8a897615874f57dd096db2c2a" + ], + "netbsd_arm": [ + "go1.25.0.netbsd-arm.tar.gz", + "1ff7e4cc764425fc9dd6825eaee79d02b3c7cafffbb3691687c8d672ade76cb7" + ], + "netbsd_arm64": [ + "go1.25.0.netbsd-arm64.tar.gz", + "e1b310739f26724216aa6d7d7208c4031f9ff54c9b5b9a796ddc8bebcb4a5f16" + ], + "openbsd_386": [ + "go1.25.0.openbsd-386.tar.gz", + "4802a9b20e533da91adb84aab42e94aa56cfe3e5475d0550bed3385b182e69d8" + ], + "openbsd_amd64": [ + "go1.25.0.openbsd-amd64.tar.gz", + "c016cd984bebe317b19a4f297c4f50def120dc9788490540c89f28e42f1dabe1" + ], + "openbsd_arm": [ + "go1.25.0.openbsd-arm.tar.gz", + "a1e31d0bf22172ddde42edf5ec811ef81be43433df0948ece52fecb247ccfd8d" + ], + "openbsd_arm64": [ + "go1.25.0.openbsd-arm64.tar.gz", + "343ea8edd8c218196e15a859c6072d0dd3246fbbb168481ab665eb4c4140458d" + ], + "openbsd_ppc64": [ + "go1.25.0.openbsd-ppc64.tar.gz", + "694c14da1bcaeb5e3332d49bdc2b6d155067648f8fe1540c5de8f3cf8e157154" + ], + "openbsd_riscv64": [ + "go1.25.0.openbsd-riscv64.tar.gz", + "aa510ad25cf54c06cd9c70b6d80ded69cb20188ac6e1735655eef29ff7e7885f" + ], + "plan9_386": [ + "go1.25.0.plan9-386.tar.gz", + "46f8cef02086cf04bf186c5912776b56535178d4cb319cd19c9fdbdd29231986" + ], + "plan9_amd64": [ + "go1.25.0.plan9-amd64.tar.gz", + "29b34391d84095e44608a228f63f2f88113a37b74a79781353ec043dfbcb427b" + ], + "plan9_arm": [ + "go1.25.0.plan9-arm.tar.gz", + "0a047107d13ebe7943aaa6d54b1d7bbd2e45e68ce449b52915a818da715799c2" + ], + "solaris_amd64": [ + "go1.25.0.solaris-amd64.tar.gz", + "9977f9e4351984364a3b2b78f8b88bfd1d339812356d5237678514594b7d3611" + ], + "windows_386": [ + "go1.25.0.windows-386.zip", + "df9f39db82a803af0db639e3613a36681ab7a42866b1384b3f3a1045663961a7" + ], + "windows_amd64": [ + "go1.25.0.windows-amd64.zip", + "89efb4f9b30812eee083cc1770fdd2913c14d301064f6454851428f9707d190b" + ], + "windows_arm64": [ + "go1.25.0.windows-arm64.zip", + "27bab004c72b3d7bd05a69b6ec0fc54a309b4b78cc569dd963d8b3ec28bfdb8c" + ] + }, + "1.25.5": { + "aix_ppc64": [ + "go1.25.5.aix-ppc64.tar.gz", + "89d3300aeb8a49354c04d43abf2a0dca6a75ac772b3bc2edaac52de513041572" + ], + "darwin_amd64": [ + "go1.25.5.darwin-amd64.tar.gz", + "b69d51bce599e5381a94ce15263ae644ec84667a5ce23d58dc2e63e2c12a9f56" + ], + "darwin_arm64": [ + "go1.25.5.darwin-arm64.tar.gz", + "bed8ebe824e3d3b27e8471d1307f803fc6ab8e1d0eb7a4ae196979bd9b801dd3" + ], + "dragonfly_amd64": [ + "go1.25.5.dragonfly-amd64.tar.gz", + "51478a265f45b68ce761aa303c1ecf185949f6eb0b2106e3066ec4d32361b38a" + ], + "freebsd_386": [ + "go1.25.5.freebsd-386.tar.gz", + "f8ff9fa5309fbbbd7d52f5d3f7181feb830dfd044d23c38746a2ada091f751b5" + ], + "freebsd_amd64": [ + "go1.25.5.freebsd-amd64.tar.gz", + "a2d2b2aeb218bd646fd8708bacc96c9d4de1b6c9ea48ceb9171e9e784f676650" + ], + "freebsd_arm": [ + "go1.25.5.freebsd-arm.tar.gz", + "b83a5cb1695c7185a13840661aef6aa1b46202d41a72528ecde51735765c6641" + ], + "freebsd_arm64": [ + "go1.25.5.freebsd-arm64.tar.gz", + "938fc0204f853c24ab03967105146af6590903dd14f869fe912db7a735f654f6" + ], + "freebsd_riscv64": [ + "go1.25.5.freebsd-riscv64.tar.gz", + "7b0cc61246cf6fc9e576135cfcd2b95e870b0f2ee5bf057325b2d76119001e4e" + ], + "illumos_amd64": [ + "go1.25.5.illumos-amd64.tar.gz", + "ea5cafcf995ef4a82ced5a7134f18bbc5ca554c345075d18f37d2e192fe2c1ff" + ], + "linux_386": [ + "go1.25.5.linux-386.tar.gz", + "db908a86e888574ed3432355ba5372ad3ef2c0821ba9b91ceaa0f6634620c40c" + ], + "linux_amd64": [ + "go1.25.5.linux-amd64.tar.gz", + "9e9b755d63b36acf30c12a9a3fc379243714c1c6d3dd72861da637f336ebb35b" + ], + "linux_arm64": [ + "go1.25.5.linux-arm64.tar.gz", + "b00b694903d126c588c378e72d3545549935d3982635ba3f7a964c9fa23fe3b9" + ], + "linux_armv6l": [ + "go1.25.5.linux-armv6l.tar.gz", + "0b27e3dec8d04899d6941586d2aa2721c3dee67c739c1fc1b528188f3f6e8ab5" + ], + "linux_loong64": [ + "go1.25.5.linux-loong64.tar.gz", + "0be2f27172a85de1b9c0c7f324832023b177d07cfa04a55dc67a3cc965fe969e" + ], + "linux_mips": [ + "go1.25.5.linux-mips.tar.gz", + "0e7c387a6914c81b53278f023da2004e17d8d8e851749cdb5df15ad59e54ff3e" + ], + "linux_mips64": [ + "go1.25.5.linux-mips64.tar.gz", + "32ef8f4c4896c1e88dcbbf79c353d3e46dc38410e649327ee47e073e3326b06f" + ], + "linux_mips64le": [ + "go1.25.5.linux-mips64le.tar.gz", + "437dc493b3ce97a65e7abc7e8ecb935f504b4805aff749baba219841bd970335" + ], + "linux_mipsle": [ + "go1.25.5.linux-mipsle.tar.gz", + "675cd3e0cb7d9131602a0de06f5471ce969fd95d388baf1ec05106a1cdeb20b6" + ], + "linux_ppc64": [ + "go1.25.5.linux-ppc64.tar.gz", + "a2159b254b025a816673365db565b3bd64f99fb185eb3f4cedabbf992097304d" + ], + "linux_ppc64le": [ + "go1.25.5.linux-ppc64le.tar.gz", + "f0904b647b5b8561efc5d48bb59a34f2b7996afab83ccd41c93b1aeb2c0067e4" + ], + "linux_riscv64": [ + "go1.25.5.linux-riscv64.tar.gz", + "05de84b319bc91b9cecbc6bf8eb5fcd814cf8a9d16c248d293dbd96f6cc0151b" + ], + "linux_s390x": [ + "go1.25.5.linux-s390x.tar.gz", + "a5d0a72b0dfd57f9c2c0cdd8b7e0f401e0afb9e8c304d3410f9b0982ce0953da" + ], + "netbsd_386": [ + "go1.25.5.netbsd-386.tar.gz", + "57e79e72d1110954c6567082137f0228c46eb4d612211b3bf48dadb6a27eeaa2" + ], + "netbsd_amd64": [ + "go1.25.5.netbsd-amd64.tar.gz", + "d6062fa06c33613be60436b3e6422f2de43c28350bb30dbbc459782985eea7bd" + ], + "netbsd_arm": [ + "go1.25.5.netbsd-arm.tar.gz", + "457d844df4aa6cd51616b2334e378cc295ee7bcca1cb21869adfc16f5f379bfd" + ], + "netbsd_arm64": [ + "go1.25.5.netbsd-arm64.tar.gz", + "5030511891f670dba65a6d8f15e687f623030ac5b63661a423a7dad53990b634" + ], + "openbsd_386": [ + "go1.25.5.openbsd-386.tar.gz", + "27cba5feeedfb08dea2770420c6024d7ea72eedad08132a9759c0f05f66f2486" + ], + "openbsd_amd64": [ + "go1.25.5.openbsd-amd64.tar.gz", + "c873e93f6bd125a23b359914ba34d62e6af21111b06c14ce344b724aa1ef933b" + ], + "openbsd_arm": [ + "go1.25.5.openbsd-arm.tar.gz", + "e5a8cc469c66248bc2031327e66a4ad48a8f379435677386db52ef1aa7b2b0e2" + ], + "openbsd_arm64": [ + "go1.25.5.openbsd-arm64.tar.gz", + "cdd655fa0e15bc839d0c353bfb728b8d22a8012e54a11e297be919c3cf7ad866" + ], + "openbsd_ppc64": [ + "go1.25.5.openbsd-ppc64.tar.gz", + "a149370fda34ce27fa78a452248f6f2040fe5ab955dce246d4d92de2c2d511c1" + ], + "openbsd_riscv64": [ + "go1.25.5.openbsd-riscv64.tar.gz", + "be96cf8460011088cb75b330357796ecf1ac2ffffac77a3d1f798cbd7e6a2bc0" + ], + "plan9_386": [ + "go1.25.5.plan9-386.tar.gz", + "a3926108324c4b161080b03cd941db58090fba1194610093ee5716ee98997287" + ], + "plan9_amd64": [ + "go1.25.5.plan9-amd64.tar.gz", + "f171e529236b850ed4a1e714c317dddcf46855b575d9d018c654cf78b3ea1a2e" + ], + "plan9_arm": [ + "go1.25.5.plan9-arm.tar.gz", + "aaf285e49f39717029f4759c0f9b2860dbf23c20fb659122006ba1e145643721" + ], + "solaris_amd64": [ + "go1.25.5.solaris-amd64.tar.gz", + "fb61c56ca80a2e1e5f74609ded64546166a5ab431c0d581ce718310cf27f6b9f" + ], + "windows_386": [ + "go1.25.5.windows-386.zip", + "a593393ea7715ffd315158f622a76226c3a4c4a0a6f92b1aeae03d7380cc06a3" + ], + "windows_amd64": [ + "go1.25.5.windows-amd64.zip", + "ae756cce1cb80c819b4fe01b0353807178f532211b47f72d7fa77949de054ebb" + ], + "windows_arm64": [ + "go1.25.5.windows-arm64.zip", + "55a94a423a6b8f3ac2ac4d05a6e44d7760c6520a2c6dcef7425f6bac79c4eece" + ] + } } } } From c367473f072cca1faa8f8814eaa151251f2800aa Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 28 Dec 2025 11:05:52 +1100 Subject: [PATCH 263/381] chore: Update golang.org/x/tools. go mod tidy. --- MODULE.bazel.lock | 6 +++--- go.mod | 8 ++++---- go.sum | 20 ++++++++------------ 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 66acc9597..b0f49332d 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -12,8 +12,8 @@ "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/MODULE.bazel": "2b31ffcc9bdc8295b2167e07a757dbbc9ac8906e7028e5170a3708cecaac119f", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.3/MODULE.bazel": "253d739ba126f62a5767d832765b12b59e9f8d2bc88cc1572f4a73e46eb298ca", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.0/MODULE.bazel": "7fe0191f047d4fe4a4a46c1107e2350cbb58a8fc2e10913aa4322d3190dec0bf", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.0/source.json": "369df5b7f2eae82f200fff95cf1425f90dee90a0d0948122060b48150ff0e224", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.2/MODULE.bazel": "6b735f3fdd64978e217c9725f4ff0d84bf606554c8e77d20e90977841d7ff2ed", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.2/source.json": "58fffa2d722cff47cb8d921c8bbed7701c53f233009d9ca82beb4a0fb8fb9418", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.2/MODULE.bazel": "780d1a6522b28f5edb7ea09630748720721dfe27690d65a2d33aa7509de77e07", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838", "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", @@ -261,7 +261,7 @@ }, "@@rules_oci+//oci:extensions.bzl%oci": { "general": { - "bzlTransitiveDigest": "QlIUsGfsZvanX1TeENU0UABAW1qtQhzvLc4Li7b0QT8=", + "bzlTransitiveDigest": "h2ezXKTp6fuEmxleVjzlM2GtuPN4/+kWnF8k93z+Z9Y=", "usagesDigest": "BtYBnW7xmOPp5Bnba0135TpiJBCyTQJc4jf4TT2viJ8=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, diff --git a/go.mod b/go.mod index ce887c0f9..3e8ad4174 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.39.0 go.opentelemetry.io/otel/sdk/metric v1.39.0 golang.org/x/sys v0.39.0 - golang.org/x/tools v0.39.0 + golang.org/x/tools v0.40.0 ) require ( @@ -40,9 +40,9 @@ require ( go.opentelemetry.io/otel/trace v1.39.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/net v0.47.0 // indirect - golang.org/x/sync v0.18.0 // indirect - golang.org/x/text v0.31.0 // indirect + golang.org/x/net v0.48.0 // indirect + golang.org/x/sync v0.19.0 // indirect + golang.org/x/text v0.32.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect diff --git a/go.sum b/go.sum index 38b3a0d52..8acfe11c1 100644 --- a/go.sum +++ b/go.sum @@ -103,8 +103,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.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.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 h1:8Tjv8EJ+pM1xP8mK6egEbD1OgnVTyacbefKhmbLhIhU= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2/go.mod h1:pkJQ2tZHJ0aFOVEEot6oZmaVEZcRme73eIFmhiVuRWs= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 h1:NmZ1PKzSTQbuGHw9DGPFomqkkLWMC+vZCkfs+FHv1Vg= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3/go.mod h1:zQrxl1YP88HQlA6i9c63DSVPFklWpGX4OWAc9bFuaH4= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -165,8 +163,6 @@ go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 h1:vl9obrcoWVKp/lwl8tRE33853I8Xru9HFbw/skNeLs8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0/go.mod h1:GAXRxmLJcVM3u22IjTg74zWBrRCKq8BnOqUVLodpcpw= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 h1:cEf8jF6WbuGQWUVcqgyWtTR0kOOAWY1DYZ+UhvdmQPw= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0/go.mod h1:k1lzV5n5U3HkGvTCJHraTAGJ7MqsgL1wrGwTj1Isfiw= go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= @@ -177,8 +173,6 @@ go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2W go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew= go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= -go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOVAtj4= -go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE= go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -239,6 +233,8 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= +golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= +golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -254,6 +250,8 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -283,6 +281,8 @@ 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.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= +golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= +golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -318,6 +318,8 @@ golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ= golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ= +golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= +golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -360,12 +362,8 @@ google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 h1:BIRfGDEjiHRrk0QKZe3Xv2ieMhtgRGeLcZQ0mIVn4EY= -google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5/go.mod h1:j3QtIyytwqGr1JUDtYXwtMXWPKsEa5LtzIFN1Wn5WvE= google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 h1:fCvbg86sFXwdrl5LgVcTEvNC+2txB5mgROGmRL5mrls= google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:+rXWjjaukWZun3mLfjmVnQi18E1AsFbDN9QdJ5YXLto= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 h1:eaY8u2EuxbRv7c3NiGK0/NedzVsCcV6hDuU5qPX5EGE= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5/go.mod h1:M4/wBTSeyLxupu3W3tJtOgB14jILAS/XWPSSa3TAlJc= google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 h1:gRkg/vSppuSQoDjxyiGfN4Upv/h/DQmIR10ZU8dh4Ww= google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -378,8 +376,6 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4= -google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= google.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM= google.golang.org/grpc v1.77.0/go.mod h1:z0BY1iVj0q8E1uSQCjL9cppRj+gnZjzDnzV0dHhrNig= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= From 10858573a71459f6a68aeb441a0289b329b4d1eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jan 2026 23:01:20 +0000 Subject: [PATCH 264/381] build(deps): bump github.com/prometheus/common from 0.67.4 to 0.67.5 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.67.4 to 0.67.5. - [Release notes](https://github.com/prometheus/common/releases) - [Changelog](https://github.com/prometheus/common/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/common/compare/v0.67.4...v0.67.5) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-version: 0.67.5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 16 ++++------------ 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/go.mod b/go.mod index 3e8ad4174..e68bddec2 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.23.2 - github.com/prometheus/common v0.67.4 + github.com/prometheus/common v0.67.5 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.39.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 @@ -47,5 +47,5 @@ require ( google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect google.golang.org/grpc v1.77.0 // indirect - google.golang.org/protobuf v1.36.10 // indirect + google.golang.org/protobuf v1.36.11 // indirect ) diff --git a/go.sum b/go.sum index 8acfe11c1..171d070e7 100644 --- a/go.sum +++ b/go.sum @@ -133,8 +133,8 @@ github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UH github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.67.4 h1:yR3NqWO1/UyO1w2PhUvXlGQs/PtFmoveVO0KZ4+Lvsc= -github.com/prometheus/common v0.67.4/go.mod h1:gP0fq6YjjNCLssJCQp0yk4M8W6ikLURwkdd/YKtTbyI= +github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4= +github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw= github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -231,8 +231,6 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= -golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -248,8 +246,6 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= -golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -279,8 +275,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.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.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= -golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -316,8 +310,6 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ= -golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ= golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -387,8 +379,8 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= -google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= +google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= +google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= From 1c1d2afc326acb34964a5e4aef09da0cf1e4cc65 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 Jan 2026 23:26:30 +0000 Subject: [PATCH 265/381] build(deps): bump golang.org/x/sys from 0.39.0 to 0.40.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.39.0 to 0.40.0. - [Commits](https://github.com/golang/sys/compare/v0.39.0...v0.40.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-version: 0.40.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e68bddec2..ce6a4b2e8 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 go.opentelemetry.io/otel/sdk v1.39.0 go.opentelemetry.io/otel/sdk/metric v1.39.0 - golang.org/x/sys v0.39.0 + golang.org/x/sys v0.40.0 golang.org/x/tools v0.40.0 ) diff --git a/go.sum b/go.sum index 171d070e7..9e7f74ec0 100644 --- a/go.sum +++ b/go.sum @@ -268,8 +268,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= -golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= +golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From 021586e42814761293b4bfff29a26451d9034ac8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 9 Jan 2026 21:58:54 +0000 Subject: [PATCH 266/381] chore(deps): update dependency aspect_bazel_lib to v2.22.4 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index eb16e410a..b1c8318cd 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.22.2") +bazel_dep(name = "aspect_bazel_lib", version = "2.22.4") bazel_dep(name = "rules_oci", version = "2.2.7") bazel_dep(name = "platforms", version = "1.0.0") From 148c6a48f89c2e5e11cc02cd04e12fc6d546bdee Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 11 Jan 2026 20:24:25 +0000 Subject: [PATCH 267/381] chore(deps): update bazel-contrib/setup-bazel action to v0.18.0 --- .github/workflows/benchmark.yml | 2 +- .github/workflows/ci.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 34f652a22..4c928440a 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: bazel-contrib/setup-bazel@0.16.0 + - uses: bazel-contrib/setup-bazel@0.18.0 with: bazelisk-cache: true disk-cache: ${{ github.workflow }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index edf066fa6..ea965a7da 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: checks: write steps: - uses: actions/checkout@v6 - - uses: bazel-contrib/setup-bazel@0.16.0 + - uses: bazel-contrib/setup-bazel@0.18.0 with: # Avoid downloading Bazel each time bazelisk-cache: true From 5d6a24779e814b05229cfe223544f0bbcf1dbdfb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 12 Jan 2026 01:33:27 +0000 Subject: [PATCH 268/381] chore(deps): update distroless_base docker digest to 0c70ab4 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index b1c8318cd..a2114b8da 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:f5a3067027c2b322cd71b844f3d84ad3deada45ceb8a30f301260a602455070e", + digest = "sha256:0c70ab46409b94a96f4e98e32e7333050581e75f7038de2877a4bfc146dfc7ce", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From bb851a6947329b838337a30b30b79d28020b2508 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Jan 2026 03:28:47 +0000 Subject: [PATCH 269/381] build(deps): bump golang.org/x/tools from 0.40.0 to 0.41.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.40.0 to 0.41.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.40.0...v0.41.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.41.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index ce6a4b2e8..99c226b11 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.39.0 go.opentelemetry.io/otel/sdk/metric v1.39.0 golang.org/x/sys v0.40.0 - golang.org/x/tools v0.40.0 + golang.org/x/tools v0.41.0 ) require ( @@ -40,9 +40,9 @@ require ( go.opentelemetry.io/otel/trace v1.39.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/net v0.48.0 // indirect + golang.org/x/net v0.49.0 // indirect golang.org/x/sync v0.19.0 // indirect - golang.org/x/text v0.32.0 // indirect + golang.org/x/text v0.33.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect diff --git a/go.sum b/go.sum index 9e7f74ec0..ccd48eb62 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= -golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= +golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= +golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -275,8 +275,8 @@ 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.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.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= -golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= +golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= +golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -310,8 +310,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= -golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= +golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= +golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 8167f09e4cecf220b37d8f1e72f1305ea8ac87c6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 Jan 2026 03:29:23 +0000 Subject: [PATCH 270/381] chore(deps): update dependency aspect_bazel_lib to v2.22.5 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index a2114b8da..feceea10a 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. -bazel_dep(name = "aspect_bazel_lib", version = "2.22.4") +bazel_dep(name = "aspect_bazel_lib", version = "2.22.5") bazel_dep(name = "rules_oci", version = "2.2.7") bazel_dep(name = "platforms", version = "1.0.0") From 3305d1bd5458ec74add3895f2924376ed6745b8b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 15 Jan 2026 20:50:18 +0000 Subject: [PATCH 271/381] chore(deps): update dependency go to v1.25.6 --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 99c226b11..c115499be 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/jaqx0r/mtail go 1.24.0 -toolchain go1.25.5 +toolchain go1.25.6 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 From bc677ac4877bdcbb4df5e14c3fe389eb30561cd6 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 10 Aug 2024 15:45:23 +1000 Subject: [PATCH 272/381] refactor: Move the symbol table check function into `symtab`. --- internal/runtime/compiler/checker/checker.go | 17 +-------------- internal/runtime/compiler/symbol/BUILD.bazel | 2 ++ internal/runtime/compiler/symbol/symtab.go | 22 ++++++++++++++++++++ 3 files changed, 25 insertions(+), 16 deletions(-) diff --git a/internal/runtime/compiler/checker/checker.go b/internal/runtime/compiler/checker/checker.go index 8006e1276..d45881e26 100644 --- a/internal/runtime/compiler/checker/checker.go +++ b/internal/runtime/compiler/checker/checker.go @@ -248,22 +248,7 @@ func (c *checker) VisitBefore(node ast.Node) (ast.Visitor, ast.Node) { // checkSymbolTable emits errors if any eligible symbols in the current scope // are not marked as used or have an invalid type. func (c *checker) checkSymbolTable() { - for _, sym := range c.scope.Symbols { - if !sym.Used { - // Users don't have control over the patterns given from decorators - // so this should never be an error; but it can be useful to know - // if a program is doing unnecessary work. - if sym.Kind == symbol.CaprefSymbol { - if sym.Addr == 0 { - // Don't warn about the zeroth capture group; it's not user-defined. - continue - } - glog.Infof("capture group reference `%s' at %s appears to be unused", sym.Name, sym.Pos) - continue - } - c.errors.Add(sym.Pos, fmt.Sprintf("Declaration of %s `%s' here is never used.", sym.Kind, sym.Name)) - } - } + c.scope.Check(&c.errors) } // VisitAfter performs the type annotation and checking, once the child nodes diff --git a/internal/runtime/compiler/symbol/BUILD.bazel b/internal/runtime/compiler/symbol/BUILD.bazel index b3daedfce..db1c91acc 100644 --- a/internal/runtime/compiler/symbol/BUILD.bazel +++ b/internal/runtime/compiler/symbol/BUILD.bazel @@ -6,8 +6,10 @@ go_library( importpath = "github.com/jaqx0r/mtail/internal/runtime/compiler/symbol", visibility = ["//:__subpackages__"], deps = [ + "//internal/runtime/compiler/errors", "//internal/runtime/compiler/position", "//internal/runtime/compiler/types", + "@com_github_golang_glog//:glog", ], ) diff --git a/internal/runtime/compiler/symbol/symtab.go b/internal/runtime/compiler/symbol/symtab.go index f6b828628..a38e661f2 100644 --- a/internal/runtime/compiler/symbol/symtab.go +++ b/internal/runtime/compiler/symbol/symtab.go @@ -7,6 +7,8 @@ import ( "bytes" "fmt" + "github.com/golang/glog" + "github.com/jaqx0r/mtail/internal/runtime/compiler/errors" "github.com/jaqx0r/mtail/internal/runtime/compiler/position" "github.com/jaqx0r/mtail/internal/runtime/compiler/types" ) @@ -128,3 +130,23 @@ func (s *Scope) CopyFrom(o *Scope) { s.CopyFrom(o.Parent) } } + +// Check checks a symbol table for validity and emits errors into the given error list if any are found. +func (s *Scope) Check(errors *errors.ErrorList) { + for _, sym := range s.Symbols { + if !sym.Used { + // Users don't have control over the patterns given from decorators + // so this should never be an error; but it can be useful to know + // if a program is doing unnecessary work. + if sym.Kind == CaprefSymbol { + if sym.Addr == 0 { + // Don't warn about the zeroth capture group; it's not user-defined. + continue + } + glog.Infof("capture group reference `%s' at %s appears to be unused", sym.Name, sym.Pos) + continue + } + errors.Add(sym.Pos, fmt.Sprintf("Declaration of %s `%s' here is never used.", sym.Kind, sym.Name)) + } + } +} From 82791d8e96bc61dc27ccea65ab143cc7d3d6e37c Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 31 May 2025 16:14:59 +1000 Subject: [PATCH 273/381] refactor: Move symbol use and redeclaration checks to the symbol table. Allow definition of symbols to insert multiple values during parse, and worry about conflicts later on. This will have flow on effects for handling `subst()` parameters later on. We check in the scope `Check` method now for redeclaration of variables when there are more than one definition, and we continue to check for use of any variable when defined. Add `Equal` methods to `Position` and `Error` so that they can be compared in test. --- internal/runtime/compiler/checker/checker.go | 1 - .../runtime/compiler/checker/checker_test.go | 2 +- internal/runtime/compiler/errors/errors.go | 7 ++ internal/runtime/compiler/parser/sexp.go | 8 +- .../runtime/compiler/position/position.go | 13 ++++ internal/runtime/compiler/symbol/BUILD.bazel | 8 +- internal/runtime/compiler/symbol/symtab.go | 73 +++++++++++-------- .../runtime/compiler/symbol/symtab_test.go | 22 ++++++ 8 files changed, 99 insertions(+), 35 deletions(-) diff --git a/internal/runtime/compiler/checker/checker.go b/internal/runtime/compiler/checker/checker.go index d45881e26..0a19dcb7f 100644 --- a/internal/runtime/compiler/checker/checker.go +++ b/internal/runtime/compiler/checker/checker.go @@ -113,7 +113,6 @@ func (c *checker) VisitBefore(node ast.Node) (ast.Visitor, ast.Node) { case *ast.VarDecl: n.Symbol = symbol.NewSymbol(n.Name, symbol.VarSymbol, n.Pos()) if alt := c.scope.Insert(n.Symbol); alt != nil { - c.errors.Add(n.Pos(), fmt.Sprintf("Redeclaration of metric `%s' previously declared at %s", n.Name, alt.Pos)) c.depth-- return nil, n } diff --git a/internal/runtime/compiler/checker/checker_test.go b/internal/runtime/compiler/checker/checker_test.go index c9d8daf5b..e197959b8 100644 --- a/internal/runtime/compiler/checker/checker_test.go +++ b/internal/runtime/compiler/checker/checker_test.go @@ -78,8 +78,8 @@ var checkerInvalidPrograms = []struct { "duplicate declaration", "counter foo\ncounter foo\n", []string{ - "duplicate declaration:2:9-11: Redeclaration of metric `foo' previously declared at duplicate declaration:1:9-11", "duplicate declaration:1:9-11: Declaration of variable `foo' here is never used.", + "duplicate declaration:2:9-11: Redeclaration of variable `foo' previously declared at duplicate declaration:1:9-11", }, }, diff --git a/internal/runtime/compiler/errors/errors.go b/internal/runtime/compiler/errors/errors.go index 86209708d..a53fa611e 100644 --- a/internal/runtime/compiler/errors/errors.go +++ b/internal/runtime/compiler/errors/errors.go @@ -20,6 +20,13 @@ func (e compileError) Error() string { return e.pos.String() + ": " + e.msg } +func (e compileError) Equal(f compileError) bool { + if e.pos != f.pos { + return false + } + return e.msg == f.msg +} + // ErrorList contains a list of compile errors. type ErrorList []*compileError diff --git a/internal/runtime/compiler/parser/sexp.go b/internal/runtime/compiler/parser/sexp.go index 81cac8b5f..fe8ae16e6 100644 --- a/internal/runtime/compiler/parser/sexp.go +++ b/internal/runtime/compiler/parser/sexp.go @@ -246,9 +246,11 @@ func (s *Sexp) emitScope(scope *symbol.Scope) { } if len(scope.Symbols) > 0 { s.indent() - for name, sym := range scope.Symbols { - s.emit(fmt.Sprintf("%q: %v %q %v", name, sym.Kind, sym.Name, sym.Used)) - s.newline() + for name, syms := range scope.Symbols { + for _, sym := range syms { + s.emit(fmt.Sprintf("%q: %v %q %v", name, sym.Kind, sym.Name, sym.Used)) + s.newline() + } } s.outdent() } diff --git a/internal/runtime/compiler/position/position.go b/internal/runtime/compiler/position/position.go index 714ff1704..11c9e1f61 100644 --- a/internal/runtime/compiler/position/position.go +++ b/internal/runtime/compiler/position/position.go @@ -50,3 +50,16 @@ func Merge(a, b *Position) *Position { } return &r } + +func (p Position) Equal(q Position) bool { + if p.Line != q.Line { + return false + } + if p.Startcol != q.Startcol { + return false + } + if p.Endcol != q.Endcol { + return false + } + return p.Filename == q.Filename +} diff --git a/internal/runtime/compiler/symbol/BUILD.bazel b/internal/runtime/compiler/symbol/BUILD.bazel index db1c91acc..1a71eadcb 100644 --- a/internal/runtime/compiler/symbol/BUILD.bazel +++ b/internal/runtime/compiler/symbol/BUILD.bazel @@ -18,5 +18,11 @@ go_test( size = "small", srcs = ["symtab_test.go"], embed = [":symbol"], - deps = ["//internal/testutil"], + deps = [ + "//internal/runtime/compiler/errors", + "//internal/runtime/compiler/position", + "//internal/testutil", + "@com_github_google_go_cmp//cmp", + "@com_github_google_go_cmp//cmp/cmpopts", + ], ) diff --git a/internal/runtime/compiler/symbol/symtab.go b/internal/runtime/compiler/symbol/symtab.go index a38e661f2..ed34c6b1f 100644 --- a/internal/runtime/compiler/symbol/symtab.go +++ b/internal/runtime/compiler/symbol/symtab.go @@ -57,44 +57,48 @@ func NewSymbol(name string, kind Kind, pos *position.Position) (sym *Symbol) { } // Scope maintains a record of the identifiers declared in the current program -// scope, and a link to the parent scope. +// scope, and a link to the parent scope. A program can insert multiple +// symbols with the same identifier into the symbol table; multiple definition +// errors are detected by `Check`, below. type Scope struct { Parent *Scope - Symbols map[string]*Symbol + Symbols map[string][]*Symbol } // NewScope creates a new scope within the parent scope. func NewScope(parent *Scope) *Scope { - return &Scope{parent, make(map[string]*Symbol)} + return &Scope{parent, make(map[string][]*Symbol)} } // Insert attempts to insert a symbol into the scope. If the scope already -// contains an object alt with the same name, the scope is unchanged and the -// function returns alt. Otherwise the symbol is inserted, and returns nil. +// contains a symbol with the same name, the new symbol is appended to the +// list. func (s *Scope) Insert(sym *Symbol) (alt *Symbol) { - if alt = s.Symbols[sym.Name]; alt == nil { - s.Symbols[sym.Name] = sym + if len(s.Symbols[sym.Name]) > 0 { + alt = s.Symbols[sym.Name][0] } + s.Symbols[sym.Name] = append(s.Symbols[sym.Name], sym) return } // InsertAlias attempts to insert a duplicate name for an existing symbol into -// the scope. If the scope already contains an object alt with the alias, the -// scope is unchanged and the function returns alt. Otherwise, the symbol is -// inserted and the function returns nil. +// the scope. func (s *Scope) InsertAlias(sym *Symbol, alias string) (alt *Symbol) { - if alt := s.Symbols[alias]; alt == nil { - s.Symbols[alias] = sym + if len(s.Symbols[alias]) > 0 { + alt = s.Symbols[alias][0] } + s.Symbols[alias] = append(s.Symbols[alias], sym) return } // Lookup returns the symbol with the given name if it is found in this or any -// parent scope, otherwise nil. +// parent scope, otherwise nil. If the symbol has more than one definition, +// the first registered symbol is returned. func (s *Scope) Lookup(name string, kind Kind) *Symbol { for scope := s; scope != nil; scope = scope.Parent { - if sym := scope.Symbols[name]; sym != nil && sym.Kind == kind { - return sym + symList := scope.Symbols[name] + if len(symList) > 0 && symList[0].Kind == kind { + return symList[0] } } return nil @@ -109,7 +113,9 @@ func (s *Scope) String() string { fmt.Fprintln(&buf) if len(s.Symbols) > 0 { for name, sym := range s.Symbols { - fmt.Fprintf(&buf, "\t%q: %v %q %v\n", name, sym.Kind, sym.Name, sym.Used) + for _, s := range sym { + fmt.Fprintf(&buf, "\t%q: %v %q %v\n", name, s.Kind, s.Name, s.Used) + } } } if s.Parent != nil { @@ -123,8 +129,10 @@ func (s *Scope) String() string { // CopyFrom copies all the symbols from another scope object into this one. // It recurses up the input scope copying all visible symbols into one. func (s *Scope) CopyFrom(o *Scope) { - for _, sym := range o.Symbols { - s.Insert(sym) + for _, syms := range o.Symbols { + for _, sym := range syms { + s.Insert(sym) + } } if o.Parent != nil { s.CopyFrom(o.Parent) @@ -133,20 +141,27 @@ func (s *Scope) CopyFrom(o *Scope) { // Check checks a symbol table for validity and emits errors into the given error list if any are found. func (s *Scope) Check(errors *errors.ErrorList) { - for _, sym := range s.Symbols { - if !sym.Used { - // Users don't have control over the patterns given from decorators - // so this should never be an error; but it can be useful to know - // if a program is doing unnecessary work. - if sym.Kind == CaprefSymbol { - if sym.Addr == 0 { - // Don't warn about the zeroth capture group; it's not user-defined. + for _, symList := range s.Symbols { + multiple := len(symList) > 1 + for i, sym := range symList { + if multiple && i > 0{ + errors.Add(sym.Pos, fmt.Sprintf("Redeclaration of %s `%s' previously declared at %s", sym.Kind, sym.Name, symList[0].Pos)) + continue + } + if !sym.Used { + // Users don't have control over the patterns given from decorators + // so this should never be an error; but it can be useful to know + // if a program is doing unnecessary work. + if sym.Kind == CaprefSymbol { + if sym.Addr == 0 { + // Don't warn about the zeroth capture group; it's not user-defined. + continue + } + glog.Infof("capture group reference `%s' at %s appears to be unused", sym.Name, sym.Pos) continue } - glog.Infof("capture group reference `%s' at %s appears to be unused", sym.Name, sym.Pos) - continue + errors.Add(sym.Pos, fmt.Sprintf("Declaration of %s `%s' here is never used.", sym.Kind, sym.Name)) } - errors.Add(sym.Pos, fmt.Sprintf("Declaration of %s `%s' here is never used.", sym.Kind, sym.Name)) } } } diff --git a/internal/runtime/compiler/symbol/symtab_test.go b/internal/runtime/compiler/symbol/symtab_test.go index 7dab12633..47fa7bb87 100644 --- a/internal/runtime/compiler/symbol/symtab_test.go +++ b/internal/runtime/compiler/symbol/symtab_test.go @@ -9,6 +9,9 @@ import ( "testing" "testing/quick" + "github.com/google/go-cmp/cmp" + "github.com/jaqx0r/mtail/internal/runtime/compiler/errors" + "github.com/jaqx0r/mtail/internal/runtime/compiler/position" "github.com/jaqx0r/mtail/internal/testutil" ) @@ -76,3 +79,22 @@ func TestNestedScope(t *testing.T) { t.Errorf("bar not found from s1") } } + +func TestCheck(t *testing.T) { + s := NewScope(nil) + + pos := &position.Position{Filename: "test", Line: 1, Startcol: 1, Endcol: 3} + + sym := NewSymbol("foo", VarSymbol, pos) + s.Insert(sym) + + var errs errors.ErrorList + s.Check(&errs) + + var wantErrs errors.ErrorList + wantErrs.Add(pos, "Declaration of variable `foo' here is never used.") + if diff := cmp.Diff(wantErrs, errs); diff != "" { + t.Errorf("Check() unexpected error diff (-want +got):\n%s", diff) + } + +} From 8c8d1e729a09533bde4d88afd39f206ffbe168a7 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 18 Jan 2026 13:35:01 +1100 Subject: [PATCH 274/381] chore: Module update. --- MODULE.bazel.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index b0f49332d..b86dece6d 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -12,8 +12,8 @@ "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/MODULE.bazel": "2b31ffcc9bdc8295b2167e07a757dbbc9ac8906e7028e5170a3708cecaac119f", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.3/MODULE.bazel": "253d739ba126f62a5767d832765b12b59e9f8d2bc88cc1572f4a73e46eb298ca", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.2/MODULE.bazel": "6b735f3fdd64978e217c9725f4ff0d84bf606554c8e77d20e90977841d7ff2ed", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.2/source.json": "58fffa2d722cff47cb8d921c8bbed7701c53f233009d9ca82beb4a0fb8fb9418", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.5/MODULE.bazel": "004ba890363d05372a97248c37205ae64b6fa31047629cd2c0895a9d0c7779e8", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.5/source.json": "ac2c3213df8f985785f1d0aeb7f0f73d5324e6e67d593d9b9470fb74a25d4a9b", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.2/MODULE.bazel": "780d1a6522b28f5edb7ea09630748720721dfe27690d65a2d33aa7509de77e07", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838", "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", @@ -261,8 +261,8 @@ }, "@@rules_oci+//oci:extensions.bzl%oci": { "general": { - "bzlTransitiveDigest": "h2ezXKTp6fuEmxleVjzlM2GtuPN4/+kWnF8k93z+Z9Y=", - "usagesDigest": "BtYBnW7xmOPp5Bnba0135TpiJBCyTQJc4jf4TT2viJ8=", + "bzlTransitiveDigest": "6aKMbron5MNBPiSubYntoK8hthOo78d9l4ZvXUZ+oRU=", + "usagesDigest": "ZCWRf2okPdrhLnHYzJUA/hX8xcWiWHdw1kMEqxxoXJ0=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -274,7 +274,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:f5a3067027c2b322cd71b844f3d84ad3deada45ceb8a30f301260a602455070e", + "identifier": "sha256:0c70ab46409b94a96f4e98e32e7333050581e75f7038de2877a4bfc146dfc7ce", "platform": "linux/amd64", "target_name": "distroless_base_linux_amd64", "bazel_tags": [] @@ -287,7 +287,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:f5a3067027c2b322cd71b844f3d84ad3deada45ceb8a30f301260a602455070e", + "identifier": "sha256:0c70ab46409b94a96f4e98e32e7333050581e75f7038de2877a4bfc146dfc7ce", "platform": "linux/arm64/v8", "target_name": "distroless_base_linux_arm64_v8", "bazel_tags": [] @@ -301,7 +301,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:f5a3067027c2b322cd71b844f3d84ad3deada45ceb8a30f301260a602455070e", + "identifier": "sha256:0c70ab46409b94a96f4e98e32e7333050581e75f7038de2877a4bfc146dfc7ce", "platforms": { "@@platforms//cpu:x86_64": "@distroless_base_linux_amd64", "@@platforms//cpu:arm64": "@distroless_base_linux_arm64_v8" From fb3ae2410668e94c9fb0bca2804c384d7d95bf31 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 25 Jan 2026 12:40:54 +0000 Subject: [PATCH 275/381] chore(deps): update lewagon/wait-on-check-action action to v1.5.0 --- .github/workflows/auto-review.yml | 2 +- .github/workflows/automerge.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-review.yml b/.github/workflows/auto-review.yml index 72b2f5e6a..52e9ea54b 100644 --- a/.github/workflows/auto-review.yml +++ b/.github/workflows/auto-review.yml @@ -30,7 +30,7 @@ jobs: # create review pull-requests: write steps: - - uses: lewagon/wait-on-check-action@v1.4.1 + - uses: lewagon/wait-on-check-action@v1.5.0 with: ref: ${{ github.event.pull_request.head.sha }} repo-token: ${{ github.token }} diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 9435528dd..adab34a5f 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -40,7 +40,7 @@ jobs: # wait-on-check requires only checks read checks: read steps: - - uses: lewagon/wait-on-check-action@v1.4.1 + - uses: lewagon/wait-on-check-action@v1.5.0 with: ref: ${{ github.event.pull_request.head.sha }} check-regexp: "test.*" From 5d46732016aed3dd8077951648afbd2a50382fa2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 28 Jan 2026 14:05:22 +0000 Subject: [PATCH 276/381] chore(deps): update docker/login-action action to v3.7.0 --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 059f3c74d..e002f2bcd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -41,7 +41,7 @@ jobs: with: go-version-file: 'go.mod' cache: true - - uses: docker/login-action@v3.6.0 + - uses: docker/login-action@v3.7.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -137,7 +137,7 @@ jobs: strategy: matrix: ${{ fromJSON(needs.goreleaser.outputs.image_subjects) }} steps: - - uses: docker/login-action@v3.6.0 + - uses: docker/login-action@v3.7.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} From ee821fa078e2634dfa44109d59744a09cd3b89b1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 28 Jan 2026 22:34:20 +0000 Subject: [PATCH 277/381] chore(deps): update distroless_base docker digest to 347a41e --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index feceea10a..c908a2e51 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:0c70ab46409b94a96f4e98e32e7333050581e75f7038de2877a4bfc146dfc7ce", + digest = "sha256:347a41e7f263ea7f7aba1735e5e5b1439d9e41a9f09179229f8c13ea98ae94cf", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From 4b56f6cf5297f092d948c2d10a18e366ee426493 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Feb 2026 04:12:04 +0000 Subject: [PATCH 278/381] build(deps): bump go.opentelemetry.io/otel/sdk from 1.39.0 to 1.40.0 Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.39.0 to 1.40.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.39.0...v1.40.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/sdk dependency-version: 1.40.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index c115499be..a15380445 100644 --- a/go.mod +++ b/go.mod @@ -14,10 +14,10 @@ require ( github.com/prometheus/client_golang v1.23.2 github.com/prometheus/common v0.67.5 go.opencensus.io v0.24.0 - go.opentelemetry.io/otel v1.39.0 + go.opentelemetry.io/otel v1.40.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 - go.opentelemetry.io/otel/sdk v1.39.0 - go.opentelemetry.io/otel/sdk/metric v1.39.0 + go.opentelemetry.io/otel/sdk v1.40.0 + go.opentelemetry.io/otel/sdk/metric v1.40.0 golang.org/x/sys v0.40.0 golang.org/x/tools v0.41.0 ) @@ -36,8 +36,8 @@ require ( github.com/prometheus/procfs v0.16.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/otel/metric v1.39.0 // indirect - go.opentelemetry.io/otel/trace v1.39.0 // indirect + go.opentelemetry.io/otel/metric v1.40.0 // indirect + go.opentelemetry.io/otel/trace v1.40.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/net v0.49.0 // indirect diff --git a/go.sum b/go.sum index ccd48eb62..8f58b10ba 100644 --- a/go.sum +++ b/go.sum @@ -161,18 +161,18 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= -go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= +go.opentelemetry.io/otel v1.40.0 h1:oA5YeOcpRTXq6NN7frwmwFR0Cn3RhTVZvXsP4duvCms= +go.opentelemetry.io/otel v1.40.0/go.mod h1:IMb+uXZUKkMXdPddhwAHm6UfOwJyh4ct1ybIlV14J0g= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 h1:cEf8jF6WbuGQWUVcqgyWtTR0kOOAWY1DYZ+UhvdmQPw= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0/go.mod h1:k1lzV5n5U3HkGvTCJHraTAGJ7MqsgL1wrGwTj1Isfiw= -go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= -go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= -go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18= -go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE= -go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8= -go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew= -go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= -go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= +go.opentelemetry.io/otel/metric v1.40.0 h1:rcZe317KPftE2rstWIBitCdVp89A2HqjkxR3c11+p9g= +go.opentelemetry.io/otel/metric v1.40.0/go.mod h1:ib/crwQH7N3r5kfiBZQbwrTge743UDc7DTFVZrrXnqc= +go.opentelemetry.io/otel/sdk v1.40.0 h1:KHW/jUzgo6wsPh9At46+h4upjtccTmuZCFAc9OJ71f8= +go.opentelemetry.io/otel/sdk v1.40.0/go.mod h1:Ph7EFdYvxq72Y8Li9q8KebuYUr2KoeyHx0DRMKrYBUE= +go.opentelemetry.io/otel/sdk/metric v1.40.0 h1:mtmdVqgQkeRxHgRv4qhyJduP3fYJRMX4AtAlbuWdCYw= +go.opentelemetry.io/otel/sdk/metric v1.40.0/go.mod h1:4Z2bGMf0KSK3uRjlczMOeMhKU2rhUqdWNoKcYrtcBPg= +go.opentelemetry.io/otel/trace v1.40.0 h1:WA4etStDttCSYuhwvEa8OP8I5EWu24lkOzp+ZYblVjw= +go.opentelemetry.io/otel/trace v1.40.0/go.mod h1:zeAhriXecNGP/s2SEG3+Y8X9ujcJOTqQ5RgdEJcawiA= go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= From 8f091d3051ac32508804b03eeadee2090f4eaeff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Feb 2026 04:12:08 +0000 Subject: [PATCH 279/381] build(deps): bump go.opentelemetry.io/otel/sdk/metric Bumps [go.opentelemetry.io/otel/sdk/metric](https://github.com/open-telemetry/opentelemetry-go) from 1.39.0 to 1.40.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.39.0...v1.40.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/sdk/metric dependency-version: 1.40.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index c115499be..a15380445 100644 --- a/go.mod +++ b/go.mod @@ -14,10 +14,10 @@ require ( github.com/prometheus/client_golang v1.23.2 github.com/prometheus/common v0.67.5 go.opencensus.io v0.24.0 - go.opentelemetry.io/otel v1.39.0 + go.opentelemetry.io/otel v1.40.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 - go.opentelemetry.io/otel/sdk v1.39.0 - go.opentelemetry.io/otel/sdk/metric v1.39.0 + go.opentelemetry.io/otel/sdk v1.40.0 + go.opentelemetry.io/otel/sdk/metric v1.40.0 golang.org/x/sys v0.40.0 golang.org/x/tools v0.41.0 ) @@ -36,8 +36,8 @@ require ( github.com/prometheus/procfs v0.16.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/otel/metric v1.39.0 // indirect - go.opentelemetry.io/otel/trace v1.39.0 // indirect + go.opentelemetry.io/otel/metric v1.40.0 // indirect + go.opentelemetry.io/otel/trace v1.40.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/net v0.49.0 // indirect diff --git a/go.sum b/go.sum index ccd48eb62..8f58b10ba 100644 --- a/go.sum +++ b/go.sum @@ -161,18 +161,18 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= -go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= +go.opentelemetry.io/otel v1.40.0 h1:oA5YeOcpRTXq6NN7frwmwFR0Cn3RhTVZvXsP4duvCms= +go.opentelemetry.io/otel v1.40.0/go.mod h1:IMb+uXZUKkMXdPddhwAHm6UfOwJyh4ct1ybIlV14J0g= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 h1:cEf8jF6WbuGQWUVcqgyWtTR0kOOAWY1DYZ+UhvdmQPw= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0/go.mod h1:k1lzV5n5U3HkGvTCJHraTAGJ7MqsgL1wrGwTj1Isfiw= -go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= -go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= -go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18= -go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE= -go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8= -go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew= -go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= -go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= +go.opentelemetry.io/otel/metric v1.40.0 h1:rcZe317KPftE2rstWIBitCdVp89A2HqjkxR3c11+p9g= +go.opentelemetry.io/otel/metric v1.40.0/go.mod h1:ib/crwQH7N3r5kfiBZQbwrTge743UDc7DTFVZrrXnqc= +go.opentelemetry.io/otel/sdk v1.40.0 h1:KHW/jUzgo6wsPh9At46+h4upjtccTmuZCFAc9OJ71f8= +go.opentelemetry.io/otel/sdk v1.40.0/go.mod h1:Ph7EFdYvxq72Y8Li9q8KebuYUr2KoeyHx0DRMKrYBUE= +go.opentelemetry.io/otel/sdk/metric v1.40.0 h1:mtmdVqgQkeRxHgRv4qhyJduP3fYJRMX4AtAlbuWdCYw= +go.opentelemetry.io/otel/sdk/metric v1.40.0/go.mod h1:4Z2bGMf0KSK3uRjlczMOeMhKU2rhUqdWNoKcYrtcBPg= +go.opentelemetry.io/otel/trace v1.40.0 h1:WA4etStDttCSYuhwvEa8OP8I5EWu24lkOzp+ZYblVjw= +go.opentelemetry.io/otel/trace v1.40.0/go.mod h1:zeAhriXecNGP/s2SEG3+Y8X9ujcJOTqQ5RgdEJcawiA= go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= From 2c902454f2bb9f9d6d026c121688e2aee666cf8f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Feb 2026 04:30:27 +0000 Subject: [PATCH 280/381] build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc Bumps [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc](https://github.com/open-telemetry/opentelemetry-go) from 1.39.0 to 1.40.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.39.0...v1.40.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc dependency-version: 1.40.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index a15380445..dba399d20 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/prometheus/common v0.67.5 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.40.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.40.0 go.opentelemetry.io/otel/sdk v1.40.0 go.opentelemetry.io/otel/sdk/metric v1.40.0 golang.org/x/sys v0.40.0 @@ -29,7 +29,7 @@ require ( github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/prometheus/client_model v0.6.2 // indirect @@ -44,8 +44,8 @@ require ( golang.org/x/sync v0.19.0 // indirect golang.org/x/text v0.33.0 // indirect google.golang.org/api v0.105.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect - google.golang.org/grpc v1.77.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409 // indirect + google.golang.org/grpc v1.78.0 // indirect google.golang.org/protobuf v1.36.11 // indirect ) diff --git a/go.sum b/go.sum index 8f58b10ba..f1f18a0f7 100644 --- a/go.sum +++ b/go.sum @@ -103,8 +103,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.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.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 h1:NmZ1PKzSTQbuGHw9DGPFomqkkLWMC+vZCkfs+FHv1Vg= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3/go.mod h1:zQrxl1YP88HQlA6i9c63DSVPFklWpGX4OWAc9bFuaH4= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7 h1:X+2YciYSxvMQK0UZ7sg45ZVabVZBeBuvMkmuI2V3Fak= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7/go.mod h1:lW34nIZuQ8UDPdkon5fmfp2l3+ZkQ2me/+oecHYLOII= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -163,8 +163,8 @@ go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/otel v1.40.0 h1:oA5YeOcpRTXq6NN7frwmwFR0Cn3RhTVZvXsP4duvCms= go.opentelemetry.io/otel v1.40.0/go.mod h1:IMb+uXZUKkMXdPddhwAHm6UfOwJyh4ct1ybIlV14J0g= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 h1:cEf8jF6WbuGQWUVcqgyWtTR0kOOAWY1DYZ+UhvdmQPw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0/go.mod h1:k1lzV5n5U3HkGvTCJHraTAGJ7MqsgL1wrGwTj1Isfiw= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.40.0 h1:NOyNnS19BF2SUDApbOKbDtWZ0IK7b8FJ2uAGdIWOGb0= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.40.0/go.mod h1:VL6EgVikRLcJa9ftukrHu/ZkkhFBSo1lzvdBC9CF1ss= go.opentelemetry.io/otel/metric v1.40.0 h1:rcZe317KPftE2rstWIBitCdVp89A2HqjkxR3c11+p9g= go.opentelemetry.io/otel/metric v1.40.0/go.mod h1:ib/crwQH7N3r5kfiBZQbwrTge743UDc7DTFVZrrXnqc= go.opentelemetry.io/otel/sdk v1.40.0 h1:KHW/jUzgo6wsPh9At46+h4upjtccTmuZCFAc9OJ71f8= @@ -354,10 +354,10 @@ google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 h1:fCvbg86sFXwdrl5LgVcTEvNC+2txB5mgROGmRL5mrls= -google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:+rXWjjaukWZun3mLfjmVnQi18E1AsFbDN9QdJ5YXLto= -google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 h1:gRkg/vSppuSQoDjxyiGfN4Upv/h/DQmIR10ZU8dh4Ww= -google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= +google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 h1:merA0rdPeUV3YIIfHHcH4qBkiQAc1nfCKSI7lB4cV2M= +google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409/go.mod h1:fl8J1IvUjCilwZzQowmw2b7HQB2eAuYBabMXzWurF+I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409 h1:H86B94AW+VfJWDqFeEbBPhEtHzJwJfTbgE2lZa54ZAQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -368,8 +368,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM= -google.golang.org/grpc v1.77.0/go.mod h1:z0BY1iVj0q8E1uSQCjL9cppRj+gnZjzDnzV0dHhrNig= +google.golang.org/grpc v1.78.0 h1:K1XZG/yGDJnzMdd/uZHAkVqJE+xIDOcmdSFZkBUicNc= +google.golang.org/grpc v1.78.0/go.mod h1:I47qjTo4OKbMkjA/aOOwxDIiPSBofUtQUI5EfpWvW7U= 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-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= From 1a718b75b82bbdd50d1ac4c00c9baa4fa11ced4b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 17:03:10 +0000 Subject: [PATCH 281/381] chore(deps): update dependency go to v1.25.7 --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index dba399d20..c64c1fde6 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/jaqx0r/mtail go 1.24.0 -toolchain go1.25.6 +toolchain go1.25.7 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 From 168166b6a941fa3ab789d26524697c7a7ea9ba3f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 21:49:32 +0000 Subject: [PATCH 282/381] chore(deps): update distroless_base docker digest to 8c8b7cf --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index c908a2e51..392c533ef 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:347a41e7f263ea7f7aba1735e5e5b1439d9e41a9f09179229f8c13ea98ae94cf", + digest = "sha256:8c8b7cf2a01e2d1c683128b2488d77139fa90ec8cb807f0ae260d57f7022dedd", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From 5552b49fcd9f1c3e684a134b5dce6335ed79566d Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 8 Feb 2026 13:35:11 +1100 Subject: [PATCH 283/381] chore: Update bazel module lockfile. --- MODULE.bazel.lock | 526 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 370 insertions(+), 156 deletions(-) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index b86dece6d..9481262fa 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1,5 +1,5 @@ { - "lockFileVersion": 24, + "lockFileVersion": 26, "registryFileHashes": { "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", @@ -9,7 +9,17 @@ "https://bcr.bazel.build/modules/abseil-cpp/20230802.0/MODULE.bazel": "d253ae36a8bd9ee3c5955384096ccb6baf16a1b1e93e858370da0a3b94f77c16", "https://bcr.bazel.build/modules/abseil-cpp/20230802.1/MODULE.bazel": "fa92e2eb41a04df73cdabeec37107316f7e5272650f81d6cc096418fe647b915", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", - "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", + "https://bcr.bazel.build/modules/abseil-cpp/20240116.2/MODULE.bazel": "73939767a4686cd9a520d16af5ab440071ed75cec1a876bf2fcfaf1f71987a16", + "https://bcr.bazel.build/modules/abseil-cpp/20250127.1/MODULE.bazel": "c4a89e7ceb9bf1e25cf84a9f830ff6b817b72874088bf5141b314726e46a57c1", + "https://bcr.bazel.build/modules/abseil-cpp/20250512.1/MODULE.bazel": "d209fdb6f36ffaf61c509fcc81b19e81b411a999a934a032e10cd009a0226215", + "https://bcr.bazel.build/modules/abseil-cpp/20250814.1/MODULE.bazel": "51f2312901470cdab0dbdf3b88c40cd21c62a7ed58a3de45b365ddc5b11bcab2", + "https://bcr.bazel.build/modules/abseil-cpp/20250814.1/source.json": "cea3901d7e299da7320700abbaafe57a65d039f10d0d7ea601c4a66938ea4b0c", + "https://bcr.bazel.build/modules/apple_support/1.11.1/MODULE.bazel": "1843d7cd8a58369a444fc6000e7304425fba600ff641592161d9f15b179fb896", + "https://bcr.bazel.build/modules/apple_support/1.15.1/MODULE.bazel": "a0556fefca0b1bb2de8567b8827518f94db6a6e7e7d632b4c48dc5f865bc7c85", + "https://bcr.bazel.build/modules/apple_support/1.21.0/MODULE.bazel": "ac1824ed5edf17dee2fdd4927ada30c9f8c3b520be1b5fd02a5da15bc10bff3e", + "https://bcr.bazel.build/modules/apple_support/1.21.1/MODULE.bazel": "5809fa3efab15d1f3c3c635af6974044bac8a4919c62238cce06acee8a8c11f1", + "https://bcr.bazel.build/modules/apple_support/1.24.2/MODULE.bazel": "0e62471818affb9f0b26f128831d5c40b074d32e6dda5a0d3852847215a41ca4", + "https://bcr.bazel.build/modules/apple_support/1.24.2/source.json": "2c22c9827093250406c5568da6c54e6fdf0ef06238def3d99c71b12feb057a8d", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/MODULE.bazel": "2b31ffcc9bdc8295b2167e07a757dbbc9ac8906e7028e5170a3708cecaac119f", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.3/MODULE.bazel": "253d739ba126f62a5767d832765b12b59e9f8d2bc88cc1572f4a73e46eb298ca", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.5/MODULE.bazel": "004ba890363d05372a97248c37205ae64b6fa31047629cd2c0895a9d0c7779e8", @@ -25,9 +35,13 @@ "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", + "https://bcr.bazel.build/modules/bazel_features/1.23.0/MODULE.bazel": "fd1ac84bc4e97a5a0816b7fd7d4d4f6d837b0047cf4cbd81652d616af3a6591a", + "https://bcr.bazel.build/modules/bazel_features/1.27.0/MODULE.bazel": "621eeee06c4458a9121d1f104efb80f39d34deff4984e778359c60eaf1a8cb65", "https://bcr.bazel.build/modules/bazel_features/1.28.0/MODULE.bazel": "4b4200e6cbf8fa335b2c3f43e1d6ef3e240319c33d43d60cc0fbd4b87ece299d", + "https://bcr.bazel.build/modules/bazel_features/1.3.0/MODULE.bazel": "cdcafe83ec318cda34e02948e81d790aab8df7a929cec6f6969f13a489ccecd9", "https://bcr.bazel.build/modules/bazel_features/1.30.0/MODULE.bazel": "a14b62d05969a293b80257e72e597c2da7f717e1e69fa8b339703ed6731bec87", - "https://bcr.bazel.build/modules/bazel_features/1.30.0/source.json": "b07e17f067fe4f69f90b03b36ef1e08fe0d1f3cac254c1241a1818773e3423bc", + "https://bcr.bazel.build/modules/bazel_features/1.33.0/MODULE.bazel": "8b8dc9d2a4c88609409c3191165bccec0e4cb044cd7a72ccbe826583303459f6", + "https://bcr.bazel.build/modules/bazel_features/1.33.0/source.json": "13617db3930328c2cd2807a0f13d52ca870ac05f96db9668655113265147b2a6", "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", "https://bcr.bazel.build/modules/bazel_features/1.9.0/MODULE.bazel": "885151d58d90d8d9c811eb75e3288c11f850e1d6b481a8c9f766adee4712358b", "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", @@ -45,9 +59,10 @@ "https://bcr.bazel.build/modules/bazel_skylib/1.7.0/MODULE.bazel": "0db596f4563de7938de764cc8deeabec291f55e8ec15299718b93c4423e9796d", "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b", "https://bcr.bazel.build/modules/bazel_skylib/1.8.1/MODULE.bazel": "88ade7293becda963e0e3ea33e7d54d3425127e0a326e0d17da085a5f1f03ff6", - "https://bcr.bazel.build/modules/bazel_skylib/1.8.1/source.json": "7ebaefba0b03efe59cac88ed5bbc67bcf59a3eff33af937345ede2a38b2d368a", - "https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84", - "https://bcr.bazel.build/modules/buildozer/7.1.2/source.json": "c9028a501d2db85793a6996205c8de120944f50a0d570438fcae0457a5f9d1f8", + "https://bcr.bazel.build/modules/bazel_skylib/1.8.2/MODULE.bazel": "69ad6927098316848b34a9142bcc975e018ba27f08c4ff403f50c1b6e646ca67", + "https://bcr.bazel.build/modules/bazel_skylib/1.8.2/source.json": "34a3c8bcf233b835eb74be9d628899bb32999d3e0eadef1947a0a562a2b16ffb", + "https://bcr.bazel.build/modules/buildozer/8.2.1/MODULE.bazel": "61e9433c574c2bd9519cad7fa66b9c1d2b8e8d5f3ae5d6528a2c2d26e68d874d", + "https://bcr.bazel.build/modules/buildozer/8.2.1/source.json": "7c33f6a26ee0216f85544b4bca5e9044579e0219b6898dd653f5fb449cf2e484", "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.1/MODULE.bazel": "cdf8cbe5ee750db04b78878c9633cc76e80dcf4416cbe982ac3a9222f80713c8", "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.1/source.json": "fa7b512dfcb5eafd90ce3959cf42a2a6fe96144ebbb4b3b3928054895f2afac2", "https://bcr.bazel.build/modules/gazelle/0.32.0/MODULE.bazel": "b499f58a5d0d3537f3cf5b76d8ada18242f64ec474d8391247438bf04f58c7b8", @@ -59,13 +74,18 @@ "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", - "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/source.json": "41e9e129f80d8c8bf103a7acc337b76e54fad1214ac0a7084bf24f4cd924b8b4", "https://bcr.bazel.build/modules/googletest/1.14.0/MODULE.bazel": "cfbcbf3e6eac06ef9d85900f64424708cc08687d1b527f0ef65aa7517af8118f", + "https://bcr.bazel.build/modules/googletest/1.15.2/MODULE.bazel": "6de1edc1d26cafb0ea1a6ab3f4d4192d91a312fd2d360b63adaa213cd00b2108", + "https://bcr.bazel.build/modules/googletest/1.17.0/MODULE.bazel": "dbec758171594a705933a29fcf69293d2468c49ec1f2ebca65c36f504d72df46", + "https://bcr.bazel.build/modules/googletest/1.17.0/source.json": "38e4454b25fc30f15439c0378e57909ab1fd0a443158aa35aec685da727cd713", "https://bcr.bazel.build/modules/jq.bzl/0.1.0/MODULE.bazel": "2ce69b1af49952cd4121a9c3055faa679e748ce774c7f1fda9657f936cae902f", "https://bcr.bazel.build/modules/jq.bzl/0.1.0/source.json": "746bf13cac0860f091df5e4911d0c593971cd8796b5ad4e809b2f8e133eee3d5", "https://bcr.bazel.build/modules/jsoncpp/1.9.5/MODULE.bazel": "31271aedc59e815656f5736f282bb7509a97c7ecb43e927ac1a37966e0578075", - "https://bcr.bazel.build/modules/jsoncpp/1.9.5/source.json": "4108ee5085dd2885a341c7fab149429db457b3169b86eb081fa245eadf69169d", + "https://bcr.bazel.build/modules/jsoncpp/1.9.6/MODULE.bazel": "2f8d20d3b7d54143213c4dfc3d98225c42de7d666011528dc8fe91591e2e17b0", + "https://bcr.bazel.build/modules/jsoncpp/1.9.6/source.json": "a04756d367a2126c3541682864ecec52f92cdee80a35735a3cb249ce015ca000", "https://bcr.bazel.build/modules/libpfm/4.11.0/MODULE.bazel": "45061ff025b301940f1e30d2c16bea596c25b176c8b6b3087e92615adbd52902", + "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/MODULE.bazel": "6f7b417dcc794d9add9e556673ad25cb3ba835224290f4f848f8e2db1e1fca74", + "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/source.json": "f448c6e8963fdfa7eb831457df83ad63d3d6355018f6574fb017e8169deb43a9", "https://bcr.bazel.build/modules/package_metadata/0.0.2/MODULE.bazel": "fb8d25550742674d63d7b250063d4580ca530499f045d70748b1b142081ebb92", "https://bcr.bazel.build/modules/package_metadata/0.0.5/MODULE.bazel": "ef4f9439e3270fdd6b9fd4dbc3d2f29d13888e44c529a1b243f7a31dfbc2e8e4", "https://bcr.bazel.build/modules/package_metadata/0.0.5/source.json": "2326db2f6592578177751c3e1f74786b79382cd6008834c9d01ec865b9126a85", @@ -76,6 +96,7 @@ "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", "https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", "https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", + "https://bcr.bazel.build/modules/platforms/0.0.9/MODULE.bazel": "4a87a60c927b56ddd67db50c89acaa62f4ce2a1d2149ccb63ffd871d5ce29ebc", "https://bcr.bazel.build/modules/platforms/1.0.0/MODULE.bazel": "f05feb42b48f1b3c225e4ccf351f367be0371411a803198ec34a389fb22aa580", "https://bcr.bazel.build/modules/platforms/1.0.0/source.json": "f4ff1fd412e0246fd38c82328eb209130ead81d62dcd5a9e40910f867f733d96", "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", @@ -84,21 +105,28 @@ "https://bcr.bazel.build/modules/protobuf/29.0-rc2.bcr.1/MODULE.bazel": "52f4126f63a2f0bbf36b99c2a87648f08467a4eaf92ba726bc7d6a500bbf770c", "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", "https://bcr.bazel.build/modules/protobuf/29.0-rc3/MODULE.bazel": "33c2dfa286578573afc55a7acaea3cada4122b9631007c594bf0729f41c8de92", - "https://bcr.bazel.build/modules/protobuf/29.0/MODULE.bazel": "319dc8bf4c679ff87e71b1ccfb5a6e90a6dbc4693501d471f48662ac46d04e4e", - "https://bcr.bazel.build/modules/protobuf/29.0/source.json": "b857f93c796750eef95f0d61ee378f3420d00ee1dd38627b27193aa482f4f981", + "https://bcr.bazel.build/modules/protobuf/29.1/MODULE.bazel": "557c3457560ff49e122ed76c0bc3397a64af9574691cb8201b4e46d4ab2ecb95", "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", "https://bcr.bazel.build/modules/protobuf/3.19.2/MODULE.bazel": "532ffe5f2186b69fdde039efe6df13ba726ff338c6bc82275ad433013fa10573", "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858", + "https://bcr.bazel.build/modules/protobuf/32.1/MODULE.bazel": "89cd2866a9cb07fee9ff74c41ceace11554f32e0d849de4e23ac55515cfada4d", + "https://bcr.bazel.build/modules/protobuf/33.4/MODULE.bazel": "114775b816b38b6d0ca620450d6b02550c60ceedfdc8d9a229833b34a223dc42", + "https://bcr.bazel.build/modules/protobuf/33.4/source.json": "555f8686b4c7d6b5ba731fbea13bf656b4bfd9a7ff629c1d9d3f6e1d6155de79", "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e", - "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/source.json": "be4789e951dd5301282729fe3d4938995dc4c1a81c2ff150afc9f1b0504c6022", + "https://bcr.bazel.build/modules/pybind11_bazel/2.12.0/MODULE.bazel": "e6f4c20442eaa7c90d7190d8dc539d0ab422f95c65a57cc59562170c58ae3d34", + "https://bcr.bazel.build/modules/pybind11_bazel/2.12.0/source.json": "6900fdc8a9e95866b8c0d4ad4aba4d4236317b5c1cd04c502df3f0d33afed680", "https://bcr.bazel.build/modules/re2/2023-09-01/MODULE.bazel": "cb3d511531b16cfc78a225a9e2136007a48cf8a677e4264baeab57fe78a80206", - "https://bcr.bazel.build/modules/re2/2023-09-01/source.json": "e044ce89c2883cd957a2969a43e79f7752f9656f6b20050b62f90ede21ec6eb4", + "https://bcr.bazel.build/modules/re2/2024-07-02.bcr.1/MODULE.bazel": "b4963dda9b31080be1905ef085ecd7dd6cd47c05c79b9cdf83ade83ab2ab271a", + "https://bcr.bazel.build/modules/re2/2024-07-02.bcr.1/source.json": "2ff292be6ef3340325ce8a045ecc326e92cbfab47c7cbab4bd85d28971b97ac4", + "https://bcr.bazel.build/modules/re2/2024-07-02/MODULE.bazel": "0eadc4395959969297cbcf31a249ff457f2f1d456228c67719480205aa306daa", "https://bcr.bazel.build/modules/rules_android/0.1.1/MODULE.bazel": "48809ab0091b07ad0182defb787c4c5328bd3a278938415c00a7b69b50c4d3a8", "https://bcr.bazel.build/modules/rules_android/0.1.1/source.json": "e6986b41626ee10bdc864937ffb6d6bf275bb5b9c65120e6137d56e6331f089e", + "https://bcr.bazel.build/modules/rules_apple/3.16.0/MODULE.bazel": "0d1caf0b8375942ce98ea944be754a18874041e4e0459401d925577624d3a54a", + "https://bcr.bazel.build/modules/rules_apple/4.1.0/MODULE.bazel": "76e10fd4a48038d3fc7c5dc6e63b7063bbf5304a2e3bd42edda6ec660eebea68", + "https://bcr.bazel.build/modules/rules_apple/4.1.0/source.json": "8ee81e1708756f81b343a5eb2b2f0b953f1d25c4ab3d4a68dc02754872e80715", "https://bcr.bazel.build/modules/rules_cc/0.0.1/MODULE.bazel": "cb2aa0747f84c6c3a78dad4e2049c154f08ab9d166b1273835a8174940365647", "https://bcr.bazel.build/modules/rules_cc/0.0.10/MODULE.bazel": "ec1705118f7eaedd6e118508d3d26deba2a4e76476ada7e0e3965211be012002", "https://bcr.bazel.build/modules/rules_cc/0.0.13/MODULE.bazel": "0e8529ed7b323dad0775ff924d2ae5af7640b23553dfcd4d34344c7e7a867191", - "https://bcr.bazel.build/modules/rules_cc/0.0.14/MODULE.bazel": "5e343a3aac88b8d7af3b1b6d2093b55c347b8eefc2e7d1442f7a02dc8fea48ac", "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", "https://bcr.bazel.build/modules/rules_cc/0.0.17/MODULE.bazel": "2ae1d8f4238ec67d7185d8861cb0a2cdf4bc608697c331b95bf990e69b62e64a", @@ -107,11 +135,15 @@ "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", "https://bcr.bazel.build/modules/rules_cc/0.1.1/MODULE.bazel": "2f0222a6f229f0bf44cd711dc13c858dad98c62d52bd51d8fc3a764a83125513", + "https://bcr.bazel.build/modules/rules_cc/0.1.2/MODULE.bazel": "557ddc3a96858ec0d465a87c0a931054d7dcfd6583af2c7ed3baf494407fd8d0", "https://bcr.bazel.build/modules/rules_cc/0.1.5/MODULE.bazel": "88dfc9361e8b5ae1008ac38f7cdfd45ad738e4fa676a3ad67d19204f045a1fd8", - "https://bcr.bazel.build/modules/rules_cc/0.1.5/source.json": "4bb4fed7f5499775d495739f785a5494a1f854645fa1bac5de131264f5acdf01", + "https://bcr.bazel.build/modules/rules_cc/0.2.0/MODULE.bazel": "b5c17f90458caae90d2ccd114c81970062946f49f355610ed89bebf954f5783c", + "https://bcr.bazel.build/modules/rules_cc/0.2.13/MODULE.bazel": "eecdd666eda6be16a8d9dc15e44b5c75133405e820f620a234acc4b1fdc5aa37", + "https://bcr.bazel.build/modules/rules_cc/0.2.14/MODULE.bazel": "353c99ed148887ee89c54a17d4100ae7e7e436593d104b668476019023b58df8", + "https://bcr.bazel.build/modules/rules_cc/0.2.14/source.json": "55d0a4587c5592fad350f6e698530f4faf0e7dd15e69d43f8d87e220c78bea54", + "https://bcr.bazel.build/modules/rules_cc/0.2.8/MODULE.bazel": "f1df20f0bf22c28192a794f29b501ee2018fa37a3862a1a2132ae2940a23a642", "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/MODULE.bazel": "40c97d1144356f52905566c55811f13b299453a14ac7769dfba2ac38192337a8", - "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/source.json": "c8b1e2c717646f1702290959a3302a178fb639d987ab61d548105019f11e527e", "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel": "55861d8e8bb0e62cbd2896f60ff303f62ffcb0eddb74ecb0e5c0cbe36fc292c8", "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", @@ -129,17 +161,19 @@ "https://bcr.bazel.build/modules/rules_java/7.2.0/MODULE.bazel": "06c0334c9be61e6cef2c8c84a7800cef502063269a5af25ceb100b192453d4ab", "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel": "50dece891cfdf1741ea230d001aa9c14398062f2b7c066470accace78e412bc2", "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", - "https://bcr.bazel.build/modules/rules_java/8.14.0/MODULE.bazel": "717717ed40cc69994596a45aec6ea78135ea434b8402fb91b009b9151dd65615", - "https://bcr.bazel.build/modules/rules_java/8.14.0/source.json": "8a88c4ca9e8759da53cddc88123880565c520503321e2566b4e33d0287a3d4bc", "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", + "https://bcr.bazel.build/modules/rules_java/8.6.1/MODULE.bazel": "f4808e2ab5b0197f094cabce9f4b006a27766beb6a9975931da07099560ca9c2", + "https://bcr.bazel.build/modules/rules_java/9.0.3/MODULE.bazel": "1f98ed015f7e744a745e0df6e898a7c5e83562d6b759dfd475c76456dda5ccea", + "https://bcr.bazel.build/modules/rules_java/9.0.3/source.json": "b038c0c07e12e658135bbc32cc1a2ded6e33785105c9d41958014c592de4593e", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", "https://bcr.bazel.build/modules/rules_jvm_external/5.3/MODULE.bazel": "bf93870767689637164657731849fb887ad086739bd5d360d90007a581d5527d", "https://bcr.bazel.build/modules/rules_jvm_external/6.1/MODULE.bazel": "75b5fec090dbd46cf9b7d8ea08cf84a0472d92ba3585b476f44c326eda8059c4", "https://bcr.bazel.build/modules/rules_jvm_external/6.3/MODULE.bazel": "c998e060b85f71e00de5ec552019347c8bca255062c990ac02d051bb80a38df0", - "https://bcr.bazel.build/modules/rules_jvm_external/6.3/source.json": "6f5f5a5a4419ae4e37c35a5bb0a6ae657ed40b7abc5a5189111b47fcebe43197", + "https://bcr.bazel.build/modules/rules_jvm_external/6.7/MODULE.bazel": "e717beabc4d091ecb2c803c2d341b88590e9116b8bf7947915eeb33aab4f96dd", + "https://bcr.bazel.build/modules/rules_jvm_external/6.7/source.json": "5426f412d0a7fc6b611643376c7e4a82dec991491b9ce5cb1cfdd25fe2e92be4", "https://bcr.bazel.build/modules/rules_kotlin/1.9.0/MODULE.bazel": "ef85697305025e5a61f395d4eaede272a5393cee479ace6686dba707de804d59", "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/MODULE.bazel": "d269a01a18ee74d0335450b10f62c9ed81f2321d7958a2934e44272fe82dcef3", "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/source.json": "2faa4794364282db7c06600b7e5e34867a564ae91bda7cae7c29c64e9466b7d5", @@ -155,23 +189,35 @@ "https://bcr.bazel.build/modules/rules_pkg/1.2.0/source.json": "9062e00845bf91a4247465d371baa837adf9b6ff44c542f73ba084f07667e1dc", "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", + "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "1e5b502e2e1a9e825eef74476a5a1ee524a92297085015a052510b09a1a09483", "https://bcr.bazel.build/modules/rules_proto/6.0.0/MODULE.bazel": "b531d7f09f58dce456cd61b4579ce8c86b38544da75184eadaf0a7cb7966453f", "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73", "https://bcr.bazel.build/modules/rules_proto/7.0.2/MODULE.bazel": "bf81793bd6d2ad89a37a40693e56c61b0ee30f7a7fdbaf3eabbf5f39de47dea2", - "https://bcr.bazel.build/modules/rules_proto/7.0.2/source.json": "1e5e7260ae32ef4f2b52fd1d0de8d03b606a44c91b694d2f1afb1d3b28a48ce1", + "https://bcr.bazel.build/modules/rules_proto/7.1.0/MODULE.bazel": "002d62d9108f75bb807cd56245d45648f38275cb3a99dcd45dfb864c5d74cb96", + "https://bcr.bazel.build/modules/rules_proto/7.1.0/source.json": "39f89066c12c24097854e8f57ab8558929f9c8d474d34b2c00ac04630ad8940e", "https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f", "https://bcr.bazel.build/modules/rules_python/0.23.1/MODULE.bazel": "49ffccf0511cb8414de28321f5fcf2a31312b47c40cc21577144b7447f2bf300", "https://bcr.bazel.build/modules/rules_python/0.25.0/MODULE.bazel": "72f1506841c920a1afec76975b35312410eea3aa7b63267436bfb1dd91d2d382", "https://bcr.bazel.build/modules/rules_python/0.28.0/MODULE.bazel": "cba2573d870babc976664a912539b320cbaa7114cd3e8f053c720171cde331ed", "https://bcr.bazel.build/modules/rules_python/0.31.0/MODULE.bazel": "93a43dc47ee570e6ec9f5779b2e64c1476a6ce921c48cc9a1678a91dd5f8fd58", + "https://bcr.bazel.build/modules/rules_python/0.33.2/MODULE.bazel": "3e036c4ad8d804a4dad897d333d8dce200d943df4827cb849840055be8d2e937", "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", - "https://bcr.bazel.build/modules/rules_python/0.40.0/MODULE.bazel": "9d1a3cd88ed7d8e39583d9ffe56ae8a244f67783ae89b60caafc9f5cf318ada7", "https://bcr.bazel.build/modules/rules_python/1.0.0/MODULE.bazel": "898a3d999c22caa585eb062b600f88654bf92efb204fa346fb55f6f8edffca43", - "https://bcr.bazel.build/modules/rules_python/1.0.0/source.json": "b0162a65c6312e45e7912e39abd1a7f8856c2c7e41ecc9b6dc688a6f6400a917", + "https://bcr.bazel.build/modules/rules_python/1.3.0/MODULE.bazel": "8361d57eafb67c09b75bf4bbe6be360e1b8f4f18118ab48037f2bd50aa2ccb13", + "https://bcr.bazel.build/modules/rules_python/1.4.1/MODULE.bazel": "8991ad45bdc25018301d6b7e1d3626afc3c8af8aaf4bc04f23d0b99c938b73a6", + "https://bcr.bazel.build/modules/rules_python/1.6.0/MODULE.bazel": "7e04ad8f8d5bea40451cf80b1bd8262552aa73f841415d20db96b7241bd027d8", + "https://bcr.bazel.build/modules/rules_python/1.7.0/MODULE.bazel": "d01f995ecd137abf30238ad9ce97f8fc3ac57289c8b24bd0bf53324d937a14f8", + "https://bcr.bazel.build/modules/rules_python/1.7.0/source.json": "028a084b65dcf8f4dc4f82f8778dbe65df133f234b316828a82e060d81bdce32", "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", "https://bcr.bazel.build/modules/rules_shell/0.3.0/MODULE.bazel": "de4402cd12f4cc8fda2354fce179fdb068c0b9ca1ec2d2b17b3e21b24c1a937b", "https://bcr.bazel.build/modules/rules_shell/0.4.1/MODULE.bazel": "00e501db01bbf4e3e1dd1595959092c2fadf2087b2852d3f553b5370f5633592", - "https://bcr.bazel.build/modules/rules_shell/0.4.1/source.json": "4757bd277fe1567763991c4425b483477bb82e35e777a56fd846eb5cceda324a", + "https://bcr.bazel.build/modules/rules_shell/0.6.1/MODULE.bazel": "72e76b0eea4e81611ef5452aa82b3da34caca0c8b7b5c0c9584338aa93bae26b", + "https://bcr.bazel.build/modules/rules_shell/0.6.1/source.json": "20ec05cd5e592055e214b2da8ccb283c7f2a421ea0dc2acbf1aa792e11c03d0c", + "https://bcr.bazel.build/modules/rules_swift/1.16.0/MODULE.bazel": "4a09f199545a60d09895e8281362b1ff3bb08bbde69c6fc87aff5b92fcc916ca", + "https://bcr.bazel.build/modules/rules_swift/2.1.1/MODULE.bazel": "494900a80f944fc7aa61500c2073d9729dff0b764f0e89b824eb746959bc1046", + "https://bcr.bazel.build/modules/rules_swift/2.4.0/MODULE.bazel": "1639617eb1ede28d774d967a738b4a68b0accb40650beadb57c21846beab5efd", + "https://bcr.bazel.build/modules/rules_swift/3.1.2/MODULE.bazel": "72c8f5cf9d26427cee6c76c8e3853eb46ce6b0412a081b2b6db6e8ad56267400", + "https://bcr.bazel.build/modules/rules_swift/3.1.2/source.json": "e85761f3098a6faf40b8187695e3de6d97944e98abd0d8ce579cb2daf6319a66", "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", "https://bcr.bazel.build/modules/stardoc/0.5.4/MODULE.bazel": "6569966df04610b8520957cb8e97cf2e9faac2c0309657c537ab51c16c18a2a4", @@ -181,6 +227,9 @@ "https://bcr.bazel.build/modules/stardoc/0.7.1/MODULE.bazel": "3548faea4ee5dda5580f9af150e79d0f6aea934fc60c1cc50f4efdd9420759e7", "https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5", "https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216", + "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.1/MODULE.bazel": "5e463fbfba7b1701d957555ed45097d7f984211330106ccd1352c6e0af0dcf91", + "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.2/MODULE.bazel": "75aab2373a4bbe2a1260b9bf2a1ebbdbf872d3bd36f80bff058dccd82e89422f", + "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.2/source.json": "5fba48bbe0ba48761f9e9f75f92876cafb5d07c0ce059cc7a8027416de94a05b", "https://bcr.bazel.build/modules/tar.bzl/0.2.1/MODULE.bazel": "52d1c00a80a8cc67acbd01649e83d8dd6a9dc426a6c0b754a04fe8c219c76468", "https://bcr.bazel.build/modules/tar.bzl/0.5.1/MODULE.bazel": "7c2eb3dcfc53b0f3d6f9acdfd911ca803eaf92aadf54f8ca6e4c1f3aee288351", "https://bcr.bazel.build/modules/tar.bzl/0.5.1/source.json": "deed3094f7cc779ed1d37a68403847b0e38d9dd9d931e03cb90825f3368b515f", @@ -197,11 +246,11 @@ "moduleExtensions": { "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { "general": { - "bzlTransitiveDigest": "rL/34P1aFDq2GqVC2zCFgQ8nTuOC6ziogocpvG50Qz8=", + "bzlTransitiveDigest": "ABI1D/sbS1ovwaW/kHDoj8nnXjQ0oKU9fzmzEG4iT8o=", "usagesDigest": "QI2z8ZUR+mqtbwsf2fLqYdJAkPOHdOV+tF2yVAUgRzw=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [ + "REPO_MAPPING:rules_kotlin+,bazel_tools bazel_tools" + ], "generatedRepoSpecs": { "com_github_jetbrains_kotlin_git": { "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:compiler.bzl%kotlin_compiler_git_repository", @@ -249,23 +298,20 @@ ] } } - }, - "recordedRepoMappingEntries": [ - [ - "rules_kotlin+", - "bazel_tools", - "bazel_tools" - ] - ] + } } }, "@@rules_oci+//oci:extensions.bzl%oci": { "general": { - "bzlTransitiveDigest": "6aKMbron5MNBPiSubYntoK8hthOo78d9l4ZvXUZ+oRU=", - "usagesDigest": "ZCWRf2okPdrhLnHYzJUA/hX8xcWiWHdw1kMEqxxoXJ0=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "bzlTransitiveDigest": "4Mp4ptaDfT7PpI/7ZrEhso5yzNbUbMpTHnYwZKS0nKE=", + "usagesDigest": "Z/Nugr9HiDK3J0ZSk3By4FtRUJ1vwYdp5pxbGDlEMTQ=", + "recordedInputs": [ + "REPO_MAPPING:aspect_bazel_lib+,bazel_tools bazel_tools", + "REPO_MAPPING:bazel_features+,bazel_tools bazel_tools", + "REPO_MAPPING:rules_oci+,aspect_bazel_lib aspect_bazel_lib+", + "REPO_MAPPING:rules_oci+,bazel_features bazel_features+", + "REPO_MAPPING:rules_oci+,bazel_skylib bazel_skylib+" + ], "generatedRepoSpecs": { "distroless_base_linux_amd64": { "repoRuleId": "@@rules_oci+//oci/private:pull.bzl%oci_pull", @@ -274,7 +320,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:0c70ab46409b94a96f4e98e32e7333050581e75f7038de2877a4bfc146dfc7ce", + "identifier": "sha256:8c8b7cf2a01e2d1c683128b2488d77139fa90ec8cb807f0ae260d57f7022dedd", "platform": "linux/amd64", "target_name": "distroless_base_linux_amd64", "bazel_tags": [] @@ -287,7 +333,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:0c70ab46409b94a96f4e98e32e7333050581e75f7038de2877a4bfc146dfc7ce", + "identifier": "sha256:8c8b7cf2a01e2d1c683128b2488d77139fa90ec8cb807f0ae260d57f7022dedd", "platform": "linux/arm64/v8", "target_name": "distroless_base_linux_arm64_v8", "bazel_tags": [] @@ -301,7 +347,7 @@ "scheme": "https", "registry": "gcr.io", "repository": "distroless/base", - "identifier": "sha256:0c70ab46409b94a96f4e98e32e7333050581e75f7038de2877a4bfc146dfc7ce", + "identifier": "sha256:8c8b7cf2a01e2d1c683128b2488d77139fa90ec8cb807f0ae260d57f7022dedd", "platforms": { "@@platforms//cpu:x86_64": "@distroless_base_linux_amd64", "@@platforms//cpu:arm64": "@distroless_base_linux_arm64_v8" @@ -433,43 +479,212 @@ "explicitRootModuleDirectDevDeps": [], "useAllRepos": "NO", "reproducible": false - }, - "recordedRepoMappingEntries": [ - [ - "aspect_bazel_lib+", - "bazel_tools", - "bazel_tools" - ], - [ - "bazel_features+", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_oci+", - "aspect_bazel_lib", - "aspect_bazel_lib+" - ], - [ - "rules_oci+", - "bazel_features", - "bazel_features+" - ], - [ - "rules_oci+", - "bazel_skylib", - "bazel_skylib+" - ] - ] + } + } + }, + "@@rules_python+//python/extensions:config.bzl%config": { + "general": { + "bzlTransitiveDigest": "2hLgIvNVTLgxus0ZuXtleBe70intCfo0cHs8qvt6cdM=", + "usagesDigest": "ZVSXMAGpD+xzVNPuvF1IoLBkty7TROO0+akMapt1pAg=", + "recordedInputs": [ + "REPO_MAPPING:rules_python+,bazel_tools bazel_tools", + "REPO_MAPPING:rules_python+,pypi__build rules_python++config+pypi__build", + "REPO_MAPPING:rules_python+,pypi__click rules_python++config+pypi__click", + "REPO_MAPPING:rules_python+,pypi__colorama rules_python++config+pypi__colorama", + "REPO_MAPPING:rules_python+,pypi__importlib_metadata rules_python++config+pypi__importlib_metadata", + "REPO_MAPPING:rules_python+,pypi__installer rules_python++config+pypi__installer", + "REPO_MAPPING:rules_python+,pypi__more_itertools rules_python++config+pypi__more_itertools", + "REPO_MAPPING:rules_python+,pypi__packaging rules_python++config+pypi__packaging", + "REPO_MAPPING:rules_python+,pypi__pep517 rules_python++config+pypi__pep517", + "REPO_MAPPING:rules_python+,pypi__pip rules_python++config+pypi__pip", + "REPO_MAPPING:rules_python+,pypi__pip_tools rules_python++config+pypi__pip_tools", + "REPO_MAPPING:rules_python+,pypi__pyproject_hooks rules_python++config+pypi__pyproject_hooks", + "REPO_MAPPING:rules_python+,pypi__setuptools rules_python++config+pypi__setuptools", + "REPO_MAPPING:rules_python+,pypi__tomli rules_python++config+pypi__tomli", + "REPO_MAPPING:rules_python+,pypi__wheel rules_python++config+pypi__wheel", + "REPO_MAPPING:rules_python+,pypi__zipp rules_python++config+pypi__zipp" + ], + "generatedRepoSpecs": { + "rules_python_internal": { + "repoRuleId": "@@rules_python+//python/private:internal_config_repo.bzl%internal_config_repo", + "attributes": { + "transition_setting_generators": {}, + "transition_settings": [] + } + }, + "pypi__build": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/e2/03/f3c8ba0a6b6e30d7d18c40faab90807c9bb5e9a1e3b2fe2008af624a9c97/build-1.2.1-py3-none-any.whl", + "sha256": "75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__click": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl", + "sha256": "ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__colorama": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", + "sha256": "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__importlib_metadata": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/2d/0a/679461c511447ffaf176567d5c496d1de27cbe34a87df6677d7171b2fbd4/importlib_metadata-7.1.0-py3-none-any.whl", + "sha256": "30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__installer": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/e5/ca/1172b6638d52f2d6caa2dd262ec4c811ba59eee96d54a7701930726bce18/installer-0.7.0-py3-none-any.whl", + "sha256": "05d1933f0a5ba7d8d6296bb6d5018e7c94fa473ceb10cf198a92ccea19c27b53", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__more_itertools": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/50/e2/8e10e465ee3987bb7c9ab69efb91d867d93959095f4807db102d07995d94/more_itertools-10.2.0-py3-none-any.whl", + "sha256": "686b06abe565edfab151cb8fd385a05651e1fdf8f0a14191e4439283421f8684", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__packaging": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/49/df/1fceb2f8900f8639e278b056416d49134fb8d84c5942ffaa01ad34782422/packaging-24.0-py3-none-any.whl", + "sha256": "2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__pep517": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/25/6e/ca4a5434eb0e502210f591b97537d322546e4833dcb4d470a48c375c5540/pep517-0.13.1-py3-none-any.whl", + "sha256": "31b206f67165b3536dd577c5c3f1518e8fbaf38cbc57efff8369a392feff1721", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__pip": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl", + "sha256": "ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__pip_tools": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/0d/dc/38f4ce065e92c66f058ea7a368a9c5de4e702272b479c0992059f7693941/pip_tools-7.4.1-py3-none-any.whl", + "sha256": "4c690e5fbae2f21e87843e89c26191f0d9454f362d8acdbd695716493ec8b3a9", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__pyproject_hooks": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/ae/f3/431b9d5fe7d14af7a32340792ef43b8a714e7726f1d7b69cc4e8e7a3f1d7/pyproject_hooks-1.1.0-py3-none-any.whl", + "sha256": "7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__setuptools": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/90/99/158ad0609729111163fc1f674a5a42f2605371a4cf036d0441070e2f7455/setuptools-78.1.1-py3-none-any.whl", + "sha256": "c3a9c4211ff4c309edb8b8c4f1cbfa7ae324c4ba9f91ff254e3d305b9fd54561", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__tomli": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl", + "sha256": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__wheel": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/7d/cd/d7460c9a869b16c3dd4e1e403cce337df165368c71d6af229a74699622ce/wheel-0.43.0-py3-none-any.whl", + "sha256": "55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__zipp": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/da/55/a03fd7240714916507e1fcf7ae355bd9d9ed2e6db492595f1a67f61681be/zipp-3.18.2-py3-none-any.whl", + "sha256": "dce197b859eb796242b0622af1b8beb0a722d52aa2f57133ead08edd5bf5374e", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + } + } + } + }, + "@@rules_python+//python/uv:uv.bzl%uv": { + "general": { + "bzlTransitiveDigest": "ijW9KS7qsIY+yBVvJ+Nr1mzwQox09j13DnE3iIwaeTM=", + "usagesDigest": "H8dQoNZcoqP+Mu0tHZTi4KHATzvNkM5ePuEqoQdklIU=", + "recordedInputs": [ + "REPO_MAPPING:rules_python+,bazel_tools bazel_tools", + "REPO_MAPPING:rules_python+,platforms platforms" + ], + "generatedRepoSpecs": { + "uv": { + "repoRuleId": "@@rules_python+//python/uv/private:uv_toolchains_repo.bzl%uv_toolchains_repo", + "attributes": { + "toolchain_type": "'@@rules_python+//python/uv:uv_toolchain_type'", + "toolchain_names": [ + "none" + ], + "toolchain_implementations": { + "none": "'@@rules_python+//python:none'" + }, + "toolchain_compatible_with": { + "none": [ + "@platforms//:incompatible" + ] + }, + "toolchain_target_settings": {} + } + } + } } }, "@@tar.bzl+//tar:extensions.bzl%toolchains": { "general": { "bzlTransitiveDigest": "/2afh6fPjq/rcyE/jztQDK3ierehmFFngfvmqyRv72M=", "usagesDigest": "maF8qsAIqeH1ey8pxP0gNZbvJt34kLZvTFeQ0ntrJVA=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [], "generatedRepoSpecs": { "bsd_tar_toolchains": { "repoRuleId": "@@tar.bzl+//tar/toolchain:toolchain.bzl%tar_toolchains_repo", @@ -513,8 +728,7 @@ "platform": "windows_arm64" } } - }, - "recordedRepoMappingEntries": [] + } } } }, @@ -682,166 +896,166 @@ "27bab004c72b3d7bd05a69b6ec0fc54a309b4b78cc569dd963d8b3ec28bfdb8c" ] }, - "1.25.5": { + "1.25.7": { "aix_ppc64": [ - "go1.25.5.aix-ppc64.tar.gz", - "89d3300aeb8a49354c04d43abf2a0dca6a75ac772b3bc2edaac52de513041572" + "go1.25.7.aix-ppc64.tar.gz", + "81bf2a1f20633f62d55d826d82dde3b0570cf1408a91e15781b266037299285b" ], "darwin_amd64": [ - "go1.25.5.darwin-amd64.tar.gz", - "b69d51bce599e5381a94ce15263ae644ec84667a5ce23d58dc2e63e2c12a9f56" + "go1.25.7.darwin-amd64.tar.gz", + "bf5050a2152f4053837b886e8d9640c829dbacbc3370f913351eb0904cb706f5" ], "darwin_arm64": [ - "go1.25.5.darwin-arm64.tar.gz", - "bed8ebe824e3d3b27e8471d1307f803fc6ab8e1d0eb7a4ae196979bd9b801dd3" + "go1.25.7.darwin-arm64.tar.gz", + "ff18369ffad05c57d5bed888b660b31385f3c913670a83ef557cdfd98ea9ae1b" ], "dragonfly_amd64": [ - "go1.25.5.dragonfly-amd64.tar.gz", - "51478a265f45b68ce761aa303c1ecf185949f6eb0b2106e3066ec4d32361b38a" + "go1.25.7.dragonfly-amd64.tar.gz", + "c5dccd7f192dd7b305dc209fb316ac1917776d74bd8e4d532ef2772f305bf42a" ], "freebsd_386": [ - "go1.25.5.freebsd-386.tar.gz", - "f8ff9fa5309fbbbd7d52f5d3f7181feb830dfd044d23c38746a2ada091f751b5" + "go1.25.7.freebsd-386.tar.gz", + "a2de97c8ac74bf64b0ae73fe9d379e61af530e061bc7f8f825044172ffe61a8b" ], "freebsd_amd64": [ - "go1.25.5.freebsd-amd64.tar.gz", - "a2d2b2aeb218bd646fd8708bacc96c9d4de1b6c9ea48ceb9171e9e784f676650" + "go1.25.7.freebsd-amd64.tar.gz", + "055f9e138787dcafa81eb0314c8ff70c6dd0f6dba1e8a6957fef5d5efd1ab8fd" ], "freebsd_arm": [ - "go1.25.5.freebsd-arm.tar.gz", - "b83a5cb1695c7185a13840661aef6aa1b46202d41a72528ecde51735765c6641" + "go1.25.7.freebsd-arm.tar.gz", + "60e7f7a7c990f0b9539ac8ed668155746997d404643a4eecd47b3dee1b7e710b" ], "freebsd_arm64": [ - "go1.25.5.freebsd-arm64.tar.gz", - "938fc0204f853c24ab03967105146af6590903dd14f869fe912db7a735f654f6" + "go1.25.7.freebsd-arm64.tar.gz", + "631e03d5fd4c526e2f499154d8c6bf4cb081afb2fff171c428722afc9539d53a" ], "freebsd_riscv64": [ - "go1.25.5.freebsd-riscv64.tar.gz", - "7b0cc61246cf6fc9e576135cfcd2b95e870b0f2ee5bf057325b2d76119001e4e" + "go1.25.7.freebsd-riscv64.tar.gz", + "8a264fd685823808140672812e3ad9c43f6ad59444c0dc14cdd3a1351839ddd5" ], "illumos_amd64": [ - "go1.25.5.illumos-amd64.tar.gz", - "ea5cafcf995ef4a82ced5a7134f18bbc5ca554c345075d18f37d2e192fe2c1ff" + "go1.25.7.illumos-amd64.tar.gz", + "57c672447d906a1bcab98f2b11492d54521a791aacbb4994a25169e59cbe289a" ], "linux_386": [ - "go1.25.5.linux-386.tar.gz", - "db908a86e888574ed3432355ba5372ad3ef2c0821ba9b91ceaa0f6634620c40c" + "go1.25.7.linux-386.tar.gz", + "2866517e9ca81e6a2e85a930e9b11bc8a05cfeb2fc6dc6cb2765e7fb3c14b715" ], "linux_amd64": [ - "go1.25.5.linux-amd64.tar.gz", - "9e9b755d63b36acf30c12a9a3fc379243714c1c6d3dd72861da637f336ebb35b" + "go1.25.7.linux-amd64.tar.gz", + "12e6d6a191091ae27dc31f6efc630e3a3b8ba409baf3573d955b196fdf086005" ], "linux_arm64": [ - "go1.25.5.linux-arm64.tar.gz", - "b00b694903d126c588c378e72d3545549935d3982635ba3f7a964c9fa23fe3b9" + "go1.25.7.linux-arm64.tar.gz", + "ba611a53534135a81067240eff9508cd7e256c560edd5d8c2fef54f083c07129" ], "linux_armv6l": [ - "go1.25.5.linux-armv6l.tar.gz", - "0b27e3dec8d04899d6941586d2aa2721c3dee67c739c1fc1b528188f3f6e8ab5" + "go1.25.7.linux-armv6l.tar.gz", + "1ba07e0eb86b839e72467f4b5c7a5597d07f30bcf5563c951410454f7cda5266" ], "linux_loong64": [ - "go1.25.5.linux-loong64.tar.gz", - "0be2f27172a85de1b9c0c7f324832023b177d07cfa04a55dc67a3cc965fe969e" + "go1.25.7.linux-loong64.tar.gz", + "775753fc5952a334c415f08768df2f0b73a3228a16e8f5f63d545daacb4e3357" ], "linux_mips": [ - "go1.25.5.linux-mips.tar.gz", - "0e7c387a6914c81b53278f023da2004e17d8d8e851749cdb5df15ad59e54ff3e" + "go1.25.7.linux-mips.tar.gz", + "1a023bb367c5fbb4c637a2f6dc23ff17c6591ad929ce16ea88c74d857153b307" ], "linux_mips64": [ - "go1.25.5.linux-mips64.tar.gz", - "32ef8f4c4896c1e88dcbbf79c353d3e46dc38410e649327ee47e073e3326b06f" + "go1.25.7.linux-mips64.tar.gz", + "a8e97223d8aa6fdfd45f132a4784d2f536bbac5f3d63a24b63d33b6bfe1549af" ], "linux_mips64le": [ - "go1.25.5.linux-mips64le.tar.gz", - "437dc493b3ce97a65e7abc7e8ecb935f504b4805aff749baba219841bd970335" + "go1.25.7.linux-mips64le.tar.gz", + "eb9edb6223330d5e20275667c65dea076b064c08e595fe4eba5d7d6055cfaccf" ], "linux_mipsle": [ - "go1.25.5.linux-mipsle.tar.gz", - "675cd3e0cb7d9131602a0de06f5471ce969fd95d388baf1ec05106a1cdeb20b6" + "go1.25.7.linux-mipsle.tar.gz", + "9c1e693552a5f9bb9e0012d1c5e01456ecefbc59bef53a77305222ce10aba368" ], "linux_ppc64": [ - "go1.25.5.linux-ppc64.tar.gz", - "a2159b254b025a816673365db565b3bd64f99fb185eb3f4cedabbf992097304d" + "go1.25.7.linux-ppc64.tar.gz", + "28a788798e7329acbbc0ac2caa5e4368b1e5ede646cc24429c991214cfb45c63" ], "linux_ppc64le": [ - "go1.25.5.linux-ppc64le.tar.gz", - "f0904b647b5b8561efc5d48bb59a34f2b7996afab83ccd41c93b1aeb2c0067e4" + "go1.25.7.linux-ppc64le.tar.gz", + "42124c0edc92464e2b37b2d7fcd3658f0c47ebd6a098732415a522be8cb88e3f" ], "linux_riscv64": [ - "go1.25.5.linux-riscv64.tar.gz", - "05de84b319bc91b9cecbc6bf8eb5fcd814cf8a9d16c248d293dbd96f6cc0151b" + "go1.25.7.linux-riscv64.tar.gz", + "88d59c6893c8425875d6eef8e3434bc2fa2552e5ad4c058c6cd8cd710a0301c8" ], "linux_s390x": [ - "go1.25.5.linux-s390x.tar.gz", - "a5d0a72b0dfd57f9c2c0cdd8b7e0f401e0afb9e8c304d3410f9b0982ce0953da" + "go1.25.7.linux-s390x.tar.gz", + "c6b77facf666dc68195ecab05dbf0ebb4e755b2a8b7734c759880557f1c29b0c" ], "netbsd_386": [ - "go1.25.5.netbsd-386.tar.gz", - "57e79e72d1110954c6567082137f0228c46eb4d612211b3bf48dadb6a27eeaa2" + "go1.25.7.netbsd-386.tar.gz", + "f14c184d9ade0ee04c7735d4071257b90896ecbde1b32adae84135f055e6399b" ], "netbsd_amd64": [ - "go1.25.5.netbsd-amd64.tar.gz", - "d6062fa06c33613be60436b3e6422f2de43c28350bb30dbbc459782985eea7bd" + "go1.25.7.netbsd-amd64.tar.gz", + "7e7389e404dca1088c31f0fc07f1dd60891d7182bcd621469c14f7e79eceb3ff" ], "netbsd_arm": [ - "go1.25.5.netbsd-arm.tar.gz", - "457d844df4aa6cd51616b2334e378cc295ee7bcca1cb21869adfc16f5f379bfd" + "go1.25.7.netbsd-arm.tar.gz", + "70388bb3ef2f03dbf1357e9056bd09034a67e018262557354f8cf549766b3f9d" ], "netbsd_arm64": [ - "go1.25.5.netbsd-arm64.tar.gz", - "5030511891f670dba65a6d8f15e687f623030ac5b63661a423a7dad53990b634" + "go1.25.7.netbsd-arm64.tar.gz", + "8c1cda9d25bfc9b18d24d5f95fc23949dd3ff99fa408a6cfa40e2cf12b07e362" ], "openbsd_386": [ - "go1.25.5.openbsd-386.tar.gz", - "27cba5feeedfb08dea2770420c6024d7ea72eedad08132a9759c0f05f66f2486" + "go1.25.7.openbsd-386.tar.gz", + "42f0d1bfbe39b8401cccb84dd66b30795b97bfc9620dfdc17c5cd4fcf6495cb0" ], "openbsd_amd64": [ - "go1.25.5.openbsd-amd64.tar.gz", - "c873e93f6bd125a23b359914ba34d62e6af21111b06c14ce344b724aa1ef933b" + "go1.25.7.openbsd-amd64.tar.gz", + "e514879c0a28bc32123cd52c4c093de912477fe83f36a6d07517d066ef55391a" ], "openbsd_arm": [ - "go1.25.5.openbsd-arm.tar.gz", - "e5a8cc469c66248bc2031327e66a4ad48a8f379435677386db52ef1aa7b2b0e2" + "go1.25.7.openbsd-arm.tar.gz", + "8cd22530695a0218232bf7efea8f162df1697a3106942ac4129b8c3de39ce4ef" ], "openbsd_arm64": [ - "go1.25.5.openbsd-arm64.tar.gz", - "cdd655fa0e15bc839d0c353bfb728b8d22a8012e54a11e297be919c3cf7ad866" + "go1.25.7.openbsd-arm64.tar.gz", + "938720f6ebc0d1c53d7840321d3a31f29fd02496e84a6538f442a9311dc1cc9a" ], "openbsd_ppc64": [ - "go1.25.5.openbsd-ppc64.tar.gz", - "a149370fda34ce27fa78a452248f6f2040fe5ab955dce246d4d92de2c2d511c1" + "go1.25.7.openbsd-ppc64.tar.gz", + "a4c378b73b98f89a3596c2ef51aabbb28783d9ca29f7e317d8ca07939660ce6f" ], "openbsd_riscv64": [ - "go1.25.5.openbsd-riscv64.tar.gz", - "be96cf8460011088cb75b330357796ecf1ac2ffffac77a3d1f798cbd7e6a2bc0" + "go1.25.7.openbsd-riscv64.tar.gz", + "937b58734fbeaa8c7941a0e4285e7e84b7885396e8d11c23f9ab1a8ff10ff20e" ], "plan9_386": [ - "go1.25.5.plan9-386.tar.gz", - "a3926108324c4b161080b03cd941db58090fba1194610093ee5716ee98997287" + "go1.25.7.plan9-386.tar.gz", + "61a093c8c5244916f25740316386bb9f141545dcf01b06a79d1c78ece488403e" ], "plan9_amd64": [ - "go1.25.5.plan9-amd64.tar.gz", - "f171e529236b850ed4a1e714c317dddcf46855b575d9d018c654cf78b3ea1a2e" + "go1.25.7.plan9-amd64.tar.gz", + "7fc8f6689c9de8ccb7689d2278035fa83c2d601409101840df6ddfe09ba58699" ], "plan9_arm": [ - "go1.25.5.plan9-arm.tar.gz", - "aaf285e49f39717029f4759c0f9b2860dbf23c20fb659122006ba1e145643721" + "go1.25.7.plan9-arm.tar.gz", + "9661dff8eaeeb62f1c3aadbc5ff189a2e6744e1ec885e32dbcb438f58a34def5" ], "solaris_amd64": [ - "go1.25.5.solaris-amd64.tar.gz", - "fb61c56ca80a2e1e5f74609ded64546166a5ab431c0d581ce718310cf27f6b9f" + "go1.25.7.solaris-amd64.tar.gz", + "28ecba0e1d7950c8b29a4a04962dd49c3bf5221f55a44f17d98f369f82859cf4" ], "windows_386": [ - "go1.25.5.windows-386.zip", - "a593393ea7715ffd315158f622a76226c3a4c4a0a6f92b1aeae03d7380cc06a3" + "go1.25.7.windows-386.zip", + "baa6b488291801642fa620026169e38bec2da2ac187cd3ae2145721cf826bbc3" ], "windows_amd64": [ - "go1.25.5.windows-amd64.zip", - "ae756cce1cb80c819b4fe01b0353807178f532211b47f72d7fa77949de054ebb" + "go1.25.7.windows-amd64.zip", + "c75e5f4ff62d085cc0017be3ad19d5536f46825fa05db06ec468941f847e3228" ], "windows_arm64": [ - "go1.25.5.windows-arm64.zip", - "55a94a423a6b8f3ac2ac4d05a6e44d7760c6520a2c6dcef7425f6bac79c4eece" + "go1.25.7.windows-arm64.zip", + "807033f85931bc4a589ca8497535dcbeb1f30d506e47fa200f5f04c4a71c3d9f" ] } } From e5a582a970f8123c35d5a2e49a4a33cec32fc8a4 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 8 Feb 2026 13:38:03 +1100 Subject: [PATCH 284/381] ci: Speed up the CI by only building compilation outputs in Build step. --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ea965a7da..f6f956cd1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,7 +42,9 @@ jobs: disk-cache: ${{ github.workflow }} # Share repository cache between workflows repository-cache: true - - run: bazel build //... + - name: bazel build + # Speed up CI build by only doing compilation outputs + run: bazel build --output_groups=compilation_outputs //... - name: bazel test run: bazel coverage --test_output=all --combined_report=lcov --instrument_test_targets --nocache_test_results --instrumentation_filter="^//" //... - name: output bazel paths for test and coverage From 571feddbf0721908f159319fd44e45e457af1af4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 01:04:08 +0000 Subject: [PATCH 285/381] chore(deps): update dependency rules_go to v0.60.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 392c533ef..36788d239 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -3,7 +3,7 @@ module( version = "3", ) -bazel_dep(name = "rules_go", version = "0.59.0") +bazel_dep(name = "rules_go", version = "0.60.0") go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") go_sdk.from_file(go_mod = "//:go.mod") From e29c1e992bc52083d052604693deda313c43f585 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 01:27:37 +0000 Subject: [PATCH 286/381] build(deps): bump golang.org/x/sys from 0.40.0 to 0.41.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.40.0 to 0.41.0. - [Commits](https://github.com/golang/sys/compare/v0.40.0...v0.41.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-version: 0.41.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c64c1fde6..cb6dde828 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.40.0 go.opentelemetry.io/otel/sdk v1.40.0 go.opentelemetry.io/otel/sdk/metric v1.40.0 - golang.org/x/sys v0.40.0 + golang.org/x/sys v0.41.0 golang.org/x/tools v0.41.0 ) diff --git a/go.sum b/go.sum index f1f18a0f7..8db0bd7ae 100644 --- a/go.sum +++ b/go.sum @@ -268,8 +268,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= -golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= +golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From 48bc8d9dcff20109f8ef91ebc5a5bf646dc867ec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 01:27:50 +0000 Subject: [PATCH 287/381] build(deps): bump github.com/bazelbuild/rules_go from 0.59.0 to 0.60.0 Bumps [github.com/bazelbuild/rules_go](https://github.com/bazelbuild/rules_go) from 0.59.0 to 0.60.0. - [Release notes](https://github.com/bazelbuild/rules_go/releases) - [Commits](https://github.com/bazelbuild/rules_go/compare/v0.59.0...v0.60.0) --- updated-dependencies: - dependency-name: github.com/bazelbuild/rules_go dependency-version: 0.60.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c64c1fde6..9989fe9d3 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.25.7 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 - github.com/bazelbuild/rules_go v0.59.0 + github.com/bazelbuild/rules_go v0.60.0 github.com/golang/glog v1.2.5 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 diff --git a/go.sum b/go.sum index f1f18a0f7..f6131723f 100644 --- a/go.sum +++ b/go.sum @@ -25,8 +25,8 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXV 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/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/bazelbuild/rules_go v0.59.0 h1:RLhOwYIqeMgBpKelHEWTfIPjA37so3oa/rX+/qqq/P4= -github.com/bazelbuild/rules_go v0.59.0/go.mod h1:Pn30cb4M513fe2rQ6GiJ3q8QyrRsgC7zhuDvi50Lw4Y= +github.com/bazelbuild/rules_go v0.60.0 h1:apGSxTTrFUyLNvX9NQmF4CbntWAO0/S5eALeVgB/6Qk= +github.com/bazelbuild/rules_go v0.60.0/go.mod h1:CYcohJVxs4n7eftbC39GCqaEJm3E1EME+6QAkGguKoI= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= From b95b11609cf4ec82221168c3d3033b961b37d618 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 01:33:09 +0000 Subject: [PATCH 288/381] build(deps): bump golang.org/x/tools from 0.41.0 to 0.42.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.41.0 to 0.42.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.41.0...v0.42.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.42.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index f6a9136c8..655f37041 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.40.0 go.opentelemetry.io/otel/sdk/metric v1.40.0 golang.org/x/sys v0.41.0 - golang.org/x/tools v0.41.0 + golang.org/x/tools v0.42.0 ) require ( @@ -40,9 +40,9 @@ require ( go.opentelemetry.io/otel/trace v1.40.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/net v0.49.0 // indirect + golang.org/x/net v0.50.0 // indirect golang.org/x/sync v0.19.0 // indirect - golang.org/x/text v0.33.0 // indirect + golang.org/x/text v0.34.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409 // indirect diff --git a/go.sum b/go.sum index 16e8bc887..be7665849 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= -golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= +golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60= +golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -275,8 +275,8 @@ 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.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.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= -golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= +golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= +golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -310,8 +310,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= -golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= +golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k= +golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From a95c1d20a84b43872dfe1f0cb484d4e268bb6d27 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 14 Feb 2026 00:57:33 +0000 Subject: [PATCH 289/381] chore(deps): update distroless_base docker digest to 9fc4940 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 36788d239..71a552e52 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:8c8b7cf2a01e2d1c683128b2488d77139fa90ec8cb807f0ae260d57f7022dedd", + digest = "sha256:9fc4940908fb9f2dadfccba39b28a69043c75db3cef810c5653eac319121fcc3", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From 4d9833da41942cb5744321fc1ee65e35804432a0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Feb 2026 16:42:49 +0000 Subject: [PATCH 290/381] chore(deps): update goreleaser/goreleaser-action action to v7 --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e002f2bcd..9822e1844 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -46,7 +46,7 @@ jobs: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - uses: goreleaser/goreleaser-action@v6 + - uses: goreleaser/goreleaser-action@v7 id: goreleaser with: version: latest From 0f1465396fbef439e237116ba20d5d7b2b4f9715 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Feb 2026 13:44:02 +0000 Subject: [PATCH 291/381] chore(deps): update distroless_base docker digest to 5cabf0b --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 71a552e52..e5cec35c9 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:9fc4940908fb9f2dadfccba39b28a69043c75db3cef810c5653eac319121fcc3", + digest = "sha256:5cabf0b730eaa05d5fc8e3618fa764fdc5bf67493b487d65fe98c1837a3ed421", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From 259a19174b9a270e9882bdbdc37e701572c19c08 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Feb 2026 20:20:54 +0000 Subject: [PATCH 292/381] chore(deps): update github artifact actions --- .github/actions/bazel-benchmark/action.yml | 2 +- .github/actions/bencher-run/action.yml | 4 ++-- .github/workflows/benchmark.yml | 2 +- .github/workflows/oss-fuzz.yml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/bazel-benchmark/action.yml b/.github/actions/bazel-benchmark/action.yml index c01cfb305..8ef553057 100644 --- a/.github/actions/bazel-benchmark/action.yml +++ b/.github/actions/bazel-benchmark/action.yml @@ -32,7 +32,7 @@ runs: bazel run ${target} -- ${{ inputs.bazel_run_flags }} done | tee benchmark_results.txt - name: upload benchmark results artfact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: ${{ inputs.output_artifact }} path: benchmark_results.txt diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index 64654bfbf..ca4839dfe 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -22,12 +22,12 @@ runs: using: composite steps: - uses: bencherdev/bencher@main - - uses: actions/download-artifact@v7 + - uses: actions/download-artifact@v8 with: name: ${{ inputs.benchmark_results_artifact }} run-id: ${{ github.event.workflow_run.id }} github-token: ${{ github.token }} - - uses: actions/download-artifact@v7 + - uses: actions/download-artifact@v8 with: name: ${{ inputs.workflow_event }} run-id: ${{ github.event.workflow_run.id }} diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 4c928440a..890bc642e 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -22,7 +22,7 @@ jobs: disk-cache: ${{ github.workflow }} repository-cache: true - uses: ./.github/actions/bazel-benchmark - - uses: actions/upload-artifact@v6 + - uses: actions/upload-artifact@v7 with: name: event.json path: ${{ github.event_path }} diff --git a/.github/workflows/oss-fuzz.yml b/.github/workflows/oss-fuzz.yml index 8295a8dfd..1de88eeef 100644 --- a/.github/workflows/oss-fuzz.yml +++ b/.github/workflows/oss-fuzz.yml @@ -27,7 +27,7 @@ jobs: oss-fuzz-project-name: 'mtail' dry-run: false - name: Upload Crash - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 if: failure() && steps.build.outcome == 'success' with: name: artifacts From 1afd65a79e90216b02c78fa53af375d3b6c965f9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Feb 2026 04:53:18 +0000 Subject: [PATCH 293/381] chore(deps): update distroless_base docker digest to 9740672 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index e5cec35c9..274bc4ca0 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:5cabf0b730eaa05d5fc8e3618fa764fdc5bf67493b487d65fe98c1837a3ed421", + digest = "sha256:97406725e9ca912013f59ae49fa3362d44f2745c07eba00705247216225b810c", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From 54328a3e4fb71dce1becbc6e8aa1f4f0d097dc60 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Mar 2026 00:25:51 +0000 Subject: [PATCH 294/381] build(deps): bump go.opentelemetry.io/otel from 1.40.0 to 1.41.0 Bumps [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) from 1.40.0 to 1.41.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.40.0...v1.41.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel dependency-version: 1.41.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 655f37041..50afb310b 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/prometheus/client_golang v1.23.2 github.com/prometheus/common v0.67.5 go.opencensus.io v0.24.0 - go.opentelemetry.io/otel v1.40.0 + go.opentelemetry.io/otel v1.41.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.40.0 go.opentelemetry.io/otel/sdk v1.40.0 go.opentelemetry.io/otel/sdk/metric v1.40.0 @@ -36,8 +36,8 @@ require ( github.com/prometheus/procfs v0.16.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/otel/metric v1.40.0 // indirect - go.opentelemetry.io/otel/trace v1.40.0 // indirect + go.opentelemetry.io/otel/metric v1.41.0 // indirect + go.opentelemetry.io/otel/trace v1.41.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/net v0.50.0 // indirect diff --git a/go.sum b/go.sum index be7665849..0b3a62c20 100644 --- a/go.sum +++ b/go.sum @@ -161,18 +161,18 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/otel v1.40.0 h1:oA5YeOcpRTXq6NN7frwmwFR0Cn3RhTVZvXsP4duvCms= -go.opentelemetry.io/otel v1.40.0/go.mod h1:IMb+uXZUKkMXdPddhwAHm6UfOwJyh4ct1ybIlV14J0g= +go.opentelemetry.io/otel v1.41.0 h1:YlEwVsGAlCvczDILpUXpIpPSL/VPugt7zHThEMLce1c= +go.opentelemetry.io/otel v1.41.0/go.mod h1:Yt4UwgEKeT05QbLwbyHXEwhnjxNO6D8L5PQP51/46dE= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.40.0 h1:NOyNnS19BF2SUDApbOKbDtWZ0IK7b8FJ2uAGdIWOGb0= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.40.0/go.mod h1:VL6EgVikRLcJa9ftukrHu/ZkkhFBSo1lzvdBC9CF1ss= -go.opentelemetry.io/otel/metric v1.40.0 h1:rcZe317KPftE2rstWIBitCdVp89A2HqjkxR3c11+p9g= -go.opentelemetry.io/otel/metric v1.40.0/go.mod h1:ib/crwQH7N3r5kfiBZQbwrTge743UDc7DTFVZrrXnqc= +go.opentelemetry.io/otel/metric v1.41.0 h1:rFnDcs4gRzBcsO9tS8LCpgR0dxg4aaxWlJxCno7JlTQ= +go.opentelemetry.io/otel/metric v1.41.0/go.mod h1:xPvCwd9pU0VN8tPZYzDZV/BMj9CM9vs00GuBjeKhJps= go.opentelemetry.io/otel/sdk v1.40.0 h1:KHW/jUzgo6wsPh9At46+h4upjtccTmuZCFAc9OJ71f8= go.opentelemetry.io/otel/sdk v1.40.0/go.mod h1:Ph7EFdYvxq72Y8Li9q8KebuYUr2KoeyHx0DRMKrYBUE= go.opentelemetry.io/otel/sdk/metric v1.40.0 h1:mtmdVqgQkeRxHgRv4qhyJduP3fYJRMX4AtAlbuWdCYw= go.opentelemetry.io/otel/sdk/metric v1.40.0/go.mod h1:4Z2bGMf0KSK3uRjlczMOeMhKU2rhUqdWNoKcYrtcBPg= -go.opentelemetry.io/otel/trace v1.40.0 h1:WA4etStDttCSYuhwvEa8OP8I5EWu24lkOzp+ZYblVjw= -go.opentelemetry.io/otel/trace v1.40.0/go.mod h1:zeAhriXecNGP/s2SEG3+Y8X9ujcJOTqQ5RgdEJcawiA= +go.opentelemetry.io/otel/trace v1.41.0 h1:Vbk2co6bhj8L59ZJ6/xFTskY+tGAbOnCtQGVVa9TIN0= +go.opentelemetry.io/otel/trace v1.41.0/go.mod h1:U1NU4ULCoxeDKc09yCWdWe+3QoyweJcISEVa1RBzOis= go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= From c05730205c096c829d3145d0a3dcd580b4d62d69 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Mar 2026 00:30:52 +0000 Subject: [PATCH 295/381] build(deps): bump go.opentelemetry.io/otel/sdk/metric Bumps [go.opentelemetry.io/otel/sdk/metric](https://github.com/open-telemetry/opentelemetry-go) from 1.40.0 to 1.41.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.40.0...v1.41.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/sdk/metric dependency-version: 1.41.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 50afb310b..228692de5 100644 --- a/go.mod +++ b/go.mod @@ -16,8 +16,8 @@ require ( go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.41.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.40.0 - go.opentelemetry.io/otel/sdk v1.40.0 - go.opentelemetry.io/otel/sdk/metric v1.40.0 + go.opentelemetry.io/otel/sdk v1.41.0 + go.opentelemetry.io/otel/sdk/metric v1.41.0 golang.org/x/sys v0.41.0 golang.org/x/tools v0.42.0 ) diff --git a/go.sum b/go.sum index 0b3a62c20..56887810a 100644 --- a/go.sum +++ b/go.sum @@ -167,10 +167,10 @@ go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.40.0 h1:NOy go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.40.0/go.mod h1:VL6EgVikRLcJa9ftukrHu/ZkkhFBSo1lzvdBC9CF1ss= go.opentelemetry.io/otel/metric v1.41.0 h1:rFnDcs4gRzBcsO9tS8LCpgR0dxg4aaxWlJxCno7JlTQ= go.opentelemetry.io/otel/metric v1.41.0/go.mod h1:xPvCwd9pU0VN8tPZYzDZV/BMj9CM9vs00GuBjeKhJps= -go.opentelemetry.io/otel/sdk v1.40.0 h1:KHW/jUzgo6wsPh9At46+h4upjtccTmuZCFAc9OJ71f8= -go.opentelemetry.io/otel/sdk v1.40.0/go.mod h1:Ph7EFdYvxq72Y8Li9q8KebuYUr2KoeyHx0DRMKrYBUE= -go.opentelemetry.io/otel/sdk/metric v1.40.0 h1:mtmdVqgQkeRxHgRv4qhyJduP3fYJRMX4AtAlbuWdCYw= -go.opentelemetry.io/otel/sdk/metric v1.40.0/go.mod h1:4Z2bGMf0KSK3uRjlczMOeMhKU2rhUqdWNoKcYrtcBPg= +go.opentelemetry.io/otel/sdk v1.41.0 h1:YPIEXKmiAwkGl3Gu1huk1aYWwtpRLeskpV+wPisxBp8= +go.opentelemetry.io/otel/sdk v1.41.0/go.mod h1:ahFdU0G5y8IxglBf0QBJXgSe7agzjE4GiTJ6HT9ud90= +go.opentelemetry.io/otel/sdk/metric v1.41.0 h1:siZQIYBAUd1rlIWQT2uCxWJxcCO7q3TriaMlf08rXw8= +go.opentelemetry.io/otel/sdk/metric v1.41.0/go.mod h1:HNBuSvT7ROaGtGI50ArdRLUnvRTRGniSUZbxiWxSO8Y= go.opentelemetry.io/otel/trace v1.41.0 h1:Vbk2co6bhj8L59ZJ6/xFTskY+tGAbOnCtQGVVa9TIN0= go.opentelemetry.io/otel/trace v1.41.0/go.mod h1:U1NU4ULCoxeDKc09yCWdWe+3QoyweJcISEVa1RBzOis= go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= From 5fd2867dd57df49aec560d716d3e40affed9f2e6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Mar 2026 00:36:52 +0000 Subject: [PATCH 296/381] build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc Bumps [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc](https://github.com/open-telemetry/opentelemetry-go) from 1.40.0 to 1.41.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.40.0...v1.41.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc dependency-version: 1.41.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index 228692de5..959b191d0 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/prometheus/common v0.67.5 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.41.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.40.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.41.0 go.opentelemetry.io/otel/sdk v1.41.0 go.opentelemetry.io/otel/sdk/metric v1.41.0 golang.org/x/sys v0.41.0 @@ -29,7 +29,7 @@ require ( github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/prometheus/client_model v0.6.2 // indirect @@ -44,8 +44,8 @@ require ( golang.org/x/sync v0.19.0 // indirect golang.org/x/text v0.34.0 // indirect google.golang.org/api v0.105.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409 // indirect - google.golang.org/grpc v1.78.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57 // indirect + google.golang.org/grpc v1.79.1 // indirect google.golang.org/protobuf v1.36.11 // indirect ) diff --git a/go.sum b/go.sum index 56887810a..ffb522bd8 100644 --- a/go.sum +++ b/go.sum @@ -103,8 +103,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.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.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7 h1:X+2YciYSxvMQK0UZ7sg45ZVabVZBeBuvMkmuI2V3Fak= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7/go.mod h1:lW34nIZuQ8UDPdkon5fmfp2l3+ZkQ2me/+oecHYLOII= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 h1:HWRh5R2+9EifMyIHV7ZV+MIZqgz+PMpZ14Jynv3O2Zs= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0/go.mod h1:JfhWUomR1baixubs02l85lZYYOm7LV6om4ceouMv45c= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -163,8 +163,8 @@ go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/otel v1.41.0 h1:YlEwVsGAlCvczDILpUXpIpPSL/VPugt7zHThEMLce1c= go.opentelemetry.io/otel v1.41.0/go.mod h1:Yt4UwgEKeT05QbLwbyHXEwhnjxNO6D8L5PQP51/46dE= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.40.0 h1:NOyNnS19BF2SUDApbOKbDtWZ0IK7b8FJ2uAGdIWOGb0= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.40.0/go.mod h1:VL6EgVikRLcJa9ftukrHu/ZkkhFBSo1lzvdBC9CF1ss= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.41.0 h1:VO3BL6OZXRQ1yQc8W6EVfJzINeJ35BkiHx4MYfoQf44= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.41.0/go.mod h1:qRDnJ2nv3CQXMK2HUd9K9VtvedsPAce3S+/4LZHjX/s= go.opentelemetry.io/otel/metric v1.41.0 h1:rFnDcs4gRzBcsO9tS8LCpgR0dxg4aaxWlJxCno7JlTQ= go.opentelemetry.io/otel/metric v1.41.0/go.mod h1:xPvCwd9pU0VN8tPZYzDZV/BMj9CM9vs00GuBjeKhJps= go.opentelemetry.io/otel/sdk v1.41.0 h1:YPIEXKmiAwkGl3Gu1huk1aYWwtpRLeskpV+wPisxBp8= @@ -354,10 +354,10 @@ google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 h1:merA0rdPeUV3YIIfHHcH4qBkiQAc1nfCKSI7lB4cV2M= -google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409/go.mod h1:fl8J1IvUjCilwZzQowmw2b7HQB2eAuYBabMXzWurF+I= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409 h1:H86B94AW+VfJWDqFeEbBPhEtHzJwJfTbgE2lZa54ZAQ= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= +google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57 h1:JLQynH/LBHfCTSbDWl+py8C+Rg/k1OVH3xfcaiANuF0= +google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57/go.mod h1:kSJwQxqmFXeo79zOmbrALdflXQeAYcUbgS7PbpMknCY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57 h1:mWPCjDEyshlQYzBpMNHaEof6UX1PmHcaUODUywQ0uac= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -368,8 +368,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.78.0 h1:K1XZG/yGDJnzMdd/uZHAkVqJE+xIDOcmdSFZkBUicNc= -google.golang.org/grpc v1.78.0/go.mod h1:I47qjTo4OKbMkjA/aOOwxDIiPSBofUtQUI5EfpWvW7U= +google.golang.org/grpc v1.79.1 h1:zGhSi45ODB9/p3VAawt9a+O/MULLl9dpizzNNpq7flY= +google.golang.org/grpc v1.79.1/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= 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-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= From ecbbbe6a2e50073fd49f42ac9600ca724abd283c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Mar 2026 10:50:20 +0000 Subject: [PATCH 297/381] chore(deps): update docker/login-action action to v4 --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9822e1844..c9f878208 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -41,7 +41,7 @@ jobs: with: go-version-file: 'go.mod' cache: true - - uses: docker/login-action@v3.7.0 + - uses: docker/login-action@v4.0.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -137,7 +137,7 @@ jobs: strategy: matrix: ${{ fromJSON(needs.goreleaser.outputs.image_subjects) }} steps: - - uses: docker/login-action@v3.7.0 + - uses: docker/login-action@v4.0.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} From 99a481a4052dbe82fff1a7527af16710749cc2cf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Mar 2026 23:12:31 +0000 Subject: [PATCH 298/381] build(deps): bump go.opentelemetry.io/otel/sdk from 1.41.0 to 1.42.0 Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.41.0 to 1.42.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.41.0...v1.42.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/sdk dependency-version: 1.42.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 12 ++++++------ go.sum | 20 ++++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/go.mod b/go.mod index 959b191d0..0e7bcdfe8 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/jaqx0r/mtail -go 1.24.0 +go 1.25.0 toolchain go1.25.7 @@ -14,10 +14,10 @@ require ( github.com/prometheus/client_golang v1.23.2 github.com/prometheus/common v0.67.5 go.opencensus.io v0.24.0 - go.opentelemetry.io/otel v1.41.0 + go.opentelemetry.io/otel v1.42.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.41.0 - go.opentelemetry.io/otel/sdk v1.41.0 - go.opentelemetry.io/otel/sdk/metric v1.41.0 + go.opentelemetry.io/otel/sdk v1.42.0 + go.opentelemetry.io/otel/sdk/metric v1.42.0 golang.org/x/sys v0.41.0 golang.org/x/tools v0.42.0 ) @@ -36,8 +36,8 @@ require ( github.com/prometheus/procfs v0.16.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/otel/metric v1.41.0 // indirect - go.opentelemetry.io/otel/trace v1.41.0 // indirect + go.opentelemetry.io/otel/metric v1.42.0 // indirect + go.opentelemetry.io/otel/trace v1.42.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/net v0.50.0 // indirect diff --git a/go.sum b/go.sum index ffb522bd8..036937dbf 100644 --- a/go.sum +++ b/go.sum @@ -161,18 +161,18 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/otel v1.41.0 h1:YlEwVsGAlCvczDILpUXpIpPSL/VPugt7zHThEMLce1c= -go.opentelemetry.io/otel v1.41.0/go.mod h1:Yt4UwgEKeT05QbLwbyHXEwhnjxNO6D8L5PQP51/46dE= +go.opentelemetry.io/otel v1.42.0 h1:lSQGzTgVR3+sgJDAU/7/ZMjN9Z+vUip7leaqBKy4sho= +go.opentelemetry.io/otel v1.42.0/go.mod h1:lJNsdRMxCUIWuMlVJWzecSMuNjE7dOYyWlqOXWkdqCc= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.41.0 h1:VO3BL6OZXRQ1yQc8W6EVfJzINeJ35BkiHx4MYfoQf44= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.41.0/go.mod h1:qRDnJ2nv3CQXMK2HUd9K9VtvedsPAce3S+/4LZHjX/s= -go.opentelemetry.io/otel/metric v1.41.0 h1:rFnDcs4gRzBcsO9tS8LCpgR0dxg4aaxWlJxCno7JlTQ= -go.opentelemetry.io/otel/metric v1.41.0/go.mod h1:xPvCwd9pU0VN8tPZYzDZV/BMj9CM9vs00GuBjeKhJps= -go.opentelemetry.io/otel/sdk v1.41.0 h1:YPIEXKmiAwkGl3Gu1huk1aYWwtpRLeskpV+wPisxBp8= -go.opentelemetry.io/otel/sdk v1.41.0/go.mod h1:ahFdU0G5y8IxglBf0QBJXgSe7agzjE4GiTJ6HT9ud90= -go.opentelemetry.io/otel/sdk/metric v1.41.0 h1:siZQIYBAUd1rlIWQT2uCxWJxcCO7q3TriaMlf08rXw8= -go.opentelemetry.io/otel/sdk/metric v1.41.0/go.mod h1:HNBuSvT7ROaGtGI50ArdRLUnvRTRGniSUZbxiWxSO8Y= -go.opentelemetry.io/otel/trace v1.41.0 h1:Vbk2co6bhj8L59ZJ6/xFTskY+tGAbOnCtQGVVa9TIN0= -go.opentelemetry.io/otel/trace v1.41.0/go.mod h1:U1NU4ULCoxeDKc09yCWdWe+3QoyweJcISEVa1RBzOis= +go.opentelemetry.io/otel/metric v1.42.0 h1:2jXG+3oZLNXEPfNmnpxKDeZsFI5o4J+nz6xUlaFdF/4= +go.opentelemetry.io/otel/metric v1.42.0/go.mod h1:RlUN/7vTU7Ao/diDkEpQpnz3/92J9ko05BIwxYa2SSI= +go.opentelemetry.io/otel/sdk v1.42.0 h1:LyC8+jqk6UJwdrI/8VydAq/hvkFKNHZVIWuslJXYsDo= +go.opentelemetry.io/otel/sdk v1.42.0/go.mod h1:rGHCAxd9DAph0joO4W6OPwxjNTYWghRWmkHuGbayMts= +go.opentelemetry.io/otel/sdk/metric v1.42.0 h1:D/1QR46Clz6ajyZ3G8SgNlTJKBdGp84q9RKCAZ3YGuA= +go.opentelemetry.io/otel/sdk/metric v1.42.0/go.mod h1:Ua6AAlDKdZ7tdvaQKfSmnFTdHx37+J4ba8MwVCYM5hc= +go.opentelemetry.io/otel/trace v1.42.0 h1:OUCgIPt+mzOnaUTpOQcBiM/PLQ/Op7oq6g4LenLmOYY= +go.opentelemetry.io/otel/trace v1.42.0/go.mod h1:f3K9S+IFqnumBkKhRJMeaZeNk9epyhnCmQh/EysQCdc= go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= From fad75fa23af8e10b5894cdc310e0b635ec03b31a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Mar 2026 23:18:44 +0000 Subject: [PATCH 299/381] build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc Bumps [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc](https://github.com/open-telemetry/opentelemetry-go) from 1.41.0 to 1.42.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.41.0...v1.42.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc dependency-version: 1.42.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 0e7bcdfe8..175b94397 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/prometheus/common v0.67.5 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.42.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.41.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0 go.opentelemetry.io/otel/sdk v1.42.0 go.opentelemetry.io/otel/sdk/metric v1.42.0 golang.org/x/sys v0.41.0 @@ -40,12 +40,12 @@ require ( go.opentelemetry.io/otel/trace v1.42.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/net v0.50.0 // indirect + golang.org/x/net v0.51.0 // indirect golang.org/x/sync v0.19.0 // indirect golang.org/x/text v0.34.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57 // indirect - google.golang.org/grpc v1.79.1 // indirect + google.golang.org/grpc v1.79.2 // indirect google.golang.org/protobuf v1.36.11 // indirect ) diff --git a/go.sum b/go.sum index 036937dbf..1018d80ac 100644 --- a/go.sum +++ b/go.sum @@ -163,8 +163,8 @@ go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/otel v1.42.0 h1:lSQGzTgVR3+sgJDAU/7/ZMjN9Z+vUip7leaqBKy4sho= go.opentelemetry.io/otel v1.42.0/go.mod h1:lJNsdRMxCUIWuMlVJWzecSMuNjE7dOYyWlqOXWkdqCc= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.41.0 h1:VO3BL6OZXRQ1yQc8W6EVfJzINeJ35BkiHx4MYfoQf44= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.41.0/go.mod h1:qRDnJ2nv3CQXMK2HUd9K9VtvedsPAce3S+/4LZHjX/s= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0 h1:MdKucPl/HbzckWWEisiNqMPhRrAOQX8r4jTuGr636gk= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0/go.mod h1:RolT8tWtfHcjajEH5wFIZ4Dgh5jpPdFXYV9pTAk/qjc= go.opentelemetry.io/otel/metric v1.42.0 h1:2jXG+3oZLNXEPfNmnpxKDeZsFI5o4J+nz6xUlaFdF/4= go.opentelemetry.io/otel/metric v1.42.0/go.mod h1:RlUN/7vTU7Ao/diDkEpQpnz3/92J9ko05BIwxYa2SSI= go.opentelemetry.io/otel/sdk v1.42.0 h1:LyC8+jqk6UJwdrI/8VydAq/hvkFKNHZVIWuslJXYsDo= @@ -231,8 +231,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60= -golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= +golang.org/x/net v0.51.0 h1:94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo= +golang.org/x/net v0.51.0/go.mod h1:aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -368,8 +368,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.79.1 h1:zGhSi45ODB9/p3VAawt9a+O/MULLl9dpizzNNpq7flY= -google.golang.org/grpc v1.79.1/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= +google.golang.org/grpc v1.79.2 h1:fRMD94s2tITpyJGtBBn7MkMseNpOZU8ZxgC3MMBaXRU= +google.golang.org/grpc v1.79.2/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= 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-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= From 12455d16d48ec2d2b48d94df385628ea7623553a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Mar 2026 19:47:58 +0000 Subject: [PATCH 300/381] chore(deps): update sigstore/cosign-installer action to v4.1.0 --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c9f878208..91682c16c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -142,7 +142,7 @@ jobs: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - uses: sigstore/cosign-installer@v4.0.0 + - uses: sigstore/cosign-installer@v4.1.0 - name: verify image env: IMAGE: ${{ matrix.image }} From 2d2066b8f64c213f56df64b0f2f79c74fb91c292 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Mar 2026 23:22:56 +0000 Subject: [PATCH 301/381] build(deps): bump golang.org/x/sys from 0.41.0 to 0.42.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.41.0 to 0.42.0. - [Commits](https://github.com/golang/sys/compare/v0.41.0...v0.42.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-version: 0.42.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 175b94397..8609d010d 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0 go.opentelemetry.io/otel/sdk v1.42.0 go.opentelemetry.io/otel/sdk/metric v1.42.0 - golang.org/x/sys v0.41.0 + golang.org/x/sys v0.42.0 golang.org/x/tools v0.42.0 ) diff --git a/go.sum b/go.sum index 1018d80ac..8e7682f29 100644 --- a/go.sum +++ b/go.sum @@ -268,8 +268,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= -golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= +golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From e5bf5ec5c70f4f858b4cc8b7a0fb30c6339cf04d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Mar 2026 23:12:38 +0000 Subject: [PATCH 302/381] build(deps): bump golang.org/x/tools from 0.42.0 to 0.43.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.42.0 to 0.43.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.42.0...v0.43.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.43.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 8609d010d..87328b283 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.42.0 go.opentelemetry.io/otel/sdk/metric v1.42.0 golang.org/x/sys v0.42.0 - golang.org/x/tools v0.42.0 + golang.org/x/tools v0.43.0 ) require ( @@ -40,9 +40,9 @@ require ( go.opentelemetry.io/otel/trace v1.42.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/net v0.51.0 // indirect - golang.org/x/sync v0.19.0 // indirect - golang.org/x/text v0.34.0 // indirect + golang.org/x/net v0.52.0 // indirect + golang.org/x/sync v0.20.0 // indirect + golang.org/x/text v0.35.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57 // indirect diff --git a/go.sum b/go.sum index 8e7682f29..bcc46a2ae 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.51.0 h1:94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo= -golang.org/x/net v0.51.0/go.mod h1:aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y= +golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0= +golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -246,8 +246,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= -golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= +golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -275,8 +275,8 @@ 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.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.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= -golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= +golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= +golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= golang.org/x/time v0.0.0-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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -310,8 +310,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k= -golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0= +golang.org/x/tools v0.43.0 h1:12BdW9CeB3Z+J/I/wj34VMl8X+fEXBxVR90JeMX5E7s= +golang.org/x/tools v0.43.0/go.mod h1:uHkMso649BX2cZK6+RpuIPXS3ho2hZo4FVwfoy1vIk0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 35ced0fd15fd79dbcee54c1741f54020645ac35b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 13 Mar 2026 16:05:34 +0000 Subject: [PATCH 303/381] chore(deps): update dependency rules_oci to v2.3.0 --- MODULE.bazel | 2 +- MODULE.bazel.lock | 286 +++++++--------------------------------------- 2 files changed, 41 insertions(+), 247 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 274bc4ca0..9251403d1 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -40,7 +40,7 @@ use_repo( # `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. bazel_dep(name = "aspect_bazel_lib", version = "2.22.5") -bazel_dep(name = "rules_oci", version = "2.2.7") +bazel_dep(name = "rules_oci", version = "2.3.0") bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 9481262fa..4a05163df 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -22,9 +22,9 @@ "https://bcr.bazel.build/modules/apple_support/1.24.2/source.json": "2c22c9827093250406c5568da6c54e6fdf0ef06238def3d99c71b12feb057a8d", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/MODULE.bazel": "2b31ffcc9bdc8295b2167e07a757dbbc9ac8906e7028e5170a3708cecaac119f", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.3/MODULE.bazel": "253d739ba126f62a5767d832765b12b59e9f8d2bc88cc1572f4a73e46eb298ca", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.21.1/MODULE.bazel": "07e3ce3eaaa50dbd0be7fa0094e36890478937adc780ec53e77fd9fe543af8b1", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.5/MODULE.bazel": "004ba890363d05372a97248c37205ae64b6fa31047629cd2c0895a9d0c7779e8", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.5/source.json": "ac2c3213df8f985785f1d0aeb7f0f73d5324e6e67d593d9b9470fb74a25d4a9b", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.2/MODULE.bazel": "780d1a6522b28f5edb7ea09630748720721dfe27690d65a2d33aa7509de77e07", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838", "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd", @@ -41,8 +41,11 @@ "https://bcr.bazel.build/modules/bazel_features/1.3.0/MODULE.bazel": "cdcafe83ec318cda34e02948e81d790aab8df7a929cec6f6969f13a489ccecd9", "https://bcr.bazel.build/modules/bazel_features/1.30.0/MODULE.bazel": "a14b62d05969a293b80257e72e597c2da7f717e1e69fa8b339703ed6731bec87", "https://bcr.bazel.build/modules/bazel_features/1.33.0/MODULE.bazel": "8b8dc9d2a4c88609409c3191165bccec0e4cb044cd7a72ccbe826583303459f6", - "https://bcr.bazel.build/modules/bazel_features/1.33.0/source.json": "13617db3930328c2cd2807a0f13d52ca870ac05f96db9668655113265147b2a6", + "https://bcr.bazel.build/modules/bazel_features/1.34.0/MODULE.bazel": "e8475ad7c8965542e0c7aac8af68eb48c4af904be3d614b6aa6274c092c2ea1e", + "https://bcr.bazel.build/modules/bazel_features/1.36.0/MODULE.bazel": "596cb62090b039caf1cad1d52a8bc35cf188ca9a4e279a828005e7ee49a1bec3", "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", + "https://bcr.bazel.build/modules/bazel_features/1.42.1/MODULE.bazel": "275a59b5406ff18c01739860aa70ad7ccb3cfb474579411decca11c93b951080", + "https://bcr.bazel.build/modules/bazel_features/1.42.1/source.json": "fcd4396b2df85f64f2b3bb436ad870793ecf39180f1d796f913cc9276d355309", "https://bcr.bazel.build/modules/bazel_features/1.9.0/MODULE.bazel": "885151d58d90d8d9c811eb75e3288c11f850e1d6b481a8c9f766adee4712358b", "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", "https://bcr.bazel.build/modules/bazel_lib/3.0.0/MODULE.bazel": "22b70b80ac89ad3f3772526cd9feee2fa412c2b01933fea7ed13238a448d370d", @@ -61,8 +64,8 @@ "https://bcr.bazel.build/modules/bazel_skylib/1.8.1/MODULE.bazel": "88ade7293becda963e0e3ea33e7d54d3425127e0a326e0d17da085a5f1f03ff6", "https://bcr.bazel.build/modules/bazel_skylib/1.8.2/MODULE.bazel": "69ad6927098316848b34a9142bcc975e018ba27f08c4ff403f50c1b6e646ca67", "https://bcr.bazel.build/modules/bazel_skylib/1.8.2/source.json": "34a3c8bcf233b835eb74be9d628899bb32999d3e0eadef1947a0a562a2b16ffb", - "https://bcr.bazel.build/modules/buildozer/8.2.1/MODULE.bazel": "61e9433c574c2bd9519cad7fa66b9c1d2b8e8d5f3ae5d6528a2c2d26e68d874d", - "https://bcr.bazel.build/modules/buildozer/8.2.1/source.json": "7c33f6a26ee0216f85544b4bca5e9044579e0219b6898dd653f5fb449cf2e484", + "https://bcr.bazel.build/modules/buildozer/8.5.1/MODULE.bazel": "a35d9561b3fc5b18797c330793e99e3b834a473d5fbd3d7d7634aafc9bdb6f8f", + "https://bcr.bazel.build/modules/buildozer/8.5.1/source.json": "e3386e6ff4529f2442800dee47ad28d3e6487f36a1f75ae39ae56c70f0cd2fbd", "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.1/MODULE.bazel": "cdf8cbe5ee750db04b78878c9633cc76e80dcf4416cbe982ac3a9222f80713c8", "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.1/source.json": "fa7b512dfcb5eafd90ce3959cf42a2a6fe96144ebbb4b3b3928054895f2afac2", "https://bcr.bazel.build/modules/gazelle/0.32.0/MODULE.bazel": "b499f58a5d0d3537f3cf5b76d8ada18242f64ec474d8391247438bf04f58c7b8", @@ -88,7 +91,8 @@ "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/source.json": "f448c6e8963fdfa7eb831457df83ad63d3d6355018f6574fb017e8169deb43a9", "https://bcr.bazel.build/modules/package_metadata/0.0.2/MODULE.bazel": "fb8d25550742674d63d7b250063d4580ca530499f045d70748b1b142081ebb92", "https://bcr.bazel.build/modules/package_metadata/0.0.5/MODULE.bazel": "ef4f9439e3270fdd6b9fd4dbc3d2f29d13888e44c529a1b243f7a31dfbc2e8e4", - "https://bcr.bazel.build/modules/package_metadata/0.0.5/source.json": "2326db2f6592578177751c3e1f74786b79382cd6008834c9d01ec865b9126a85", + "https://bcr.bazel.build/modules/package_metadata/0.0.6/MODULE.bazel": "341dab6f417197494517d54c8e557c0baee1de7aec83543a4fbefe57900acb7e", + "https://bcr.bazel.build/modules/package_metadata/0.0.6/source.json": "9581d8b22db43550ac75ecc314ee4fa0a33400bfdc77d1317d8af6b18dca7756", "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", "https://bcr.bazel.build/modules/platforms/0.0.11/MODULE.bazel": "0daefc49732e227caa8bfa834d65dc52e8cc18a2faf80df25e8caea151a9413f", "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", @@ -102,9 +106,9 @@ "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", "https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d", - "https://bcr.bazel.build/modules/protobuf/29.0-rc2.bcr.1/MODULE.bazel": "52f4126f63a2f0bbf36b99c2a87648f08467a4eaf92ba726bc7d6a500bbf770c", "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", "https://bcr.bazel.build/modules/protobuf/29.0-rc3/MODULE.bazel": "33c2dfa286578573afc55a7acaea3cada4122b9631007c594bf0729f41c8de92", + "https://bcr.bazel.build/modules/protobuf/29.0/MODULE.bazel": "319dc8bf4c679ff87e71b1ccfb5a6e90a6dbc4693501d471f48662ac46d04e4e", "https://bcr.bazel.build/modules/protobuf/29.1/MODULE.bazel": "557c3457560ff49e122ed76c0bc3397a64af9574691cb8201b4e46d4ab2ecb95", "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", "https://bcr.bazel.build/modules/protobuf/3.19.2/MODULE.bazel": "532ffe5f2186b69fdde039efe6df13ba726ff338c6bc82275ad433013fa10573", @@ -139,8 +143,8 @@ "https://bcr.bazel.build/modules/rules_cc/0.1.5/MODULE.bazel": "88dfc9361e8b5ae1008ac38f7cdfd45ad738e4fa676a3ad67d19204f045a1fd8", "https://bcr.bazel.build/modules/rules_cc/0.2.0/MODULE.bazel": "b5c17f90458caae90d2ccd114c81970062946f49f355610ed89bebf954f5783c", "https://bcr.bazel.build/modules/rules_cc/0.2.13/MODULE.bazel": "eecdd666eda6be16a8d9dc15e44b5c75133405e820f620a234acc4b1fdc5aa37", - "https://bcr.bazel.build/modules/rules_cc/0.2.14/MODULE.bazel": "353c99ed148887ee89c54a17d4100ae7e7e436593d104b668476019023b58df8", - "https://bcr.bazel.build/modules/rules_cc/0.2.14/source.json": "55d0a4587c5592fad350f6e698530f4faf0e7dd15e69d43f8d87e220c78bea54", + "https://bcr.bazel.build/modules/rules_cc/0.2.17/MODULE.bazel": "1849602c86cb60da8613d2de887f9566a6d354a6df6d7009f9d04a14402f9a84", + "https://bcr.bazel.build/modules/rules_cc/0.2.17/source.json": "3832f45d145354049137c0090df04629d9c2b5493dc5c2bf46f1834040133a07", "https://bcr.bazel.build/modules/rules_cc/0.2.8/MODULE.bazel": "f1df20f0bf22c28192a794f29b501ee2018fa37a3862a1a2132ae2940a23a642", "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/MODULE.bazel": "40c97d1144356f52905566c55811f13b299453a14ac7769dfba2ac38192337a8", @@ -148,8 +152,8 @@ "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", "https://bcr.bazel.build/modules/rules_go/0.53.0/MODULE.bazel": "a4ed760d3ac0dbc0d7b967631a9a3fd9100d28f7d9fcf214b4df87d4bfff5f9a", - "https://bcr.bazel.build/modules/rules_go/0.59.0/MODULE.bazel": "b7e43e7414a3139a7547d1b4909b29085fbe5182b6c58cbe1ed4c6272815aeae", - "https://bcr.bazel.build/modules/rules_go/0.59.0/source.json": "1df17bb7865cfc029492c30163cee891d0dd8658ea0d5bfdf252c4b6db5c1ef6", + "https://bcr.bazel.build/modules/rules_go/0.60.0/MODULE.bazel": "4a57ff2ffc2a3570e3c5646575c5a4b07287e91bcdac5d1f72383d51502b48cb", + "https://bcr.bazel.build/modules/rules_go/0.60.0/source.json": "1e21368c5e0c3013a110bd79a8fcff8ca46b5bcb2b561713a7273cbfcff7c464", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", @@ -181,8 +185,8 @@ "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", "https://bcr.bazel.build/modules/rules_license/1.0.0/MODULE.bazel": "a7fda60eefdf3d8c827262ba499957e4df06f659330bbe6cdbdb975b768bb65c", "https://bcr.bazel.build/modules/rules_license/1.0.0/source.json": "a52c89e54cc311196e478f8382df91c15f7a2bfdf4c6cd0e2675cc2ff0b56efb", - "https://bcr.bazel.build/modules/rules_oci/2.2.7/MODULE.bazel": "f6150e4b224d459f7f6523ef65967464ca4efdd266c7fbf2f5a2a51011957e0c", - "https://bcr.bazel.build/modules/rules_oci/2.2.7/source.json": "b099f02af330f47f19dc67fc9300ef6e1937a8c86882690db0e7a2fcea8c7f6b", + "https://bcr.bazel.build/modules/rules_oci/2.3.0/MODULE.bazel": "49075197960c924c0a4d759b7c765c3d00a41d2fdd4a943b42823c1d016ab4ec", + "https://bcr.bazel.build/modules/rules_oci/2.3.0/source.json": "47710c28446211b5e61a24015a4669c50c6862d5f91e6bdbc710de8d750cf613", "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", "https://bcr.bazel.build/modules/rules_pkg/1.0.1/MODULE.bazel": "5b1df97dbc29623bccdf2b0dcd0f5cb08e2f2c9050aab1092fd39a41e82686ff", "https://bcr.bazel.build/modules/rules_pkg/1.2.0/MODULE.bazel": "c7db3c2b407e673c7a39e3625dc05dc9f12d6682cbd82a3a5924a13b491eda7e", @@ -220,7 +224,6 @@ "https://bcr.bazel.build/modules/rules_swift/3.1.2/source.json": "e85761f3098a6faf40b8187695e3de6d97944e98abd0d8ce579cb2daf6319a66", "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", - "https://bcr.bazel.build/modules/stardoc/0.5.4/MODULE.bazel": "6569966df04610b8520957cb8e97cf2e9faac2c0309657c537ab51c16c18a2a4", "https://bcr.bazel.build/modules/stardoc/0.5.6/MODULE.bazel": "c43dabc564990eeab55e25ed61c07a1aadafe9ece96a4efabb3f8bf9063b71ef", "https://bcr.bazel.build/modules/stardoc/0.6.2/MODULE.bazel": "7060193196395f5dd668eda046ccbeacebfd98efc77fed418dbe2b82ffaa39fd", "https://bcr.bazel.build/modules/stardoc/0.7.0/MODULE.bazel": "05e3d6d30c099b6770e97da986c53bd31844d7f13d41412480ea265ac9e8079c", @@ -232,7 +235,8 @@ "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.2/source.json": "5fba48bbe0ba48761f9e9f75f92876cafb5d07c0ce059cc7a8027416de94a05b", "https://bcr.bazel.build/modules/tar.bzl/0.2.1/MODULE.bazel": "52d1c00a80a8cc67acbd01649e83d8dd6a9dc426a6c0b754a04fe8c219c76468", "https://bcr.bazel.build/modules/tar.bzl/0.5.1/MODULE.bazel": "7c2eb3dcfc53b0f3d6f9acdfd911ca803eaf92aadf54f8ca6e4c1f3aee288351", - "https://bcr.bazel.build/modules/tar.bzl/0.5.1/source.json": "deed3094f7cc779ed1d37a68403847b0e38d9dd9d931e03cb90825f3368b515f", + "https://bcr.bazel.build/modules/tar.bzl/0.7.0/MODULE.bazel": "cc1acd85da33c80e430b65219a620d54d114628df24a618c3a5fa0b65e988da9", + "https://bcr.bazel.build/modules/tar.bzl/0.7.0/source.json": "9becb80306f42d4810bfa16379fb48aad0b01ce5342bc12fe47dcd6af3ac4d7a", "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", "https://bcr.bazel.build/modules/yq.bzl/0.1.1/MODULE.bazel": "9039681f9bcb8958ee2c87ffc74bdafba9f4369096a2b5634b88abc0eaefa072", "https://bcr.bazel.build/modules/yq.bzl/0.1.1/source.json": "2d2bad780a9f2b9195a4a370314d2c17ae95eaa745cefc2e12fbc49759b15aa3", @@ -244,6 +248,28 @@ }, "selectedYankedVersions": {}, "moduleExtensions": { + "@@pybind11_bazel+//:internal_configure.bzl%internal_configure_extension": { + "general": { + "bzlTransitiveDigest": "06cynZ1bCvvy8zHPrrDlXq+Z68xmjctHpfFxi+zEpJY=", + "usagesDigest": "D1r3lfzMuUBFxgG8V6o0bQTLMk3GkaGOaPzw53wrwyw=", + "recordedInputs": [ + "REPO_MAPPING:pybind11_bazel+,bazel_tools bazel_tools", + "FILE:@@pybind11_bazel+//MODULE.bazel e6f4c20442eaa7c90d7190d8dc539d0ab422f95c65a57cc59562170c58ae3d34" + ], + "generatedRepoSpecs": { + "pybind11": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "build_file": "@@pybind11_bazel+//:pybind11-BUILD.bazel", + "strip_prefix": "pybind11-2.12.0", + "urls": [ + "https://github.com/pybind/pybind11/archive/v2.12.0.zip" + ] + } + } + } + } + }, "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { "general": { "bzlTransitiveDigest": "ABI1D/sbS1ovwaW/kHDoj8nnXjQ0oKU9fzmzEG4iT8o=", @@ -301,187 +327,6 @@ } } }, - "@@rules_oci+//oci:extensions.bzl%oci": { - "general": { - "bzlTransitiveDigest": "4Mp4ptaDfT7PpI/7ZrEhso5yzNbUbMpTHnYwZKS0nKE=", - "usagesDigest": "Z/Nugr9HiDK3J0ZSk3By4FtRUJ1vwYdp5pxbGDlEMTQ=", - "recordedInputs": [ - "REPO_MAPPING:aspect_bazel_lib+,bazel_tools bazel_tools", - "REPO_MAPPING:bazel_features+,bazel_tools bazel_tools", - "REPO_MAPPING:rules_oci+,aspect_bazel_lib aspect_bazel_lib+", - "REPO_MAPPING:rules_oci+,bazel_features bazel_features+", - "REPO_MAPPING:rules_oci+,bazel_skylib bazel_skylib+" - ], - "generatedRepoSpecs": { - "distroless_base_linux_amd64": { - "repoRuleId": "@@rules_oci+//oci/private:pull.bzl%oci_pull", - "attributes": { - "www_authenticate_challenges": {}, - "scheme": "https", - "registry": "gcr.io", - "repository": "distroless/base", - "identifier": "sha256:8c8b7cf2a01e2d1c683128b2488d77139fa90ec8cb807f0ae260d57f7022dedd", - "platform": "linux/amd64", - "target_name": "distroless_base_linux_amd64", - "bazel_tags": [] - } - }, - "distroless_base_linux_arm64_v8": { - "repoRuleId": "@@rules_oci+//oci/private:pull.bzl%oci_pull", - "attributes": { - "www_authenticate_challenges": {}, - "scheme": "https", - "registry": "gcr.io", - "repository": "distroless/base", - "identifier": "sha256:8c8b7cf2a01e2d1c683128b2488d77139fa90ec8cb807f0ae260d57f7022dedd", - "platform": "linux/arm64/v8", - "target_name": "distroless_base_linux_arm64_v8", - "bazel_tags": [] - } - }, - "distroless_base": { - "repoRuleId": "@@rules_oci+//oci/private:pull.bzl%oci_alias", - "attributes": { - "target_name": "distroless_base", - "www_authenticate_challenges": {}, - "scheme": "https", - "registry": "gcr.io", - "repository": "distroless/base", - "identifier": "sha256:8c8b7cf2a01e2d1c683128b2488d77139fa90ec8cb807f0ae260d57f7022dedd", - "platforms": { - "@@platforms//cpu:x86_64": "@distroless_base_linux_amd64", - "@@platforms//cpu:arm64": "@distroless_base_linux_arm64_v8" - }, - "bzlmod_repository": "distroless_base", - "reproducible": true - } - }, - "oci_crane_darwin_amd64": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "darwin_amd64", - "crane_version": "v0.18.0" - } - }, - "oci_crane_darwin_arm64": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "darwin_arm64", - "crane_version": "v0.18.0" - } - }, - "oci_crane_linux_arm64": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "linux_arm64", - "crane_version": "v0.18.0" - } - }, - "oci_crane_linux_armv6": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "linux_armv6", - "crane_version": "v0.18.0" - } - }, - "oci_crane_linux_i386": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "linux_i386", - "crane_version": "v0.18.0" - } - }, - "oci_crane_linux_s390x": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "linux_s390x", - "crane_version": "v0.18.0" - } - }, - "oci_crane_linux_amd64": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "linux_amd64", - "crane_version": "v0.18.0" - } - }, - "oci_crane_windows_armv6": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "windows_armv6", - "crane_version": "v0.18.0" - } - }, - "oci_crane_windows_amd64": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "windows_amd64", - "crane_version": "v0.18.0" - } - }, - "oci_crane_toolchains": { - "repoRuleId": "@@rules_oci+//oci/private:toolchains_repo.bzl%toolchains_repo", - "attributes": { - "toolchain_type": "@rules_oci//oci:crane_toolchain_type", - "toolchain": "@oci_crane_{platform}//:crane_toolchain" - } - }, - "oci_regctl_darwin_amd64": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%regctl_repositories", - "attributes": { - "platform": "darwin_amd64" - } - }, - "oci_regctl_darwin_arm64": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%regctl_repositories", - "attributes": { - "platform": "darwin_arm64" - } - }, - "oci_regctl_linux_arm64": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%regctl_repositories", - "attributes": { - "platform": "linux_arm64" - } - }, - "oci_regctl_linux_s390x": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%regctl_repositories", - "attributes": { - "platform": "linux_s390x" - } - }, - "oci_regctl_linux_amd64": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%regctl_repositories", - "attributes": { - "platform": "linux_amd64" - } - }, - "oci_regctl_windows_amd64": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%regctl_repositories", - "attributes": { - "platform": "windows_amd64" - } - }, - "oci_regctl_toolchains": { - "repoRuleId": "@@rules_oci+//oci/private:toolchains_repo.bzl%toolchains_repo", - "attributes": { - "toolchain_type": "@rules_oci//oci:regctl_toolchain_type", - "toolchain": "@oci_regctl_{platform}//:regctl_toolchain" - } - } - }, - "moduleExtensionMetadata": { - "explicitRootModuleDirectDeps": [ - "distroless_base", - "distroless_base_linux_amd64", - "distroless_base_linux_arm64_v8" - ], - "explicitRootModuleDirectDevDeps": [], - "useAllRepos": "NO", - "reproducible": false - } - } - }, "@@rules_python+//python/extensions:config.bzl%config": { "general": { "bzlTransitiveDigest": "2hLgIvNVTLgxus0ZuXtleBe70intCfo0cHs8qvt6cdM=", @@ -679,57 +524,6 @@ } } } - }, - "@@tar.bzl+//tar:extensions.bzl%toolchains": { - "general": { - "bzlTransitiveDigest": "/2afh6fPjq/rcyE/jztQDK3ierehmFFngfvmqyRv72M=", - "usagesDigest": "maF8qsAIqeH1ey8pxP0gNZbvJt34kLZvTFeQ0ntrJVA=", - "recordedInputs": [], - "generatedRepoSpecs": { - "bsd_tar_toolchains": { - "repoRuleId": "@@tar.bzl+//tar/toolchain:toolchain.bzl%tar_toolchains_repo", - "attributes": { - "user_repository_name": "bsd_tar_toolchains" - } - }, - "bsd_tar_toolchains_darwin_amd64": { - "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", - "attributes": { - "platform": "darwin_amd64" - } - }, - "bsd_tar_toolchains_darwin_arm64": { - "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", - "attributes": { - "platform": "darwin_arm64" - } - }, - "bsd_tar_toolchains_linux_amd64": { - "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", - "attributes": { - "platform": "linux_amd64" - } - }, - "bsd_tar_toolchains_linux_arm64": { - "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", - "attributes": { - "platform": "linux_arm64" - } - }, - "bsd_tar_toolchains_windows_amd64": { - "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", - "attributes": { - "platform": "windows_amd64" - } - }, - "bsd_tar_toolchains_windows_arm64": { - "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", - "attributes": { - "platform": "windows_arm64" - } - } - } - } } }, "facts": { From 2a95664934d744c834cf1c1310f2a47ca724d22a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Mar 2026 02:38:02 +0000 Subject: [PATCH 304/381] chore(deps): update distroless_base docker digest to b051042 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 9251403d1..aec8a53b1 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:97406725e9ca912013f59ae49fa3362d44f2745c07eba00705247216225b810c", + digest = "sha256:b0510424f0c7c1d6fdae75ef5c1d349fa72d312e96f69728fad6beb04755b8b4", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From aea210f0473963f39e0eef3ec4e2ea44cd0dfec3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Mar 2026 02:17:21 +0000 Subject: [PATCH 305/381] build(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.79.2 to 1.79.3. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.79.2...v1.79.3) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-version: 1.79.3 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 87328b283..78d2331ad 100644 --- a/go.mod +++ b/go.mod @@ -46,6 +46,6 @@ require ( google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57 // indirect - google.golang.org/grpc v1.79.2 // indirect + google.golang.org/grpc v1.79.3 // indirect google.golang.org/protobuf v1.36.11 // indirect ) diff --git a/go.sum b/go.sum index bcc46a2ae..37c76833d 100644 --- a/go.sum +++ b/go.sum @@ -368,8 +368,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.79.2 h1:fRMD94s2tITpyJGtBBn7MkMseNpOZU8ZxgC3MMBaXRU= -google.golang.org/grpc v1.79.2/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= +google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE= +google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= 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-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= From 86258db6cc917275ef65c435b851ea20a7995614 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2026 20:58:57 +0000 Subject: [PATCH 306/381] chore(deps): update bazel-contrib/setup-bazel action to v0.19.0 --- .github/workflows/benchmark.yml | 2 +- .github/workflows/ci.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 890bc642e..798dccf31 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: bazel-contrib/setup-bazel@0.18.0 + - uses: bazel-contrib/setup-bazel@0.19.0 with: bazelisk-cache: true disk-cache: ${{ github.workflow }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f6f956cd1..0dd11eedc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: checks: write steps: - uses: actions/checkout@v6 - - uses: bazel-contrib/setup-bazel@0.18.0 + - uses: bazel-contrib/setup-bazel@0.19.0 with: # Avoid downloading Bazel each time bazelisk-cache: true From 8833bdb5ee21a2f157e7655d7ea1f67a98bfed96 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Mar 2026 05:28:17 +0000 Subject: [PATCH 307/381] chore(deps): update sigstore/cosign-installer action to v4.1.1 --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 91682c16c..71873daf5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -142,7 +142,7 @@ jobs: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - uses: sigstore/cosign-installer@v4.1.0 + - uses: sigstore/cosign-installer@v4.1.1 - name: verify image env: IMAGE: ${{ matrix.image }} From b81704e25799aa07882c054bd04a6ec6daedc885 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Mar 2026 08:28:54 +0000 Subject: [PATCH 308/381] chore(deps): update dependency gazelle to v0.48.0 --- MODULE.bazel | 2 +- MODULE.bazel.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index aec8a53b1..ea3b48021 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -12,7 +12,7 @@ go_sdk.from_file(go_mod = "//:go.mod") # Like golangci-lint, but integrated into the build. go_sdk.nogo(nogo = "//:nogo") -bazel_dep(name = "gazelle", version = "0.47.0") +bazel_dep(name = "gazelle", version = "0.48.0") # Update dependencies with # `bazel run //:gazelle`. diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 4a05163df..fa1aa7f94 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -72,8 +72,8 @@ "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", - "https://bcr.bazel.build/modules/gazelle/0.47.0/MODULE.bazel": "b61bb007c4efad134aa30ee7f4a8e2a39b22aa5685f005edaa022fbd1de43ebc", - "https://bcr.bazel.build/modules/gazelle/0.47.0/source.json": "aeb2e5df14b7fb298625d75d08b9c65bdb0b56014c5eb89da9e5dd0572280ae6", + "https://bcr.bazel.build/modules/gazelle/0.48.0/MODULE.bazel": "ed89ed9e7e4f15a63434d553496088c5d02faa3dccc654331f3533d6542a9bb5", + "https://bcr.bazel.build/modules/gazelle/0.48.0/source.json": "30de037819207f7443d044c8873bb0b9137dd8ae8826bfb04ffe8a63e95a88dc", "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", @@ -106,6 +106,7 @@ "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", "https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d", + "https://bcr.bazel.build/modules/protobuf/29.0-rc2.bcr.1/MODULE.bazel": "52f4126f63a2f0bbf36b99c2a87648f08467a4eaf92ba726bc7d6a500bbf770c", "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", "https://bcr.bazel.build/modules/protobuf/29.0-rc3/MODULE.bazel": "33c2dfa286578573afc55a7acaea3cada4122b9631007c594bf0729f41c8de92", "https://bcr.bazel.build/modules/protobuf/29.0/MODULE.bazel": "319dc8bf4c679ff87e71b1ccfb5a6e90a6dbc4693501d471f48662ac46d04e4e", @@ -151,7 +152,7 @@ "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel": "55861d8e8bb0e62cbd2896f60ff303f62ffcb0eddb74ecb0e5c0cbe36fc292c8", "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", - "https://bcr.bazel.build/modules/rules_go/0.53.0/MODULE.bazel": "a4ed760d3ac0dbc0d7b967631a9a3fd9100d28f7d9fcf214b4df87d4bfff5f9a", + "https://bcr.bazel.build/modules/rules_go/0.59.0/MODULE.bazel": "b7e43e7414a3139a7547d1b4909b29085fbe5182b6c58cbe1ed4c6272815aeae", "https://bcr.bazel.build/modules/rules_go/0.60.0/MODULE.bazel": "4a57ff2ffc2a3570e3c5646575c5a4b07287e91bcdac5d1f72383d51502b48cb", "https://bcr.bazel.build/modules/rules_go/0.60.0/source.json": "1e21368c5e0c3013a110bd79a8fcff8ca46b5bcb2b561713a7273cbfcff7c464", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", @@ -194,7 +195,6 @@ "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "1e5b502e2e1a9e825eef74476a5a1ee524a92297085015a052510b09a1a09483", - "https://bcr.bazel.build/modules/rules_proto/6.0.0/MODULE.bazel": "b531d7f09f58dce456cd61b4579ce8c86b38544da75184eadaf0a7cb7966453f", "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73", "https://bcr.bazel.build/modules/rules_proto/7.0.2/MODULE.bazel": "bf81793bd6d2ad89a37a40693e56c61b0ee30f7a7fdbaf3eabbf5f39de47dea2", "https://bcr.bazel.build/modules/rules_proto/7.1.0/MODULE.bazel": "002d62d9108f75bb807cd56245d45648f38275cb3a99dcd45dfb864c5d74cb96", From 14ed7c474547d961601b6dc9c9a85c3912f9ee19 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Mar 2026 14:39:46 +0000 Subject: [PATCH 309/381] chore(deps): update codecov/codecov-action action to v6 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0dd11eedc..4862639f8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,7 +56,7 @@ jobs: if: (!cancelled()) with: files: ${{ steps.bazel_info.outputs.bazel-testlogs }}/**/test.xml - - uses: codecov/codecov-action@v5 + - uses: codecov/codecov-action@v6 if: (!cancelled()) env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From acad7b649416592963e202a90139270c5a7fffb1 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Fri, 27 Mar 2026 08:01:16 +1100 Subject: [PATCH 310/381] build: Increase test logging behaviour for go_tests. This will let buildbuddy have more detail about test behaviour at the internal go test function level. --- .bazelrc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.bazelrc b/.bazelrc index a3352fe5f..4ed05228a 100644 --- a/.bazelrc +++ b/.bazelrc @@ -3,3 +3,6 @@ build --workspace_status_command=build/workspace_status.sh # Enable build stamping to inject the workspace status variables. build --stamp + +# verbose go_test logs for buildbuddy to get more details on test behaviour +test --test_env=GO_TEST_WRAP_TESTV=1 From ea03c23c37a7c1f15a8f7b533f97ff8eb0b05cc6 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 21 Feb 2026 14:26:53 +1100 Subject: [PATCH 311/381] ci: Add buildbuddy remote cache config. --- .bazelrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.bazelrc b/.bazelrc index 4ed05228a..c367af78c 100644 --- a/.bazelrc +++ b/.bazelrc @@ -6,3 +6,12 @@ build --stamp # verbose go_test logs for buildbuddy to get more details on test behaviour test --test_env=GO_TEST_WRAP_TESTV=1 + + +build:remotecache --bes_results_url=https://app.buildbuddy.io/invocation/ +build:remotecache --bes_backend=grpcs://remote.buildbuddy.io +common:remotecache --remote_cache=grpcs://remote.buildbuddy.io +common:remotecache --noremote_upload_local_results # Uploads logs & artifacts without writing to cache +common:remotecache --remote_timeout=10m +common:remotecache --remote_header=x-buildbuddy-api-key=${BUILDBUDDY_API_KEY} + From 480f96d432d53957243ad07e22a9d0f300285db2 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Fri, 27 Mar 2026 08:59:56 +1100 Subject: [PATCH 312/381] ci/renovate: Run go mod tidy after go PRs --- renovate.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 5db72dd6a..a7fe444da 100644 --- a/renovate.json +++ b/renovate.json @@ -2,5 +2,6 @@ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "config:recommended" - ] + ], + "postUpdateOptions": ["gomodTidy"] } From a4d25b37a196f3afe8946949c7aaa7bc11e76b1b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Mar 2026 22:15:47 +0000 Subject: [PATCH 313/381] chore(deps): update dependency go to v1.26.1 --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 78d2331ad..8ed0450ff 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/jaqx0r/mtail go 1.25.0 -toolchain go1.25.7 +toolchain go1.26.1 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 From d663f4804613e9e3cb89e756560cefef1ca7c377 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 29 Mar 2026 13:16:31 +0000 Subject: [PATCH 314/381] chore(deps): update lewagon/wait-on-check-action action to v1.6.0 --- .github/workflows/auto-review.yml | 2 +- .github/workflows/automerge.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-review.yml b/.github/workflows/auto-review.yml index 52e9ea54b..d77376d00 100644 --- a/.github/workflows/auto-review.yml +++ b/.github/workflows/auto-review.yml @@ -30,7 +30,7 @@ jobs: # create review pull-requests: write steps: - - uses: lewagon/wait-on-check-action@v1.5.0 + - uses: lewagon/wait-on-check-action@v1.6.0 with: ref: ${{ github.event.pull_request.head.sha }} repo-token: ${{ github.token }} diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index adab34a5f..782c36c8d 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -40,7 +40,7 @@ jobs: # wait-on-check requires only checks read checks: read steps: - - uses: lewagon/wait-on-check-action@v1.5.0 + - uses: lewagon/wait-on-check-action@v1.6.0 with: ref: ${{ github.event.pull_request.head.sha }} check-regexp: "test.*" From 3b173350eda7c4c035c7127e5fe5185ed01e016f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Apr 2026 23:12:20 +0000 Subject: [PATCH 315/381] build(deps): bump docker/login-action from 4.0.0 to 4.1.0 Bumps [docker/login-action](https://github.com/docker/login-action) from 4.0.0 to 4.1.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v4.0.0...v4.1.0) --- updated-dependencies: - dependency-name: docker/login-action dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 71873daf5..9c56f3564 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -41,7 +41,7 @@ jobs: with: go-version-file: 'go.mod' cache: true - - uses: docker/login-action@v4.0.0 + - uses: docker/login-action@v4.1.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -137,7 +137,7 @@ jobs: strategy: matrix: ${{ fromJSON(needs.goreleaser.outputs.image_subjects) }} steps: - - uses: docker/login-action@v4.0.0 + - uses: docker/login-action@v4.1.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} From 85ea97a06177175e4917487db89a5d153b36be48 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Apr 2026 23:12:26 +0000 Subject: [PATCH 316/381] build(deps): bump go.opentelemetry.io/otel/sdk/metric Bumps [go.opentelemetry.io/otel/sdk/metric](https://github.com/open-telemetry/opentelemetry-go) from 1.42.0 to 1.43.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.42.0...v1.43.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/sdk/metric dependency-version: 1.43.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index 8ed0450ff..8c0e1d869 100644 --- a/go.mod +++ b/go.mod @@ -14,10 +14,10 @@ require ( github.com/prometheus/client_golang v1.23.2 github.com/prometheus/common v0.67.5 go.opencensus.io v0.24.0 - go.opentelemetry.io/otel v1.42.0 + go.opentelemetry.io/otel v1.43.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0 - go.opentelemetry.io/otel/sdk v1.42.0 - go.opentelemetry.io/otel/sdk/metric v1.42.0 + go.opentelemetry.io/otel/sdk v1.43.0 + go.opentelemetry.io/otel/sdk/metric v1.43.0 golang.org/x/sys v0.42.0 golang.org/x/tools v0.43.0 ) @@ -36,8 +36,8 @@ require ( github.com/prometheus/procfs v0.16.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/otel/metric v1.42.0 // indirect - go.opentelemetry.io/otel/trace v1.42.0 // indirect + go.opentelemetry.io/otel/metric v1.43.0 // indirect + go.opentelemetry.io/otel/trace v1.43.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/net v0.52.0 // indirect diff --git a/go.sum b/go.sum index 37c76833d..b5520eb31 100644 --- a/go.sum +++ b/go.sum @@ -161,18 +161,18 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/otel v1.42.0 h1:lSQGzTgVR3+sgJDAU/7/ZMjN9Z+vUip7leaqBKy4sho= -go.opentelemetry.io/otel v1.42.0/go.mod h1:lJNsdRMxCUIWuMlVJWzecSMuNjE7dOYyWlqOXWkdqCc= +go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= +go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0 h1:MdKucPl/HbzckWWEisiNqMPhRrAOQX8r4jTuGr636gk= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0/go.mod h1:RolT8tWtfHcjajEH5wFIZ4Dgh5jpPdFXYV9pTAk/qjc= -go.opentelemetry.io/otel/metric v1.42.0 h1:2jXG+3oZLNXEPfNmnpxKDeZsFI5o4J+nz6xUlaFdF/4= -go.opentelemetry.io/otel/metric v1.42.0/go.mod h1:RlUN/7vTU7Ao/diDkEpQpnz3/92J9ko05BIwxYa2SSI= -go.opentelemetry.io/otel/sdk v1.42.0 h1:LyC8+jqk6UJwdrI/8VydAq/hvkFKNHZVIWuslJXYsDo= -go.opentelemetry.io/otel/sdk v1.42.0/go.mod h1:rGHCAxd9DAph0joO4W6OPwxjNTYWghRWmkHuGbayMts= -go.opentelemetry.io/otel/sdk/metric v1.42.0 h1:D/1QR46Clz6ajyZ3G8SgNlTJKBdGp84q9RKCAZ3YGuA= -go.opentelemetry.io/otel/sdk/metric v1.42.0/go.mod h1:Ua6AAlDKdZ7tdvaQKfSmnFTdHx37+J4ba8MwVCYM5hc= -go.opentelemetry.io/otel/trace v1.42.0 h1:OUCgIPt+mzOnaUTpOQcBiM/PLQ/Op7oq6g4LenLmOYY= -go.opentelemetry.io/otel/trace v1.42.0/go.mod h1:f3K9S+IFqnumBkKhRJMeaZeNk9epyhnCmQh/EysQCdc= +go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= +go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= +go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= +go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg= +go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw= +go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= +go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= +go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= From 5b9832e9f9ee2a4e5216f85155914748a2c82583 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Apr 2026 23:12:35 +0000 Subject: [PATCH 317/381] build(deps): bump go.opentelemetry.io/otel/sdk from 1.42.0 to 1.43.0 Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.42.0 to 1.43.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.42.0...v1.43.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/sdk dependency-version: 1.43.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index 8ed0450ff..8c0e1d869 100644 --- a/go.mod +++ b/go.mod @@ -14,10 +14,10 @@ require ( github.com/prometheus/client_golang v1.23.2 github.com/prometheus/common v0.67.5 go.opencensus.io v0.24.0 - go.opentelemetry.io/otel v1.42.0 + go.opentelemetry.io/otel v1.43.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0 - go.opentelemetry.io/otel/sdk v1.42.0 - go.opentelemetry.io/otel/sdk/metric v1.42.0 + go.opentelemetry.io/otel/sdk v1.43.0 + go.opentelemetry.io/otel/sdk/metric v1.43.0 golang.org/x/sys v0.42.0 golang.org/x/tools v0.43.0 ) @@ -36,8 +36,8 @@ require ( github.com/prometheus/procfs v0.16.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/otel/metric v1.42.0 // indirect - go.opentelemetry.io/otel/trace v1.42.0 // indirect + go.opentelemetry.io/otel/metric v1.43.0 // indirect + go.opentelemetry.io/otel/trace v1.43.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/net v0.52.0 // indirect diff --git a/go.sum b/go.sum index 37c76833d..b5520eb31 100644 --- a/go.sum +++ b/go.sum @@ -161,18 +161,18 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/otel v1.42.0 h1:lSQGzTgVR3+sgJDAU/7/ZMjN9Z+vUip7leaqBKy4sho= -go.opentelemetry.io/otel v1.42.0/go.mod h1:lJNsdRMxCUIWuMlVJWzecSMuNjE7dOYyWlqOXWkdqCc= +go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= +go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0 h1:MdKucPl/HbzckWWEisiNqMPhRrAOQX8r4jTuGr636gk= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0/go.mod h1:RolT8tWtfHcjajEH5wFIZ4Dgh5jpPdFXYV9pTAk/qjc= -go.opentelemetry.io/otel/metric v1.42.0 h1:2jXG+3oZLNXEPfNmnpxKDeZsFI5o4J+nz6xUlaFdF/4= -go.opentelemetry.io/otel/metric v1.42.0/go.mod h1:RlUN/7vTU7Ao/diDkEpQpnz3/92J9ko05BIwxYa2SSI= -go.opentelemetry.io/otel/sdk v1.42.0 h1:LyC8+jqk6UJwdrI/8VydAq/hvkFKNHZVIWuslJXYsDo= -go.opentelemetry.io/otel/sdk v1.42.0/go.mod h1:rGHCAxd9DAph0joO4W6OPwxjNTYWghRWmkHuGbayMts= -go.opentelemetry.io/otel/sdk/metric v1.42.0 h1:D/1QR46Clz6ajyZ3G8SgNlTJKBdGp84q9RKCAZ3YGuA= -go.opentelemetry.io/otel/sdk/metric v1.42.0/go.mod h1:Ua6AAlDKdZ7tdvaQKfSmnFTdHx37+J4ba8MwVCYM5hc= -go.opentelemetry.io/otel/trace v1.42.0 h1:OUCgIPt+mzOnaUTpOQcBiM/PLQ/Op7oq6g4LenLmOYY= -go.opentelemetry.io/otel/trace v1.42.0/go.mod h1:f3K9S+IFqnumBkKhRJMeaZeNk9epyhnCmQh/EysQCdc= +go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= +go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= +go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= +go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg= +go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw= +go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= +go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= +go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= From d0e1b4b6be45ad5af9d1e7046c0827c6215309ff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Apr 2026 23:30:59 +0000 Subject: [PATCH 318/381] build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc Bumps [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc](https://github.com/open-telemetry/opentelemetry-go) from 1.42.0 to 1.43.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.42.0...v1.43.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc dependency-version: 1.43.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 10 +++++----- go.sum | 24 ++++++++++++------------ 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/go.mod b/go.mod index 8c0e1d869..19e135e7e 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/prometheus/common v0.67.5 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.43.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.43.0 go.opentelemetry.io/otel/sdk v1.43.0 go.opentelemetry.io/otel/sdk/metric v1.43.0 golang.org/x/sys v0.42.0 @@ -38,14 +38,14 @@ require ( go.opentelemetry.io/auto/sdk v1.2.1 // indirect go.opentelemetry.io/otel/metric v1.43.0 // indirect go.opentelemetry.io/otel/trace v1.43.0 // indirect - go.opentelemetry.io/proto/otlp v1.9.0 // indirect + go.opentelemetry.io/proto/otlp v1.10.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/net v0.52.0 // indirect golang.org/x/sync v0.20.0 // indirect golang.org/x/text v0.35.0 // indirect google.golang.org/api v0.105.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57 // indirect - google.golang.org/grpc v1.79.3 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 // indirect + google.golang.org/grpc v1.80.0 // indirect google.golang.org/protobuf v1.36.11 // indirect ) diff --git a/go.sum b/go.sum index b5520eb31..9ef8e512f 100644 --- a/go.sum +++ b/go.sum @@ -163,8 +163,8 @@ go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0 h1:MdKucPl/HbzckWWEisiNqMPhRrAOQX8r4jTuGr636gk= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0/go.mod h1:RolT8tWtfHcjajEH5wFIZ4Dgh5jpPdFXYV9pTAk/qjc= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.43.0 h1:8UQVDcZxOJLtX6gxtDt3vY2WTgvZqMQRzjsqiIHQdkc= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.43.0/go.mod h1:2lmweYCiHYpEjQ/lSJBYhj9jP1zvCvQW4BqL9dnT7FQ= go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= @@ -173,8 +173,8 @@ go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfC go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= -go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= -go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= +go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpuCSL2g= +go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= @@ -315,8 +315,8 @@ golang.org/x/tools v0.43.0/go.mod h1:uHkMso649BX2cZK6+RpuIPXS3ho2hZo4FVwfoy1vIk0 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= -gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= +gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= +gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -354,10 +354,10 @@ google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57 h1:JLQynH/LBHfCTSbDWl+py8C+Rg/k1OVH3xfcaiANuF0= -google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57/go.mod h1:kSJwQxqmFXeo79zOmbrALdflXQeAYcUbgS7PbpMknCY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57 h1:mWPCjDEyshlQYzBpMNHaEof6UX1PmHcaUODUywQ0uac= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= +google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 h1:VPWxll4HlMw1Vs/qXtN7BvhZqsS9cdAittCNvVENElA= +google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9/go.mod h1:7QBABkRtR8z+TEnmXTqIqwJLlzrZKVfAUm7tY3yGv0M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 h1:m8qni9SQFH0tJc1X0vmnpw/0t+AImlSvp30sEupozUg= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -368,8 +368,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE= -google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= +google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM= +google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4= 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-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= From 662a8900facd8bc62b516b5e769e9c83ef970f07 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 6 Apr 2026 17:46:27 +0000 Subject: [PATCH 319/381] chore(deps): update lewagon/wait-on-check-action action to v1.6.1 --- .github/workflows/auto-review.yml | 2 +- .github/workflows/automerge.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-review.yml b/.github/workflows/auto-review.yml index d77376d00..a54d41363 100644 --- a/.github/workflows/auto-review.yml +++ b/.github/workflows/auto-review.yml @@ -30,7 +30,7 @@ jobs: # create review pull-requests: write steps: - - uses: lewagon/wait-on-check-action@v1.6.0 + - uses: lewagon/wait-on-check-action@v1.6.1 with: ref: ${{ github.event.pull_request.head.sha }} repo-token: ${{ github.token }} diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 782c36c8d..a442861b8 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -40,7 +40,7 @@ jobs: # wait-on-check requires only checks read checks: read steps: - - uses: lewagon/wait-on-check-action@v1.6.0 + - uses: lewagon/wait-on-check-action@v1.6.1 with: ref: ${{ github.event.pull_request.head.sha }} check-regexp: "test.*" From 6ebf90fb3f5742d3da026ce37712ade6ef81d861 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 6 Apr 2026 17:46:31 +0000 Subject: [PATCH 320/381] chore(deps): update dependency gazelle to v0.49.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index ea3b48021..d8dc00b00 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -12,7 +12,7 @@ go_sdk.from_file(go_mod = "//:go.mod") # Like golangci-lint, but integrated into the build. go_sdk.nogo(nogo = "//:nogo") -bazel_dep(name = "gazelle", version = "0.48.0") +bazel_dep(name = "gazelle", version = "0.49.0") # Update dependencies with # `bazel run //:gazelle`. From e3344ec76725c720b4bf75d168f4e2a4306a954c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 21:43:19 +0000 Subject: [PATCH 321/381] chore(deps): update dependency go to v1.26.2 --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 19e135e7e..a355864ec 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/jaqx0r/mtail go 1.25.0 -toolchain go1.26.1 +toolchain go1.26.2 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 From b0995d90f4c1d71a78b7b7e00fad5476d6d030a3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 21:43:23 +0000 Subject: [PATCH 322/381] chore(deps): update dependency gazelle to v0.50.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index d8dc00b00..36dbdd89d 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -12,7 +12,7 @@ go_sdk.from_file(go_mod = "//:go.mod") # Like golangci-lint, but integrated into the build. go_sdk.nogo(nogo = "//:nogo") -bazel_dep(name = "gazelle", version = "0.49.0") +bazel_dep(name = "gazelle", version = "0.50.0") # Update dependencies with # `bazel run //:gazelle`. From 828ac0bb9b2beda04bac67851992812cf442c3e6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 23:12:24 +0000 Subject: [PATCH 323/381] build(deps): bump golang.org/x/sys from 0.42.0 to 0.43.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.42.0 to 0.43.0. - [Commits](https://github.com/golang/sys/compare/v0.42.0...v0.43.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-version: 0.43.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 19e135e7e..fa148cd48 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.43.0 go.opentelemetry.io/otel/sdk v1.43.0 go.opentelemetry.io/otel/sdk/metric v1.43.0 - golang.org/x/sys v0.42.0 + golang.org/x/sys v0.43.0 golang.org/x/tools v0.43.0 ) diff --git a/go.sum b/go.sum index 9ef8e512f..d412c780a 100644 --- a/go.sum +++ b/go.sum @@ -268,8 +268,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= -golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI= +golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From 46bf529540953c4b1aef087c4291828c01c9791e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 23:12:25 +0000 Subject: [PATCH 324/381] build(deps): bump golang.org/x/tools from 0.43.0 to 0.44.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.43.0 to 0.44.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.43.0...v0.44.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.44.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index fa148cd48..98566ac68 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.43.0 go.opentelemetry.io/otel/sdk/metric v1.43.0 golang.org/x/sys v0.43.0 - golang.org/x/tools v0.43.0 + golang.org/x/tools v0.44.0 ) require ( @@ -40,9 +40,9 @@ require ( go.opentelemetry.io/otel/trace v1.43.0 // indirect go.opentelemetry.io/proto/otlp v1.10.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/net v0.52.0 // indirect + golang.org/x/net v0.53.0 // indirect golang.org/x/sync v0.20.0 // indirect - golang.org/x/text v0.35.0 // indirect + golang.org/x/text v0.36.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 // indirect diff --git a/go.sum b/go.sum index d412c780a..3fa76b5fb 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0= -golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw= +golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA= +golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -275,8 +275,8 @@ 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.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.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= -golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= +golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg= +golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -310,8 +310,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.43.0 h1:12BdW9CeB3Z+J/I/wj34VMl8X+fEXBxVR90JeMX5E7s= -golang.org/x/tools v0.43.0/go.mod h1:uHkMso649BX2cZK6+RpuIPXS3ho2hZo4FVwfoy1vIk0= +golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c= +golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From cfcabab7647a850255bfd1cf1318cfa710ca4f1f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 23:12:27 +0000 Subject: [PATCH 325/381] build(deps): bump actions/github-script from 8 to 9 Bumps [actions/github-script](https://github.com/actions/github-script) from 8 to 9. - [Release notes](https://github.com/actions/github-script/releases) - [Commits](https://github.com/actions/github-script/compare/v8...v9) --- updated-dependencies: - dependency-name: actions/github-script dependency-version: '9' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/auto-review.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/auto-review.yml b/.github/workflows/auto-review.yml index a54d41363..0261ea046 100644 --- a/.github/workflows/auto-review.yml +++ b/.github/workflows/auto-review.yml @@ -37,7 +37,7 @@ jobs: check-regexp: "test.*" wait-interval: 60 - - uses: "actions/github-script@v8" + - uses: "actions/github-script@v9" with: github-token: ${{ github.token }} script: | From d361b1ebf214150c403d8cd5d4d9288b7a5b59e7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 23:13:07 +0000 Subject: [PATCH 326/381] chore(deps): update actions/github-script action to v9 --- .github/actions/bencher-run/action.yml | 2 +- .github/workflows/auto-review.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/bencher-run/action.yml b/.github/actions/bencher-run/action.yml index ca4839dfe..d330a7004 100644 --- a/.github/actions/bencher-run/action.yml +++ b/.github/actions/bencher-run/action.yml @@ -32,7 +32,7 @@ runs: name: ${{ inputs.workflow_event }} run-id: ${{ github.event.workflow_run.id }} github-token: ${{ github.token }} - - uses: actions/github-script@v8 + - uses: actions/github-script@v9 env: EVT: ${{ inputs.workflow_event }} with: diff --git a/.github/workflows/auto-review.yml b/.github/workflows/auto-review.yml index a54d41363..0261ea046 100644 --- a/.github/workflows/auto-review.yml +++ b/.github/workflows/auto-review.yml @@ -37,7 +37,7 @@ jobs: check-regexp: "test.*" wait-interval: 60 - - uses: "actions/github-script@v8" + - uses: "actions/github-script@v9" with: github-token: ${{ github.token }} script: | From f67f810ad0905630a50be4107d5ec0f01db4610d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 05:06:42 +0000 Subject: [PATCH 327/381] chore(deps): update distroless_base docker digest to c83f022 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 36dbdd89d..96bb05566 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ bazel_dep(name = "platforms", version = "1.0.0") oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") oci.pull( name = "distroless_base", - digest = "sha256:b0510424f0c7c1d6fdae75ef5c1d349fa72d312e96f69728fad6beb04755b8b4", + digest = "sha256:c83f022002fc917a92501a8c30c605efdad3010157ba2c8998a2cbf213299201", image = "gcr.io/distroless/base", platforms = [ "linux/amd64", From 96e0424d5e8f8e17097c5ee69b55b86e2da28182 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2026 23:11:54 +0000 Subject: [PATCH 328/381] build(deps): bump lewagon/wait-on-check-action from 1.6.1 to 1.7.0 Bumps [lewagon/wait-on-check-action](https://github.com/lewagon/wait-on-check-action) from 1.6.1 to 1.7.0. - [Release notes](https://github.com/lewagon/wait-on-check-action/releases) - [Changelog](https://github.com/lewagon/wait-on-check-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/lewagon/wait-on-check-action/compare/v1.6.1...v1.7.0) --- updated-dependencies: - dependency-name: lewagon/wait-on-check-action dependency-version: 1.7.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/auto-review.yml | 2 +- .github/workflows/automerge.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-review.yml b/.github/workflows/auto-review.yml index 0261ea046..ec9f76569 100644 --- a/.github/workflows/auto-review.yml +++ b/.github/workflows/auto-review.yml @@ -30,7 +30,7 @@ jobs: # create review pull-requests: write steps: - - uses: lewagon/wait-on-check-action@v1.6.1 + - uses: lewagon/wait-on-check-action@v1.7.0 with: ref: ${{ github.event.pull_request.head.sha }} repo-token: ${{ github.token }} diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index a442861b8..539b5deeb 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -40,7 +40,7 @@ jobs: # wait-on-check requires only checks read checks: read steps: - - uses: lewagon/wait-on-check-action@v1.6.1 + - uses: lewagon/wait-on-check-action@v1.7.0 with: ref: ${{ github.event.pull_request.head.sha }} check-regexp: "test.*" From 0f7fe1327ccedf4bc0a30af69f25125f6575119c Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 20 Apr 2026 13:02:28 +1000 Subject: [PATCH 329/381] ci: Add a new workflow to auto-approve dependencies. This uses workflow_run as the trigger and checks both renovate and dependabot. --- .github/workflows/auto-approve.yaml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/workflows/auto-approve.yaml diff --git a/.github/workflows/auto-approve.yaml b/.github/workflows/auto-approve.yaml new file mode 100644 index 000000000..d85f9760d --- /dev/null +++ b/.github/workflows/auto-approve.yaml @@ -0,0 +1,27 @@ +# We "trust" dependabot and renovate updates once they pass tests. +# (this still requires all other checks to pass!) + +# This doesn't work on forked repos per the discussion in +# https://github.com/pascalgn/automerge-action/issues/46 so don't attempt to +# add people other than dependabot to the if field below. +name: auto-approve +on: + workflow_run: + workflows: + - ci + types: + - completed + +jobs: + enable-automerge-and-approve: + if: github.event.workflow_run.conclusion == 'success' && ((github.event.workflow_run.pull_requests[0].user.login == 'dependabot[bot]' && contains(github.event.workflow_run.pull_requests[0].labels.*.name, 'dependencies')) || (github.event.workflow_run.pull_requests[0].user.login == 'renovate[bot]' && contains(github.event.workflow_run.pull_requests[0].labels.*.name, 'renovate'))) + runs-on: ubuntu-latest + # https://github.com/orgs/community/discussions/24686 + permissions: + contents: write + pull-requests: write + env: + GH_TOKEN: ${{ github.token }} + steps: + - run: gh pr merge ${{ github.event.workflow_run.pull_requests[0].number }} --auto + - run: gh pr review ${{ github.event.workflow_run.pull_requests[0].number }} --approve From 7b2be4bc087891ca6c3b46dc28d2d438873be6a6 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 20 Apr 2026 13:50:15 +1000 Subject: [PATCH 330/381] ci: Only run if the run has a triggering PR. --- .github/workflows/auto-approve.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/auto-approve.yaml b/.github/workflows/auto-approve.yaml index d85f9760d..3fdafbc65 100644 --- a/.github/workflows/auto-approve.yaml +++ b/.github/workflows/auto-approve.yaml @@ -14,7 +14,7 @@ on: jobs: enable-automerge-and-approve: - if: github.event.workflow_run.conclusion == 'success' && ((github.event.workflow_run.pull_requests[0].user.login == 'dependabot[bot]' && contains(github.event.workflow_run.pull_requests[0].labels.*.name, 'dependencies')) || (github.event.workflow_run.pull_requests[0].user.login == 'renovate[bot]' && contains(github.event.workflow_run.pull_requests[0].labels.*.name, 'renovate'))) + if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.pull_requests[0] && ((github.event.workflow_run.pull_requests[0].user.login == 'dependabot[bot]' && contains(github.event.workflow_run.pull_requests[0].labels.*.name, 'dependencies')) || (github.event.workflow_run.pull_requests[0].user.login == 'renovate[bot]' && contains(github.event.workflow_run.pull_requests[0].labels.*.name, 'renovate'))) runs-on: ubuntu-latest # https://github.com/orgs/community/discussions/24686 permissions: From 3cae78c63b4f10bc113682261514e99786a2e71f Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 20 Apr 2026 14:56:15 +1000 Subject: [PATCH 331/381] ci: Fix reference to actor login. The `user.login` field is not documented to exist. --- .github/workflows/auto-approve.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/auto-approve.yaml b/.github/workflows/auto-approve.yaml index 3fdafbc65..baf2f8dc4 100644 --- a/.github/workflows/auto-approve.yaml +++ b/.github/workflows/auto-approve.yaml @@ -14,7 +14,7 @@ on: jobs: enable-automerge-and-approve: - if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.pull_requests[0] && ((github.event.workflow_run.pull_requests[0].user.login == 'dependabot[bot]' && contains(github.event.workflow_run.pull_requests[0].labels.*.name, 'dependencies')) || (github.event.workflow_run.pull_requests[0].user.login == 'renovate[bot]' && contains(github.event.workflow_run.pull_requests[0].labels.*.name, 'renovate'))) + if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.pull_requests[0] && ((github.event.workflow_run.actor.login == 'dependabot[bot]' && contains(github.event.workflow_run.pull_requests[0].labels.*.name, 'dependencies')) || (github.event.workflow_run.actor.login == 'renovate[bot]' && contains(github.event.workflow_run.pull_requests[0].labels.*.name, 'renovate'))) runs-on: ubuntu-latest # https://github.com/orgs/community/discussions/24686 permissions: From e0595fa28e2cfb17c49c6a188eecbd89ddeaebfa Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 20 Apr 2026 19:59:29 +1000 Subject: [PATCH 332/381] fix: Remove the check for labels. These fields do not exist in the documentation: https://docs.github.com/en/webhooks/webhook-events-and-payloads?actionType=requested#workflow_run --- .github/workflows/auto-approve.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/auto-approve.yaml b/.github/workflows/auto-approve.yaml index baf2f8dc4..83822a55d 100644 --- a/.github/workflows/auto-approve.yaml +++ b/.github/workflows/auto-approve.yaml @@ -14,7 +14,7 @@ on: jobs: enable-automerge-and-approve: - if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.pull_requests[0] && ((github.event.workflow_run.actor.login == 'dependabot[bot]' && contains(github.event.workflow_run.pull_requests[0].labels.*.name, 'dependencies')) || (github.event.workflow_run.actor.login == 'renovate[bot]' && contains(github.event.workflow_run.pull_requests[0].labels.*.name, 'renovate'))) + if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.pull_requests[0] && (github.event.workflow_run.actor.login == 'dependabot[bot]' || github.event.workflow_run.actor.login == 'renovate[bot]') runs-on: ubuntu-latest # https://github.com/orgs/community/discussions/24686 permissions: From fa63a5af4a411dc0ed8b18f4d893f62486ee2311 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Tue, 21 Apr 2026 11:07:32 +1000 Subject: [PATCH 333/381] refactor: Switch to using `rules_img` to generate OCI images. --- MODULE.bazel | 17 ++-- MODULE.bazel.lock | 242 ++++++++++++++++++++++++++------------------ release/BUILD.bazel | 58 +++++------ release/config.json | 7 ++ 4 files changed, 184 insertions(+), 140 deletions(-) create mode 100644 release/config.json diff --git a/MODULE.bazel b/MODULE.bazel index 96bb05566..1de2369f6 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -38,22 +38,19 @@ use_repo( "org_golang_x_tools", ) -# `rules_oci` and `aspect_bazel_lib`'s `tar` for making container images. bazel_dep(name = "aspect_bazel_lib", version = "2.22.5") -bazel_dep(name = "rules_oci", version = "2.3.0") +bazel_dep(name = "rules_img", version = "0.3.8") bazel_dep(name = "platforms", version = "1.0.0") -oci = use_extension("@rules_oci//oci:extensions.bzl", "oci") -oci.pull( +pull = use_repo_rule("@rules_img//img:pull.bzl", "pull") + +pull( name = "distroless_base", digest = "sha256:c83f022002fc917a92501a8c30c605efdad3010157ba2c8998a2cbf213299201", - image = "gcr.io/distroless/base", - platforms = [ - "linux/amd64", - "linux/arm64/v8", - ], + layer_handling = "lazy", + registry = "gcr.io", + repository = "distroless/base", ) -use_repo(oci, "distroless_base", "distroless_base_linux_amd64", "distroless_base_linux_arm64_v8") # `rules_pkg` for making releases bazel_dep(name = "rules_pkg", version = "1.2.0") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index fa1aa7f94..48122d2a3 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -22,7 +22,6 @@ "https://bcr.bazel.build/modules/apple_support/1.24.2/source.json": "2c22c9827093250406c5568da6c54e6fdf0ef06238def3d99c71b12feb057a8d", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.14.0/MODULE.bazel": "2b31ffcc9bdc8295b2167e07a757dbbc9ac8906e7028e5170a3708cecaac119f", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.19.3/MODULE.bazel": "253d739ba126f62a5767d832765b12b59e9f8d2bc88cc1572f4a73e46eb298ca", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.21.1/MODULE.bazel": "07e3ce3eaaa50dbd0be7fa0094e36890478937adc780ec53e77fd9fe543af8b1", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.5/MODULE.bazel": "004ba890363d05372a97248c37205ae64b6fa31047629cd2c0895a9d0c7779e8", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.5/source.json": "ac2c3213df8f985785f1d0aeb7f0f73d5324e6e67d593d9b9470fb74a25d4a9b", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838", @@ -41,11 +40,11 @@ "https://bcr.bazel.build/modules/bazel_features/1.3.0/MODULE.bazel": "cdcafe83ec318cda34e02948e81d790aab8df7a929cec6f6969f13a489ccecd9", "https://bcr.bazel.build/modules/bazel_features/1.30.0/MODULE.bazel": "a14b62d05969a293b80257e72e597c2da7f717e1e69fa8b339703ed6731bec87", "https://bcr.bazel.build/modules/bazel_features/1.33.0/MODULE.bazel": "8b8dc9d2a4c88609409c3191165bccec0e4cb044cd7a72ccbe826583303459f6", - "https://bcr.bazel.build/modules/bazel_features/1.34.0/MODULE.bazel": "e8475ad7c8965542e0c7aac8af68eb48c4af904be3d614b6aa6274c092c2ea1e", "https://bcr.bazel.build/modules/bazel_features/1.36.0/MODULE.bazel": "596cb62090b039caf1cad1d52a8bc35cf188ca9a4e279a828005e7ee49a1bec3", "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", "https://bcr.bazel.build/modules/bazel_features/1.42.1/MODULE.bazel": "275a59b5406ff18c01739860aa70ad7ccb3cfb474579411decca11c93b951080", - "https://bcr.bazel.build/modules/bazel_features/1.42.1/source.json": "fcd4396b2df85f64f2b3bb436ad870793ecf39180f1d796f913cc9276d355309", + "https://bcr.bazel.build/modules/bazel_features/1.45.0/MODULE.bazel": "7daec6d87ab0703417486d4cb948af0b06f55d4d7c08cbb5978c80e79b538edf", + "https://bcr.bazel.build/modules/bazel_features/1.45.0/source.json": "635e4536e09ff125b8972e0fa239c135fde5f18701f7d5115680560651dfb41d", "https://bcr.bazel.build/modules/bazel_features/1.9.0/MODULE.bazel": "885151d58d90d8d9c811eb75e3288c11f850e1d6b481a8c9f766adee4712358b", "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", "https://bcr.bazel.build/modules/bazel_lib/3.0.0/MODULE.bazel": "22b70b80ac89ad3f3772526cd9feee2fa412c2b01933fea7ed13238a448d370d", @@ -63,7 +62,8 @@ "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b", "https://bcr.bazel.build/modules/bazel_skylib/1.8.1/MODULE.bazel": "88ade7293becda963e0e3ea33e7d54d3425127e0a326e0d17da085a5f1f03ff6", "https://bcr.bazel.build/modules/bazel_skylib/1.8.2/MODULE.bazel": "69ad6927098316848b34a9142bcc975e018ba27f08c4ff403f50c1b6e646ca67", - "https://bcr.bazel.build/modules/bazel_skylib/1.8.2/source.json": "34a3c8bcf233b835eb74be9d628899bb32999d3e0eadef1947a0a562a2b16ffb", + "https://bcr.bazel.build/modules/bazel_skylib/1.9.0/MODULE.bazel": "72997b29dfd95c3fa0d0c48322d05590418edef451f8db8db5509c57875fb4b7", + "https://bcr.bazel.build/modules/bazel_skylib/1.9.0/source.json": "7ad77c1e8c1b84222d9b3f3cae016a76639435744c19330b0b37c0a3c9da7dc0", "https://bcr.bazel.build/modules/buildozer/8.5.1/MODULE.bazel": "a35d9561b3fc5b18797c330793e99e3b834a473d5fbd3d7d7634aafc9bdb6f8f", "https://bcr.bazel.build/modules/buildozer/8.5.1/source.json": "e3386e6ff4529f2442800dee47ad28d3e6487f36a1f75ae39ae56c70f0cd2fbd", "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.1/MODULE.bazel": "cdf8cbe5ee750db04b78878c9633cc76e80dcf4416cbe982ac3a9222f80713c8", @@ -72,8 +72,8 @@ "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", - "https://bcr.bazel.build/modules/gazelle/0.48.0/MODULE.bazel": "ed89ed9e7e4f15a63434d553496088c5d02faa3dccc654331f3533d6542a9bb5", - "https://bcr.bazel.build/modules/gazelle/0.48.0/source.json": "30de037819207f7443d044c8873bb0b9137dd8ae8826bfb04ffe8a63e95a88dc", + "https://bcr.bazel.build/modules/gazelle/0.50.0/MODULE.bazel": "5dce69aa1d7b5bc85d1e1cfe61f0a9a27426c46425ec1d064685f941a5977329", + "https://bcr.bazel.build/modules/gazelle/0.50.0/source.json": "3cadcd284172c4274dc44c71b571f08ec4f22b28d5e9ad2708347c6e6c3a41b9", "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", @@ -81,6 +81,8 @@ "https://bcr.bazel.build/modules/googletest/1.15.2/MODULE.bazel": "6de1edc1d26cafb0ea1a6ab3f4d4192d91a312fd2d360b63adaa213cd00b2108", "https://bcr.bazel.build/modules/googletest/1.17.0/MODULE.bazel": "dbec758171594a705933a29fcf69293d2468c49ec1f2ebca65c36f504d72df46", "https://bcr.bazel.build/modules/googletest/1.17.0/source.json": "38e4454b25fc30f15439c0378e57909ab1fd0a443158aa35aec685da727cd713", + "https://bcr.bazel.build/modules/hermetic_launcher/0.0.5/MODULE.bazel": "0e00b51788823b75b4273aedbc6ba21f64dad453f7567f9359a2e96eb6ec101c", + "https://bcr.bazel.build/modules/hermetic_launcher/0.0.5/source.json": "eb5cf0f29fb36c10c2fde8f660cf5edfd377d8ea167f277fff9a811fd0a26028", "https://bcr.bazel.build/modules/jq.bzl/0.1.0/MODULE.bazel": "2ce69b1af49952cd4121a9c3055faa679e748ce774c7f1fda9657f936cae902f", "https://bcr.bazel.build/modules/jq.bzl/0.1.0/source.json": "746bf13cac0860f091df5e4911d0c593971cd8796b5ad4e809b2f8e133eee3d5", "https://bcr.bazel.build/modules/jsoncpp/1.9.5/MODULE.bazel": "31271aedc59e815656f5736f282bb7509a97c7ecb43e927ac1a37966e0578075", @@ -155,6 +157,8 @@ "https://bcr.bazel.build/modules/rules_go/0.59.0/MODULE.bazel": "b7e43e7414a3139a7547d1b4909b29085fbe5182b6c58cbe1ed4c6272815aeae", "https://bcr.bazel.build/modules/rules_go/0.60.0/MODULE.bazel": "4a57ff2ffc2a3570e3c5646575c5a4b07287e91bcdac5d1f72383d51502b48cb", "https://bcr.bazel.build/modules/rules_go/0.60.0/source.json": "1e21368c5e0c3013a110bd79a8fcff8ca46b5bcb2b561713a7273cbfcff7c464", + "https://bcr.bazel.build/modules/rules_img/0.3.8/MODULE.bazel": "93ff792a2461ab6b019a1b11a8bdd8fb2cf9e83182829de6dd4c8320c6ca7260", + "https://bcr.bazel.build/modules/rules_img/0.3.8/source.json": "91ac92821d38cb7b64a7dde8b7a4bc1412b57a7d0b0cc8076cf6fdf38d888424", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", @@ -169,8 +173,8 @@ "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", "https://bcr.bazel.build/modules/rules_java/8.6.1/MODULE.bazel": "f4808e2ab5b0197f094cabce9f4b006a27766beb6a9975931da07099560ca9c2", - "https://bcr.bazel.build/modules/rules_java/9.0.3/MODULE.bazel": "1f98ed015f7e744a745e0df6e898a7c5e83562d6b759dfd475c76456dda5ccea", - "https://bcr.bazel.build/modules/rules_java/9.0.3/source.json": "b038c0c07e12e658135bbc32cc1a2ded6e33785105c9d41958014c592de4593e", + "https://bcr.bazel.build/modules/rules_java/9.1.0/MODULE.bazel": "ee63f27e36a3fada80342869361182f120a9819c74320e8e65b1e04ba0cd7a9d", + "https://bcr.bazel.build/modules/rules_java/9.1.0/source.json": "da589573c1dee2c9ac4a568b301269a2e8191110ff0345c1a959fa7ea6c4dfd6", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", @@ -186,8 +190,6 @@ "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", "https://bcr.bazel.build/modules/rules_license/1.0.0/MODULE.bazel": "a7fda60eefdf3d8c827262ba499957e4df06f659330bbe6cdbdb975b768bb65c", "https://bcr.bazel.build/modules/rules_license/1.0.0/source.json": "a52c89e54cc311196e478f8382df91c15f7a2bfdf4c6cd0e2675cc2ff0b56efb", - "https://bcr.bazel.build/modules/rules_oci/2.3.0/MODULE.bazel": "49075197960c924c0a4d759b7c765c3d00a41d2fdd4a943b42823c1d016ab4ec", - "https://bcr.bazel.build/modules/rules_oci/2.3.0/source.json": "47710c28446211b5e61a24015a4669c50c6862d5f91e6bdbc710de8d750cf613", "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", "https://bcr.bazel.build/modules/rules_pkg/1.0.1/MODULE.bazel": "5b1df97dbc29623bccdf2b0dcd0f5cb08e2f2c9050aab1092fd39a41e82686ff", "https://bcr.bazel.build/modules/rules_pkg/1.2.0/MODULE.bazel": "c7db3c2b407e673c7a39e3625dc05dc9f12d6682cbd82a3a5924a13b491eda7e", @@ -235,8 +237,7 @@ "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.2/source.json": "5fba48bbe0ba48761f9e9f75f92876cafb5d07c0ce059cc7a8027416de94a05b", "https://bcr.bazel.build/modules/tar.bzl/0.2.1/MODULE.bazel": "52d1c00a80a8cc67acbd01649e83d8dd6a9dc426a6c0b754a04fe8c219c76468", "https://bcr.bazel.build/modules/tar.bzl/0.5.1/MODULE.bazel": "7c2eb3dcfc53b0f3d6f9acdfd911ca803eaf92aadf54f8ca6e4c1f3aee288351", - "https://bcr.bazel.build/modules/tar.bzl/0.7.0/MODULE.bazel": "cc1acd85da33c80e430b65219a620d54d114628df24a618c3a5fa0b65e988da9", - "https://bcr.bazel.build/modules/tar.bzl/0.7.0/source.json": "9becb80306f42d4810bfa16379fb48aad0b01ce5342bc12fe47dcd6af3ac4d7a", + "https://bcr.bazel.build/modules/tar.bzl/0.5.1/source.json": "deed3094f7cc779ed1d37a68403847b0e38d9dd9d931e03cb90825f3368b515f", "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", "https://bcr.bazel.build/modules/yq.bzl/0.1.1/MODULE.bazel": "9039681f9bcb8958ee2c87ffc74bdafba9f4369096a2b5634b88abc0eaefa072", "https://bcr.bazel.build/modules/yq.bzl/0.1.1/source.json": "2d2bad780a9f2b9195a4a370314d2c17ae95eaa745cefc2e12fbc49759b15aa3", @@ -272,7 +273,7 @@ }, "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { "general": { - "bzlTransitiveDigest": "ABI1D/sbS1ovwaW/kHDoj8nnXjQ0oKU9fzmzEG4iT8o=", + "bzlTransitiveDigest": "Ga4z8lQy1YQ5rAMy+dOl0dqcCEBnYNCXku8x3YQmDZI=", "usagesDigest": "QI2z8ZUR+mqtbwsf2fLqYdJAkPOHdOV+tF2yVAUgRzw=", "recordedInputs": [ "REPO_MAPPING:rules_kotlin+,bazel_tools bazel_tools" @@ -329,7 +330,7 @@ }, "@@rules_python+//python/extensions:config.bzl%config": { "general": { - "bzlTransitiveDigest": "2hLgIvNVTLgxus0ZuXtleBe70intCfo0cHs8qvt6cdM=", + "bzlTransitiveDigest": "iibnRYgg8LpcfmH7EAnVwYePC3jsVaJ6Id8XxUjSZps=", "usagesDigest": "ZVSXMAGpD+xzVNPuvF1IoLBkty7TROO0+akMapt1pAg=", "recordedInputs": [ "REPO_MAPPING:rules_python+,bazel_tools bazel_tools", @@ -524,6 +525,57 @@ } } } + }, + "@@tar.bzl+//tar:extensions.bzl%toolchains": { + "general": { + "bzlTransitiveDigest": "/2afh6fPjq/rcyE/jztQDK3ierehmFFngfvmqyRv72M=", + "usagesDigest": "maF8qsAIqeH1ey8pxP0gNZbvJt34kLZvTFeQ0ntrJVA=", + "recordedInputs": [], + "generatedRepoSpecs": { + "bsd_tar_toolchains": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:toolchain.bzl%tar_toolchains_repo", + "attributes": { + "user_repository_name": "bsd_tar_toolchains" + } + }, + "bsd_tar_toolchains_darwin_amd64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "bsd_tar_toolchains_darwin_arm64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "darwin_arm64" + } + }, + "bsd_tar_toolchains_linux_amd64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "bsd_tar_toolchains_linux_arm64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "bsd_tar_toolchains_windows_amd64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "windows_amd64" + } + }, + "bsd_tar_toolchains_windows_arm64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", + "attributes": { + "platform": "windows_arm64" + } + } + } + } } }, "facts": { @@ -690,166 +742,162 @@ "27bab004c72b3d7bd05a69b6ec0fc54a309b4b78cc569dd963d8b3ec28bfdb8c" ] }, - "1.25.7": { + "1.26.2": { "aix_ppc64": [ - "go1.25.7.aix-ppc64.tar.gz", - "81bf2a1f20633f62d55d826d82dde3b0570cf1408a91e15781b266037299285b" + "go1.26.2.aix-ppc64.tar.gz", + "e6f759fbdd5b1e3ecce3161d8bd9b9aeaf15c4112b7c101097e9d329b310d858" ], "darwin_amd64": [ - "go1.25.7.darwin-amd64.tar.gz", - "bf5050a2152f4053837b886e8d9640c829dbacbc3370f913351eb0904cb706f5" + "go1.26.2.darwin-amd64.tar.gz", + "bc3f1500d9968c36d705442d90ba91addf9271665033748b82532682e90a7966" ], "darwin_arm64": [ - "go1.25.7.darwin-arm64.tar.gz", - "ff18369ffad05c57d5bed888b660b31385f3c913670a83ef557cdfd98ea9ae1b" + "go1.26.2.darwin-arm64.tar.gz", + "32af1522bf3e3ff3975864780a429cc0b41d190ec7bf90faa661d6d64566e7af" ], "dragonfly_amd64": [ - "go1.25.7.dragonfly-amd64.tar.gz", - "c5dccd7f192dd7b305dc209fb316ac1917776d74bd8e4d532ef2772f305bf42a" + "go1.26.2.dragonfly-amd64.tar.gz", + "b4f3f74412914e54140cbf8b5c76d2f8eeff3a5003310c9244c61ba8a0ecd94b" ], "freebsd_386": [ - "go1.25.7.freebsd-386.tar.gz", - "a2de97c8ac74bf64b0ae73fe9d379e61af530e061bc7f8f825044172ffe61a8b" + "go1.26.2.freebsd-386.tar.gz", + "fab09ea1988aae3ae2c8186455e8956d539d04e2ee4973e8887853432d0e8039" ], "freebsd_amd64": [ - "go1.25.7.freebsd-amd64.tar.gz", - "055f9e138787dcafa81eb0314c8ff70c6dd0f6dba1e8a6957fef5d5efd1ab8fd" + "go1.26.2.freebsd-amd64.tar.gz", + "f271fd829a2a6b36fa1c72cdaafb18410a106da982c93a626d4e8b0fa0f0fa21" ], "freebsd_arm": [ - "go1.25.7.freebsd-arm.tar.gz", - "60e7f7a7c990f0b9539ac8ed668155746997d404643a4eecd47b3dee1b7e710b" + "go1.26.2.freebsd-arm.tar.gz", + "38713f1516cd2b0097ea05594ec1c842fe690dace8301c7d34d91b92250b4424" ], "freebsd_arm64": [ - "go1.25.7.freebsd-arm64.tar.gz", - "631e03d5fd4c526e2f499154d8c6bf4cb081afb2fff171c428722afc9539d53a" - ], - "freebsd_riscv64": [ - "go1.25.7.freebsd-riscv64.tar.gz", - "8a264fd685823808140672812e3ad9c43f6ad59444c0dc14cdd3a1351839ddd5" + "go1.26.2.freebsd-arm64.tar.gz", + "d78bb171900134efdd1d0d49e5e80cd8c8b614f0e46c508d0b6bac30fb996fdf" ], "illumos_amd64": [ - "go1.25.7.illumos-amd64.tar.gz", - "57c672447d906a1bcab98f2b11492d54521a791aacbb4994a25169e59cbe289a" + "go1.26.2.illumos-amd64.tar.gz", + "e88cd85e9e253ceda4077367072aa10d2f92bc2fa6e59a811c00bbe95dc9b02d" ], "linux_386": [ - "go1.25.7.linux-386.tar.gz", - "2866517e9ca81e6a2e85a930e9b11bc8a05cfeb2fc6dc6cb2765e7fb3c14b715" + "go1.26.2.linux-386.tar.gz", + "89835cdc4dfebde7fe28c9c6dc080bb3753f6b0354301966ff9f62d14991bd7d" ], "linux_amd64": [ - "go1.25.7.linux-amd64.tar.gz", - "12e6d6a191091ae27dc31f6efc630e3a3b8ba409baf3573d955b196fdf086005" + "go1.26.2.linux-amd64.tar.gz", + "990e6b4bbba816dc3ee129eaeaf4b42f17c2800b88a2166c265ac1a200262282" ], "linux_arm64": [ - "go1.25.7.linux-arm64.tar.gz", - "ba611a53534135a81067240eff9508cd7e256c560edd5d8c2fef54f083c07129" + "go1.26.2.linux-arm64.tar.gz", + "c958a1fe1b361391db163a485e21f5f228142d6f8b584f6bef89b26f66dc5b23" ], "linux_armv6l": [ - "go1.25.7.linux-armv6l.tar.gz", - "1ba07e0eb86b839e72467f4b5c7a5597d07f30bcf5563c951410454f7cda5266" + "go1.26.2.linux-armv6l.tar.gz", + "0000e45577827b0a8868588c543cbe4232853def1d3d7a344ad6e60ce2b015c8" ], "linux_loong64": [ - "go1.25.7.linux-loong64.tar.gz", - "775753fc5952a334c415f08768df2f0b73a3228a16e8f5f63d545daacb4e3357" + "go1.26.2.linux-loong64.tar.gz", + "4dcb87e845fe5c015c8cf6affb4636fcf1699182b70454783caed85c5dfa3267" ], "linux_mips": [ - "go1.25.7.linux-mips.tar.gz", - "1a023bb367c5fbb4c637a2f6dc23ff17c6591ad929ce16ea88c74d857153b307" + "go1.26.2.linux-mips.tar.gz", + "2d57e4167932a4872e31570465f48d8b6818002c77275bae969bdbb6d7238b5e" ], "linux_mips64": [ - "go1.25.7.linux-mips64.tar.gz", - "a8e97223d8aa6fdfd45f132a4784d2f536bbac5f3d63a24b63d33b6bfe1549af" + "go1.26.2.linux-mips64.tar.gz", + "b0b49bb5c528e623a926b8242f03cfd612971150e18eeb3f638d751218c09cdf" ], "linux_mips64le": [ - "go1.25.7.linux-mips64le.tar.gz", - "eb9edb6223330d5e20275667c65dea076b064c08e595fe4eba5d7d6055cfaccf" + "go1.26.2.linux-mips64le.tar.gz", + "5ffc9da2b0ee939c8503c9d9278d6857909ca8577dae3b71221ab2821dc7826a" ], "linux_mipsle": [ - "go1.25.7.linux-mipsle.tar.gz", - "9c1e693552a5f9bb9e0012d1c5e01456ecefbc59bef53a77305222ce10aba368" + "go1.26.2.linux-mipsle.tar.gz", + "ab1fe1c38ffa6bbda029dea33bf36167aca4ff3a25c9d6ed0af38da120678ddc" ], "linux_ppc64": [ - "go1.25.7.linux-ppc64.tar.gz", - "28a788798e7329acbbc0ac2caa5e4368b1e5ede646cc24429c991214cfb45c63" + "go1.26.2.linux-ppc64.tar.gz", + "589f7ef241104f153e910244b71d70f4aad0d4584651ca80a5188186dda63a2e" ], "linux_ppc64le": [ - "go1.25.7.linux-ppc64le.tar.gz", - "42124c0edc92464e2b37b2d7fcd3658f0c47ebd6a098732415a522be8cb88e3f" + "go1.26.2.linux-ppc64le.tar.gz", + "62b7645dd2404052535617c59e91cf03c7aa28e332dbaddbe4c0d7de7bcc6736" ], "linux_riscv64": [ - "go1.25.7.linux-riscv64.tar.gz", - "88d59c6893c8425875d6eef8e3434bc2fa2552e5ad4c058c6cd8cd710a0301c8" + "go1.26.2.linux-riscv64.tar.gz", + "c5c697faa4dc05364b6e163d2ab8161b32a120eeed54192457d57d7ef7c2091a" ], "linux_s390x": [ - "go1.25.7.linux-s390x.tar.gz", - "c6b77facf666dc68195ecab05dbf0ebb4e755b2a8b7734c759880557f1c29b0c" + "go1.26.2.linux-s390x.tar.gz", + "410726ed10a0ea6745c2ea8da4f0e769fd3ce819cd4a41a67ad08b094d5dfc31" ], "netbsd_386": [ - "go1.25.7.netbsd-386.tar.gz", - "f14c184d9ade0ee04c7735d4071257b90896ecbde1b32adae84135f055e6399b" + "go1.26.2.netbsd-386.tar.gz", + "e8ffab99dd65fef14097d6af48ea6302793f2298a7b2e5f00a284bd933feba4c" ], "netbsd_amd64": [ - "go1.25.7.netbsd-amd64.tar.gz", - "7e7389e404dca1088c31f0fc07f1dd60891d7182bcd621469c14f7e79eceb3ff" + "go1.26.2.netbsd-amd64.tar.gz", + "1f5c33c923983ee8433ad8098dcd87a0e1fdccd18d05a91844c2be60507a61fe" ], "netbsd_arm": [ - "go1.25.7.netbsd-arm.tar.gz", - "70388bb3ef2f03dbf1357e9056bd09034a67e018262557354f8cf549766b3f9d" + "go1.26.2.netbsd-arm.tar.gz", + "85761320e364b65424d2952a3388970d86e072c8dce8dcad2a1dca41555c2b96" ], "netbsd_arm64": [ - "go1.25.7.netbsd-arm64.tar.gz", - "8c1cda9d25bfc9b18d24d5f95fc23949dd3ff99fa408a6cfa40e2cf12b07e362" + "go1.26.2.netbsd-arm64.tar.gz", + "3ca3561bf4452e799d11e5312182f79cd342d506136cd44c2b47991206ec23f5" ], "openbsd_386": [ - "go1.25.7.openbsd-386.tar.gz", - "42f0d1bfbe39b8401cccb84dd66b30795b97bfc9620dfdc17c5cd4fcf6495cb0" + "go1.26.2.openbsd-386.tar.gz", + "0644073c0ae1ade26d26953ef882d7d419855dca25b0e992ae416a47967d37b3" ], "openbsd_amd64": [ - "go1.25.7.openbsd-amd64.tar.gz", - "e514879c0a28bc32123cd52c4c093de912477fe83f36a6d07517d066ef55391a" + "go1.26.2.openbsd-amd64.tar.gz", + "72f69217a88e3d0975a75adf9fc92ff10ea65def56e6c34d8612428bf769581e" ], "openbsd_arm": [ - "go1.25.7.openbsd-arm.tar.gz", - "8cd22530695a0218232bf7efea8f162df1697a3106942ac4129b8c3de39ce4ef" + "go1.26.2.openbsd-arm.tar.gz", + "3aafe792df65abf1777b5cc678075ebba1bd8063e6450e81e742fef696e0bcbd" ], "openbsd_arm64": [ - "go1.25.7.openbsd-arm64.tar.gz", - "938720f6ebc0d1c53d7840321d3a31f29fd02496e84a6538f442a9311dc1cc9a" + "go1.26.2.openbsd-arm64.tar.gz", + "efd410fc60a17690ad43fe8dd00bf1fd4c1dc920d81970b9f422f313b0930b92" ], "openbsd_ppc64": [ - "go1.25.7.openbsd-ppc64.tar.gz", - "a4c378b73b98f89a3596c2ef51aabbb28783d9ca29f7e317d8ca07939660ce6f" + "go1.26.2.openbsd-ppc64.tar.gz", + "98a2cadd416066739e00b1bc297727c3108dba9001811b177ce57afef518f8bd" ], "openbsd_riscv64": [ - "go1.25.7.openbsd-riscv64.tar.gz", - "937b58734fbeaa8c7941a0e4285e7e84b7885396e8d11c23f9ab1a8ff10ff20e" + "go1.26.2.openbsd-riscv64.tar.gz", + "adf39a1a7e56d5c1a2cb69ad06752c5da6b808d2a029b7b6d6d5bb6e11a2168e" ], "plan9_386": [ - "go1.25.7.plan9-386.tar.gz", - "61a093c8c5244916f25740316386bb9f141545dcf01b06a79d1c78ece488403e" + "go1.26.2.plan9-386.tar.gz", + "eb2f95f6f43701eb98a31f5efdd9b5f14ff6e0afd289e1f94559462f83e73cfd" ], "plan9_amd64": [ - "go1.25.7.plan9-amd64.tar.gz", - "7fc8f6689c9de8ccb7689d2278035fa83c2d601409101840df6ddfe09ba58699" + "go1.26.2.plan9-amd64.tar.gz", + "d347fecec7532309fccf3570021ba8a00a0acce120fea02a46cc295936588b0f" ], "plan9_arm": [ - "go1.25.7.plan9-arm.tar.gz", - "9661dff8eaeeb62f1c3aadbc5ff189a2e6744e1ec885e32dbcb438f58a34def5" + "go1.26.2.plan9-arm.tar.gz", + "70700c5af45201a8e82436fb824f3551e357e3002094c8416e78e1aa51d4a0ab" ], "solaris_amd64": [ - "go1.25.7.solaris-amd64.tar.gz", - "28ecba0e1d7950c8b29a4a04962dd49c3bf5221f55a44f17d98f369f82859cf4" + "go1.26.2.solaris-amd64.tar.gz", + "cd45d13200697b3263e39cdf364f0cb9d9adc39d9574ab575e481b64cb7fb8b1" ], "windows_386": [ - "go1.25.7.windows-386.zip", - "baa6b488291801642fa620026169e38bec2da2ac187cd3ae2145721cf826bbc3" + "go1.26.2.windows-386.zip", + "4a8b02c34625fecd9c6583442101c9796fc265a5fc1edb9340d71bed0300f94c" ], "windows_amd64": [ - "go1.25.7.windows-amd64.zip", - "c75e5f4ff62d085cc0017be3ad19d5536f46825fa05db06ec468941f847e3228" + "go1.26.2.windows-amd64.zip", + "98eb3570bade15cb826b0909338df6cc6d2cf590bc39c471142002db3832b708" ], "windows_arm64": [ - "go1.25.7.windows-arm64.zip", - "807033f85931bc4a589ca8497535dcbeb1f30d506e47fa200f5f04c4a71c3d9f" + "go1.26.2.windows-arm64.zip", + "094d05caaf6ba235e2bd570b625d064ceb65943866252722a8f3fdba232139c6" ] } } diff --git a/release/BUILD.bazel b/release/BUILD.bazel index 367cac68f..40f7eb9c6 100644 --- a/release/BUILD.bazel +++ b/release/BUILD.bazel @@ -1,8 +1,8 @@ load("@aspect_bazel_lib//lib:expand_template.bzl", "expand_template") -load("@aspect_bazel_lib//lib:tar.bzl", "mtree_mutate", "mtree_spec", "tar") -load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_filegroup") load("@rules_go//go:def.bzl", "go_cross_binary") -load("@rules_oci//oci:defs.bzl", "oci_image", "oci_image_index", "oci_load", "oci_push") +load("@rules_img//img:image.bzl", "image_index", "image_manifest") +load("@rules_img//img:layer.bzl", "image_layer") +load("@rules_img//img:load.bzl", "image_load") load("@rules_pkg//pkg:tar.bzl", "pkg_tar") # Build an mtail binary for supported platforms. @@ -45,18 +45,11 @@ filegroup( for platform in PLATFORMS ] -tar( +image_layer( name = "mtail_layer", - srcs = ["//cmd/mtail"], -) - -platform_transition_filegroup( - name = "transitioned_layer", - srcs = [":mtail_layer"], - target_platform = select({ - "@platforms//cpu:arm64": "@rules_go//go/toolchain:linux_arm64", - "@platforms//cpu:x86_64": "@rules_go//go/toolchain:linux_amd64", - }), + srcs = { + "/mtail": "//cmd/mtail", + }, ) _TIMESTAMP_STRING = "2006-01-02T15:04:05Z" @@ -93,15 +86,23 @@ expand_template( template = [_TIMESTAMP_STRING], ) -oci_image( - name = "oci_image", +image_manifest( + name = "manifest", + annotations_file = ":labels", base = "@distroless_base", + config_fragment = "config.json", created = ":timestamp", - entrypoint = ["cmd/mtail/mtail_/mtail"], - exposed_ports = ["3903/tcp"], - labels = ":labels", - tars = [":mtail_layer"], - visibility = ["//visibility:public"], + entrypoint = ["/mtail"], + layers = [":mtail_layer"], +) + +image_index( + name = "image", + manifests = [":manifest"], + platforms = [ + ":linux_amd64", + ":linux_arm64v8", + ], ) platform( @@ -120,17 +121,8 @@ platform( ], ) -oci_image_index( - name = "multi_image", - images = [":oci_image"], - platforms = [ - ":linux_amd64", - ":linux_arm64v8", - ], -) - -oci_load( +image_load( name = "load_image", - image = ":oci_image", - repo_tags = ["mtail:latest"], + image = ":image", + tag_list = ["mtail:latest"], ) diff --git a/release/config.json b/release/config.json new file mode 100644 index 000000000..0cb40c158 --- /dev/null +++ b/release/config.json @@ -0,0 +1,7 @@ +{ + "config": { + "ExposedPorts": { + "3903/tcp": {} + } + } +} From f258abe787bb0315c0ab87bce32f80c920f4cfcb Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Tue, 21 Apr 2026 19:38:57 +1000 Subject: [PATCH 334/381] ci: Fetch tags so that we can get a subst version. --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4862639f8..8fd50ecfa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,6 +34,9 @@ jobs: checks: write steps: - uses: actions/checkout@v6 + with: + fetch-depth: 1 + fetch-tags: true - uses: bazel-contrib/setup-bazel@0.19.0 with: # Avoid downloading Bazel each time From d3033baaf821f0983767461cb6b8fa66dcb7df6f Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Tue, 21 Apr 2026 20:29:29 +1000 Subject: [PATCH 335/381] fix: Move the label templates into the correct field. --- release/BUILD.bazel | 37 +++++++++++++------------------------ 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/release/BUILD.bazel b/release/BUILD.bazel index 40f7eb9c6..89759d24f 100644 --- a/release/BUILD.bazel +++ b/release/BUILD.bazel @@ -54,29 +54,6 @@ image_layer( _TIMESTAMP_STRING = "2006-01-02T15:04:05Z" -expand_template( - name = "labels", - out = "labels.txt", - stamp_substitutions = { - "0.0.0": "{{STABLE_GIT_SEMVER}}", - "deadbeef": "{{STABLE_GIT_REVISION}}", - _TIMESTAMP_STRING: "{{BUILD_TIMESTAMP}}", - }, - template = [ - "org.opencontainers.image.ref.name=jaqx0r/mtail", - "org.opencontainers.image.title=mtail", - "org.opencontainers.image.description=extract internal monitoring data from application logs for collection in a timeseries database", - "org.opencontainers.image.authors=Jamie Wilkinson (@jaqx0r)", - "org.opencontainers.image.licenses=Apache-2.0", - "org.opencontainers.image.version=0.0.0", - "org.opencontainers.image.revision=deadbeef", - "org.opencontainers.image.source=https://github.com/jaqx0r/mtail/", - "org.opencontainers.image.documentation=https://jaqx0r.github.io/mtail/", - "org.opencontainers.image.created=" + _TIMESTAMP_STRING, - "org.opencontainers.image.url=https://github.com/jaqx0r/mtail", - ], -) - expand_template( name = "timestamp", out = "timestamp.txt", @@ -88,11 +65,23 @@ expand_template( image_manifest( name = "manifest", - annotations_file = ":labels", base = "@distroless_base", config_fragment = "config.json", created = ":timestamp", entrypoint = ["/mtail"], + labels = { + "org.opencontainers.image.ref.name": "jaqx0r/mtail", + "org.opencontainers.image.title": "mtail", + "org.opencontainers.image.description": "extract internal monitoring data from application logs for collection in a timeseries database", + "org.opencontainers.image.authors": "Jamie Wilkinson (@jaqx0r)", + "org.opencontainers.image.licenses": "Apache-2.0", + "org.opencontainers.image.version": "{{if .STABLE_GIT_SEMVER}}{{.STABLE_GIT_SEMVER}}{{else}}0.0.0{{end}}", + "org.opencontainers.image.revision": "{{if .STABLE_GIT_REVISION}}{{.STABLE_GIT_REVISION}}{{else}}unknown{{end}}", + "org.opencontainers.image.source": "https://github.com/jaqx0r/mtail/", + "org.opencontainers.image.documentation": "https://jaqx0r.github.io/mtail/", + "org.opencontainers.image.created": "{{.BUILD_TIMESTAMP}}", + "org.opencontainers.image.url": "https://github.com/jaqx0r/mtail", + }, layers = [":mtail_layer"], ) From 116e2c457fe8fabd801b618aad63f6527077004b Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Mon, 27 Apr 2026 19:00:33 +1000 Subject: [PATCH 336/381] ci: Allow renovate to set automerge on PRs. --- renovate.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index a7fe444da..bf8d2aba6 100644 --- a/renovate.json +++ b/renovate.json @@ -1,7 +1,9 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ - "config:recommended" + "config:recommended", + ":automergeAll", + ":automergePr" ], "postUpdateOptions": ["gomodTidy"] } From 49705a04c16df7a252d5bca355d13129e38b1b5a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 29 Apr 2026 19:58:48 +0000 Subject: [PATCH 337/381] chore(deps): update dependency rules_img to v0.3.9 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 1de2369f6..0829201ae 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) bazel_dep(name = "aspect_bazel_lib", version = "2.22.5") -bazel_dep(name = "rules_img", version = "0.3.8") +bazel_dep(name = "rules_img", version = "0.3.9") bazel_dep(name = "platforms", version = "1.0.0") pull = use_repo_rule("@rules_img//img:pull.bzl", "pull") From bf29de8c976587ec1b09a2ce39d3beea6d6b23d1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 1 May 2026 20:48:43 +0000 Subject: [PATCH 338/381] chore(deps): update dependency platforms to v1.1.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 0829201ae..905629ad0 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -40,7 +40,7 @@ use_repo( bazel_dep(name = "aspect_bazel_lib", version = "2.22.5") bazel_dep(name = "rules_img", version = "0.3.9") -bazel_dep(name = "platforms", version = "1.0.0") +bazel_dep(name = "platforms", version = "1.1.0") pull = use_repo_rule("@rules_img//img:pull.bzl", "pull") From ba19427cba9d9ee61504e0264fc1863de6cb3b5a Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 3 May 2026 09:26:15 +1000 Subject: [PATCH 339/381] fix: Set permissions for the benchmark workflow --- .github/workflows/benchmark.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 798dccf31..77d1f79bb 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -7,6 +7,8 @@ on: # Record on merges to main - main +permissions: {} + concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -14,6 +16,8 @@ concurrency: jobs: benchmark: runs-on: ubuntu-latest + permissions: + contents: read steps: - uses: actions/checkout@v6 - uses: bazel-contrib/setup-bazel@0.19.0 From 2dbf2538560e94caa73b64018aa5d2a5a7d7939c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 7 May 2026 02:13:07 +0000 Subject: [PATCH 340/381] chore(deps): update sigstore/cosign-installer action to v4.1.2 --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9c56f3564..75df9ed20 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -142,7 +142,7 @@ jobs: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - uses: sigstore/cosign-installer@v4.1.1 + - uses: sigstore/cosign-installer@v4.1.2 - name: verify image env: IMAGE: ${{ matrix.image }} From 4616eb9f3e6c2ed0bc56a36f067f3534de893a18 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 7 May 2026 21:05:01 +0000 Subject: [PATCH 341/381] chore(deps): update go toolchain directive to v1.26.3 --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 2c4e6c515..a4802c305 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/jaqx0r/mtail go 1.25.0 -toolchain go1.26.2 +toolchain go1.26.3 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 From 0e286d0ed325cb7ea91cc39ecb5adc63ccb5b594 Mon Sep 17 00:00:00 2001 From: nmreadelf <7260482+nmreadelf@users.noreply.github.com> Date: Fri, 8 May 2026 10:47:15 +0800 Subject: [PATCH 342/381] Feat: longstream allow pathname with hash --- internal/tailer/logstream/logstream.go | 3 +++ internal/tailer/logstream/logstream_test.go | 22 +++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/internal/tailer/logstream/logstream.go b/internal/tailer/logstream/logstream.go index 30520f718..b53ef11da 100644 --- a/internal/tailer/logstream/logstream.go +++ b/internal/tailer/logstream/logstream.go @@ -85,6 +85,9 @@ func New(ctx context.Context, wg *sync.WaitGroup, waker waker.Waker, pathname st return newDgramStream(ctx, wg, waker, u.Scheme, u.Host, oneShot) case "", "file": path = u.Path + if u.RawFragment != "" { + path += "#" + u.RawFragment + } } if IsStdinPattern(path) { fi, err := os.Stdin.Stat() diff --git a/internal/tailer/logstream/logstream_test.go b/internal/tailer/logstream/logstream_test.go index 1a0adf020..500cff23c 100644 --- a/internal/tailer/logstream/logstream_test.go +++ b/internal/tailer/logstream/logstream_test.go @@ -2,10 +2,12 @@ package logstream_test import ( "context" + "os" "sync" "testing" "github.com/jaqx0r/mtail/internal/tailer/logstream" + "github.com/jaqx0r/mtail/internal/waker" ) func TestNewErrors(t *testing.T) { @@ -20,3 +22,23 @@ func TestNewErrors(t *testing.T) { t.Error("New(ctg, wg, ..., path) expecting error, received nil") } } + +func TestPathNameWithHash(t *testing.T) { + ctx := context.Background() + var wg sync.WaitGroup + file, err := os.CreateTemp("", "4c9_1#1_2.3.4.a.b114514#1bcd.log") + if err != nil { + t.Fatal(err) + } + defer os.Remove(file.Name()) + defer file.Close() + wk := waker.NewTestAlways() + _, err = logstream.New(ctx, &wg, wk, file.Name(), logstream.OneShotDisabled) + if err != nil { + t.Errorf("New(ctx, nil) expecting nil, received error: %v", err) + } + _, err = logstream.New(ctx, &wg, wk, "file://"+file.Name(), logstream.OneShotDisabled) + if err != nil { + t.Errorf("New(ctx, nil) expecting nil, received error: %v", err) + } +} From a8cda3b34447bcdb197731f59767121698967c87 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 14:27:16 +0000 Subject: [PATCH 343/381] fix(deps): update module golang.org/x/sys to v0.44.0 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a4802c305..f3a1a548d 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.43.0 go.opentelemetry.io/otel/sdk v1.43.0 go.opentelemetry.io/otel/sdk/metric v1.43.0 - golang.org/x/sys v0.43.0 + golang.org/x/sys v0.44.0 golang.org/x/tools v0.44.0 ) diff --git a/go.sum b/go.sum index 3fa76b5fb..33c6db76e 100644 --- a/go.sum +++ b/go.sum @@ -268,8 +268,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI= -golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ= +golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From d39aff46fbbc53007a697fd4b3ed6228dad94cd7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 16:37:53 +0000 Subject: [PATCH 344/381] chore(deps): update dependency gazelle to v0.51.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 905629ad0..e935a173b 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -12,7 +12,7 @@ go_sdk.from_file(go_mod = "//:go.mod") # Like golangci-lint, but integrated into the build. go_sdk.nogo(nogo = "//:nogo") -bazel_dep(name = "gazelle", version = "0.50.0") +bazel_dep(name = "gazelle", version = "0.51.0") # Update dependencies with # `bazel run //:gazelle`. From 80bae7682e092028dbdc56a622ee45be4f4ee31b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 23:12:43 +0000 Subject: [PATCH 345/381] build(deps): bump golang.org/x/tools from 0.44.0 to 0.45.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.44.0 to 0.45.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.44.0...v0.45.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.45.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index f3a1a548d..2211e3fc0 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.43.0 go.opentelemetry.io/otel/sdk/metric v1.43.0 golang.org/x/sys v0.44.0 - golang.org/x/tools v0.44.0 + golang.org/x/tools v0.45.0 ) require ( @@ -40,9 +40,9 @@ require ( go.opentelemetry.io/otel/trace v1.43.0 // indirect go.opentelemetry.io/proto/otlp v1.10.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/net v0.53.0 // indirect + golang.org/x/net v0.54.0 // indirect golang.org/x/sync v0.20.0 // indirect - golang.org/x/text v0.36.0 // indirect + golang.org/x/text v0.37.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 // indirect diff --git a/go.sum b/go.sum index 33c6db76e..ebc279b2d 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA= -golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs= +golang.org/x/net v0.54.0 h1:2zJIZAxAHV/OHCDTCOHAYehQzLfSXuf/5SoL/Dv6w/w= +golang.org/x/net v0.54.0/go.mod h1:Sj4oj8jK6XmHpBZU/zWHw3BV3abl4Kvi+Ut7cQcY+cQ= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -275,8 +275,8 @@ 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.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.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg= -golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164= +golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= +golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -310,8 +310,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c= -golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI= +golang.org/x/tools v0.45.0 h1:18qN3FAooORvApf5XjCXgsuayZOEtXf6JK18I3+ONa8= +golang.org/x/tools v0.45.0/go.mod h1:LuUGqqaXcXMEFEruIVJVm5mgDD8vww/z/SR1gQ4uE/0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From d85f6b07358bfc949a18633acb2caf95fe458562 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 23:13:30 +0000 Subject: [PATCH 346/381] fix(deps): update module golang.org/x/tools to v0.45.0 --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index f3a1a548d..2211e3fc0 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( go.opentelemetry.io/otel/sdk v1.43.0 go.opentelemetry.io/otel/sdk/metric v1.43.0 golang.org/x/sys v0.44.0 - golang.org/x/tools v0.44.0 + golang.org/x/tools v0.45.0 ) require ( @@ -40,9 +40,9 @@ require ( go.opentelemetry.io/otel/trace v1.43.0 // indirect go.opentelemetry.io/proto/otlp v1.10.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/net v0.53.0 // indirect + golang.org/x/net v0.54.0 // indirect golang.org/x/sync v0.20.0 // indirect - golang.org/x/text v0.36.0 // indirect + golang.org/x/text v0.37.0 // indirect google.golang.org/api v0.105.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 // indirect diff --git a/go.sum b/go.sum index 33c6db76e..ebc279b2d 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA= -golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs= +golang.org/x/net v0.54.0 h1:2zJIZAxAHV/OHCDTCOHAYehQzLfSXuf/5SoL/Dv6w/w= +golang.org/x/net v0.54.0/go.mod h1:Sj4oj8jK6XmHpBZU/zWHw3BV3abl4Kvi+Ut7cQcY+cQ= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -275,8 +275,8 @@ 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.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.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg= -golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164= +golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= +golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -310,8 +310,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c= -golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI= +golang.org/x/tools v0.45.0 h1:18qN3FAooORvApf5XjCXgsuayZOEtXf6JK18I3+ONa8= +golang.org/x/tools v0.45.0/go.mod h1:LuUGqqaXcXMEFEruIVJVm5mgDD8vww/z/SR1gQ4uE/0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From c9f3fd3cefd036cacd19921dd786091fbed1f770 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 12 May 2026 18:06:23 +0000 Subject: [PATCH 347/381] chore(deps): update dependency rules_img to v0.3.10 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index e935a173b..ea9dcd363 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) bazel_dep(name = "aspect_bazel_lib", version = "2.22.5") -bazel_dep(name = "rules_img", version = "0.3.9") +bazel_dep(name = "rules_img", version = "0.3.10") bazel_dep(name = "platforms", version = "1.1.0") pull = use_repo_rule("@rules_img//img:pull.bzl", "pull") From cb0a08601b297a3c898f8793749e954b7b684da5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 May 2026 21:56:16 +0000 Subject: [PATCH 348/381] chore(deps): update dependency rules_img to v0.3.11 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index ea9dcd363..e0aa1a921 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -39,7 +39,7 @@ use_repo( ) bazel_dep(name = "aspect_bazel_lib", version = "2.22.5") -bazel_dep(name = "rules_img", version = "0.3.10") +bazel_dep(name = "rules_img", version = "0.3.11") bazel_dep(name = "platforms", version = "1.1.0") pull = use_repo_rule("@rules_img//img:pull.bzl", "pull") From 6de16737f9daa8725b3e068147619c91fc67692d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 01:10:12 +0000 Subject: [PATCH 349/381] chore(deps): update distroless_base docker digest to f2df870 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index e0aa1a921..786b71bba 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -46,7 +46,7 @@ pull = use_repo_rule("@rules_img//img:pull.bzl", "pull") pull( name = "distroless_base", - digest = "sha256:c83f022002fc917a92501a8c30c605efdad3010157ba2c8998a2cbf213299201", + digest = "sha256:f2df8702d4dcc45ce76df6cbc14ad1975fcf88a04bd0e8947b6194264f9ab75e", layer_handling = "lazy", registry = "gcr.io", repository = "distroless/base", From 732eb8aec0785155031fc6441b5e52d9daa98f67 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 May 2026 22:33:23 +0000 Subject: [PATCH 350/381] fix(deps): update module golang.org/x/sys to v0.45.0 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2211e3fc0..22b144c29 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.43.0 go.opentelemetry.io/otel/sdk v1.43.0 go.opentelemetry.io/otel/sdk/metric v1.43.0 - golang.org/x/sys v0.44.0 + golang.org/x/sys v0.45.0 golang.org/x/tools v0.45.0 ) diff --git a/go.sum b/go.sum index ebc279b2d..fbdd52f42 100644 --- a/go.sum +++ b/go.sum @@ -268,8 +268,8 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ= -golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY= +golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= From d4e5bce3b74309045f9adadccebd5de94dcd65aa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 May 2026 12:37:57 +0000 Subject: [PATCH 351/381] chore(deps): update docker/login-action action to v4.2.0 --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 75df9ed20..68d8611e6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -41,7 +41,7 @@ jobs: with: go-version-file: 'go.mod' cache: true - - uses: docker/login-action@v4.1.0 + - uses: docker/login-action@v4.2.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -137,7 +137,7 @@ jobs: strategy: matrix: ${{ fromJSON(needs.goreleaser.outputs.image_subjects) }} steps: - - uses: docker/login-action@v4.1.0 + - uses: docker/login-action@v4.2.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} From 3db7e9e9fbfb089deb0fd1d7617782a79fed4bf0 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 23 May 2026 13:22:29 +1000 Subject: [PATCH 352/381] fix: Clear the log line reference after processing. A pointer to the input `LogLine` and the thread state was being held in memory between execution of the `ProcessLogLine` function. This change clears both pointers at the end of the program run to ensure the GC cleans them up. This may be related to Issue: #390 but I'm not fully convinced yet. --- internal/runtime/vm/vm.go | 4 ++++ internal/runtime/vm/vm_test.go | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/internal/runtime/vm/vm.go b/internal/runtime/vm/vm.go index 6ae18c5b8..4ed7f9ca8 100644 --- a/internal/runtime/vm/vm.go +++ b/internal/runtime/vm/vm.go @@ -964,6 +964,10 @@ func (v *VM) ProcessLogLine(_ context.Context, line *logline.LogLine) { defer func() { LineProcessingDurations.WithLabelValues(v.name).Observe(time.Since(start).Seconds()) }() + defer func() { + v.input = nil + v.t = nil + }() t := new(thread) t.matched = false v.t = t diff --git a/internal/runtime/vm/vm_test.go b/internal/runtime/vm/vm_test.go index f14f7c07c..d80472860 100644 --- a/internal/runtime/vm/vm_test.go +++ b/internal/runtime/vm/vm_test.go @@ -927,3 +927,17 @@ func TestTimestampInstr(t *testing.T) { t.Errorf("Expecting timestamp to be %s, was %s", newT, tos) } } + +func TestProcessLogLineClearsInput(t *testing.T) { + obj := &code.Object{Program: []code.Instr{}} // empty program returns immediately + v := New("leaktest", obj, true, nil, false, false) + line := logline.New(context.Background(), "test", 0, "hello world") + + v.ProcessLogLine(context.Background(), line) + if v.input != nil { + t.Error("v.input was not cleared after ProcessLogLine returned") + } + if v.t != nil { + t.Error("v.t was not cleared after ProcessLogLine returned") + } +} From 71e8227787a143d32857d759dc934d732f120a6c Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 23 May 2026 13:27:22 +1000 Subject: [PATCH 353/381] refactor: Remove intermediate variable `t`. `v.t` is the same pointer and gets reset each time. --- internal/runtime/vm/vm.go | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/internal/runtime/vm/vm.go b/internal/runtime/vm/vm.go index 4ed7f9ca8..1ca5d1e71 100644 --- a/internal/runtime/vm/vm.go +++ b/internal/runtime/vm/vm.go @@ -968,24 +968,22 @@ func (v *VM) ProcessLogLine(_ context.Context, line *logline.LogLine) { v.input = nil v.t = nil }() - t := new(thread) - t.matched = false - v.t = t + v.t = new(thread) + v.t.matched = false v.input = line - t.stack = make([]interface{}, 0) - t.matches = make(map[int][]string, len(v.re)) + v.t.stack = make([]interface{}, 0) + v.t.matches = make(map[int][]string, len(v.re)) for { - if t.pc >= len(v.prog) { + if v.t.pc >= len(v.prog) { return } if v.trace != nil { - v.trace = append(v.trace, t.pc) + v.trace = append(v.trace, v.t.pc) } - i := v.prog[t.pc] - t.pc++ - v.execute(t, i) + i := v.prog[v.t.pc] + v.t.pc++ + v.execute(v.t, i) if v.terminate { - // Terminate only stops this invocation on this line of input; reset the terminate flag. v.terminate = false return } From a31718a35ec2346efa4b0e5b635807d30b4885ff Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 23 May 2026 13:54:06 +1000 Subject: [PATCH 354/381] fix: Don't pin a LogLine backing store when looking up Datums. Clone a key when popping from the stack instead of using it directly; at this moment the programme is running and the LogLine is still live, but this is the last moment when the capture group reference should be shared with the LogLine. After this moment, we must use new memory to store the datum keys to avoid pinning potentially large log lines in memory permanently. Issue: #390 --- internal/runtime/vm/vm.go | 2 +- internal/runtime/vm/vm_test.go | 57 ++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/internal/runtime/vm/vm.go b/internal/runtime/vm/vm.go index 1ca5d1e71..2ea65aea0 100644 --- a/internal/runtime/vm/vm.go +++ b/internal/runtime/vm/vm.go @@ -748,7 +748,7 @@ func (v *VM) execute(t *thread, i code.Instr) { return } // fmt.Printf("s: %v\n", s) - keys[a] = s + keys[a] = strings.Clone(s) // fmt.Printf("Keys: %v\n", keys) } // fmt.Printf("Keys: %v\n", keys) diff --git a/internal/runtime/vm/vm_test.go b/internal/runtime/vm/vm_test.go index d80472860..1157bef36 100644 --- a/internal/runtime/vm/vm_test.go +++ b/internal/runtime/vm/vm_test.go @@ -6,8 +6,11 @@ package vm import ( "context" "regexp" + "runtime" + "strings" "testing" "time" + "unsafe" "github.com/jaqx0r/mtail/internal/logline" "github.com/jaqx0r/mtail/internal/metrics" @@ -928,6 +931,60 @@ func TestTimestampInstr(t *testing.T) { } } +func TestProcessLogLineDoesNotPinLargeCaptureGroup(t *testing.T) { + // Build a program that matches a regex, captures a substring, and stores it + // as a metric label key via Dload. The stored key must not pin the original + // log line's backing array. + re := regexp.MustCompile(`.(KEY).`) + + m := []*metrics.Metric{ + metrics.NewMetric("m", "tst", metrics.Counter, metrics.Int, "label"), + } + prog := []code.Instr{ + {code.Match, 0, 0}, + {code.Push, 0, 0}, + {code.Capref, 1, 0}, + {code.Mload, 0, 0}, + {code.Dload, 1, 0}, + } + obj := &code.Object{ + Metrics: m, + Program: prog, + Regexps: []*regexp.Regexp{re}, + } + v := New("leaktest", obj, true, nil, false, false) + + // Allocate a large log line (~200KB). The regex `.(KEY).` matches + // "aKEYb" and captures "KEY". Save the data pointer of the capture to + // compare against the stored label value later. + const offset = 100000 + large := strings.Repeat("x", offset) + "aKEYb" + strings.Repeat("y", 100000) + capture := large[offset+1 : offset+4] // "KEY" — shares backing with large + origPtr := unsafe.StringData(capture) + + v.ProcessLogLine(context.Background(), logline.New(context.Background(), "test", 0, large)) + runtime.KeepAlive(large) // ensure large survives until ProcessLogLine completes + + // Retrieve the stored label value. + lv := m[0].FindLabelValueOrNil([]string{"KEY"}) + if lv == nil { + t.Fatal("label value not found") + } + stored := lv.Labels[0] + + // Drop all references to the large backing array. If strings.Clone was not + // used, the stored key still pins the original backing array via the shared + // data pointer. + large = "" + runtime.GC() + + // If the stored key shares the original backing array, its data pointer + // matches. If strings.Clone allocated a fresh copy, they differ. + if unsafe.StringData(stored) == origPtr { + t.Error("stored label key shares backing array with original log line; Dload should use strings.Clone to detach it") + } +} + func TestProcessLogLineClearsInput(t *testing.T) { obj := &code.Object{Program: []code.Instr{}} // empty program returns immediately v := New("leaktest", obj, true, nil, false, false) From 4de52c7aebbe44a48b1ff606c4cf5e299464c15b Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 23 May 2026 14:12:20 +1000 Subject: [PATCH 355/381] build: Add initial AGENTS instructions. --- AGENTS.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000..cc0b801b9 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,23 @@ +# mtail agent guide + +## Build & test + +- **Only Bazel** — all development iteration uses `bazel test //...`. +- **Always `gofmt` your code** before submitting. + +## Project structure + +- `cmd/{mtail,mdot,mgen,mfmt}/main.go` — four binaries: `mtail` and `mfmt` are the ones that matter. +- `internal/` — core packages: `logline`, `metrics`, `runtime` (compiler + vm), `tailer`, `exporter`, `testutil`. +- `internal/testutil/` — shared test helpers. +- `examples/*.mtail` — sample mtail programs, also used as test fixtures. + +## Documentation + +- `docs` has extensive instructions for users and developers, written in Markdown. Keep these up to date. + +## Testing conventions + +- Table-driven tests with `t.Run` subtest form. +- Comparison: `deep.Equal(expected, observed)` from `github.com/google/go-cmp`. Order is always expected first. +- `testutil` package provides common helpers (e.g., `testutil.TestServer`). From 757b610d290d4af6b7b92d5daba4d76d63ea84c4 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 24 May 2026 09:57:02 +1000 Subject: [PATCH 356/381] test: Skip timezone test when the tz db is not available. --- internal/runtime/vm/vm_test.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/runtime/vm/vm_test.go b/internal/runtime/vm/vm_test.go index f14f7c07c..64054b6f1 100644 --- a/internal/runtime/vm/vm_test.go +++ b/internal/runtime/vm/vm_test.go @@ -781,7 +781,10 @@ func TestDatumSetInstrs(t *testing.T) { } func TestStrptimeWithTimezone(t *testing.T) { - loc, _ := time.LoadLocation("Europe/Berlin") + loc, err := time.LoadLocation("Europe/Berlin") + if err != nil { + t.Skip("Skipping, timezone database not available:", err) + } obj := &code.Object{Program: []code.Instr{{code.Strptime, 0, 0}}} vm := New("strptimezone", obj, true, loc, false, false) vm.t = new(thread) From 0dc03bec62de9e8213f0b20954175a3d942b774c Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 24 May 2026 10:15:36 +1000 Subject: [PATCH 357/381] test: Handle IPv6 and fallback to IPv4 addresses in testutil.FreePort. --- internal/tailer/logstream/dgramstream_unix_test.go | 4 ++-- internal/tailer/logstream/socketstream_unix_test.go | 4 ++-- internal/testutil/port.go | 11 ++++++++++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/internal/tailer/logstream/dgramstream_unix_test.go b/internal/tailer/logstream/dgramstream_unix_test.go index 5b6e8fd10..48e3d8189 100644 --- a/internal/tailer/logstream/dgramstream_unix_test.go +++ b/internal/tailer/logstream/dgramstream_unix_test.go @@ -34,7 +34,7 @@ func TestDgramStreamReadCompletedBecauseSocketClosed(t *testing.T) { tmpDir := testutil.TestTempDir(t) addr = filepath.Join(tmpDir, "sock") case "udp": - addr = fmt.Sprintf("[::]:%d", testutil.FreePort(t)) + addr = fmt.Sprintf("127.0.0.1:%d", testutil.FreePort(t)) default: t.Fatalf("bad scheme %s", scheme) } @@ -86,7 +86,7 @@ func TestDgramStreamReadCompletedBecauseCancel(t *testing.T) { tmpDir := testutil.TestTempDir(t) addr = filepath.Join(tmpDir, "sock") case "udp": - addr = fmt.Sprintf("[::]:%d", testutil.FreePort(t)) + addr = fmt.Sprintf("127.0.0.1:%d", testutil.FreePort(t)) default: t.Fatalf("bad scheme %s", scheme) } diff --git a/internal/tailer/logstream/socketstream_unix_test.go b/internal/tailer/logstream/socketstream_unix_test.go index 5464d6079..9c6a127c4 100644 --- a/internal/tailer/logstream/socketstream_unix_test.go +++ b/internal/tailer/logstream/socketstream_unix_test.go @@ -32,7 +32,7 @@ func TestSocketStreamReadCompletedBecauseSocketClosed(t *testing.T) { tmpDir := testutil.TestTempDir(t) addr = filepath.Join(tmpDir, "sock") case "tcp": - addr = fmt.Sprintf("[::]:%d", testutil.FreePort(t)) + addr = fmt.Sprintf("127.0.0.1:%d", testutil.FreePort(t)) default: t.Fatalf("bad scheme %s", scheme) } @@ -83,7 +83,7 @@ func TestSocketStreamReadCompletedBecauseCancel(t *testing.T) { tmpDir := testutil.TestTempDir(t) addr = filepath.Join(tmpDir, "sock") case "tcp": - addr = fmt.Sprintf("[::]:%d", testutil.FreePort(t)) + addr = fmt.Sprintf("127.0.0.1:%d", testutil.FreePort(t)) default: t.Fatalf("bad scheme %s", scheme) } diff --git a/internal/testutil/port.go b/internal/testutil/port.go index 9d928b78c..7bb009562 100644 --- a/internal/testutil/port.go +++ b/internal/testutil/port.go @@ -9,13 +9,22 @@ import ( func FreePort(tb testing.TB) int { tb.Helper() + // Try IPv6 first, fall back to IPv4 on environments without IPv6 (e.g. BuildBuddy RBE). addr, err := net.ResolveTCPAddr("tcp", "[::]:0") if err != nil { tb.Fatal(err) } l, err := net.ListenTCP("tcp", addr) if err != nil { - tb.Fatal(err) + // Fall back to IPv4. + addr4, err4 := net.ResolveTCPAddr("tcp", "0.0.0.0:0") + if err4 != nil { + tb.Fatal(err4) + } + l, err = net.ListenTCP("tcp", addr4) + if err != nil { + tb.Fatal(err) + } } defer l.Close() return l.Addr().(*net.TCPAddr).Port From 689a2a82c91b929ecbb4ed78ea15c58b7470bcb8 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 24 May 2026 10:21:51 +1000 Subject: [PATCH 358/381] chore: Update MODULE.bazel.lock --- MODULE.bazel.lock | 181 ++++++++++++++++++++++++---------------------- 1 file changed, 93 insertions(+), 88 deletions(-) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 48122d2a3..a1cd27f7a 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -43,8 +43,9 @@ "https://bcr.bazel.build/modules/bazel_features/1.36.0/MODULE.bazel": "596cb62090b039caf1cad1d52a8bc35cf188ca9a4e279a828005e7ee49a1bec3", "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", "https://bcr.bazel.build/modules/bazel_features/1.42.1/MODULE.bazel": "275a59b5406ff18c01739860aa70ad7ccb3cfb474579411decca11c93b951080", - "https://bcr.bazel.build/modules/bazel_features/1.45.0/MODULE.bazel": "7daec6d87ab0703417486d4cb948af0b06f55d4d7c08cbb5978c80e79b538edf", - "https://bcr.bazel.build/modules/bazel_features/1.45.0/source.json": "635e4536e09ff125b8972e0fa239c135fde5f18701f7d5115680560651dfb41d", + "https://bcr.bazel.build/modules/bazel_features/1.46.0/MODULE.bazel": "3371af60ed64c67aa05401c08005e6b0418433b2a18712994e17300f0a610b2a", + "https://bcr.bazel.build/modules/bazel_features/1.47.0/MODULE.bazel": "e34df3cb35b1684cfa69923a61ae3803595babd3942cd306a488d51400886b30", + "https://bcr.bazel.build/modules/bazel_features/1.47.0/source.json": "4ba0b5138327f2d73352a51547a4e49a0a828ef400e046b15334d8905bf6b7ff", "https://bcr.bazel.build/modules/bazel_features/1.9.0/MODULE.bazel": "885151d58d90d8d9c811eb75e3288c11f850e1d6b481a8c9f766adee4712358b", "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", "https://bcr.bazel.build/modules/bazel_lib/3.0.0/MODULE.bazel": "22b70b80ac89ad3f3772526cd9feee2fa412c2b01933fea7ed13238a448d370d", @@ -72,8 +73,8 @@ "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", - "https://bcr.bazel.build/modules/gazelle/0.50.0/MODULE.bazel": "5dce69aa1d7b5bc85d1e1cfe61f0a9a27426c46425ec1d064685f941a5977329", - "https://bcr.bazel.build/modules/gazelle/0.50.0/source.json": "3cadcd284172c4274dc44c71b571f08ec4f22b28d5e9ad2708347c6e6c3a41b9", + "https://bcr.bazel.build/modules/gazelle/0.51.0/MODULE.bazel": "74610189cc04e27cc2cc286eaffb98c9b43fe59fdf2980b086922eea79f4a236", + "https://bcr.bazel.build/modules/gazelle/0.51.0/source.json": "d69adfa4f68bbdce6a93a4a4b518cb4ee2fd5051366e4a33d3b7b42d749d0ae1", "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", @@ -91,10 +92,11 @@ "https://bcr.bazel.build/modules/libpfm/4.11.0/MODULE.bazel": "45061ff025b301940f1e30d2c16bea596c25b176c8b6b3087e92615adbd52902", "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/MODULE.bazel": "6f7b417dcc794d9add9e556673ad25cb3ba835224290f4f848f8e2db1e1fca74", "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/source.json": "f448c6e8963fdfa7eb831457df83ad63d3d6355018f6574fb017e8169deb43a9", + "https://bcr.bazel.build/modules/package_metadata/0.0.10/MODULE.bazel": "cb66e0ce830e01bc00cd9edc984963704f2759ca893a649996e2b1c5c1ea7271", + "https://bcr.bazel.build/modules/package_metadata/0.0.10/source.json": "8fc6bece244828a69b3cc608f381118d67fa3cc2aa1a2851dfe8d99a8076d7d0", "https://bcr.bazel.build/modules/package_metadata/0.0.2/MODULE.bazel": "fb8d25550742674d63d7b250063d4580ca530499f045d70748b1b142081ebb92", + "https://bcr.bazel.build/modules/package_metadata/0.0.3/MODULE.bazel": "77890552ecea9e284b5424c9de827a58099348763a4359e975c359a83d4faa83", "https://bcr.bazel.build/modules/package_metadata/0.0.5/MODULE.bazel": "ef4f9439e3270fdd6b9fd4dbc3d2f29d13888e44c529a1b243f7a31dfbc2e8e4", - "https://bcr.bazel.build/modules/package_metadata/0.0.6/MODULE.bazel": "341dab6f417197494517d54c8e557c0baee1de7aec83543a4fbefe57900acb7e", - "https://bcr.bazel.build/modules/package_metadata/0.0.6/source.json": "9581d8b22db43550ac75ecc314ee4fa0a33400bfdc77d1317d8af6b18dca7756", "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", "https://bcr.bazel.build/modules/platforms/0.0.11/MODULE.bazel": "0daefc49732e227caa8bfa834d65dc52e8cc18a2faf80df25e8caea151a9413f", "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", @@ -104,7 +106,8 @@ "https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", "https://bcr.bazel.build/modules/platforms/0.0.9/MODULE.bazel": "4a87a60c927b56ddd67db50c89acaa62f4ce2a1d2149ccb63ffd871d5ce29ebc", "https://bcr.bazel.build/modules/platforms/1.0.0/MODULE.bazel": "f05feb42b48f1b3c225e4ccf351f367be0371411a803198ec34a389fb22aa580", - "https://bcr.bazel.build/modules/platforms/1.0.0/source.json": "f4ff1fd412e0246fd38c82328eb209130ead81d62dcd5a9e40910f867f733d96", + "https://bcr.bazel.build/modules/platforms/1.1.0/MODULE.bazel": "1c0c09f5bdcf4b3f924720d2478a3711cb39f4977019ca5988685e5b7e18b3d2", + "https://bcr.bazel.build/modules/platforms/1.1.0/source.json": "fcf351c47596c939140ab0d333dfdd08ed1ea6ce33c2fe70c12493a301cf1344", "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", "https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d", @@ -157,8 +160,8 @@ "https://bcr.bazel.build/modules/rules_go/0.59.0/MODULE.bazel": "b7e43e7414a3139a7547d1b4909b29085fbe5182b6c58cbe1ed4c6272815aeae", "https://bcr.bazel.build/modules/rules_go/0.60.0/MODULE.bazel": "4a57ff2ffc2a3570e3c5646575c5a4b07287e91bcdac5d1f72383d51502b48cb", "https://bcr.bazel.build/modules/rules_go/0.60.0/source.json": "1e21368c5e0c3013a110bd79a8fcff8ca46b5bcb2b561713a7273cbfcff7c464", - "https://bcr.bazel.build/modules/rules_img/0.3.8/MODULE.bazel": "93ff792a2461ab6b019a1b11a8bdd8fb2cf9e83182829de6dd4c8320c6ca7260", - "https://bcr.bazel.build/modules/rules_img/0.3.8/source.json": "91ac92821d38cb7b64a7dde8b7a4bc1412b57a7d0b0cc8076cf6fdf38d888424", + "https://bcr.bazel.build/modules/rules_img/0.3.11/MODULE.bazel": "85b9d7e2c5d83a321766dbc382c613c2399db680174bdfa32966f477989ee361", + "https://bcr.bazel.build/modules/rules_img/0.3.11/source.json": "fbde1bc544519df0fe254fa5c1be3b6189d44f548af3ee131935215ea6e8d078", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", @@ -214,6 +217,8 @@ "https://bcr.bazel.build/modules/rules_python/1.6.0/MODULE.bazel": "7e04ad8f8d5bea40451cf80b1bd8262552aa73f841415d20db96b7241bd027d8", "https://bcr.bazel.build/modules/rules_python/1.7.0/MODULE.bazel": "d01f995ecd137abf30238ad9ce97f8fc3ac57289c8b24bd0bf53324d937a14f8", "https://bcr.bazel.build/modules/rules_python/1.7.0/source.json": "028a084b65dcf8f4dc4f82f8778dbe65df133f234b316828a82e060d81bdce32", + "https://bcr.bazel.build/modules/rules_runfiles_group/0.0.1-rc.5/MODULE.bazel": "8e124a40a5a00e7ae8a103e2bdfea636392bc4ae7a26f416a07dfc41f3216cc9", + "https://bcr.bazel.build/modules/rules_runfiles_group/0.0.1-rc.5/source.json": "32efc01a4b29cbb5b2b97fd1f7d6025e68eb20eea498f1127b068082e315d6cf", "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", "https://bcr.bazel.build/modules/rules_shell/0.3.0/MODULE.bazel": "de4402cd12f4cc8fda2354fce179fdb068c0b9ca1ec2d2b17b3e21b24c1a937b", "https://bcr.bazel.build/modules/rules_shell/0.4.1/MODULE.bazel": "00e501db01bbf4e3e1dd1595959092c2fadf2087b2852d3f553b5370f5633592", @@ -742,162 +747,162 @@ "27bab004c72b3d7bd05a69b6ec0fc54a309b4b78cc569dd963d8b3ec28bfdb8c" ] }, - "1.26.2": { + "1.26.3": { "aix_ppc64": [ - "go1.26.2.aix-ppc64.tar.gz", - "e6f759fbdd5b1e3ecce3161d8bd9b9aeaf15c4112b7c101097e9d329b310d858" + "go1.26.3.aix-ppc64.tar.gz", + "9fd8b45c4aa58fa6adf7f347343a3b50c02b17a4b5c43381dd9bf87be563183d" ], "darwin_amd64": [ - "go1.26.2.darwin-amd64.tar.gz", - "bc3f1500d9968c36d705442d90ba91addf9271665033748b82532682e90a7966" + "go1.26.3.darwin-amd64.tar.gz", + "278d580b32e299fe4a9c990fcf2d02acfe538c7e551a6ee18f9c7164573d2c63" ], "darwin_arm64": [ - "go1.26.2.darwin-arm64.tar.gz", - "32af1522bf3e3ff3975864780a429cc0b41d190ec7bf90faa661d6d64566e7af" + "go1.26.3.darwin-arm64.tar.gz", + "875cf54a15311eee2c99b9dd67c68c4a49351d489ab622bf2cfd28c8f2078d3c" ], "dragonfly_amd64": [ - "go1.26.2.dragonfly-amd64.tar.gz", - "b4f3f74412914e54140cbf8b5c76d2f8eeff3a5003310c9244c61ba8a0ecd94b" + "go1.26.3.dragonfly-amd64.tar.gz", + "6bfeaae407b12affd477cd48674e51d34931b6d98afc59de0f50ef93523ea4bf" ], "freebsd_386": [ - "go1.26.2.freebsd-386.tar.gz", - "fab09ea1988aae3ae2c8186455e8956d539d04e2ee4973e8887853432d0e8039" + "go1.26.3.freebsd-386.tar.gz", + "270df83863a4fbeb716565e91915f54af4ed911ec503651fbce6c14f9e00018c" ], "freebsd_amd64": [ - "go1.26.2.freebsd-amd64.tar.gz", - "f271fd829a2a6b36fa1c72cdaafb18410a106da982c93a626d4e8b0fa0f0fa21" + "go1.26.3.freebsd-amd64.tar.gz", + "2a5a3b0265f24cdf3878bbab19bb1086f71ae5d29566f238214847d1e3745b4e" ], "freebsd_arm": [ - "go1.26.2.freebsd-arm.tar.gz", - "38713f1516cd2b0097ea05594ec1c842fe690dace8301c7d34d91b92250b4424" + "go1.26.3.freebsd-arm.tar.gz", + "db3700f0173ef7d15b96b4a2fa34c7fce90455e3125491183d751c9270b63d96" ], "freebsd_arm64": [ - "go1.26.2.freebsd-arm64.tar.gz", - "d78bb171900134efdd1d0d49e5e80cd8c8b614f0e46c508d0b6bac30fb996fdf" + "go1.26.3.freebsd-arm64.tar.gz", + "07431d472522d3e3b9fce3f5d1ea825e2fbb14d7b0b7fbfa548726654217127c" ], "illumos_amd64": [ - "go1.26.2.illumos-amd64.tar.gz", - "e88cd85e9e253ceda4077367072aa10d2f92bc2fa6e59a811c00bbe95dc9b02d" + "go1.26.3.illumos-amd64.tar.gz", + "2c5bc6a2c7c43e09a91b19117fa18ce9012393a9f42fc0d153cad345fd328dad" ], "linux_386": [ - "go1.26.2.linux-386.tar.gz", - "89835cdc4dfebde7fe28c9c6dc080bb3753f6b0354301966ff9f62d14991bd7d" + "go1.26.3.linux-386.tar.gz", + "0ef3626a149b5811c813838c62b7d6618d03ea36047b32c90b0e4851cc42b1fa" ], "linux_amd64": [ - "go1.26.2.linux-amd64.tar.gz", - "990e6b4bbba816dc3ee129eaeaf4b42f17c2800b88a2166c265ac1a200262282" + "go1.26.3.linux-amd64.tar.gz", + "2b2cfc7148493da5e73981bffbf3353af381d5f93e789c82c79aff64962eb556" ], "linux_arm64": [ - "go1.26.2.linux-arm64.tar.gz", - "c958a1fe1b361391db163a485e21f5f228142d6f8b584f6bef89b26f66dc5b23" + "go1.26.3.linux-arm64.tar.gz", + "9d89a3ea57d141c2b22d70083f2c8459ba3890f2d9e818e7e933b75614936565" ], "linux_armv6l": [ - "go1.26.2.linux-armv6l.tar.gz", - "0000e45577827b0a8868588c543cbe4232853def1d3d7a344ad6e60ce2b015c8" + "go1.26.3.linux-armv6l.tar.gz", + "d44133d4c66b1451a1e247da26db7716f76a081c0169a75e6c84e1871e394320" ], "linux_loong64": [ - "go1.26.2.linux-loong64.tar.gz", - "4dcb87e845fe5c015c8cf6affb4636fcf1699182b70454783caed85c5dfa3267" + "go1.26.3.linux-loong64.tar.gz", + "05215802b85a33dcfdb933a6c3ab881f4f0405587ee6581d33f34cc5c2ab740c" ], "linux_mips": [ - "go1.26.2.linux-mips.tar.gz", - "2d57e4167932a4872e31570465f48d8b6818002c77275bae969bdbb6d7238b5e" + "go1.26.3.linux-mips.tar.gz", + "76800ce7007d5eacabfe25d038e0a99e73a0fb70c4dd13f8a9662045fb4a52a7" ], "linux_mips64": [ - "go1.26.2.linux-mips64.tar.gz", - "b0b49bb5c528e623a926b8242f03cfd612971150e18eeb3f638d751218c09cdf" + "go1.26.3.linux-mips64.tar.gz", + "f2c755d17c6834dd3ae805d815a1b9e2eda66375de6ca910efb903a257ff3a3d" ], "linux_mips64le": [ - "go1.26.2.linux-mips64le.tar.gz", - "5ffc9da2b0ee939c8503c9d9278d6857909ca8577dae3b71221ab2821dc7826a" + "go1.26.3.linux-mips64le.tar.gz", + "54f7b00bf2d5cf4b21734cc8eb3c61c51a76177d3d20cd667e4b1ba8fb3343d5" ], "linux_mipsle": [ - "go1.26.2.linux-mipsle.tar.gz", - "ab1fe1c38ffa6bbda029dea33bf36167aca4ff3a25c9d6ed0af38da120678ddc" + "go1.26.3.linux-mipsle.tar.gz", + "31f7d8c886136b725d36880f6ee16fe22a7243751839a2de2ea2da3cb4fd3fe1" ], "linux_ppc64": [ - "go1.26.2.linux-ppc64.tar.gz", - "589f7ef241104f153e910244b71d70f4aad0d4584651ca80a5188186dda63a2e" + "go1.26.3.linux-ppc64.tar.gz", + "459746b1b06eb24836d1e4699c6568220c95e82de9b1b155c74eb4fdfd711532" ], "linux_ppc64le": [ - "go1.26.2.linux-ppc64le.tar.gz", - "62b7645dd2404052535617c59e91cf03c7aa28e332dbaddbe4c0d7de7bcc6736" + "go1.26.3.linux-ppc64le.tar.gz", + "dbd82b50530ead2beb1fd72215117380df3cb16332b51467116dc35b3691dd75" ], "linux_riscv64": [ - "go1.26.2.linux-riscv64.tar.gz", - "c5c697faa4dc05364b6e163d2ab8161b32a120eeed54192457d57d7ef7c2091a" + "go1.26.3.linux-riscv64.tar.gz", + "3b8fd5112340b72587e42c619f43270f1bc21f63cfdb587e6b72e0336580727c" ], "linux_s390x": [ - "go1.26.2.linux-s390x.tar.gz", - "410726ed10a0ea6745c2ea8da4f0e769fd3ce819cd4a41a67ad08b094d5dfc31" + "go1.26.3.linux-s390x.tar.gz", + "5c0605b7175449f1c8e8cb02efaba2695caab914fad4dcedc764c2f4c6dfe6ca" ], "netbsd_386": [ - "go1.26.2.netbsd-386.tar.gz", - "e8ffab99dd65fef14097d6af48ea6302793f2298a7b2e5f00a284bd933feba4c" + "go1.26.3.netbsd-386.tar.gz", + "15c74255bb23fe9690faac4e489c654cea35d5059a59744e0afd0f78a29a6e53" ], "netbsd_amd64": [ - "go1.26.2.netbsd-amd64.tar.gz", - "1f5c33c923983ee8433ad8098dcd87a0e1fdccd18d05a91844c2be60507a61fe" + "go1.26.3.netbsd-amd64.tar.gz", + "a622ef5f3a6d42661ca75bdc939d8cb0468bb1a4418755b6d8c1b4acb82dd03c" ], "netbsd_arm": [ - "go1.26.2.netbsd-arm.tar.gz", - "85761320e364b65424d2952a3388970d86e072c8dce8dcad2a1dca41555c2b96" + "go1.26.3.netbsd-arm.tar.gz", + "696df9d8562ac0118c3b8fd6578978d1c4e35583fe2d655e18b6520da7508ec9" ], "netbsd_arm64": [ - "go1.26.2.netbsd-arm64.tar.gz", - "3ca3561bf4452e799d11e5312182f79cd342d506136cd44c2b47991206ec23f5" + "go1.26.3.netbsd-arm64.tar.gz", + "faca070ad7866db5f5a085fe4380408394e2427e093e9770146620c0db508251" ], "openbsd_386": [ - "go1.26.2.openbsd-386.tar.gz", - "0644073c0ae1ade26d26953ef882d7d419855dca25b0e992ae416a47967d37b3" + "go1.26.3.openbsd-386.tar.gz", + "a29ad1b1f1a0a3a0f7e70a579f8ab1a26c03778bdcae4f58bd5a29f303104af9" ], "openbsd_amd64": [ - "go1.26.2.openbsd-amd64.tar.gz", - "72f69217a88e3d0975a75adf9fc92ff10ea65def56e6c34d8612428bf769581e" + "go1.26.3.openbsd-amd64.tar.gz", + "b2d952b8f0b74a6d2c1a01251aca75ec8eb00a505ebc993f192b792c6762c800" ], "openbsd_arm": [ - "go1.26.2.openbsd-arm.tar.gz", - "3aafe792df65abf1777b5cc678075ebba1bd8063e6450e81e742fef696e0bcbd" + "go1.26.3.openbsd-arm.tar.gz", + "1038789f09e31a6b7b5cd7a5e5b3f65cb88ceefb68e34875a7e41b1a28fe2fb7" ], "openbsd_arm64": [ - "go1.26.2.openbsd-arm64.tar.gz", - "efd410fc60a17690ad43fe8dd00bf1fd4c1dc920d81970b9f422f313b0930b92" + "go1.26.3.openbsd-arm64.tar.gz", + "1e2df1dc7a4af8bf2a937e7641f300b855bf12bb84a01c44d00a2d68ec18ce26" ], "openbsd_ppc64": [ - "go1.26.2.openbsd-ppc64.tar.gz", - "98a2cadd416066739e00b1bc297727c3108dba9001811b177ce57afef518f8bd" + "go1.26.3.openbsd-ppc64.tar.gz", + "42ac85fff0f26a1121ba94d7677f6c51cf3d92b53ad2980e54d80f0b196d57a9" ], "openbsd_riscv64": [ - "go1.26.2.openbsd-riscv64.tar.gz", - "adf39a1a7e56d5c1a2cb69ad06752c5da6b808d2a029b7b6d6d5bb6e11a2168e" + "go1.26.3.openbsd-riscv64.tar.gz", + "c3ada901258530e4ccb58d58537fb9203733ef76155e589125fd2de2e33e857a" ], "plan9_386": [ - "go1.26.2.plan9-386.tar.gz", - "eb2f95f6f43701eb98a31f5efdd9b5f14ff6e0afd289e1f94559462f83e73cfd" + "go1.26.3.plan9-386.tar.gz", + "0c5ee46c1345f16edb9ed7317050c20178fdb2b67f0adc2d7f5cf9339147bee5" ], "plan9_amd64": [ - "go1.26.2.plan9-amd64.tar.gz", - "d347fecec7532309fccf3570021ba8a00a0acce120fea02a46cc295936588b0f" + "go1.26.3.plan9-amd64.tar.gz", + "d672908489ef1982b63110597e1804656a5a9519544337af382233a171a1c96e" ], "plan9_arm": [ - "go1.26.2.plan9-arm.tar.gz", - "70700c5af45201a8e82436fb824f3551e357e3002094c8416e78e1aa51d4a0ab" + "go1.26.3.plan9-arm.tar.gz", + "8ff8f45a52b4900febf8ecf0aa9ac0d49233c76fa4efe405e6ff0d81a6a50749" ], "solaris_amd64": [ - "go1.26.2.solaris-amd64.tar.gz", - "cd45d13200697b3263e39cdf364f0cb9d9adc39d9574ab575e481b64cb7fb8b1" + "go1.26.3.solaris-amd64.tar.gz", + "e9c5eab8d081c57fad50895b99e18faf78cccbbe957dea231eba3a32c964d7e7" ], "windows_386": [ - "go1.26.2.windows-386.zip", - "4a8b02c34625fecd9c6583442101c9796fc265a5fc1edb9340d71bed0300f94c" + "go1.26.3.windows-386.zip", + "cefec7bd234f57dcc22e2ad2b2e98e45840d998770c5b10b22daddf728dc7cac" ], "windows_amd64": [ - "go1.26.2.windows-amd64.zip", - "98eb3570bade15cb826b0909338df6cc6d2cf590bc39c471142002db3832b708" + "go1.26.3.windows-amd64.zip", + "20d2ceafb4ed41b96b879010927b28bc92a5be57a7c1801ce365a9ca51d3224a" ], "windows_arm64": [ - "go1.26.2.windows-arm64.zip", - "094d05caaf6ba235e2bd570b625d064ceb65943866252722a8f3fdba232139c6" + "go1.26.3.windows-arm64.zip", + "95cd63bc6b0da77409ba819215afea9ddf5702c55a3b20af3dd90ea95c7b130c" ] } } From d1ba9f0a496e9ee02f25a52eb555a088f12f1cec Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 24 May 2026 10:29:52 +1000 Subject: [PATCH 359/381] fix: Use the default SystemCallFilter setting for systemd hardening. The custom list is underspecified, and causes `mtail` to crash before `main`. This change allows all the normal Go runtime system calls to execute. Also remove duplicate LockPersonality option. Fixes: #175 --- mtail.service | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mtail.service b/mtail.service index ec3d864bc..e73359734 100644 --- a/mtail.service +++ b/mtail.service @@ -19,7 +19,6 @@ AmbientCapabilities= CapabilityBoundingSet= KeyringMode=private LockPersonality=yes -LockPersonality=yes MemoryDenyWriteExecute=yes MountFlags=private NoNewPrivileges=yes @@ -40,7 +39,7 @@ RestrictNamespaces=yes RestrictRealtime=yes RestrictSUIDSGID=yes SystemCallArchitectures=native -SystemCallFilter=@basic-io @file-system @io-event @ipc @network-io @signal clone kill madvise setrlimit tgkill uname +SystemCallFilter=@default [Install] WantedBy=multi-user.target From 1071d7643447cccdbad77cc62d3197972d05ee3d Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 24 May 2026 13:36:49 +1000 Subject: [PATCH 360/381] doc: Add instructions for analysing memory allocations. Show how to simulate production load and profile `mtail` memory. Issue: #390 --- docs/Troubleshooting.md | 78 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 70 insertions(+), 8 deletions(-) diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md index 78cb74a4f..d30c9d31f 100644 --- a/docs/Troubleshooting.md +++ b/docs/Troubleshooting.md @@ -73,20 +73,20 @@ or a memory profile: There are many good guides on using the profiling tool: - * https://software.intel.com/en-us/blogs/2014/05/10/debugging-performance-issues-in-go-programs is one such guide. +* https://software.intel.com/en-us/blogs/2014/05/10/debugging-performance-issues-in-go-programs is one such guide. The goroutine stack dump can also help explain what is happening at the moment. http://localhost:3903/debug/pprof/goroutine?debug=2 shows the full goroutine stack dump. - * `(*Watcher).readEvents` reads events from the filesystem - * `(*Tailer).run` processes log change events; `.read` reads the latest log lines - * `(*Loader).processEvents` handles filesystem event changes regarding new program text - * `(*Loader).processLines` handles new lines coming from the log tailer - * `(*MtailServer).WaitForShutdown` waits for the other components to terminate - * `(*Exporter).StartMetricPush` exists if there are any push collectors (e.g. Graphite) to push to - * `(*Exporter).HandlePrometheusMetrics` exists if an existing Prometheus pull collection is going on +* `(*Watcher).readEvents` reads events from the filesystem +* `(*Tailer).run` processes log change events; `.read` reads the latest log lines +* `(*Loader).processEvents` handles filesystem event changes regarding new program text +* `(*Loader).processLines` handles new lines coming from the log tailer +* `(*MtailServer).WaitForShutdown` waits for the other components to terminate +* `(*Exporter).StartMetricPush` exists if there are any push collectors (e.g. Graphite) to push to +* `(*Exporter).HandlePrometheusMetrics` exists if an existing Prometheus pull collection is going on There is one `(*VM).Run` stack per program. These are opaque to the goroutine stack dump as they execute the bytecode. However, the second argument to `Run` @@ -100,6 +100,68 @@ Obvious problems seen in the goroutine stack dump are long-waiting goroutines, u minutes]:`) which usually also manifest as a logjam (no pun intended) in the loader, tailer, and watcher goroutines (in state 'chan send'). +### Simulating production for memory profiling + +To analyse memory allocations under realistic load: + +1. Build mtail: + ``` + bazel build //cmd/mtail + ``` + +2. Start mtail with example programs and a temporary log file: + ``` + touch /tmp/mtail_pprof_log + bazel-bin/cmd/mtail/mtail_/mtail \ + --progs examples/ \ + --logs /tmp/mtail_pprof_log \ + --poll_interval 50ms \ + --logtostderr \ + --stderrthreshold 0 & + ``` + +3. Feed test log data in a loop to simulate continuous traffic: + ``` + while true; do + cat internal/mtail/testdata/*.log >> /tmp/mtail_pprof_log + sleep 6 + done & + ``` + +4. Capture an allocation profile with `go tool pprof`: + ``` + go tool pprof -alloc_space -top \ + http://localhost:3903/debug/pprof/allocs + ``` + Use `-seconds 30` for a delta profile (allocations within a 30 s window), + or omit it for a cumulative profile since process start. + +5. Drill into specific functions: + ``` + go tool pprof -alloc_space -list 'ProcessLogLine' \ + http://localhost:3903/debug/pprof/allocs + go tool pprof -alloc_space -peek 'execute' \ + http://localhost:3903/debug/pprof/allocs + ``` + +### Known allocation hot spots + +As of v3.2.52, the cumulative `alloc_space` profile shows that roughly 60 % of +heap allocations occur on the per-log-line hot path in `ProcessLogLine` and +`execute` (`internal/runtime/vm/vm.go`). + +| Function | Flat alloc | Key lines | +|---|---|---| +| `VM.ProcessLogLine` | ~28 % | `v.t = new(thread)` (4.5 MB) — new thread per line; `t.matches = make(...)` (12.5 MB) — match map per line | +| `VM.execute` | ~17 % | `t.matches[index] = v.re[index].FindStringSubmatch(...)` (7 MB) — regex submatch allocations inside `code.Match` | +| `Runtime.CompileAndRun` | ~9 % | One-shot startup cost from program loading, parsing, type checking, and code generation | + +The single biggest allocation is `t.matches = make(map[int][]string, len(v.re))` +in `ProcessLogLine`: a pre-sized map to hold regex capture group results, +recreated from scratch on every log line. An object pool (`sync.Pool`) for +`thread` structs and their match maps would eliminate the bulk of hot-path +allocations. + ## Distributed Tracing `mtail` can export traces to the [Jaeger](https://www.jaegertracing.io/) trace collector. Specify the Jaeger endpoint with the `--jaeger_endpoint` flag From d0fd84f644dbae4913ec1f12cb141ca2f9d6779a Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 24 May 2026 13:40:23 +1000 Subject: [PATCH 361/381] refactor: Use a memory pool to avoid reallocating thread memory. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every log line we allocated and then released memory for the thread struct in the VM. This is costly in CPU because of the GC churn required. Instead, allocate from a pool which will reuse the memory already allocated. The per-log-line allocation of threads is now eliminated. | Metric | Before (no pool) | After (sync.Pool) | Change | |---|---|---|---| | **Total cumulative alloc_space** | ~60 MB | **~16–19 MB** | **~3× reduction** | | `VM.ProcessLogLine` **flat** | 17.0 MB (28%) | **0 MB** | eliminated | | `VM.execute` **flat** | 7.5 MB (13.7%) | **0.5 MB** (3%) | ~15× reduction | | Pool init (`New.func1`) | — | 2.5 MB | one-time cost | Issue: #390 --- internal/runtime/vm/vm.go | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/internal/runtime/vm/vm.go b/internal/runtime/vm/vm.go index 2ea65aea0..f0c203792 100644 --- a/internal/runtime/vm/vm.go +++ b/internal/runtime/vm/vm.go @@ -63,6 +63,8 @@ type VM struct { timeMemos *lru.Cache // memo of time string parse results + threadPool sync.Pool // pool of re-used thread structs + t *thread // Current thread of execution input *logline.LogLine // Log line input to this round of execution. @@ -966,13 +968,20 @@ func (v *VM) ProcessLogLine(_ context.Context, line *logline.LogLine) { }() defer func() { v.input = nil - v.t = nil + if v.t != nil { + v.t.pc = 0 + v.t.matched = false + v.t.time = time.Time{} + v.t.stack = v.t.stack[:0] + for k := range v.t.matches { + delete(v.t.matches, k) + } + v.threadPool.Put(v.t) + v.t = nil + } }() - v.t = new(thread) - v.t.matched = false + v.t = v.threadPool.Get().(*thread) v.input = line - v.t.stack = make([]interface{}, 0) - v.t.matches = make(map[int][]string, len(v.re)) for { if v.t.pc >= len(v.prog) { return @@ -1003,6 +1012,14 @@ func New(name string, obj *code.Object, syslogUseCurrentYear bool, loc *time.Loc syslogUseCurrentYear: syslogUseCurrentYear, loc: loc, logRuntimeErrors: log, + threadPool: sync.Pool{ + New: func() any { + return &thread{ + matches: make(map[int][]string, len(obj.Regexps)), + stack: make([]interface{}, 0), + } + }, + }, } if trace { v.trace = make([]int, 0, len(v.prog)) From 8985f21fdcada00b6ac23d0e548b5e9a6af13037 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 24 May 2026 14:35:23 +1000 Subject: [PATCH 362/381] refactor: Store the indices of the capture groups instead of strings. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This avoids about 2MB of result allocations per regexp match. `regexp.FindStringSubmatch` returns `[]string` — a new slice **plus N+1 new string allocations** (one for the full match, one per capture group). Each string copies its data from the original log line onto the heap. On a typical dhcpd log line with 7 capture groups, that's 8 separate heap-allocated strings per match. `regexp.FindStringSubmatchIndex` returns `[]int` — a single flat slice of byte-position pairs. No string data is copied. The original text is kept alive by a `matchResult.text` reference, and capture groups are read on demand via `text[indices[2*n]:indices[2*n+1]]`, which creates only a lightweight string header (no data copy). An alternation like `(group_a|group_b)` produces index pair `{-1, -1}` for the unmatched branch. With the old `FindStringSubmatch` this came back as `""` (a valid empty string). The index-based code would panic on a negative slice bound, so the new `captureGroup` method checks for `-1` and returns `""` explicitly. Issue: #390 --- internal/runtime/vm/vm.go | 52 +++++++++---- internal/runtime/vm/vm_test.go | 130 ++++++++++++++++----------------- 2 files changed, 103 insertions(+), 79 deletions(-) diff --git a/internal/runtime/vm/vm.go b/internal/runtime/vm/vm.go index f0c203792..6bd7277f2 100644 --- a/internal/runtime/vm/vm.go +++ b/internal/runtime/vm/vm.go @@ -41,12 +41,24 @@ var ( }, []string{"prog"}) ) +type matchResult struct { + text string + indices []int +} + +func (m matchResult) captureGroup(n int) string { + if m.indices[2*n] == -1 { + return "" + } + return m.text[m.indices[2*n]:m.indices[2*n+1]] +} + type thread struct { - pc int // Program counter. - matched bool // Flag set if any match has been found. - matches map[int][]string // Match result variables. - time time.Time // Time register. - stack []interface{} // Data stack. + pc int // Program counter. + matched bool // Flag set if any match has been found. + matches map[int]matchResult // Match result variables, accessed as text[indices[n]:indices[n+1]]. + time time.Time // Time register. + stack []interface{} // Data stack. } // VM describes the virtual machine for each program. It contains virtual @@ -360,8 +372,11 @@ func (v *VM) execute(t *thread, i code.Instr) { // Store the results in the operandth element of the stack, // where i.opnd == the matched re index index := i.Operand.(int) - t.matches[index] = v.re[index].FindStringSubmatch(v.input.Line) - t.Push(t.matches[index] != nil) + t.matches[index] = matchResult{ + text: v.input.Line, + indices: v.re[index].FindStringSubmatchIndex(v.input.Line), + } + t.Push(t.matches[index].indices != nil) case code.Smatch: // match regex against item on the stack @@ -371,8 +386,11 @@ func (v *VM) execute(t *thread, i code.Instr) { v.errorf("+%v", err) return } - t.matches[index] = v.re[index].FindStringSubmatch(line) - t.Push(t.matches[index] != nil) + t.matches[index] = matchResult{ + text: line, + indices: v.re[index].FindStringSubmatchIndex(line), + } + t.Push(t.matches[index].indices != nil) case code.Cmp: // Compare two elements on the stack. @@ -580,7 +598,8 @@ func (v *VM) execute(t *thread, i code.Instr) { } re := int(val) // Store the result from the re'th index at the s'th index - ts = t.matches[re][s] + m := t.matches[re] + ts = m.captureGroup(s) } if cached, ok := v.timeMemos.Get(ts); !ok { tm := v.ParseTime(layout, ts) @@ -624,11 +643,16 @@ func (v *VM) execute(t *thread, i code.Instr) { v.errorf("Invalid operand %v, not an int", i.Operand) return } - if len(t.matches[re]) <= op { - v.errorf("Not enough capture groups matched from %v to select %dth", t.matches[re], op) + m, ok := t.matches[re] + if !ok { + v.errorf("No match result for regex index %d", re) + return + } + if len(m.indices) < 2*(op+1) { + v.errorf("Not enough capture groups matched from %d indices to select %dth", len(m.indices)/2, op) return } - t.Push(t.matches[re][op]) + t.Push(m.captureGroup(op)) case code.Str: // Put a string constant onto the stack @@ -1015,7 +1039,7 @@ func New(name string, obj *code.Object, syslogUseCurrentYear bool, loc *time.Loc threadPool: sync.Pool{ New: func() any { return &thread{ - matches: make(map[int][]string, len(obj.Regexps)), + matches: make(map[int]matchResult, len(obj.Regexps)), stack: make([]interface{}, 0), } }, diff --git a/internal/runtime/vm/vm_test.go b/internal/runtime/vm/vm_test.go index a2a8d00c0..9801fac56 100644 --- a/internal/runtime/vm/vm_test.go +++ b/internal/runtime/vm/vm_test.go @@ -36,7 +36,7 @@ var instructions = []struct { []string{}, []interface{}{}, []interface{}{true}, - thread{pc: 0, matches: map[int][]string{0: {"aaaab"}}}, + thread{pc: 0, matches: map[int]matchResult{0: {text: "aaaab", indices: []int{0, 5}}}}, }, { "cmp lt", @@ -45,7 +45,7 @@ var instructions = []struct { []string{}, []interface{}{1, "2"}, []interface{}{true}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "cmp eq", @@ -54,7 +54,7 @@ var instructions = []struct { []string{}, []interface{}{"2", "2"}, []interface{}{true}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "cmp gt", @@ -63,7 +63,7 @@ var instructions = []struct { []string{}, []interface{}{2, 1}, []interface{}{true}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "cmp le", @@ -72,7 +72,7 @@ var instructions = []struct { []string{}, []interface{}{2, "2"}, []interface{}{false}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "cmp ne", @@ -81,7 +81,7 @@ var instructions = []struct { []string{}, []interface{}{"1", "2"}, []interface{}{false}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "cmp ge", @@ -90,7 +90,7 @@ var instructions = []struct { []string{}, []interface{}{2, 2}, []interface{}{false}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "cmp gt float float", @@ -99,7 +99,7 @@ var instructions = []struct { []string{}, []interface{}{"2.0", "1.0"}, []interface{}{true}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "cmp gt float int", @@ -108,7 +108,7 @@ var instructions = []struct { []string{}, []interface{}{"1.0", "2"}, []interface{}{false}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "cmp gt int float", @@ -117,7 +117,7 @@ var instructions = []struct { []string{}, []interface{}{"1", "2.0"}, []interface{}{false}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "cmp eq string string false", @@ -126,7 +126,7 @@ var instructions = []struct { []string{}, []interface{}{"abc", "def"}, []interface{}{false}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "cmp eq string string true", @@ -135,7 +135,7 @@ var instructions = []struct { []string{}, []interface{}{"abc", "abc"}, []interface{}{true}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "cmp gt float float", @@ -144,7 +144,7 @@ var instructions = []struct { []string{}, []interface{}{2.0, 1.0}, []interface{}{true}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "cmp gt float int", @@ -153,7 +153,7 @@ var instructions = []struct { []string{}, []interface{}{1.0, 2}, []interface{}{false}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "cmp gt int float", @@ -162,7 +162,7 @@ var instructions = []struct { []string{}, []interface{}{1, 2.0}, []interface{}{false}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "jnm", @@ -171,7 +171,7 @@ var instructions = []struct { []string{}, []interface{}{false}, []interface{}{}, - thread{pc: 37, matches: map[int][]string{}}, + thread{pc: 37, matches: map[int]matchResult{}}, }, { "jm", @@ -180,7 +180,7 @@ var instructions = []struct { []string{}, []interface{}{false}, []interface{}{}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "jmp", @@ -189,7 +189,7 @@ var instructions = []struct { []string{}, []interface{}{}, []interface{}{}, - thread{pc: 37, matches: map[int][]string{}}, + thread{pc: 37, matches: map[int]matchResult{}}, }, { "strptime", @@ -200,7 +200,7 @@ var instructions = []struct { []interface{}{}, thread{ pc: 0, time: time.Date(2012, 1, 18, 6, 25, 0, 0, time.UTC), - matches: map[int][]string{}, + matches: map[int]matchResult{}, }, }, { @@ -210,7 +210,7 @@ var instructions = []struct { []string{}, []interface{}{2, 1}, []interface{}{int64(3)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "isub", @@ -219,7 +219,7 @@ var instructions = []struct { []string{}, []interface{}{2, 1}, []interface{}{int64(1)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "imul", @@ -228,7 +228,7 @@ var instructions = []struct { []string{}, []interface{}{2, 1}, []interface{}{int64(2)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "idiv", @@ -237,7 +237,7 @@ var instructions = []struct { []string{}, []interface{}{4, 2}, []interface{}{int64(2)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "imod", @@ -246,7 +246,7 @@ var instructions = []struct { []string{}, []interface{}{4, 2}, []interface{}{int64(0)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "imod 2", @@ -255,7 +255,7 @@ var instructions = []struct { []string{}, []interface{}{3, 2}, []interface{}{int64(1)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "tolower", @@ -264,7 +264,7 @@ var instructions = []struct { []string{}, []interface{}{"mIxeDCasE"}, []interface{}{"mixedcase"}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "length", @@ -273,7 +273,7 @@ var instructions = []struct { []string{}, []interface{}{"1234"}, []interface{}{4}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "length 0", @@ -282,7 +282,7 @@ var instructions = []struct { []string{}, []interface{}{""}, []interface{}{0}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "shl", @@ -291,7 +291,7 @@ var instructions = []struct { []string{}, []interface{}{2, 1}, []interface{}{int64(4)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "shr", @@ -300,7 +300,7 @@ var instructions = []struct { []string{}, []interface{}{2, 1}, []interface{}{int64(1)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "and", @@ -309,7 +309,7 @@ var instructions = []struct { []string{}, []interface{}{2, 1}, []interface{}{int64(0)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "or", @@ -318,7 +318,7 @@ var instructions = []struct { []string{}, []interface{}{2, 1}, []interface{}{int64(3)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "xor", @@ -327,7 +327,7 @@ var instructions = []struct { []string{}, []interface{}{2, 1}, []interface{}{int64(3)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "xor 2", @@ -336,7 +336,7 @@ var instructions = []struct { []string{}, []interface{}{2, 3}, []interface{}{int64(1)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "xor 3", @@ -345,7 +345,7 @@ var instructions = []struct { []string{}, []interface{}{-1, 3}, []interface{}{int64(^3)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "neg", @@ -354,7 +354,7 @@ var instructions = []struct { []string{}, []interface{}{0}, []interface{}{int64(-1)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "not", @@ -363,7 +363,7 @@ var instructions = []struct { []string{}, []interface{}{false}, []interface{}{true}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "pow", @@ -372,7 +372,7 @@ var instructions = []struct { []string{}, []interface{}{2, 2}, []interface{}{int64(4)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "s2i pop", @@ -381,7 +381,7 @@ var instructions = []struct { []string{}, []interface{}{"ff", 16}, []interface{}{int64(255)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "s2i", @@ -390,7 +390,7 @@ var instructions = []struct { []string{}, []interface{}{"190"}, []interface{}{int64(190)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "s2f", @@ -399,7 +399,7 @@ var instructions = []struct { []string{}, []interface{}{"1.0"}, []interface{}{float64(1.0)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "i2f", @@ -408,7 +408,7 @@ var instructions = []struct { []string{}, []interface{}{1}, []interface{}{float64(1.0)}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "settime", @@ -417,7 +417,7 @@ var instructions = []struct { []string{}, []interface{}{int64(0)}, []interface{}{}, - thread{pc: 0, time: time.Unix(0, 0).UTC(), matches: map[int][]string{}}, + thread{pc: 0, time: time.Unix(0, 0).UTC(), matches: map[int]matchResult{}}, }, { "push int", @@ -426,7 +426,7 @@ var instructions = []struct { []string{}, []interface{}{}, []interface{}{1}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "push float", @@ -435,7 +435,7 @@ var instructions = []struct { []string{}, []interface{}{}, []interface{}{1.0}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "setmatched false", @@ -444,7 +444,7 @@ var instructions = []struct { []string{}, []interface{}{}, []interface{}{}, - thread{matched: false, pc: 0, matches: map[int][]string{}}, + thread{matched: false, pc: 0, matches: map[int]matchResult{}}, }, { "setmatched true", @@ -453,7 +453,7 @@ var instructions = []struct { []string{}, []interface{}{}, []interface{}{}, - thread{matched: true, pc: 0, matches: map[int][]string{}}, + thread{matched: true, pc: 0, matches: map[int]matchResult{}}, }, { "otherwise", @@ -462,7 +462,7 @@ var instructions = []struct { []string{}, []interface{}{}, []interface{}{true}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "fadd", @@ -471,7 +471,7 @@ var instructions = []struct { []string{}, []interface{}{1.0, 2.0}, []interface{}{3.0}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "fsub", @@ -480,7 +480,7 @@ var instructions = []struct { []string{}, []interface{}{1.0, 2.0}, []interface{}{-1.0}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "fmul", @@ -489,7 +489,7 @@ var instructions = []struct { []string{}, []interface{}{1.0, 2.0}, []interface{}{2.0}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "fdiv", @@ -498,7 +498,7 @@ var instructions = []struct { []string{}, []interface{}{1.0, 2.0}, []interface{}{0.5}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "fmod", @@ -507,7 +507,7 @@ var instructions = []struct { []string{}, []interface{}{1.0, 2.0}, []interface{}{1.0}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "fpow", @@ -516,7 +516,7 @@ var instructions = []struct { []string{}, []interface{}{2.0, 2.0}, []interface{}{4.0}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "getfilename", @@ -525,7 +525,7 @@ var instructions = []struct { []string{}, []interface{}{}, []interface{}{testFilename}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "i2s", @@ -534,7 +534,7 @@ var instructions = []struct { []string{}, []interface{}{1}, []interface{}{"1"}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "f2s", @@ -543,7 +543,7 @@ var instructions = []struct { []string{}, []interface{}{3.1}, []interface{}{"3.1"}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "cat", @@ -552,7 +552,7 @@ var instructions = []struct { []string{}, []interface{}{"first", "second"}, []interface{}{"firstsecond"}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "icmp gt false", @@ -561,7 +561,7 @@ var instructions = []struct { []string{}, []interface{}{1, 2}, []interface{}{false}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "fcmp gt false", @@ -570,7 +570,7 @@ var instructions = []struct { []string{}, []interface{}{1.0, 2.0}, []interface{}{false}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "scmp eq false", @@ -579,7 +579,7 @@ var instructions = []struct { []string{}, []interface{}{"abc", "def"}, []interface{}{false}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, { "subst", @@ -588,7 +588,7 @@ var instructions = []struct { []string{}, []interface{}{"aa" /*old*/, "a" /*new*/, "caat"}, []interface{}{"cat"}, - thread{pc: 0, matches: map[int][]string{}}, + thread{pc: 0, matches: map[int]matchResult{}}, }, } @@ -612,7 +612,7 @@ func TestInstrs(t *testing.T) { for _, item := range tc.reversedStack { v.t.Push(item) } - v.t.matches = make(map[int][]string) + v.t.matches = make(map[int]matchResult) v.input = logline.New(context.Background(), testFilename, logline.GetHash(testFilename), "aaaab") v.execute(v.t, tc.i) if v.terminate { @@ -623,7 +623,7 @@ func TestInstrs(t *testing.T) { tc.expectedThread.stack = tc.expectedStack - testutil.ExpectNoDiff(t, &tc.expectedThread, v.t, testutil.AllowUnexported(thread{})) + testutil.ExpectNoDiff(t, &tc.expectedThread, v.t, testutil.AllowUnexported(thread{}), testutil.AllowUnexported(matchResult{})) }) } } @@ -634,7 +634,7 @@ func makeVM(i code.Instr, m []*metrics.Metric) *VM { v := New("test", obj, true, nil, false, false) v.t = new(thread) v.t.stack = make([]interface{}, 0) - v.t.matches = make(map[int][]string) + v.t.matches = make(map[int]matchResult) v.input = logline.New(context.Background(), testFilename, logline.GetHash(testFilename), "aaaab") return v } From 6f9e0e781d60c5fd54fcf7f955cf34c53a0211d6 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 24 May 2026 15:54:33 +1000 Subject: [PATCH 363/381] test: Fix a race in testing logstream cancellation. The asynchronous drain goroutine `ExpectLinesReceivedNoDiff` provides no synchronisation point between the data write, and `cancel()`. Cancellation tests should always use a synchronous read from the lines channel. --- .../tailer/logstream/dgramstream_unix_test.go | 15 ++++++--------- .../tailer/logstream/fifostream_unix_test.go | 13 +++++++------ .../tailer/logstream/socketstream_unix_test.go | 17 +++++++---------- 3 files changed, 20 insertions(+), 25 deletions(-) diff --git a/internal/tailer/logstream/dgramstream_unix_test.go b/internal/tailer/logstream/dgramstream_unix_test.go index 48e3d8189..143624a86 100644 --- a/internal/tailer/logstream/dgramstream_unix_test.go +++ b/internal/tailer/logstream/dgramstream_unix_test.go @@ -98,25 +98,22 @@ func TestDgramStreamReadCompletedBecauseCancel(t *testing.T) { ds, err := logstream.New(ctx, &wg, waker, sockName, logstream.OneShotDisabled) testutil.FatalIfErr(t, err) - expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: sockName, Line: "1", Filenamehash: logline.GetHash(sockName)}, - } - checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, ds.Lines()) - s, err := net.Dial(scheme, addr) testutil.FatalIfErr(t, err) _, err = s.Write([]byte("1\n")) testutil.FatalIfErr(t, err) - // Yield to give the stream a chance to read. - time.Sleep(10 * time.Millisecond) + // Read from Lines to synchronise with the stream goroutine: this + // blocks until the stream has consumed the data, proving it read + // "1\n" from the socket before we cancel. + expected := &logline.LogLine{Context: context.TODO(), Filename: sockName, Line: "1", Filenamehash: logline.GetHash(sockName)} + received := <-ds.Lines() + testutil.ExpectNoDiff(t, expected, received, testutil.IgnoreFields(logline.LogLine{}, "Context")) cancel() // This cancellation should cause the stream to shut down. wg.Wait() - checkLineDiff() - if v := <-ds.Lines(); v != nil { t.Errorf("expecting dgramstream to be complete because cancel") } diff --git a/internal/tailer/logstream/fifostream_unix_test.go b/internal/tailer/logstream/fifostream_unix_test.go index 761ddbeb4..72a586704 100644 --- a/internal/tailer/logstream/fifostream_unix_test.go +++ b/internal/tailer/logstream/fifostream_unix_test.go @@ -80,18 +80,19 @@ func TestFifoStreamReadCompletedBecauseCancel(t *testing.T) { ps, err := logstream.New(ctx, &wg, waker, name, logstream.OneShotDisabled) testutil.FatalIfErr(t, err) - expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: name, Line: "1", Filenamehash: logline.GetHash(name)}, - } - checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, ps.Lines()) testutil.WriteString(t, f, "1\n") + // Read from Lines to synchronise with the stream goroutine: this + // blocks until the stream has consumed the data, proving it read "1\n" + // from the fifo before we cancel. + expected := &logline.LogLine{Context: context.TODO(), Filename: name, Line: "1", Filenamehash: logline.GetHash(name)} + received := <-ps.Lines() + testutil.ExpectNoDiff(t, expected, received, testutil.IgnoreFields(logline.LogLine{}, "Context")) + cancel() // Cancellation here should cause the stream to shut down. wg.Wait() - checkLineDiff() - if v := <-ps.Lines(); v != nil { t.Errorf("expecting pipestream to be complete because cancelled") } diff --git a/internal/tailer/logstream/socketstream_unix_test.go b/internal/tailer/logstream/socketstream_unix_test.go index 9c6a127c4..90688d90f 100644 --- a/internal/tailer/logstream/socketstream_unix_test.go +++ b/internal/tailer/logstream/socketstream_unix_test.go @@ -95,25 +95,22 @@ func TestSocketStreamReadCompletedBecauseCancel(t *testing.T) { ss, err := logstream.New(ctx, &wg, waker, sockName, logstream.OneShotDisabled) testutil.FatalIfErr(t, err) - expected := []*logline.LogLine{ - {Context: context.TODO(), Filename: sockName, Line: "1", Filenamehash: logline.GetHash(sockName)}, - } - checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, ss.Lines()) - s, err := net.Dial(scheme, addr) testutil.FatalIfErr(t, err) _, err = s.Write([]byte("1\n")) testutil.FatalIfErr(t, err) - // Yield to give the stream a chance to read. - time.Sleep(10 * time.Millisecond) + // Read from Lines to synchronise with the stream goroutine: this + // blocks until the stream has consumed the data, proving it read + // "1\n" from the socket before we cancel. + expected := &logline.LogLine{Context: context.TODO(), Filename: sockName, Line: "1", Filenamehash: logline.GetHash(sockName)} + received := <-ss.Lines() + testutil.ExpectNoDiff(t, expected, received, testutil.IgnoreFields(logline.LogLine{}, "Context")) - cancel() // This cancellation should cause the stream to shut down immediately. + cancel() // This cancellation should cause the stream to shut down. wg.Wait() - checkLineDiff() - if v := <-ss.Lines(); v != nil { t.Errorf("expecting socketstream to be complete because cancel") } From e32a34170e83ed0d093f437ef5ac5d25f51046d6 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sun, 24 May 2026 16:10:41 +1000 Subject: [PATCH 364/381] chore: Give all struct literals their keys. This stops an annoying lint complaint. --- internal/exporter/export_test.go | 2 +- internal/exporter/otel_test.go | 2 +- internal/exporter/prometheus_test.go | 2 +- internal/runtime/compiler/errors/errors.go | 2 +- internal/runtime/vm/vm_test.go | 168 ++++++++++----------- 5 files changed, 88 insertions(+), 88 deletions(-) diff --git a/internal/exporter/export_test.go b/internal/exporter/export_test.go index af9aadf7e..480aef1cd 100644 --- a/internal/exporter/export_test.go +++ b/internal/exporter/export_test.go @@ -130,7 +130,7 @@ func TestMetricToGraphite(t *testing.T) { testutil.ExpectNoDiff(t, expected, r) histogramMetric := metrics.NewMetric("hist", "prog", metrics.Histogram, metrics.Buckets, "xxx") - lv := &metrics.LabelValue{Labels: []string{"bar"}, Value: datum.MakeBuckets([]datum.Range{{0, 10}, {10, 20}}, time.Unix(0, 0))} + lv := &metrics.LabelValue{Labels: []string{"bar"}, Value: datum.MakeBuckets([]datum.Range{{Min: 0, Max: 10}, {Min: 10, Max: 20}}, time.Unix(0, 0))} histogramMetric.AppendLabelValue(lv) d, _ = histogramMetric.GetDatum("bar") datum.SetFloat(d, 1, ts) diff --git a/internal/exporter/otel_test.go b/internal/exporter/otel_test.go index 03cd14e56..9c729b8a3 100644 --- a/internal/exporter/otel_test.go +++ b/internal/exporter/otel_test.go @@ -254,7 +254,7 @@ var otelTestCases = []struct { Kind: metrics.Histogram, Type: metrics.Buckets, Keys: []string{"a"}, - LabelValues: []*metrics.LabelValue{{Labels: []string{"bar"}, Value: datum.MakeBuckets([]datum.Range{{0, 1}, {1, 2}}, time.Unix(0, 0))}}, + LabelValues: []*metrics.LabelValue{{Labels: []string{"bar"}, Value: datum.MakeBuckets([]datum.Range{{Min: 0, Max: 1}, {Min: 1, Max: 2}}, time.Unix(0, 0))}}, Source: "location.mtail:37", }, }, diff --git a/internal/exporter/prometheus_test.go b/internal/exporter/prometheus_test.go index b8d0330dd..ddf606b62 100644 --- a/internal/exporter/prometheus_test.go +++ b/internal/exporter/prometheus_test.go @@ -191,7 +191,7 @@ foo{prog="test1"} 1 Program: "test", Kind: metrics.Histogram, Keys: []string{"a"}, - LabelValues: []*metrics.LabelValue{{Labels: []string{"bar"}, Value: datum.MakeBuckets([]datum.Range{{0, 1}, {1, 2}}, time.Unix(0, 0))}}, + LabelValues: []*metrics.LabelValue{{Labels: []string{"bar"}, Value: datum.MakeBuckets([]datum.Range{{Min: 0, Max: 1}, {Min: 1, Max: 2}}, time.Unix(0, 0))}}, Source: "location.mtail:37", }, }, diff --git a/internal/runtime/compiler/errors/errors.go b/internal/runtime/compiler/errors/errors.go index a53fa611e..446bed8e6 100644 --- a/internal/runtime/compiler/errors/errors.go +++ b/internal/runtime/compiler/errors/errors.go @@ -33,7 +33,7 @@ type ErrorList []*compileError // Add appends an error at a position to the list of errors. func (p *ErrorList) Add(pos *position.Position, msg string) { if pos == nil { - pos = &position.Position{"", -1, -1, -1} + pos = &position.Position{Filename: "", Line: -1, Startcol: -1, Endcol: -1} } *p = append(*p, &compileError{*pos, msg}) } diff --git a/internal/runtime/vm/vm_test.go b/internal/runtime/vm/vm_test.go index 9801fac56..00c52324f 100644 --- a/internal/runtime/vm/vm_test.go +++ b/internal/runtime/vm/vm_test.go @@ -31,7 +31,7 @@ var instructions = []struct { }{ { "match", - code.Instr{code.Match, 0, 0}, + code.Instr{Opcode: code.Match, Operand: 0, SourceLine: 0}, []*regexp.Regexp{regexp.MustCompile("a*b")}, []string{}, []interface{}{}, @@ -40,7 +40,7 @@ var instructions = []struct { }, { "cmp lt", - code.Instr{code.Cmp, -1, 0}, + code.Instr{Opcode: code.Cmp, Operand: -1, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{1, "2"}, @@ -49,7 +49,7 @@ var instructions = []struct { }, { "cmp eq", - code.Instr{code.Cmp, 0, 0}, + code.Instr{Opcode: code.Cmp, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"2", "2"}, @@ -58,7 +58,7 @@ var instructions = []struct { }, { "cmp gt", - code.Instr{code.Cmp, 1, 0}, + code.Instr{Opcode: code.Cmp, Operand: 1, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{2, 1}, @@ -67,7 +67,7 @@ var instructions = []struct { }, { "cmp le", - code.Instr{code.Cmp, 1, 0}, + code.Instr{Opcode: code.Cmp, Operand: 1, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{2, "2"}, @@ -76,7 +76,7 @@ var instructions = []struct { }, { "cmp ne", - code.Instr{code.Cmp, 0, 0}, + code.Instr{Opcode: code.Cmp, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"1", "2"}, @@ -85,7 +85,7 @@ var instructions = []struct { }, { "cmp ge", - code.Instr{code.Cmp, -1, 0}, + code.Instr{Opcode: code.Cmp, Operand: -1, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{2, 2}, @@ -94,7 +94,7 @@ var instructions = []struct { }, { "cmp gt float float", - code.Instr{code.Cmp, 1, 0}, + code.Instr{Opcode: code.Cmp, Operand: 1, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"2.0", "1.0"}, @@ -103,7 +103,7 @@ var instructions = []struct { }, { "cmp gt float int", - code.Instr{code.Cmp, 1, 0}, + code.Instr{Opcode: code.Cmp, Operand: 1, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"1.0", "2"}, @@ -112,7 +112,7 @@ var instructions = []struct { }, { "cmp gt int float", - code.Instr{code.Cmp, 1, 0}, + code.Instr{Opcode: code.Cmp, Operand: 1, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"1", "2.0"}, @@ -121,7 +121,7 @@ var instructions = []struct { }, { "cmp eq string string false", - code.Instr{code.Cmp, 0, 0}, + code.Instr{Opcode: code.Cmp, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"abc", "def"}, @@ -130,7 +130,7 @@ var instructions = []struct { }, { "cmp eq string string true", - code.Instr{code.Cmp, 0, 0}, + code.Instr{Opcode: code.Cmp, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"abc", "abc"}, @@ -139,7 +139,7 @@ var instructions = []struct { }, { "cmp gt float float", - code.Instr{code.Cmp, 1, 0}, + code.Instr{Opcode: code.Cmp, Operand: 1, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{2.0, 1.0}, @@ -148,7 +148,7 @@ var instructions = []struct { }, { "cmp gt float int", - code.Instr{code.Cmp, 1, 0}, + code.Instr{Opcode: code.Cmp, Operand: 1, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{1.0, 2}, @@ -157,7 +157,7 @@ var instructions = []struct { }, { "cmp gt int float", - code.Instr{code.Cmp, 1, 0}, + code.Instr{Opcode: code.Cmp, Operand: 1, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{1, 2.0}, @@ -166,7 +166,7 @@ var instructions = []struct { }, { "jnm", - code.Instr{code.Jnm, 37, 0}, + code.Instr{Opcode: code.Jnm, Operand: 37, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{false}, @@ -175,7 +175,7 @@ var instructions = []struct { }, { "jm", - code.Instr{code.Jm, 37, 0}, + code.Instr{Opcode: code.Jm, Operand: 37, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{false}, @@ -184,7 +184,7 @@ var instructions = []struct { }, { "jmp", - code.Instr{code.Jmp, 37, 0}, + code.Instr{Opcode: code.Jmp, Operand: 37, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{}, @@ -193,7 +193,7 @@ var instructions = []struct { }, { "strptime", - code.Instr{code.Strptime, 0, 0}, + code.Instr{Opcode: code.Strptime, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"2012/01/18 06:25:00", "2006/01/02 15:04:05"}, @@ -205,7 +205,7 @@ var instructions = []struct { }, { "iadd", - code.Instr{code.Iadd, 0, 0}, + code.Instr{Opcode: code.Iadd, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{2, 1}, @@ -214,7 +214,7 @@ var instructions = []struct { }, { "isub", - code.Instr{code.Isub, 0, 0}, + code.Instr{Opcode: code.Isub, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{2, 1}, @@ -223,7 +223,7 @@ var instructions = []struct { }, { "imul", - code.Instr{code.Imul, 0, 0}, + code.Instr{Opcode: code.Imul, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{2, 1}, @@ -232,7 +232,7 @@ var instructions = []struct { }, { "idiv", - code.Instr{code.Idiv, 0, 0}, + code.Instr{Opcode: code.Idiv, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{4, 2}, @@ -241,7 +241,7 @@ var instructions = []struct { }, { "imod", - code.Instr{code.Imod, 0, 0}, + code.Instr{Opcode: code.Imod, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{4, 2}, @@ -250,7 +250,7 @@ var instructions = []struct { }, { "imod 2", - code.Instr{code.Imod, 0, 0}, + code.Instr{Opcode: code.Imod, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{3, 2}, @@ -259,7 +259,7 @@ var instructions = []struct { }, { "tolower", - code.Instr{code.Tolower, 0, 0}, + code.Instr{Opcode: code.Tolower, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"mIxeDCasE"}, @@ -268,7 +268,7 @@ var instructions = []struct { }, { "length", - code.Instr{code.Length, 0, 0}, + code.Instr{Opcode: code.Length, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"1234"}, @@ -277,7 +277,7 @@ var instructions = []struct { }, { "length 0", - code.Instr{code.Length, 0, 0}, + code.Instr{Opcode: code.Length, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{""}, @@ -286,7 +286,7 @@ var instructions = []struct { }, { "shl", - code.Instr{code.Shl, 0, 0}, + code.Instr{Opcode: code.Shl, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{2, 1}, @@ -295,7 +295,7 @@ var instructions = []struct { }, { "shr", - code.Instr{code.Shr, 0, 0}, + code.Instr{Opcode: code.Shr, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{2, 1}, @@ -304,7 +304,7 @@ var instructions = []struct { }, { "and", - code.Instr{code.And, 0, 0}, + code.Instr{Opcode: code.And, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{2, 1}, @@ -313,7 +313,7 @@ var instructions = []struct { }, { "or", - code.Instr{code.Or, 0, 0}, + code.Instr{Opcode: code.Or, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{2, 1}, @@ -322,7 +322,7 @@ var instructions = []struct { }, { "xor", - code.Instr{code.Xor, 0, 0}, + code.Instr{Opcode: code.Xor, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{2, 1}, @@ -331,7 +331,7 @@ var instructions = []struct { }, { "xor 2", - code.Instr{code.Xor, 0, 0}, + code.Instr{Opcode: code.Xor, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{2, 3}, @@ -340,7 +340,7 @@ var instructions = []struct { }, { "xor 3", - code.Instr{code.Xor, 0, 0}, + code.Instr{Opcode: code.Xor, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{-1, 3}, @@ -349,7 +349,7 @@ var instructions = []struct { }, { "neg", - code.Instr{code.Neg, 0, 0}, + code.Instr{Opcode: code.Neg, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{0}, @@ -358,7 +358,7 @@ var instructions = []struct { }, { "not", - code.Instr{code.Not, 0, 0}, + code.Instr{Opcode: code.Not, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{false}, @@ -367,7 +367,7 @@ var instructions = []struct { }, { "pow", - code.Instr{code.Ipow, 0, 0}, + code.Instr{Opcode: code.Ipow, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{2, 2}, @@ -376,7 +376,7 @@ var instructions = []struct { }, { "s2i pop", - code.Instr{code.S2i, 1, 0}, + code.Instr{Opcode: code.S2i, Operand: 1, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"ff", 16}, @@ -385,7 +385,7 @@ var instructions = []struct { }, { "s2i", - code.Instr{code.S2i, nil, 0}, + code.Instr{Opcode: code.S2i, Operand: nil, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"190"}, @@ -394,7 +394,7 @@ var instructions = []struct { }, { "s2f", - code.Instr{code.S2f, nil, 0}, + code.Instr{Opcode: code.S2f, Operand: nil, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"1.0"}, @@ -403,7 +403,7 @@ var instructions = []struct { }, { "i2f", - code.Instr{code.I2f, nil, 0}, + code.Instr{Opcode: code.I2f, Operand: nil, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{1}, @@ -412,7 +412,7 @@ var instructions = []struct { }, { "settime", - code.Instr{code.Settime, 0, 0}, + code.Instr{Opcode: code.Settime, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{int64(0)}, @@ -421,7 +421,7 @@ var instructions = []struct { }, { "push int", - code.Instr{code.Push, 1, 0}, + code.Instr{Opcode: code.Push, Operand: 1, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{}, @@ -430,7 +430,7 @@ var instructions = []struct { }, { "push float", - code.Instr{code.Push, 1.0, 0}, + code.Instr{Opcode: code.Push, Operand: 1.0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{}, @@ -439,7 +439,7 @@ var instructions = []struct { }, { "setmatched false", - code.Instr{code.Setmatched, false, 0}, + code.Instr{Opcode: code.Setmatched, Operand: false, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{}, @@ -448,7 +448,7 @@ var instructions = []struct { }, { "setmatched true", - code.Instr{code.Setmatched, true, 0}, + code.Instr{Opcode: code.Setmatched, Operand: true, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{}, @@ -457,7 +457,7 @@ var instructions = []struct { }, { "otherwise", - code.Instr{code.Otherwise, nil, 0}, + code.Instr{Opcode: code.Otherwise, Operand: nil, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{}, @@ -466,7 +466,7 @@ var instructions = []struct { }, { "fadd", - code.Instr{code.Fadd, nil, 0}, + code.Instr{Opcode: code.Fadd, Operand: nil, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{1.0, 2.0}, @@ -475,7 +475,7 @@ var instructions = []struct { }, { "fsub", - code.Instr{code.Fsub, nil, 0}, + code.Instr{Opcode: code.Fsub, Operand: nil, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{1.0, 2.0}, @@ -484,7 +484,7 @@ var instructions = []struct { }, { "fmul", - code.Instr{code.Fmul, nil, 0}, + code.Instr{Opcode: code.Fmul, Operand: nil, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{1.0, 2.0}, @@ -493,7 +493,7 @@ var instructions = []struct { }, { "fdiv", - code.Instr{code.Fdiv, nil, 0}, + code.Instr{Opcode: code.Fdiv, Operand: nil, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{1.0, 2.0}, @@ -502,7 +502,7 @@ var instructions = []struct { }, { "fmod", - code.Instr{code.Fmod, nil, 0}, + code.Instr{Opcode: code.Fmod, Operand: nil, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{1.0, 2.0}, @@ -511,7 +511,7 @@ var instructions = []struct { }, { "fpow", - code.Instr{code.Fpow, nil, 0}, + code.Instr{Opcode: code.Fpow, Operand: nil, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{2.0, 2.0}, @@ -520,7 +520,7 @@ var instructions = []struct { }, { "getfilename", - code.Instr{code.Getfilename, nil, 0}, + code.Instr{Opcode: code.Getfilename, Operand: nil, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{}, @@ -529,7 +529,7 @@ var instructions = []struct { }, { "i2s", - code.Instr{code.I2s, nil, 0}, + code.Instr{Opcode: code.I2s, Operand: nil, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{1}, @@ -538,7 +538,7 @@ var instructions = []struct { }, { "f2s", - code.Instr{code.F2s, nil, 0}, + code.Instr{Opcode: code.F2s, Operand: nil, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{3.1}, @@ -547,7 +547,7 @@ var instructions = []struct { }, { "cat", - code.Instr{code.Cat, 0, 0}, + code.Instr{Opcode: code.Cat, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"first", "second"}, @@ -556,7 +556,7 @@ var instructions = []struct { }, { "icmp gt false", - code.Instr{code.Icmp, 1, 0}, + code.Instr{Opcode: code.Icmp, Operand: 1, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{1, 2}, @@ -565,7 +565,7 @@ var instructions = []struct { }, { "fcmp gt false", - code.Instr{code.Fcmp, 1, 0}, + code.Instr{Opcode: code.Fcmp, Operand: 1, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{1.0, 2.0}, @@ -574,7 +574,7 @@ var instructions = []struct { }, { "scmp eq false", - code.Instr{code.Scmp, 0, 0}, + code.Instr{Opcode: code.Scmp, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"abc", "def"}, @@ -583,7 +583,7 @@ var instructions = []struct { }, { "subst", - code.Instr{code.Subst, 0, 0}, + code.Instr{Opcode: code.Subst, Operand: 0, SourceLine: 0}, []*regexp.Regexp{}, []string{}, []interface{}{"aa" /*old*/, "a" /*new*/, "caat"}, @@ -664,7 +664,7 @@ func TestDatumSetInstrs(t *testing.T) { tests := []datumStoreTests{ { name: "simple inc", - i: code.Instr{code.Inc, nil, 0}, + i: code.Instr{Opcode: code.Inc, Operand: nil, SourceLine: 0}, d: 0, setup: func(t *thread, d datum.Datum) { t.Push(d) @@ -673,7 +673,7 @@ func TestDatumSetInstrs(t *testing.T) { }, { name: "inc by int", - i: code.Instr{code.Inc, 0, 0}, + i: code.Instr{Opcode: code.Inc, Operand: 0, SourceLine: 0}, d: 0, setup: func(t *thread, d datum.Datum) { t.Push(d) @@ -683,7 +683,7 @@ func TestDatumSetInstrs(t *testing.T) { }, { name: "inc by str", - i: code.Instr{code.Inc, 0, 0}, + i: code.Instr{Opcode: code.Inc, Operand: 0, SourceLine: 0}, d: 0, setup: func(t *thread, d datum.Datum) { t.Push(d) @@ -693,7 +693,7 @@ func TestDatumSetInstrs(t *testing.T) { }, { name: "iset", - i: code.Instr{code.Iset, nil, 0}, + i: code.Instr{Opcode: code.Iset, Operand: nil, SourceLine: 0}, d: 0, setup: func(t *thread, d datum.Datum) { t.Push(d) @@ -703,7 +703,7 @@ func TestDatumSetInstrs(t *testing.T) { }, { name: "iset str", - i: code.Instr{code.Iset, nil, 0}, + i: code.Instr{Opcode: code.Iset, Operand: nil, SourceLine: 0}, d: 0, setup: func(t *thread, d datum.Datum) { t.Push(d) @@ -713,7 +713,7 @@ func TestDatumSetInstrs(t *testing.T) { }, { name: "fset", - i: code.Instr{code.Fset, nil, 0}, + i: code.Instr{Opcode: code.Fset, Operand: nil, SourceLine: 0}, d: 1, setup: func(t *thread, d datum.Datum) { t.Push(d) @@ -723,7 +723,7 @@ func TestDatumSetInstrs(t *testing.T) { }, { name: "fset str", - i: code.Instr{code.Fset, nil, 0}, + i: code.Instr{Opcode: code.Fset, Operand: nil, SourceLine: 0}, d: 1, setup: func(t *thread, d datum.Datum) { t.Push(d) @@ -733,7 +733,7 @@ func TestDatumSetInstrs(t *testing.T) { }, { name: "sset", - i: code.Instr{code.Sset, nil, 0}, + i: code.Instr{Opcode: code.Sset, Operand: nil, SourceLine: 0}, d: 2, setup: func(t *thread, d datum.Datum) { t.Push(d) @@ -743,7 +743,7 @@ func TestDatumSetInstrs(t *testing.T) { }, { name: "dec", - i: code.Instr{code.Dec, nil, 0}, + i: code.Instr{Opcode: code.Dec, Operand: nil, SourceLine: 0}, d: 0, setup: func(t *thread, d datum.Datum) { datum.SetInt(d, 1, time.Now()) @@ -753,7 +753,7 @@ func TestDatumSetInstrs(t *testing.T) { }, { name: "set hist", - i: code.Instr{code.Fset, nil, 0}, + i: code.Instr{Opcode: code.Fset, Operand: nil, SourceLine: 0}, d: 3, setup: func(t *thread, d datum.Datum) { t.Push(d) @@ -788,7 +788,7 @@ func TestStrptimeWithTimezone(t *testing.T) { if err != nil { t.Skip("Skipping, timezone database not available:", err) } - obj := &code.Object{Program: []code.Instr{{code.Strptime, 0, 0}}} + obj := &code.Object{Program: []code.Instr{{Opcode: code.Strptime, Operand: 0, SourceLine: 0}}} vm := New("strptimezone", obj, true, loc, false, false) vm.t = new(thread) vm.t.stack = make([]interface{}, 0) @@ -801,7 +801,7 @@ func TestStrptimeWithTimezone(t *testing.T) { } func TestStrptimeWithoutTimezone(t *testing.T) { - obj := &code.Object{Program: []code.Instr{{code.Strptime, 0, 0}}} + obj := &code.Object{Program: []code.Instr{{Opcode: code.Strptime, Operand: 0, SourceLine: 0}}} vm := New("strptimezone", obj, true, nil, false, false) vm.t = new(thread) vm.t.stack = make([]interface{}, 0) @@ -823,7 +823,7 @@ func TestDatumFetchInstrs(t *testing.T) { { // iget - v := makeVM(code.Instr{code.Iget, nil, 0}, m) + v := makeVM(code.Instr{Opcode: code.Iget, Operand: nil, SourceLine: 0}, m) d, err := m[0].GetDatum() testutil.FatalIfErr(t, err) datum.SetInt(d, 37, time.Now()) @@ -843,7 +843,7 @@ func TestDatumFetchInstrs(t *testing.T) { { // fget - v := makeVM(code.Instr{code.Fget, nil, 0}, m) + v := makeVM(code.Instr{Opcode: code.Fget, Operand: nil, SourceLine: 0}, m) d, err := m[1].GetDatum() testutil.FatalIfErr(t, err) datum.SetFloat(d, 12.1, time.Now()) @@ -863,7 +863,7 @@ func TestDatumFetchInstrs(t *testing.T) { { // sget - v := makeVM(code.Instr{code.Sget, nil, 0}, m) + v := makeVM(code.Instr{Opcode: code.Sget, Operand: nil, SourceLine: 0}, m) d, err := m[2].GetDatum() testutil.FatalIfErr(t, err) datum.SetString(d, "aba", time.Now()) @@ -891,7 +891,7 @@ func TestDeleteInstrs(t *testing.T) { _, err := m[0].GetDatum("z") testutil.FatalIfErr(t, err) - v := makeVM(code.Instr{code.Expire, 1, 0}, m) + v := makeVM(code.Instr{Opcode: code.Expire, Operand: 1, SourceLine: 0}, m) v.t.Push(time.Hour) v.t.Push("z") v.t.Push(m[0]) @@ -911,7 +911,7 @@ func TestDeleteInstrs(t *testing.T) { func TestTimestampInstr(t *testing.T) { var m []*metrics.Metric now := time.Now().UTC() - v := makeVM(code.Instr{code.Timestamp, nil, 0}, m) + v := makeVM(code.Instr{Opcode: code.Timestamp, Operand: nil, SourceLine: 0}, m) v.execute(v.t, v.prog[0]) if v.terminate { t.Fatal("execution failed, see info log") @@ -944,11 +944,11 @@ func TestProcessLogLineDoesNotPinLargeCaptureGroup(t *testing.T) { metrics.NewMetric("m", "tst", metrics.Counter, metrics.Int, "label"), } prog := []code.Instr{ - {code.Match, 0, 0}, - {code.Push, 0, 0}, - {code.Capref, 1, 0}, - {code.Mload, 0, 0}, - {code.Dload, 1, 0}, + {Opcode: code.Match, Operand: 0, SourceLine: 0}, + {Opcode: code.Push, Operand: 0, SourceLine: 0}, + {Opcode: code.Capref, Operand: 1, SourceLine: 0}, + {Opcode: code.Mload, Operand: 0, SourceLine: 0}, + {Opcode: code.Dload, Operand: 1, SourceLine: 0}, } obj := &code.Object{ Metrics: m, From 9e9e3554ceaa575a7540a23a6273785cbfc80768 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Tue, 26 May 2026 17:07:18 +1000 Subject: [PATCH 365/381] filestream: allow deletion of open files on Windows Adds a platform-abstracted openFile helper that opens log files with FILE_SHARE_DELETE on Windows. This mirrors POSIX semantics where a file can be unlinked while a read handle is still open. The default os.OpenFile on Windows calls CreateFile with only FILE_SHARE_READ|FILE_SHARE_WRITE, which prevents deletion or rename while mtail holds the handle. Using syscall.CreateFile directly with FILE_SHARE_DELETE allows log rotation tooling to work as expected. Updates google/mtail#897, google/mtail#531 --- internal/tailer/logstream/BUILD.bazel | 2 ++ internal/tailer/logstream/filestream.go | 2 +- .../tailer/logstream/filestream_open_unix.go | 14 +++++++++ .../logstream/filestream_open_windows.go | 31 +++++++++++++++++++ .../tailer/logstream/filestream_unix_test.go | 8 ++--- 5 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 internal/tailer/logstream/filestream_open_unix.go create mode 100644 internal/tailer/logstream/filestream_open_windows.go diff --git a/internal/tailer/logstream/BUILD.bazel b/internal/tailer/logstream/BUILD.bazel index d9f974ce0..115472391 100644 --- a/internal/tailer/logstream/BUILD.bazel +++ b/internal/tailer/logstream/BUILD.bazel @@ -8,6 +8,8 @@ go_library( "dgramstream.go", "fifostream.go", "filestream.go", + "filestream_open_unix.go", + "filestream_open_windows.go", "logstream.go", "reader.go", "socketstream.go", diff --git a/internal/tailer/logstream/filestream.go b/internal/tailer/logstream/filestream.go index f3af30b2c..9f38a8d60 100644 --- a/internal/tailer/logstream/filestream.go +++ b/internal/tailer/logstream/filestream.go @@ -59,7 +59,7 @@ func newFileStream(ctx context.Context, wg *sync.WaitGroup, waker waker.Waker, p } func (fs *fileStream) stream(ctx context.Context, wg *sync.WaitGroup, waker waker.Waker, fi os.FileInfo, oneShot OneShotMode, streamFromStart bool) error { - fd, err := os.OpenFile(fs.pathname, os.O_RDONLY, 0o600) + fd, err := openFile(fs.pathname) if err != nil { logErrors.Add(fs.sourcename, 1) return err diff --git a/internal/tailer/logstream/filestream_open_unix.go b/internal/tailer/logstream/filestream_open_unix.go new file mode 100644 index 000000000..bc1466bf5 --- /dev/null +++ b/internal/tailer/logstream/filestream_open_unix.go @@ -0,0 +1,14 @@ +// Copyright 2026 The mtail Authors. All Rights Reserved. +// This file is available under the Apache license. + +//go:build !windows + +package logstream + +import ( + "os" +) + +func openFile(pathname string) (*os.File, error) { + return os.OpenFile(pathname, os.O_RDONLY, 0o600) +} diff --git a/internal/tailer/logstream/filestream_open_windows.go b/internal/tailer/logstream/filestream_open_windows.go new file mode 100644 index 000000000..b409e2b31 --- /dev/null +++ b/internal/tailer/logstream/filestream_open_windows.go @@ -0,0 +1,31 @@ +// Copyright 2026 The mtail Authors. All Rights Reserved. +// This file is available under the Apache license. + +//go:build windows + +package logstream + +import ( + "os" + "syscall" +) + +func openFile(pathname string) (*os.File, error) { + pathp, err := syscall.UTF16PtrFromString(pathname) + if err != nil { + return nil, &os.PathError{Op: "utf16", Path: pathname, Err: err} + } + handle, err := syscall.CreateFile( + pathp, + syscall.GENERIC_READ, + syscall.FILE_SHARE_READ|syscall.FILE_SHARE_WRITE|syscall.FILE_SHARE_DELETE, + nil, + syscall.OPEN_EXISTING, + syscall.FILE_ATTRIBUTE_NORMAL, + 0, + ) + if err != nil { + return nil, &os.PathError{Op: "open", Path: pathname, Err: err} + } + return os.NewFile(uintptr(handle), pathname), nil +} diff --git a/internal/tailer/logstream/filestream_unix_test.go b/internal/tailer/logstream/filestream_unix_test.go index 753910e83..73e4dd484 100644 --- a/internal/tailer/logstream/filestream_unix_test.go +++ b/internal/tailer/logstream/filestream_unix_test.go @@ -19,10 +19,10 @@ import ( "github.com/jaqx0r/mtail/internal/waker" ) -// TestFileStreamRotation is a unix-specific test because on Windows, files cannot be removed -// or renamed while there is an open read handle on them. Instead, log rotation would -// have to be implemented by copying and then truncating the original file. That test -// case is already covered by TestFileStreamTruncation. +// TestFileStreamRotation is a unix-specific test because rotation on Windows uses +// FILE_SHARE_DELETE to allow rename while the file is open. The test currently +// exercises the Unix path; Windows rotation via CopyFile+Delete is covered by +// TestFileStreamTruncation. func TestFileStreamRotation(t *testing.T) { var wg sync.WaitGroup From f83dc52de547601ae4af05758f012b154ba39313 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Tue, 26 May 2026 20:29:26 +1000 Subject: [PATCH 366/381] Add reproducing test for google/mtail#903: scrape failure with >70k metrics Two test functions and a benchmark exercise the exporter at scale: - TestWritePrometheusManyLabelValues: single metric, many label values - TestWritePrometheusManyMetrics: many separate metrics (exercises the goroutine-per-metric pattern in Exporter.Collect) - BenchmarkWritePrometheus: latency measurements for both patterns Also adds issue-903.md documenting the test plan and benchmark results. --- internal/exporter/prometheus_test.go | 137 +++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) diff --git a/internal/exporter/prometheus_test.go b/internal/exporter/prometheus_test.go index b8d0330dd..3316676fc 100644 --- a/internal/exporter/prometheus_test.go +++ b/internal/exporter/prometheus_test.go @@ -6,7 +6,9 @@ package exporter import ( "bytes" "context" + "fmt" "math" + "strconv" "strings" "testing" "time" @@ -356,3 +358,138 @@ func TestWritePrometheus(t *testing.T) { }) } } + +func BenchmarkWritePrometheus(b *testing.B) { + for _, n := range []int{100, 1000, 10000} { + b.Run(fmt.Sprintf("labelvalues=%d", n), func(b *testing.B) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + ms := metrics.NewStore() + m := metrics.NewMetric("test_metric", "test", metrics.Counter, metrics.Int, "id") + for i := 0; i < n; i++ { + d, err := m.GetDatum(strconv.Itoa(i)) + if err != nil { + b.Fatal(err) + } + datum.SetInt(d, int64(i), time.Now()) + } + if err := ms.Add(m); err != nil { + b.Fatal(err) + } + + opts := []Option{Hostname("gunstar"), OmitProgLabel()} + e, err := New(ctx, ms, opts...) + if err != nil { + b.Fatal(err) + } + var buf bytes.Buffer + b.ResetTimer() + for i := 0; i < b.N; i++ { + buf.Reset() + if err := e.Write(&buf); err != nil { + b.Fatal(err) + } + } + e.Stop() + }) + } + for _, n := range []int{100, 1000, 10000} { + b.Run(fmt.Sprintf("metrics=%d", n), func(b *testing.B) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + ms := metrics.NewStore() + for i := 0; i < n; i++ { + m := metrics.NewMetric(fmt.Sprintf("metric_%d", i), "test", metrics.Counter, metrics.Int) + d, err := m.GetDatum() + if err != nil { + b.Fatal(err) + } + datum.SetInt(d, int64(i), time.Now()) + if err := ms.Add(m); err != nil { + b.Fatal(err) + } + } + + opts := []Option{Hostname("gunstar"), OmitProgLabel()} + e, err := New(ctx, ms, opts...) + if err != nil { + b.Fatal(err) + } + var buf bytes.Buffer + b.ResetTimer() + for i := 0; i < b.N; i++ { + buf.Reset() + if err := e.Write(&buf); err != nil { + b.Fatal(err) + } + } + e.Stop() + }) + } +} + +func TestWritePrometheusManyLabelValues(t *testing.T) { + counts := []int{100, 1000, 10000} + if testing.Short() { + counts = []int{100} + } + for _, n := range counts { + t.Run(fmt.Sprintf("count=%d", n), func(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + ms := metrics.NewStore() + m := metrics.NewMetric("test_metric", "test", metrics.Counter, metrics.Int, "id") + for i := 0; i < n; i++ { + d, err := m.GetDatum(strconv.Itoa(i)) + testutil.FatalIfErr(t, err) + datum.SetInt(d, int64(i), time.Now()) + } + testutil.FatalIfErr(t, ms.Add(m)) + + opts := []Option{Hostname("gunstar"), OmitProgLabel()} + e, err := New(ctx, ms, opts...) + testutil.FatalIfErr(t, err) + + var buf bytes.Buffer + err = e.Write(&buf) + testutil.FatalIfErr(t, err) + t.Logf("Wrote %d bytes for %d label values", buf.Len(), n) + e.Stop() + }) + } +} + +func TestWritePrometheusManyMetrics(t *testing.T) { + counts := []int{100, 1000, 10000} + if testing.Short() { + counts = []int{100} + } + for _, n := range counts { + t.Run(fmt.Sprintf("count=%d", n), func(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + ms := metrics.NewStore() + for i := 0; i < n; i++ { + m := metrics.NewMetric(fmt.Sprintf("metric_%d", i), "test", metrics.Counter, metrics.Int) + d, err := m.GetDatum() + testutil.FatalIfErr(t, err) + datum.SetInt(d, int64(i), time.Now()) + testutil.FatalIfErr(t, ms.Add(m)) + } + + opts := []Option{Hostname("gunstar"), OmitProgLabel()} + e, err := New(ctx, ms, opts...) + testutil.FatalIfErr(t, err) + + var buf bytes.Buffer + err = e.Write(&buf) + testutil.FatalIfErr(t, err) + t.Logf("Wrote %d bytes for %d metrics", buf.Len(), n) + e.Stop() + }) + } +} From 9dbdbe00ab88d2f6b767fd753e1cd6caccf0c693 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 27 May 2026 18:36:37 +1000 Subject: [PATCH 367/381] fix: apply `limit` eviction to hidden metrics (#837) Hidden metrics were excluded from the global metric Store at load time, so Store.Gc() never iterated them and the limit keyword had no effect. Now hidden metrics enter the Store so GC can enforce limit/expiry, and are filtered out at export time in all 5 exporters so they remain invisible to external consumers. Adds TestLimitWithHidden to store_test.go. --- internal/exporter/export.go | 9 ++++--- internal/exporter/graphite.go | 3 +++ internal/exporter/otel.go | 3 +++ internal/exporter/prometheus.go | 3 +++ internal/exporter/varz.go | 3 +++ internal/metrics/store_test.go | 27 ++++++++++++++++++++ internal/mtail/examples_integration_test.go | 3 +++ internal/runtime/runtime.go | 14 +++++----- internal/runtime/runtime_integration_test.go | 3 +++ 9 files changed, 57 insertions(+), 11 deletions(-) diff --git a/internal/exporter/export.go b/internal/exporter/export.go index ea8ef35c2..12c604f1a 100644 --- a/internal/exporter/export.go +++ b/internal/exporter/export.go @@ -25,7 +25,7 @@ import ( // Commandline Flags. var ( - writeDeadline = flag.Duration("metric_push_write_deadline", 10*time.Second, "Time to wait for a push to succeed before exiting with an error.") + writeDeadline = flag.Duration("metric_push_write_deadline", 10*time.Second, "Time to wait for a push to succeed before exiting with an error.") enableOpenTelemetry = flag.Bool("experimental_enable_opentelemetry", false, "Enable the experimental Open Telemetry metric pusher.") ) @@ -37,7 +37,7 @@ type Exporter struct { store *metrics.Store pushInterval time.Duration hostname string - version string + version string omitProgLabel bool emitTimestamp bool exportDisabled bool @@ -59,7 +59,7 @@ func Hostname(hostname string) Option { // Version specifies the mtail version to use in exported metrics. func Version(version string) Option { - return func (e *Exporter) error { + return func(e *Exporter) error { e.version = version return nil } @@ -199,6 +199,9 @@ type formatter func(string, *metrics.Metric, *metrics.LabelSet, time.Duration) s func (e *Exporter) writeSocketMetrics(c io.Writer, f formatter, exportTotal *expvar.Int, exportSuccess *expvar.Int) error { return e.store.Range(func(m *metrics.Metric) error { + if m.Hidden { + return nil + } m.RLock() // Don't try to send text metrics to any push service. if m.Kind == metrics.Text { diff --git a/internal/exporter/graphite.go b/internal/exporter/graphite.go index 08e78db98..a916eb94d 100644 --- a/internal/exporter/graphite.go +++ b/internal/exporter/graphite.go @@ -35,6 +35,9 @@ func (e *Exporter) HandleGraphite(w http.ResponseWriter, r *http.Request) { return r.Context().Err() default: } + if m.Hidden { + return nil + } m.RLock() graphiteExportTotal.Add(1) lc := make(chan *metrics.LabelSet) diff --git a/internal/exporter/otel.go b/internal/exporter/otel.go index 2e385fa63..e96ae4d95 100644 --- a/internal/exporter/otel.go +++ b/internal/exporter/otel.go @@ -29,6 +29,9 @@ func (e *Exporter) Produce(context.Context) ([]metricdata.ScopeMetrics, error) { scopedOtelMetrics := make(map[string][]metricdata.Metrics) e.store.Range(func(m *metrics.Metric) error { + if m.Hidden { + return nil + } m.RLock() defer m.RUnlock() diff --git a/internal/exporter/prometheus.go b/internal/exporter/prometheus.go index 07acdd293..bf6a61527 100644 --- a/internal/exporter/prometheus.go +++ b/internal/exporter/prometheus.go @@ -34,6 +34,9 @@ func (e *Exporter) Collect(c chan<- prometheus.Metric) { /* #nosec G104 always retursn nil */ e.store.Range(func(m *metrics.Metric) error { + if m.Hidden { + return nil + } m.RLock() // We don't have a way of converting text metrics to prometheus format. if m.Kind == metrics.Text { diff --git a/internal/exporter/varz.go b/internal/exporter/varz.go index 91395b25f..44fdeb418 100644 --- a/internal/exporter/varz.go +++ b/internal/exporter/varz.go @@ -27,6 +27,9 @@ func (e *Exporter) HandleVarz(w http.ResponseWriter, r *http.Request) { return r.Context().Err() default: } + if m.Hidden { + return nil + } m.RLock() exportVarzTotal.Add(1) lc := make(chan *metrics.LabelSet) diff --git a/internal/metrics/store_test.go b/internal/metrics/store_test.go index 000238811..6ddbdf255 100644 --- a/internal/metrics/store_test.go +++ b/internal/metrics/store_test.go @@ -13,6 +13,33 @@ import ( "github.com/jaqx0r/mtail/internal/testutil" ) +func TestLimitWithHidden(t *testing.T) { + s := NewStore() + m := NewMetric("hidden_metric", "prog", Counter, Int, "foo") + m.Hidden = true + m.Limit = 1 + testutil.FatalIfErr(t, s.Add(m)) + + _, err := m.GetDatum("a") + testutil.FatalIfErr(t, err) + testutil.FatalIfErr(t, s.Gc()) + + _, err = m.GetDatum("b") + testutil.FatalIfErr(t, err) + testutil.FatalIfErr(t, s.Gc()) + + _, err = m.GetDatum("c") + testutil.FatalIfErr(t, err) + testutil.FatalIfErr(t, s.Gc()) + + if len(m.LabelValues) > 2 { + t.Errorf("Expected 2 labelvalues got %#v", m.LabelValues) + } + if x := m.FindLabelValueOrNil([]string{"a"}); x != nil { + t.Errorf("found label a which is unexpected: %#v", x) + } +} + func TestMatchingKind(t *testing.T) { s := NewStore() m1 := NewMetric("foo", "prog", Counter, Int) diff --git a/internal/mtail/examples_integration_test.go b/internal/mtail/examples_integration_test.go index 7f0a37313..1f63a93d6 100644 --- a/internal/mtail/examples_integration_test.go +++ b/internal/mtail/examples_integration_test.go @@ -116,6 +116,9 @@ func TestExamplePrograms(t *testing.T) { var storeList metrics.MetricSlice store.Range(func(m *metrics.Metric) error { + if m.Hidden { + return nil + } storeList = append(storeList, m) return nil }) diff --git a/internal/runtime/runtime.go b/internal/runtime/runtime.go index 6e6d6eac7..99ca1bb21 100644 --- a/internal/runtime/runtime.go +++ b/internal/runtime/runtime.go @@ -183,14 +183,12 @@ func (r *Runtime) CompileAndRun(name string, input io.Reader) error { // Load the metrics from the compilation into the global metric storage for export. for _, m := range v.Metrics { - if !m.Hidden { - if r.omitMetricSource { - m.Source = "" - } - err := r.ms.Add(m) - if err != nil { - return err - } + if r.omitMetricSource { + m.Source = "" + } + err := r.ms.Add(m) + if err != nil { + return err } } diff --git a/internal/runtime/runtime_integration_test.go b/internal/runtime/runtime_integration_test.go index 05255755a..6d827f426 100644 --- a/internal/runtime/runtime_integration_test.go +++ b/internal/runtime/runtime_integration_test.go @@ -1104,6 +1104,9 @@ func TestRuntimeEndToEnd(t *testing.T) { var ms metrics.MetricSlice store.Range(func(m *metrics.Metric) error { + if m.Hidden { + return nil + } ms = append(ms, m) return nil }) From f0667d7215e746b10788d85f01883592c5019e8f Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Wed, 27 May 2026 20:31:25 +1000 Subject: [PATCH 368/381] fix: close filestream lines channel when rotation reopen fails (#725) Fixes https://github.com/google/mtail/issues/725 When a log file is rotated and the replacement file has incorrect permissions, the filestream goroutine fails to open the new file and exits without closing the fs.lines channel. This leaves the TailPath goroutine stuck and prevents the tailer from ever re-tailing the file, even after permissions are fixed. Close fs.lines on failure in both the rotation and ESTALE paths so the tailer can clean up the dead logstream and retry later. --- internal/tailer/logstream/filestream.go | 2 + .../tailer/logstream/filestream_unix_test.go | 106 ++++++++++++++++++ 2 files changed, 108 insertions(+) diff --git a/internal/tailer/logstream/filestream.go b/internal/tailer/logstream/filestream.go index f3af30b2c..809f22921 100644 --- a/internal/tailer/logstream/filestream.go +++ b/internal/tailer/logstream/filestream.go @@ -121,6 +121,7 @@ func (fs *fileStream) stream(ctx context.Context, wg *sync.WaitGroup, waker wake // streamFromStart always true on a stream reopen if nerr := fs.stream(ctx, wg, waker, fi, oneShot, true); nerr != nil { glog.Infof("stream(%s): new stream: %v", fs.sourcename, nerr) + close(fs.lines) } // Close this stream. return @@ -157,6 +158,7 @@ func (fs *fileStream) stream(ctx context.Context, wg *sync.WaitGroup, waker wake // Stream from start always true on a stream reopen if err := fs.stream(ctx, wg, waker, newfi, oneShot, true); err != nil { glog.Info("stream(%s): new stream: %v", fs.sourcename, err) + close(fs.lines) } // We're at EOF so there's nothing left to read here. return diff --git a/internal/tailer/logstream/filestream_unix_test.go b/internal/tailer/logstream/filestream_unix_test.go index 753910e83..24470d162 100644 --- a/internal/tailer/logstream/filestream_unix_test.go +++ b/internal/tailer/logstream/filestream_unix_test.go @@ -11,6 +11,7 @@ import ( "path/filepath" "sync" "testing" + "time" "github.com/golang/glog" "github.com/jaqx0r/mtail/internal/logline" @@ -108,6 +109,111 @@ func TestFileStreamURL(t *testing.T) { } } +// manualWaker is a simple waker that lets the test directly signal wakeups +// by closing and replacing the wake channel. +type manualWaker struct { + wake chan struct{} +} + +func (w *manualWaker) Wake() <-chan struct{} { + return w.wake +} + +// wake signals the waker, closing the current channel and creating a new one. +func (w *manualWaker) wakeAndReset() { + close(w.wake) + w.wake = make(chan struct{}) +} + +// TestFileStreamRotationPermissionDenied tests that when a rotation is detected +// and the new file cannot be opened (permission denied), the filestream closes +// its Lines channel so the tailer can clean up and retry later. +func TestFileStreamRotationPermissionDenied(t *testing.T) { + testutil.SkipIfRoot(t) + var wg sync.WaitGroup + + tmpDir := testutil.TestTempDir(t) + + name := filepath.Join(tmpDir, "log") + f := testutil.TestOpenFile(t, name) + defer f.Close() + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + mw := &manualWaker{wake: make(chan struct{})} + + fs, err := logstream.New(ctx, &wg, mw, name, logstream.OneShotDisabled) + testutil.FatalIfErr(t, err) + + expectedLines := []*logline.LogLine{ + {Context: context.TODO(), Filename: name, Line: "1", Filenamehash: logline.GetHash(name)}, + } + checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expectedLines, fs.Lines()) + + mw.wakeAndReset() // sync to EOF + + testutil.WriteString(t, f, "1\n") + mw.wakeAndReset() + + // Rotate: rename old file, create new file with no read permissions. + testutil.FatalIfErr(t, os.Rename(name, name+".1")) + f2, err := os.OpenFile(name, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0) + testutil.FatalIfErr(t, err) + f2.Close() + + // Wake the stream to detect rotation. The goroutine will see a new + // inode, try to open the new file, fail with permission denied, and + // (with our fix) close fs.lines. + mw.wakeAndReset() + + // Wait for the Lines channel to close, indicating the goroutine exited. + ok, err := testutil.DoOrTimeout(func() (bool, error) { + select { + case _, stillOpen := <-fs.Lines(): + return !stillOpen, nil + default: + return false, nil + } + }, time.Second, 10*time.Millisecond) + if err != nil { + t.Fatal(err) + } + if !ok { + t.Error("Lines channel not closed after rotation + permission denied") + } + + // Wait for the goroutine to fully shut down. + wg.Wait() + + // Fix permissions on the new file. + testutil.FatalIfErr(t, os.Chmod(name, 0o666)) + + // Now create a new stream; this should succeed. + fs2, err := logstream.New(ctx, &wg, mw, name, logstream.OneShotDisabled) + testutil.FatalIfErr(t, err) + + expectedLines2 := []*logline.LogLine{ + {Context: context.TODO(), Filename: name, Line: "2", Filenamehash: logline.GetHash(name)}, + } + checkLineDiff2 := testutil.ExpectLinesReceivedNoDiff(t, expectedLines2, fs2.Lines()) + + f3, err := os.OpenFile(name, os.O_RDWR|os.O_APPEND, 0o666) + testutil.FatalIfErr(t, err) + defer f3.Close() + + mw.wakeAndReset() // sync to EOF + + testutil.WriteString(t, f3, "2\n") + mw.wakeAndReset() + + cancel() + wg.Wait() + + checkLineDiff() + checkLineDiff2() +} + // TestFileStreamOpenFailure is a unix-specific test because on Windows, it is not possible to create a file // that you yourself cannot read (minimum permissions are 0222). func TestFileStreamOpenFailure(t *testing.T) { From c337f5a8e10f74079ad5151ce993d00dacc2ddfb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 27 May 2026 21:41:40 +0000 Subject: [PATCH 369/381] fix(deps): update opentelemetry-go monorepo to v1.44.0 --- go.mod | 22 +++++++++++----------- go.sum | 46 ++++++++++++++++++++++++---------------------- 2 files changed, 35 insertions(+), 33 deletions(-) diff --git a/go.mod b/go.mod index 22b144c29..294064d8c 100644 --- a/go.mod +++ b/go.mod @@ -14,10 +14,10 @@ require ( github.com/prometheus/client_golang v1.23.2 github.com/prometheus/common v0.67.5 go.opencensus.io v0.24.0 - go.opentelemetry.io/otel v1.43.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.43.0 - go.opentelemetry.io/otel/sdk v1.43.0 - go.opentelemetry.io/otel/sdk/metric v1.43.0 + go.opentelemetry.io/otel v1.44.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.44.0 + go.opentelemetry.io/otel/sdk v1.44.0 + go.opentelemetry.io/otel/sdk/metric v1.44.0 golang.org/x/sys v0.45.0 golang.org/x/tools v0.45.0 ) @@ -29,23 +29,23 @@ require ( github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/prometheus/client_model v0.6.2 // indirect github.com/prometheus/procfs v0.16.1 // indirect github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/otel/metric v1.43.0 // indirect - go.opentelemetry.io/otel/trace v1.43.0 // indirect + go.opentelemetry.io/otel/metric v1.44.0 // indirect + go.opentelemetry.io/otel/trace v1.44.0 // indirect go.opentelemetry.io/proto/otlp v1.10.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/net v0.54.0 // indirect + golang.org/x/net v0.55.0 // indirect golang.org/x/sync v0.20.0 // indirect golang.org/x/text v0.37.0 // indirect google.golang.org/api v0.105.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 // indirect - google.golang.org/grpc v1.80.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect + google.golang.org/grpc v1.81.1 // indirect google.golang.org/protobuf v1.36.11 // indirect ) diff --git a/go.sum b/go.sum index fbdd52f42..dba936eff 100644 --- a/go.sum +++ b/go.sum @@ -103,8 +103,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.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.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 h1:HWRh5R2+9EifMyIHV7ZV+MIZqgz+PMpZ14Jynv3O2Zs= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0/go.mod h1:JfhWUomR1baixubs02l85lZYYOm7LV6om4ceouMv45c= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 h1:5VipnvEpbqr2gA2VbM+nYVbkIF28c5ZQfqCBQ5g2xfk= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0/go.mod h1:Hyl3n6Twe1hvtd9XUXDec4pTvgMSEixRuQKPTMH2bNs= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -161,18 +161,20 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= -go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.43.0 h1:8UQVDcZxOJLtX6gxtDt3vY2WTgvZqMQRzjsqiIHQdkc= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.43.0/go.mod h1:2lmweYCiHYpEjQ/lSJBYhj9jP1zvCvQW4BqL9dnT7FQ= -go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= -go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= -go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= -go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg= -go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw= -go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= -go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= -go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= +go.opentelemetry.io/otel v1.44.0 h1:JjwHmHpA4iZ3wBxluu2fbbE7j4kqlE8jXyAyPXH7HqU= +go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.44.0 h1:SUplec5dp06reu1zaXmOXdvqH398taqrDXqUl99jxSc= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.44.0/go.mod h1:ho2g4N+ane+swq5I/VBkKWnRDY4kUINH3FuqyZqX/Ug= +go.opentelemetry.io/otel/metric v1.44.0 h1:1w0gILTcHdr3YI+ixLyjemwrVnsMURbTZFrSYCdDdmc= +go.opentelemetry.io/otel/metric v1.44.0/go.mod h1:8O7hanEPBNgEMmybD3s2VBKcgWOCsA6tzHBPODAiquo= +go.opentelemetry.io/otel/metric/x v0.66.0 h1:YkCrx1zLOChi9ZcZ6euupOcsgzbVlec7D/xoEU1+cTA= +go.opentelemetry.io/otel/metric/x v0.66.0/go.mod h1:d1+BDj9t96do0/1LoU1ayfCv79ZgNE41qbhBvnMOBZk= +go.opentelemetry.io/otel/sdk v1.44.0 h1:nHYwb9lK+fJPU/dnT6s7W7Z8itMWyqrnVfbheVYrZ58= +go.opentelemetry.io/otel/sdk v1.44.0/go.mod h1:Osuydd3Se74nqjAKxid74N5eC+jfEqfTegHRnq58oK0= +go.opentelemetry.io/otel/sdk/metric v1.44.0 h1:3LlKgI+VjbVsjNRFZJZAJ30WjXC5VkNRks6si09iEfI= +go.opentelemetry.io/otel/sdk/metric v1.44.0/go.mod h1:5B5pMARnXxKhltooO4xUuCBorl65a4EpnTalObqOigA= +go.opentelemetry.io/otel/trace v1.44.0 h1:jxF5CsGYCe74MCRx2X4g7WsY/VBKRqqpNvXlX/6gtIk= +go.opentelemetry.io/otel/trace v1.44.0/go.mod h1:oLl1jrMQAVo6v3GAggN+1VH9VIz9iUSvW53sW1Q8PIE= go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpuCSL2g= go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -231,8 +233,8 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.54.0 h1:2zJIZAxAHV/OHCDTCOHAYehQzLfSXuf/5SoL/Dv6w/w= -golang.org/x/net v0.54.0/go.mod h1:Sj4oj8jK6XmHpBZU/zWHw3BV3abl4Kvi+Ut7cQcY+cQ= +golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= +golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -354,10 +356,10 @@ google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 h1:VPWxll4HlMw1Vs/qXtN7BvhZqsS9cdAittCNvVENElA= -google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9/go.mod h1:7QBABkRtR8z+TEnmXTqIqwJLlzrZKVfAUm7tY3yGv0M= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 h1:m8qni9SQFH0tJc1X0vmnpw/0t+AImlSvp30sEupozUg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa h1:Kjn0N0tCrDgiAFW+lGO4JZ3ck44CehvJQMAwj9QF0G8= +google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa/go.mod h1:q4lMZS6kskjT5HvCPrnnypcDPVJqT/f4nfxmkE7gryY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa h1:mZHHdPZl0dbGHCflZgAq/Q468DWVFcU2whhB2KAo8fk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -368,8 +370,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM= -google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4= +google.golang.org/grpc v1.81.1 h1:VnnIIZ88UzOOKLukQi+ImGz8O1Wdp8nAGGnvOfEIWQQ= +google.golang.org/grpc v1.81.1/go.mod h1:xGH9GfzOyMTGIOXBJmXt+BX/V0kcdQbdcuwQ/zNw42I= 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-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= From a70571d6ceda3ebcaf82e7afdd3673842b96c7ef Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Fri, 29 May 2026 10:46:40 +1000 Subject: [PATCH 370/381] fix: rate-limit ESTALE reopen and handle ESTALE from stat (#505) --- internal/tailer/logstream/filestream.go | 29 +++++---- .../tailer/logstream/filestream_unix_test.go | 61 +++++++++++++++++++ 2 files changed, 78 insertions(+), 12 deletions(-) diff --git a/internal/tailer/logstream/filestream.go b/internal/tailer/logstream/filestream.go index 9b9e95a8e..f9e4b41c3 100644 --- a/internal/tailer/logstream/filestream.go +++ b/internal/tailer/logstream/filestream.go @@ -11,6 +11,7 @@ import ( "os" "sync" "syscall" + "time" "github.com/golang/glog" "github.com/jaqx0r/mtail/internal/logline" @@ -113,17 +114,21 @@ func (fs *fileStream) stream(ctx context.Context, wg *sync.WaitGroup, waker wake if err != nil && !errors.Is(err, io.EOF) { logErrors.Add(fs.sourcename, 1) - // TODO: This could be generalised to check for any retryable - // errors, and end on unretriables; e.g. ESTALE looks - // retryable. if errors.Is(err, syscall.ESTALE) { glog.Infof("stream(%s): reopening stream due to %s", fs.sourcename, err) - // streamFromStart always true on a stream reopen - if nerr := fs.stream(ctx, wg, waker, fi, oneShot, true); nerr != nil { + // Rate-limit ESTALE retries to prevent CPU thrashing + // on NFS when the stale handle condition persists. + time.Sleep(time.Second) + newfi, serr := os.Stat(fs.pathname) + if serr != nil { + glog.Infof("stream(%s): stat after ESTALE: %v", fs.sourcename, serr) + close(fs.lines) + return + } + if nerr := fs.stream(ctx, wg, waker, newfi, oneShot, true); nerr != nil { glog.Infof("stream(%s): new stream: %v", fs.sourcename, nerr) close(fs.lines) } - // Close this stream. return } glog.Infof("stream(%s): read error: %v", fs.sourcename, err) @@ -138,12 +143,12 @@ func (fs *fileStream) stream(ctx context.Context, wg *sync.WaitGroup, waker wake newfi, serr := os.Stat(fs.pathname) if serr != nil { glog.Infof("stream(%s): stat error: %v", serr) - // If this is a NotExist error, then we should wrap up this - // goroutine. The Tailer will create a new logstream if the - // file is in the middle of a rotation and gets recreated - // in the next moment. We can't rely on the Tailer to tell - // us we're deleted because the tailer can only tell us to - // cancel. + if errors.Is(serr, syscall.ESTALE) { + glog.V(2).Infof("stream(%s): stale NFS handle on stat, exiting", fs.sourcename) + lr.Finish(ctx) + close(fs.lines) + return + } if os.IsNotExist(serr) { glog.V(2).Infof("stream(%s): source no longer exists, exiting", fs.sourcename) lr.Finish(ctx) diff --git a/internal/tailer/logstream/filestream_unix_test.go b/internal/tailer/logstream/filestream_unix_test.go index 5cfb7681c..038384843 100644 --- a/internal/tailer/logstream/filestream_unix_test.go +++ b/internal/tailer/logstream/filestream_unix_test.go @@ -214,6 +214,67 @@ func TestFileStreamRotationPermissionDenied(t *testing.T) { checkLineDiff2() } +// TestFileStreamStatErrorNotExist tests that when a file being tailed is +// deleted, the filestream's stat call returns a NotExist error and the +// stream properly closes its Lines channel, letting the tailer clean up +// and retry later. This exercises the same stat-error path that handles +// ESTALE in production (both trigger stream shutdown). +func TestFileStreamStatErrorNotExist(t *testing.T) { + var wg sync.WaitGroup + + tmpDir := testutil.TestTempDir(t) + + name := filepath.Join(tmpDir, "log") + f := testutil.TestOpenFile(t, name) + defer f.Close() + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + mw := &manualWaker{wake: make(chan struct{})} + + fs, err := logstream.New(ctx, &wg, mw, name, logstream.OneShotDisabled) + testutil.FatalIfErr(t, err) + + expected := []*logline.LogLine{ + {Context: context.TODO(), Filename: name, Line: "1", Filenamehash: logline.GetHash(name)}, + } + checkLineDiff := testutil.ExpectLinesReceivedNoDiff(t, expected, fs.Lines()) + + mw.wakeAndReset() // sync to EOF + + testutil.WriteString(t, f, "1\n") + mw.wakeAndReset() + + // Delete the file. The stream will stat the path at the next EOF, + // get a NotExist error, and close its Lines channel. + testutil.FatalIfErr(t, os.Remove(name)) + mw.wakeAndReset() + + // Wait for the Lines channel to close. + ok, err := testutil.DoOrTimeout(func() (bool, error) { + select { + case _, stillOpen := <-fs.Lines(): + return !stillOpen, nil + default: + return false, nil + } + }, time.Second, 10*time.Millisecond) + if err != nil { + t.Fatal(err) + } + if !ok { + t.Error("Lines channel not closed after file deletion") + } + wg.Wait() + + checkLineDiff() + + if v := <-fs.Lines(); v != nil { + t.Errorf("expecting filestream to be complete because file deleted") + } +} + // TestFileStreamOpenFailure is a unix-specific test because on Windows, it is not possible to create a file // that you yourself cannot read (minimum permissions are 0222). func TestFileStreamOpenFailure(t *testing.T) { From b227d92874f72c696f14ef68fe0d18fabc330a4b Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Fri, 29 May 2026 15:34:43 +1000 Subject: [PATCH 371/381] fix: remove Source from duplicate metric check to prevent dupe after SIGHUP reload (#636) --- internal/metrics/store.go | 3 --- internal/metrics/store_test.go | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/internal/metrics/store.go b/internal/metrics/store.go index d82bb43f1..0da47c772 100644 --- a/internal/metrics/store.go +++ b/internal/metrics/store.go @@ -53,9 +53,6 @@ func (s *Store) Add(m *Metric) error { if v.Type != m.Type { continue } - if v.Source != m.Source { - continue - } dupeIndex = i glog.V(2).Infof("v keys: %v m.keys: %v", v.Keys, m.Keys) // If a set of label keys has changed, discard diff --git a/internal/metrics/store_test.go b/internal/metrics/store_test.go index 6ddbdf255..2d6d29621 100644 --- a/internal/metrics/store_test.go +++ b/internal/metrics/store_test.go @@ -90,6 +90,27 @@ func TestDuplicateMetric(t *testing.T) { } } +func TestDuplicateMetricWithDifferentSource(t *testing.T) { + // Simulates SIGHUP reload where the same metric from the same program + // has a different source location (line number changed due to file edit). + // Should still be treated as a duplicate and replaced, not appended. + s := NewStore() + m1 := NewMetric("foo", "prog", Counter, Int) + m1.SetSource("test.mtail:5:1") + testutil.FatalIfErr(t, s.Add(m1)) + + m2 := NewMetric("foo", "prog", Counter, Int) + m2.SetSource("test.mtail:11:1") + testutil.FatalIfErr(t, s.Add(m2)) + + if len(s.Metrics["foo"]) != 1 { + t.Fatalf("expected 1 metric after reload with changed source, got %d: %v", len(s.Metrics["foo"]), s.Metrics["foo"]) + } + if s.Metrics["foo"][0].Source != "test.mtail:11:1" { + t.Fatalf("expected metric source to be updated to new source, got %q", s.Metrics["foo"][0].Source) + } +} + // A program can add a metric with the same name and of different type. // Prometheus behavior in this case is undefined. @see // https://github.com/jaqx0r/mtail/issues/130 From a6392723904dc0139b513d5643c9836a60f50ce4 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Fri, 29 May 2026 21:20:02 +1000 Subject: [PATCH 372/381] fix: allow pattern concatenation to start with id_expr --- .../runtime/compiler/checker/checker_test.go | 29 +++++++++ internal/runtime/compiler/parser/parser.y | 60 ++++++++++++++++- .../runtime/compiler/parser/parser_test.go | 33 +++++++++- internal/runtime/runtime_integration_test.go | 64 +++++++++++++++++++ 4 files changed, 182 insertions(+), 4 deletions(-) diff --git a/internal/runtime/compiler/checker/checker_test.go b/internal/runtime/compiler/checker/checker_test.go index e197959b8..112f4f895 100644 --- a/internal/runtime/compiler/checker/checker_test.go +++ b/internal/runtime/compiler/checker/checker_test.go @@ -521,6 +521,35 @@ const X /foo/ {"concat expr 2", ` const X /foo/ X { +}`}, + {"concat start with id plus regex", ` +const A /foo/ +A + /bar/ { +}`}, + {"concat start with id plus id", ` +const X /foo/ +const Y /bar/ +X + Y { +}`}, + {"concat start multi", ` +const X /foo/ +const Y /bar/ +X + Y + /baz/ { +}`}, + {"concat start match", ` +const X /foo/ +"" =~ X + /bar/ { +}`}, + {"const with id concat", ` +const A /foo/ +const B A + /bar/ +B { +}`}, + {"const with id id", ` +const A /foo/ +const B /bar/ +const C A + B +C { }`}, {"match expression 3", ` const X /foo/ diff --git a/internal/runtime/compiler/parser/parser.y b/internal/runtime/compiler/parser/parser.y index a91e801f8..1af00b383 100644 --- a/internal/runtime/compiler/parser/parser.y +++ b/internal/runtime/compiler/parser/parser.y @@ -33,7 +33,7 @@ import ( %type stmt_list stmt arg_expr_list compound_stmt conditional_stmt conditional_expr expr_stmt %type expr primary_expr multiplicative_expr additive_expr postfix_expr unary_expr assign_expr -%type rel_expr shift_expr bitwise_expr logical_expr indexed_expr id_expr concat_expr pattern_expr +%type rel_expr shift_expr bitwise_expr logical_expr indexed_expr id_expr concat_expr pattern_expr const_pattern concat_start %type metric_declaration metric_decl_attr_spec decorator_declaration decoration_stmt regex_pattern match_expr %type delete_stmt metric_name_spec builtin_expr arg_expr %type metric_type_spec @@ -133,7 +133,7 @@ stmt { $$ = &ast.NextStmt{tokenpos(mtaillex)} } - | CONST id_expr opt_nl concat_expr + | CONST id_expr opt_nl const_pattern { $$ = &ast.PatternFragment{ID: $2, Expr: $4} } @@ -209,6 +209,18 @@ conditional_expr Op: $2, } } + | concat_start + { + $$ = &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: &ast.PatternExpr{Expr: $1}, Op: MATCH} + } + | concat_start logical_op opt_nl logical_expr + { + $$ = &ast.BinaryExpr{ + LHS: &ast.UnaryExpr{P: tokenpos(mtaillex), Expr: &ast.PatternExpr{Expr: $1}, Op: MATCH}, + RHS: $4, + Op: $2, + } + } | logical_expr { $$ = $1 } ; @@ -360,6 +372,14 @@ match_expr { $$ = &ast.BinaryExpr{LHS: $1, RHS: $4, Op: $2} } + | primary_expr match_op opt_nl concat_start + { + $$ = &ast.BinaryExpr{ + LHS: $1, + RHS: &ast.PatternExpr{Expr: $4}, + Op: $2, + } + } ; match_op @@ -378,6 +398,42 @@ pattern_expr } ; +/* Const pattern fragment expression allows identifiers in addition to regex patterns. */ +const_pattern + : regex_pattern + { $$ = $1 } + | id_expr + { $$ = $1 } + | const_pattern PLUS opt_nl regex_pattern + { + $$ = &ast.BinaryExpr{LHS: $1, RHS: $4, Op: PLUS} + } + | const_pattern PLUS opt_nl id_expr + { + $$ = &ast.BinaryExpr{LHS: $1, RHS: $4, Op: PLUS} + } + ; + +/* Concatenation start expression handles id_expr at the start of a pattern concatenation. */ +concat_start + : id_expr PLUS opt_nl regex_pattern + { + $$ = &ast.BinaryExpr{LHS: $1, RHS: $4, Op: PLUS} + } + | id_expr PLUS opt_nl id_expr + { + $$ = &ast.BinaryExpr{LHS: $1, RHS: $4, Op: PLUS} + } + | concat_start PLUS opt_nl regex_pattern + { + $$ = &ast.BinaryExpr{LHS: $1, RHS: $4, Op: PLUS} + } + | concat_start PLUS opt_nl id_expr + { + $$ = &ast.BinaryExpr{LHS: $1, RHS: $4, Op: PLUS} + } + ; + /* Concatenation expression forms a regular expression pattern from fragments. */ concat_expr : regex_pattern diff --git a/internal/runtime/compiler/parser/parser_test.go b/internal/runtime/compiler/parser/parser_test.go index b60ef7b21..da03ee166 100644 --- a/internal/runtime/compiler/parser/parser_test.go +++ b/internal/runtime/compiler/parser/parser_test.go @@ -398,6 +398,36 @@ const X /foo/ {"concat expr 2", ` const X /foo/ X { +}`}, + + {"concat start with id plus regex", ` +const A /foo/ +A + /bar/ { +}`}, + {"concat start with id plus id", ` +const X /foo/ +const Y /bar/ +X + Y { +}`}, + {"concat start multi", ` +const X /foo/ +const Y /bar/ +X + Y + /baz/ { +}`}, + {"concat start match", ` +const X /foo/ +$uri =~ X + /bar/ { +}`}, + {"const with id concat", ` +const A /foo/ +const B A + /bar/ +B { +}`}, + {"const with id id", ` +const A /foo/ +const B /bar/ +const C A + B +C { }`}, {"match expression 1", ` @@ -671,8 +701,7 @@ var parsePositionTests = []struct { "const ID\n" + "/foo/ +\n" + "/bar/", - // TODO: Update position for the first token to `1, 0, 4` when position tracking is fixed - []*position.Position{{"multiline regex", 1, 4, 4}, {"multiline regex", 2, 0, 4}}, + []*position.Position{{"multiline regex", 1, 0, 4}, {"multiline regex", 2, 0, 4}}, }, } diff --git a/internal/runtime/runtime_integration_test.go b/internal/runtime/runtime_integration_test.go index 05255755a..bacba2221 100644 --- a/internal/runtime/runtime_integration_test.go +++ b/internal/runtime/runtime_integration_test.go @@ -1072,6 +1072,70 @@ N && 1 { errs: 0, metrics: nil, }, + { + name: "const with id concat pattern", + prog: `counter c +const GREET /hello/ +const SEP / / +const PUNCT /world/ +const FULL GREET + SEP + PUNCT +FULL { + c++ +} +`, + log: `hello world +other +hello world +`, + errs: 0, + metrics: metrics.MetricSlice{ + { + Name: "c", + Program: "const with id concat pattern", + Kind: metrics.Counter, + Type: metrics.Int, + Keys: []string{}, + LabelValues: []*metrics.LabelValue{ + { + Value: &datum.Int{ + Value: 2, + }, + }, + }, + }, + }, + }, + { + name: "concat start match", + prog: `counter c +const X /foo/ +/(?P.*)/ { + $line =~ X + /bar/ { + c++ + } +} +`, + log: `foobar +baz +`, + errs: 0, + metrics: metrics.MetricSlice{ + { + Name: "c", + Program: "concat start match", + Kind: metrics.Counter, + Type: metrics.Int, + Keys: []string{}, + LabelValues: []*metrics.LabelValue{ + { + Value: &datum.Int{ + Value: 1, + }, + }, + }, + }, + }, + }, } func TestRuntimeEndToEnd(t *testing.T) { From 74bfdebfd53261098e1f8ea07789d3cd0a501892 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Fri, 29 May 2026 21:37:04 +1000 Subject: [PATCH 373/381] test: add coverage for const patterns as standalone match conditions Issue #191 reported that const patterns could not be used alone as a match condition without a // + prefix. The functional fix was already applied in the checker (rewriting IndexedExpr of type Pattern to PatternExpr), but test coverage was missing. Add checker tests: - const pattern with named capref as cond - const pattern with positional capref as cond - const pattern in a binary expr in cond Add runtime integration tests: - const pattern as match condition with named capref - const pattern as match condition simple --- .../runtime/compiler/checker/checker_test.go | 22 +++++++ internal/runtime/runtime_integration_test.go | 60 +++++++++++++++++++ 2 files changed, 82 insertions(+) diff --git a/internal/runtime/compiler/checker/checker_test.go b/internal/runtime/compiler/checker/checker_test.go index 112f4f895..006af327e 100644 --- a/internal/runtime/compiler/checker/checker_test.go +++ b/internal/runtime/compiler/checker/checker_test.go @@ -607,6 +607,28 @@ N { const N /n/ N && 1 { }`}, + + {"const pattern with named capref as cond", ` +counter c +const P /(?Pn)/ +P { + c++ +}`}, + + {"const pattern with positional capref as cond", ` +counter c +const P /(n)/ +P { + c += $1 +}`}, + + {"const pattern in a binary expr in cond", ` +counter c +const P /(?Pn)/ +P && 1 { + c++ +}`}, + {"negative numbers in capture groups", ` gauge foo /(?P-?\d+)/ { diff --git a/internal/runtime/runtime_integration_test.go b/internal/runtime/runtime_integration_test.go index d96704818..3628d4840 100644 --- a/internal/runtime/runtime_integration_test.go +++ b/internal/runtime/runtime_integration_test.go @@ -1105,6 +1105,66 @@ hello world }, }, }, + { + name: "const pattern as match condition with named capref", + prog: `counter c +const A /(?Pn)/ +A { + c++ +} +`, + log: `n +x +n +`, + errs: 0, + metrics: metrics.MetricSlice{ + { + Name: "c", + Program: "const pattern as match condition with named capref", + Kind: metrics.Counter, + Type: metrics.Int, + Keys: []string{}, + LabelValues: []*metrics.LabelValue{ + { + Value: &datum.Int{ + Value: 2, + }, + }, + }, + }, + }, + }, + { + name: "const pattern as match condition simple", + prog: `counter c +const A /n/ +A { + c++ +} +`, + log: `n +x +n +`, + errs: 0, + metrics: metrics.MetricSlice{ + { + Name: "c", + Program: "const pattern as match condition simple", + Kind: metrics.Counter, + Type: metrics.Int, + Keys: []string{}, + LabelValues: []*metrics.LabelValue{ + { + Value: &datum.Int{ + Value: 2, + }, + }, + }, + }, + }, + }, { name: "concat start match", prog: `counter c From 76f07cc8d2e8b017dc178207109167bf7958244b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 May 2026 17:37:36 +0000 Subject: [PATCH 374/381] fix(deps): update module github.com/prometheus/common to v0.68.0 --- go.mod | 3 +-- go.sum | 16 ++++------------ 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/go.mod b/go.mod index 294064d8c..b1b19b42b 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.23.2 - github.com/prometheus/common v0.67.5 + github.com/prometheus/common v0.68.0 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.44.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.44.0 @@ -39,7 +39,6 @@ require ( go.opentelemetry.io/otel/metric v1.44.0 // indirect go.opentelemetry.io/otel/trace v1.44.0 // indirect go.opentelemetry.io/proto/otlp v1.10.0 // indirect - go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/net v0.55.0 // indirect golang.org/x/sync v0.20.0 // indirect golang.org/x/text v0.37.0 // indirect diff --git a/go.sum b/go.sum index dba936eff..9edbae441 100644 --- a/go.sum +++ b/go.sum @@ -114,12 +114,8 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= @@ -133,13 +129,11 @@ github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UH github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4= -github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw= +github.com/prometheus/common v0.68.0 h1:8rQJvQmYltsR2L7h8Zw0Iyj8WYNNmpwikoQTZXwfVeA= +github.com/prometheus/common v0.68.0/go.mod h1:4soH+U8yJSROk7OJ//hmTiWKsxapv6zRGgTt3keN8gQ= github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= -github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/stretchr/objx v0.1.0/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= @@ -179,8 +173,8 @@ go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpu go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= -go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= +go.yaml.in/yaml/v2 v2.4.4 h1:tuyd0P+2Ont/d6e2rl3be67goVK4R6deVxCUX5vyPaQ= +go.yaml.in/yaml/v2 v2.4.4/go.mod h1:gMZqIpDtDqOfM0uNfy0SkpRhvUryYH0Z6wdMYcacYXQ= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -385,8 +379,6 @@ google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBN google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From 04039c9ba0bc9b89817f6129be4ac67d394c5acd Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 30 May 2026 09:25:28 +1000 Subject: [PATCH 375/381] fix(checker): allow chained match expressions with numbered caprefs Expressions like `getfilename() =~ "x" && /pattern/` previously threw "Redeclaration of capture group 0" because both patterns register numbered caprefs in the same scope. The workaround was to nest the second match in an inner block. This change implements "last pattern match wins" semantics for numbered capture groups only: - When a numbered capref ($0, $1, etc.) is redeclared in the same scope, the checker emits a notice and updates the existing symbol Binding to point to the last pattern PatternExpr node. Named capref redeclaration remains an error (genuinely ambiguous). - Scope.Check skips the redeclaration error for numbered caprefs, which are expected to be multi-defined in chained condition scopes. - A new "Chaining match conditions" subsection in the Programming Guide documents the feature and the "last wins" semantics. - Tests: checker test exercises two numbered capref 0 declarations with `||`; runtime integration test verifies correct execution of `/(\w+)/ && PAT`. Fixes google/mtail#190 --- docs/Programming-Guide.md | 34 +++++++++++++++++++ internal/runtime/compiler/checker/checker.go | 11 +++++- .../runtime/compiler/checker/checker_test.go | 11 +++--- internal/runtime/compiler/symbol/symtab.go | 10 +++++- internal/runtime/runtime_integration_test.go | 30 ++++++++++++++++ 5 files changed, 89 insertions(+), 7 deletions(-) diff --git a/docs/Programming-Guide.md b/docs/Programming-Guide.md index be2369b44..e9fbb5789 100644 --- a/docs/Programming-Guide.md +++ b/docs/Programming-Guide.md @@ -196,6 +196,40 @@ operator, or to negate the match the `!~`, like so: } ``` +### Chaining match conditions + +Multiple patterns can be combined in a single condition using the `&&` and `||` +logical operators. This is useful for filtering log lines based on both the +filename and the line content: + +```mtail +getfilename() =~ /apache/ && /HTTP\/1\.1/ { + apache_http11_requests++ +} +``` + +Both patterns are tried in order (left to right), and the condition short +circuits as normal for `&&` and `||`. + +When multiple patterns appear in the same condition, each registers its capture +group references (such as `$0`, `$1`, etc.) in the same scope. The capture +group references after the condition refer to the *last* executed match, +consistent with the runtime order of evaluation: + +```mtail +const PAT /n/ +/(?P\w+)/ && PAT { + # $0 refers to PAT's match, not the first pattern's match. + # Use named capture groups if you need the first pattern's captures: + # $word still refers to the \w+ capture group from the first pattern. +} +``` + +This is known as *last pattern match wins* semantics. `mtail` will emit a +notice when numbered capture group bindings are updated in a chained match +expression. Use named capture groups for unambiguous references when chaining +patterns. + ## Storing intermediate state Hidden metrics are metrics that can be used for internal state and are never diff --git a/internal/runtime/compiler/checker/checker.go b/internal/runtime/compiler/checker/checker.go index 0a19dcb7f..f81661447 100644 --- a/internal/runtime/compiler/checker/checker.go +++ b/internal/runtime/compiler/checker/checker.go @@ -884,7 +884,16 @@ func (c *checker) checkRegex(pattern string, n ast.Node) { sym.Binding = n sym.Addr = i if alt := c.scope.Insert(sym); alt != nil { - c.errors.Add(n.Pos(), fmt.Sprintf("Redeclaration of capture group `%s' previously declared at %s", sym.Name, alt.Pos)) + // If this is a numbered capref, we allow chained match + // expressions to each define the same implicit capture + // groups. The last pattern's binding is used at runtime + // ("last match wins"). + if capref == "" { + alt.Binding = n + glog.Infof("Update of capref `%s' binding in chained match expression", sym.Name) + } else { + c.errors.Add(n.Pos(), fmt.Sprintf("Redeclaration of capture group `%s' previously declared at %s", sym.Name, alt.Pos)) + } // No return, let this loop collect all errors } if capref != "" { diff --git a/internal/runtime/compiler/checker/checker_test.go b/internal/runtime/compiler/checker/checker_test.go index 006af327e..3683e077a 100644 --- a/internal/runtime/compiler/checker/checker_test.go +++ b/internal/runtime/compiler/checker/checker_test.go @@ -333,11 +333,6 @@ l++=l []string{"dec non var:1:1-16: Can't assign to expression; expecting a variable here."}, }, - // TODO(jaq): This is an instance of bug #190, the capref is ambiguous. - // {"regexp with no zero capref", - // `//||/;0/ {$0||// {}} - // `, []string{"regexp with no zero capref:1:5-6: Nonexistent capref =."}}, - { "cmp to None", `strptime("","")<5{} @@ -646,6 +641,12 @@ subst(/\d+/, "d", "1234") text value value = subst(/[a-zA-Z]+/, "a", "1234abcd") value = subst(/\d+/, "d", value) +`}, + {"chained match OR capref", ` +const X /x/ +// || X { + $0 +} `}, } diff --git a/internal/runtime/compiler/symbol/symtab.go b/internal/runtime/compiler/symbol/symtab.go index ed34c6b1f..fc14c450b 100644 --- a/internal/runtime/compiler/symbol/symtab.go +++ b/internal/runtime/compiler/symbol/symtab.go @@ -6,6 +6,7 @@ package symbol import ( "bytes" "fmt" + "strconv" "github.com/golang/glog" "github.com/jaqx0r/mtail/internal/runtime/compiler/errors" @@ -144,7 +145,14 @@ func (s *Scope) Check(errors *errors.ErrorList) { for _, symList := range s.Symbols { multiple := len(symList) > 1 for i, sym := range symList { - if multiple && i > 0{ + if multiple && i > 0 { + if sym.Kind == CaprefSymbol { + // Numbered caprefs may be redeclared in chained + // match expressions (last pattern wins). + if _, err := strconv.Atoi(sym.Name); err == nil { + continue + } + } errors.Add(sym.Pos, fmt.Sprintf("Redeclaration of %s `%s' previously declared at %s", sym.Kind, sym.Name, symList[0].Pos)) continue } diff --git a/internal/runtime/runtime_integration_test.go b/internal/runtime/runtime_integration_test.go index 3628d4840..d885ad96e 100644 --- a/internal/runtime/runtime_integration_test.go +++ b/internal/runtime/runtime_integration_test.go @@ -1196,6 +1196,36 @@ baz }, }, }, + { + name: "chained match capref", + prog: `counter c +const PAT /n/ +/(\w+)/ && PAT { + c++ +} +`, + log: `n +x +n +`, + errs: 0, + metrics: metrics.MetricSlice{ + { + Name: "c", + Program: "chained match capref", + Kind: metrics.Counter, + Type: metrics.Int, + Keys: []string{}, + LabelValues: []*metrics.LabelValue{ + { + Value: &datum.Int{ + Value: 2, + }, + }, + }, + }, + }, + }, } func TestRuntimeEndToEnd(t *testing.T) { From 05a20692f68cb1a28a1f3e593e473feeda9a70d3 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 30 May 2026 09:46:40 +1000 Subject: [PATCH 376/381] feat: add `defined()` builtin to test if a capture group was matched When a named capture group is inside a regex alternation like `((?P\d+)|-)`, the inner group is not matched when the alternative branch matches (e.g., `-`). Previously, using `$response_size` in this case returned an empty string that failed `strconv.ParseInt`, causing a runtime error, and there was no way to test whether a capture group was defined. This adds a `defined()` builtin that checks at runtime whether a capture group was actually matched: /^[a-z]+ ((?P\d+)|-)$/ { defined($response_size) { total = $response_size } } Implementation: - New `Defined` opcode in the VM that checks `m.indices[2*n] != -1` - Parser: added `"defined"` to the lexer builtins list - Type system: `defined` accepts any type and returns `Bool` - Checker: validates argument is a `CaprefTerm`; permits `Bool`-typed `BuiltinExpr` as a condition in `CondStmt` - Codegen: `defined()` is handled entirely in `VisitBefore` (returning `nil` prevents child walking) to avoid emitting the normal `Capref`/`S2i` bytecode that would error on undefined groups; emits `Push regexIndex` + `Defined caprefAddr` instead - Integration test covers both defined and undefined cases Fixes https://github.com/google/mtail/issues/267 --- docs/Programming-Guide.md | 16 +++++++++-- internal/runtime/code/opcodes.go | 4 +++ internal/runtime/compiler/checker/checker.go | 10 +++++++ internal/runtime/compiler/codegen/codegen.go | 25 +++++++++++++++++ internal/runtime/compiler/parser/lexer.go | 1 + internal/runtime/compiler/types/types.go | 1 + internal/runtime/runtime_integration_test.go | 29 ++++++++++++++++++++ internal/runtime/vm/vm.go | 26 ++++++++++++++++++ 8 files changed, 110 insertions(+), 2 deletions(-) diff --git a/docs/Programming-Guide.md b/docs/Programming-Guide.md index e9fbb5789..e9f556590 100644 --- a/docs/Programming-Guide.md +++ b/docs/Programming-Guide.md @@ -446,8 +446,20 @@ counter total } ``` -`mtail` does not presently have a way to test if a capture group is defined or -not. +Use the `defined()` builtin to test if a capture group was matched: + +``` +counter total + +/^[a-z]+ ((?P\d+)|-)$/ { + defined($response_size) { + total = $response_size + } +} +``` + +`defined()` takes a capture group reference and returns true if it was +matched in the current line. ## Parsing numbers with extra characters diff --git a/internal/runtime/code/opcodes.go b/internal/runtime/code/opcodes.go index b5358f9be..399c90ab9 100644 --- a/internal/runtime/code/opcodes.go +++ b/internal/runtime/code/opcodes.go @@ -78,6 +78,9 @@ const ( Subst Rsubst + // Capture group queries. + Defined // Check if a capture group is defined. + lastOpcode ) @@ -140,6 +143,7 @@ var opNames = map[Opcode]string{ Scmp: "scmp", Subst: "subst", Rsubst: "rsubst", + Defined: "defined", } func (o Opcode) String() string { diff --git a/internal/runtime/compiler/checker/checker.go b/internal/runtime/compiler/checker/checker.go index f81661447..e6bc0d117 100644 --- a/internal/runtime/compiler/checker/checker.go +++ b/internal/runtime/compiler/checker/checker.go @@ -276,6 +276,10 @@ func (c *checker) VisitAfter(node ast.Node) ast.Node { switch n.Cond.(type) { case *ast.BinaryExpr, *ast.OtherwiseStmt, *ast.UnaryExpr: // OK as conditions + case *ast.BuiltinExpr: + if !types.Equals(n.Cond.Type(), types.Bool) { + c.errors.Add(n.Cond.Pos(), fmt.Sprintf("Can't interpret %s as a boolean expression here.\n\tTry using comparison operators to make the condition explicit.", n.Cond.Type())) + } case *ast.PatternExpr: // If the parser saw an IDTerm with type Pattern, then we know it's really a pattern constant and need to wrap it in an unary match in this context. cond := &ast.UnaryExpr{Expr: n.Cond, Op: parser.MATCH} @@ -822,6 +826,12 @@ func (c *checker) VisitAfter(node ast.Node) ast.Node { n.SetType(types.Error) return n } + case "defined": + if _, ok := n.Args.(*ast.ExprList).Children[0].(*ast.CaprefTerm); !ok { + c.errors.Add(n.Args.(*ast.ExprList).Children[0].Pos(), "defined() expects a capture group reference as its argument") + n.SetType(types.Error) + return n + } } return n diff --git a/internal/runtime/compiler/codegen/codegen.go b/internal/runtime/compiler/codegen/codegen.go index 0b4f1e0d5..943d3792a 100644 --- a/internal/runtime/compiler/codegen/codegen.go +++ b/internal/runtime/compiler/codegen/codegen.go @@ -330,6 +330,31 @@ func (c *codegen) VisitBefore(node ast.Node) (ast.Visitor, ast.Node) { c.obj.LogRestriction = append(c.obj.LogRestriction, n.Filters...) return nil, n + case *ast.BuiltinExpr: + if n.Name == "defined" { + // Don't walk children: defined() requires special codegen + // to avoid emitting Capref/S2i for its capref argument, + // which would cause a runtime error on undefined groups. + args := n.Args.(*ast.ExprList).Children + if len(args) != 1 { + c.errorf(n.Pos(), "defined expects 1 argument, got %d", len(args)) + return nil, n + } + capref, ok := args[0].(*ast.CaprefTerm) + if !ok { + c.errorf(n.Pos(), "defined expects a capture group reference") + return nil, n + } + if capref.Symbol == nil || capref.Symbol.Binding == nil { + c.errorf(n.Pos(), "No regular expression bound to capref %q", capref.Name) + return nil, n + } + rn := capref.Symbol.Binding.(*ast.PatternExpr) + c.emit(n, code.Push, rn.Index) + c.emit(n, code.Defined, capref.Symbol.Addr) + return nil, n + } + case *ast.BinaryExpr: switch n.Op { case parser.AND: diff --git a/internal/runtime/compiler/parser/lexer.go b/internal/runtime/compiler/parser/lexer.go index 01724b4f8..94e86ad4e 100644 --- a/internal/runtime/compiler/parser/lexer.go +++ b/internal/runtime/compiler/parser/lexer.go @@ -42,6 +42,7 @@ var keywords = map[string]Kind{ // List of builtin functions. Keep this list sorted! var builtins = []string{ "bool", + "defined", "float", "getfilename", "int", diff --git a/internal/runtime/compiler/types/types.go b/internal/runtime/compiler/types/types.go index cd44e2237..4d38d1367 100644 --- a/internal/runtime/compiler/types/types.go +++ b/internal/runtime/compiler/types/types.go @@ -256,6 +256,7 @@ var ( var Builtins = map[string]Type{ "int": Function(NewVariable(), Int), "bool": Function(NewVariable(), Bool), + "defined": Function(NewVariable(), Bool), "float": Function(NewVariable(), Float), "string": Function(NewVariable(), String), "timestamp": Function(Int), diff --git a/internal/runtime/runtime_integration_test.go b/internal/runtime/runtime_integration_test.go index d885ad96e..31d19d5d1 100644 --- a/internal/runtime/runtime_integration_test.go +++ b/internal/runtime/runtime_integration_test.go @@ -257,6 +257,35 @@ test - }, }, }, + { + "defined capture group", + `counter total +/^[a-z]+ ((?P\d+)|-)$/ { + defined($response_size) { + total = $response_size + } +}`, + `test 99 +test - +`, + 0, + metrics.MetricSlice{ + { + Name: "total", + Program: "defined capture group", + Kind: metrics.Counter, + Type: metrics.Int, + Keys: []string{}, + LabelValues: []*metrics.LabelValue{ + { + Value: &datum.Int{ + Value: 99, + }, + }, + }, + }, + }, + }, { "add_assign_float", `gauge metric diff --git a/internal/runtime/vm/vm.go b/internal/runtime/vm/vm.go index 6bd7277f2..37e4bd5bd 100644 --- a/internal/runtime/vm/vm.go +++ b/internal/runtime/vm/vm.go @@ -855,6 +855,32 @@ func (v *VM) execute(t *thread, i code.Instr) { } t.Push(len(s)) + case code.Defined: + // Check if a capture group is defined (was matched) in the current match. + val := t.Pop() + re, ok := val.(int) + if !ok { + v.errorf("Invalid re index %v, not an int", val) + return + } + op, ok := i.Operand.(int) + if !ok { + v.errorf("Invalid operand %v, not an int", i.Operand) + return + } + m, ok := t.matches[re] + if !ok { + v.errorf("No match result for regex index %d", re) + return + } + if len(m.indices) >= 2*(op+1) && m.indices[2*op] != -1 { + t.matched = true + t.Push(true) + } else { + t.matched = false + t.Push(false) + } + case code.S2i: base := 10 var err error From ff2d9f3534dce788cdff6fc868094bb181f2d2f9 Mon Sep 17 00:00:00 2001 From: Jamie Wilkinson Date: Sat, 30 May 2026 11:30:09 +1000 Subject: [PATCH 377/381] chore: remove no-longer-needed // + workaround from example programs The const pattern match fix (issue #191) allows const patterns to be used directly as match conditions without the `// +` prefix. Remove the workaround from all example programs: - 3 const definitions: drop `// +` start-of-concat sentinel - 17 match conditions: drop `// +` prefix - 2 =~ RHS expressions: drop `// +` prefix --- examples/lighttpd.mtail | 4 ++-- examples/mysql_slowqueries.mtail | 12 ++++++------ examples/postfix.mtail | 14 +++++++------- examples/vsftpd.mtail | 12 ++++++------ subject_summarizer.mtail | 2 +- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/examples/lighttpd.mtail b/examples/lighttpd.mtail index e79e38a93..80967bee7 100644 --- a/examples/lighttpd.mtail +++ b/examples/lighttpd.mtail @@ -10,7 +10,7 @@ counter bytes_in by status counter requests by proxy_cache -const ACCESSLOG_RE // + +const ACCESSLOG_RE /(?P\S+) (?P\S+) (?P\S+)/ + / \[(?P[^\]]+)\] "(?P\S+) (?P.+?) / + /(?P\S+)" (?P\d+) (?P\d+) (?P\d+)/ + @@ -20,7 +20,7 @@ const ACCESSLOG_RE // + # /var/log/lighttpd/access.log getfilename() =~ /lighttpd.access.log/ { - // + ACCESSLOG_RE { + ACCESSLOG_RE { # Parse an accesslog entry. $url == "/healthz" { # nothing diff --git a/examples/mysql_slowqueries.mtail b/examples/mysql_slowqueries.mtail index 1cad0f283..20d5b712e 100644 --- a/examples/mysql_slowqueries.mtail +++ b/examples/mysql_slowqueries.mtail @@ -50,7 +50,7 @@ const END_QUERY_LINE /.*;$/ settime(time) -// + USER_HOST { +USER_HOST { user = $1 host = $2 } @@ -59,7 +59,7 @@ user == "" { stop } -// + QUERY_TIME { +QUERY_TIME { tmp_query_time = $1 tmp_lock_time = $2 query_time_overall_sum += tmp_query_time @@ -68,7 +68,7 @@ user == "" { lock_time_total_count++ } -// + FULL_QUERY_LINE { +FULL_QUERY_LINE { # We should have everything we need now. query_type = tolower($1) service = $2 @@ -76,7 +76,7 @@ user == "" { lock_time[query_type, host, service, user] += tmp_lock_time } -// + UNINSTRUMENTED_QUERY_LINE { +UNINSTRUMENTED_QUERY_LINE { # We should have everything we need now. query_type = tolower($1) service = "n/a" @@ -84,12 +84,12 @@ user == "" { lock_time[query_type, host, service, user] += tmp_lock_time } -// + PARTIAL_QUERY_LINE { +PARTIAL_QUERY_LINE { query_type = tolower($1) partial = 1 } -// + END_QUERY_LINE && partial == 1 { +END_QUERY_LINE && partial == 1 { partial = 0 /.*# (.*)$/ { service = $1 diff --git a/examples/postfix.mtail b/examples/postfix.mtail index 3fc265816..13883a7d8 100644 --- a/examples/postfix.mtail +++ b/examples/postfix.mtail @@ -42,7 +42,7 @@ const QMGR_REMOVE_LINE /: removed$/ # buckets: 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, 1e3 $application == "lmtp" { - // + DELIVERY_DELAY_LINE { + DELIVERY_DELAY_LINE { # 1st field: before_queue_manager postfix_lmtp_delivery_delay_seconds["before_queue_manager"] = $bqm @@ -62,7 +62,7 @@ const QMGR_REMOVE_LINE /: removed$/ # buckets: 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, 1e3 $application == "pipe" { - // + DELIVERY_DELAY_LINE { + DELIVERY_DELAY_LINE { # 1st field: before_queue_manager postfix_pipe_delivery_delay_seconds[$relay]["before_queue_manager"] = $bqm @@ -89,11 +89,11 @@ const QMGR_REMOVE_LINE /: removed$/ counter postfix_qmgr_messages_removed_total $application == "qmgr" { - // + QMGR_INSERT_LINE { + QMGR_INSERT_LINE { postfix_qmgr_messages_inserted_recipients = $nrcpt postfix_qmgr_messages_inserted_size_bytes = $size } - // + QMGR_REMOVE_LINE { + QMGR_REMOVE_LINE { postfix_qmgr_messages_removed_total++ } } @@ -106,7 +106,7 @@ const QMGR_REMOVE_LINE /: removed$/ counter postfix_smtp_tls_connections_total by trust, protocol, cipher, secret_bits, algorithm_bits $application == "smtp" { - // + DELIVERY_DELAY_LINE { + DELIVERY_DELAY_LINE { # 1st field: before_queue_manager postfix_smtp_delivery_delay_seconds["before_queue_manager"] = $bqm @@ -120,7 +120,7 @@ const QMGR_REMOVE_LINE /: removed$/ postfix_smtp_delivery_delay_seconds["transmission"] = $tx } - // + SMTP_TLS_LINE { + SMTP_TLS_LINE { postfix_smtp_tls_connections_total[$1][$2][$3][$4][$5]++ } } @@ -175,7 +175,7 @@ const QMGR_REMOVE_LINE /: removed$/ /warning: \S+: SASL \S+ authentication failed: / { postfix_smtpd_sasl_authentication_failures_total++ } - // + SMTPD_TLS_LINE { + SMTPD_TLS_LINE { postfix_smtpd_tls_connections_total[$1][$2][$3][$4][$5]++ } } diff --git a/examples/vsftpd.mtail b/examples/vsftpd.mtail index 66f91059d..3a4f603e5 100644 --- a/examples/vsftpd.mtail +++ b/examples/vsftpd.mtail @@ -27,7 +27,7 @@ def vsftpd_timestamp { } } -const XFERLOG_RE // + +const XFERLOG_RE # e.g. 1 172.18.115.36 528 # time spent transferring /\s(?P\d+)/ + @@ -57,7 +57,7 @@ const XFERLOG_RE // + # completion status /\s(?P\S)/ -const VSFTPD_LOG_RE // + +const VSFTPD_LOG_RE / \[pid \d+\]/ + /( \[\w+\])?/ + / (?PCONNECT|OK LOGIN|OK UPLOAD|FTP (command|response)):/ + @@ -70,7 +70,7 @@ const PAYLOAD_COMMAND_RE /^"(\w{4})[" -]/ @vsftpd_timestamp { getfilename() =~ /xferlog/ { - // + XFERLOG_RE { + XFERLOG_RE { # Handles log entries from the wuftpd format xferlog. $direction == "i" { direction = "incoming" @@ -87,7 +87,7 @@ const PAYLOAD_COMMAND_RE /^"(\w{4})[" -]/ } getfilename() =~ /vsftpd.log/ { - // + VSFTPD_LOG_RE { + VSFTPD_LOG_RE { # Handle vsftpd.log log file.""" $command == "CONNECT" { sessions[$client] = timestamp() @@ -101,7 +101,7 @@ const PAYLOAD_COMMAND_RE /^"(\w{4})[" -]/ uploads++ } $command == "FTP command" { - $payload =~ // + PAYLOAD_COMMAND_RE { + $payload =~ PAYLOAD_COMMAND_RE { commands[$1]++ $1 == "QUIT" { @@ -111,7 +111,7 @@ const PAYLOAD_COMMAND_RE /^"(\w{4})[" -]/ } } $command == "FTP response" { - $payload =~ // + PAYLOAD_RESPONSE_RE { + $payload =~ PAYLOAD_RESPONSE_RE { responses[$1]++ } } diff --git a/subject_summarizer.mtail b/subject_summarizer.mtail index 5e8a533b0..a56283a05 100644 --- a/subject_summarizer.mtail +++ b/subject_summarizer.mtail @@ -7,6 +7,6 @@ counter subject_lines_seen by subject const SUBJECT_LINE /^Subject: (.*)$/ -// + SUBJECT_LINE { +SUBJECT_LINE { subject_lines_seen[$1] ++ } From 3fc486a8758346dd515dba82f8491299de308bc7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2026 02:54:08 +0000 Subject: [PATCH 378/381] chore(deps): update go toolchain directive to v1.26.4 --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index b1b19b42b..8b01fb15b 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/jaqx0r/mtail go 1.25.0 -toolchain go1.26.3 +toolchain go1.26.4 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 From 55610dc4a41b70290ed35dc9fad251cb88edcdb0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2026 05:08:25 +0000 Subject: [PATCH 379/381] fix(deps): update module github.com/bazelbuild/rules_go to v0.61.0 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8b01fb15b..e8b6edc43 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.26.4 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 - github.com/bazelbuild/rules_go v0.60.0 + github.com/bazelbuild/rules_go v0.61.0 github.com/golang/glog v1.2.5 github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 github.com/google/go-cmp v0.7.0 diff --git a/go.sum b/go.sum index 9edbae441..c71beec41 100644 --- a/go.sum +++ b/go.sum @@ -25,8 +25,8 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXV 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/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/bazelbuild/rules_go v0.60.0 h1:apGSxTTrFUyLNvX9NQmF4CbntWAO0/S5eALeVgB/6Qk= -github.com/bazelbuild/rules_go v0.60.0/go.mod h1:CYcohJVxs4n7eftbC39GCqaEJm3E1EME+6QAkGguKoI= +github.com/bazelbuild/rules_go v0.61.0 h1:Anz8trQHMdiCIjUzSjqL1JEZRFZZMYzKkIqwT7ESaMI= +github.com/bazelbuild/rules_go v0.61.0/go.mod h1:6YghDRf6l3FSiAwncK+Ww9jE1naoQzNq28gaKJeB67I= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= From 95776558e471045a872a943a397f988e88f19cdc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2026 10:56:53 +0000 Subject: [PATCH 380/381] fix(deps): update module github.com/prometheus/common to v0.68.1 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e8b6edc43..0de349677 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/google/go-cmp v0.7.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.23.2 - github.com/prometheus/common v0.68.0 + github.com/prometheus/common v0.68.1 go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.44.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.44.0 diff --git a/go.sum b/go.sum index c71beec41..3b32e270e 100644 --- a/go.sum +++ b/go.sum @@ -129,8 +129,8 @@ github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UH github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.68.0 h1:8rQJvQmYltsR2L7h8Zw0Iyj8WYNNmpwikoQTZXwfVeA= -github.com/prometheus/common v0.68.0/go.mod h1:4soH+U8yJSROk7OJ//hmTiWKsxapv6zRGgTt3keN8gQ= +github.com/prometheus/common v0.68.1 h1:omjRRl4QP4komogpXuhfeOiisQg7xdy8VM1UY+pStaY= +github.com/prometheus/common v0.68.1/go.mod h1:ZzL3f6u94qUxh9p+tJTrF+FvBS1XXbbRAZCQkytAL0Y= github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= From 8857f9f8c1605b58d93a81479eb4cd1d5d815457 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2026 16:54:02 +0000 Subject: [PATCH 381/381] chore(deps): update dependency gazelle to v0.51.1 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 786b71bba..f8669a27b 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -12,7 +12,7 @@ go_sdk.from_file(go_mod = "//:go.mod") # Like golangci-lint, but integrated into the build. go_sdk.nogo(nogo = "//:nogo") -bazel_dep(name = "gazelle", version = "0.51.0") +bazel_dep(name = "gazelle", version = "0.51.1") # Update dependencies with # `bazel run //:gazelle`.