diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 00000000..13803ddc --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,5 @@ +# Ensure builds use the same value, in practice it seems generating stubs +# with maturin vs building the project either set or leave this unset and +# can cause build cache thrashing. +[env] +MACOSX_DEPLOYMENT_TARGET = "11.0" diff --git a/.gitattributes b/.gitattributes index f6a7e199..f70e7d96 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,3 +3,8 @@ test/gen/** linguist-generated=true proto/** linguist-vendored=true test/proto/buf/** linguist-vendored=true + +crates/**/gen/** linguist-generated=true + +crates/*/filelists/*.txt linguist-generated=true +protovalidate/_protovalidate.pyi linguist-generated=true diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 82353292..b78eca24 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -22,6 +22,9 @@ cd protovalidate-py Next, install dependencies. You will need: * [uv](https://docs.astral.sh/uv/) +* [rust](https://rust-lang.org/tools/install/) +* A C++17 compiler. On macOS and Windows, rustup installation will ensure one is present, + most Linux systems will also have one, but otherwise use e.g., `apt install build-essential` Some tasks require additional non-Python tools: diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6def40a5..74017ee4 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,34 +1,53 @@ name: CI on: push: - branches: [main] - tags: ["v*"] + branches: + - main pull_request: - branches: [main] - schedule: - - cron: "15 22 * * *" + branches: + - "**" workflow_dispatch: {} # support manual runs permissions: contents: read jobs: ci: name: CI - runs-on: ubuntu-latest + runs-on: ${{ matrix.runner }} strategy: fail-fast: false matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + runner: + - ubuntu-24.04 + - macos-15 + - windows-2025 + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"] resolution: ["highest", "lowest-direct"] env: # Shared env variables for all the tests UV_RESOLUTION: "${{ matrix.resolution }}" steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + submodules: recursive - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 with: go-version: stable # We use this to install certain tools defined in poe tasks cache-dependency-path: poe_tasks.toml + - uses: mozilla-actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11 + - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + with: + path: .sccache + key: sccache-${{ matrix.runner }}-${{ github.sha }} + restore-keys: sccache-${{ matrix.runner }}- + - name: Enable sccache + shell: bash + run: | + echo "SCCACHE_DIR=${{ github.workspace }}/.sccache" >> $GITHUB_ENV + echo "SCCACHE_CACHE_SIZE=250M" >> $GITHUB_ENV + echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV + - name: Setup rust + run: rustup update - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 with: python-version: ${{ matrix.python-version }} @@ -41,15 +60,39 @@ jobs: uv sync --no-dev uv run --no-dev --group dev-required pytest -k test_conformance - lint: - runs-on: ubuntu-latest + # Confirm the sdist can be built with a default CI environment. + sdist: + # Slow so skip on PR + if: github.event_name != 'pull_request' + runs-on: ${{ matrix.runner }} + strategy: + fail-fast: false + matrix: + runner: + - ubuntu-24.04 + - macos-15 + - macos-15-intel + - windows-2025 + - windows-11-arm steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 with: - go-version: stable - # We use this to install certain tools defined in poe tasks - cache-dependency-path: poe_tasks.toml + submodules: recursive + - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 + # uv build first generates the sdist and then builds a wheel from it isolated from the repo. + # So it is enough to verify the sdist is usable. + - run: uv build + + lint: + runs-on: ubuntu-24.04 + env: + # We don't need the built extension for linting + UV_NO_PROJECT: "true" + PROTOVALIDATE_SKIP_CPP: "true" + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - name: Setup rust + run: rustup update - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index a17ceef5..4297b9aa 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,53 +1,192 @@ -name: Upload PyPI Release - +name: Release on: - release: - types: [published] + push: + tags: + - "v*" + workflow_dispatch: + pull_request: + paths: + - .github/workflows/release.yaml + +permissions: + id-token: write + attestations: write + contents: write jobs: - build: - name: Build package - runs-on: ubuntu-latest - environment: - name: release + ext-linux: + runs-on: ${{ matrix.platform.runner }} + strategy: + matrix: + platform: + - runner: ubuntu-24.04 + target: x86_64 + - runner: ubuntu-24.04-arm + target: aarch64 + manylinux: + - auto + - musllinux_1_2 steps: - - name: Checkout source - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - fetch-depth: 0 - - name: Set VERSION variable from tag - run: | - VERSION=${{github.head_ref}} - echo "VERSION=${VERSION##*/}" >> $GITHUB_ENV + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + submodules: recursive + + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + with: + python-version: 3.x + - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 - - name: Build release - run: | - uv build - - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + + - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: - name: package - path: dist/ + path: .sccache + key: sccache-${{ matrix.manylinux }}-${{ matrix.platform.runner }}-${{ github.sha }} + restore-keys: sccache-${{ matrix.manylinux }}-${{ matrix.platform.runner }}- + + - name: Build wheels + uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0 + env: + RUSTC_WRAPPER: sccache + SCCACHE_DIR: ${{ github.workspace }}/.sccache + SCCACHE_CACHE_SIZE: 250M + with: + target: ${{ matrix.platform.target }} + args: --release --out dist -i 3.10 -i 3.14t + before-script-linux: uv tool install "sccache>=0.10.0" + manylinux: ${{ matrix.manylinux }} + + # The container runs as root and leaves .sccache unreadable when saving + - name: Fix sccache dir permissions + if: always() + run: test ! -d .sccache || sudo chmod -R a+rX .sccache + + - name: Upload wheels + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: wheels-linux-${{ matrix.platform.target }}-${{ matrix.manylinux }} + path: dist - publish: - name: Publish on PyPI - runs-on: ubuntu-latest - environment: - name: release - permissions: - # IMPORTANT: this permission is mandatory for Trusted Publishing - id-token: write - needs: build + ext-windows: + runs-on: ${{ matrix.platform.runner }} + strategy: + matrix: + platform: + - runner: windows-2025 + target: x86_64 + - runner: windows-11-arm + target: aarch64 steps: - - name: Checkout source - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + submodules: recursive + + - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 + + - uses: mozilla-actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11 + + - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: - fetch-depth: 0 + path: .sccache + key: sccache-${{ matrix.platform.runner }}-${{ github.sha }} + restore-keys: sccache-${{ matrix.platform.runner }}- - - name: Download built artifact - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + - name: Build wheels + uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0 + env: + RUSTC_WRAPPER: sccache + SCCACHE_DIR: ${{ github.workspace }}/.sccache + SCCACHE_CACHE_SIZE: 250M with: - name: package + args: --release --out dist -i 3.10 -i 3.14t --features pyo3/generate-import-lib + + - name: Upload wheels + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: wheels-windows-${{ matrix.platform.target }} path: dist - - name: Publish on PyPI - uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # release/v1 + ext-macos: + runs-on: ${{ matrix.platform.runner }} + strategy: + matrix: + platform: + - runner: macos-15 + target: aarch64 + - runner: macos-15-intel + target: x86_64 + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + submodules: recursive + + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + with: + python-version: | + 3.10 + 3.14t + + - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 + + - uses: mozilla-actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11 + + - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + with: + path: .sccache + key: sccache-${{ matrix.platform.runner }}-${{ github.sha }} + restore-keys: sccache-${{ matrix.platform.runner }}- + + - name: Build wheels + uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0 + env: + RUSTC_WRAPPER: sccache + SCCACHE_DIR: ${{ github.workspace }}/.sccache + SCCACHE_CACHE_SIZE: 250M + with: + target: ${{ matrix.platform.target }} + args: --release --out dist -i 3.10 -i 3.14t + + - name: Upload wheels + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: wheels-macos-${{ matrix.platform.target }} + path: dist + + ext-sdist: + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + submodules: recursive + + - name: Build sdist + uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0 + with: + command: sdist + args: --out dist + + - name: Upload sdist + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: wheels-sdist + path: dist + + release: + runs-on: ubuntu-24.04 + environment: ${{ (github.event_name == 'workflow_dispatch' && 'pypi-test') || (github.event_name == 'push' && github.ref_type == 'tag' && 'pypi-release') || null }} + needs: + - ext-linux + - ext-windows + - ext-macos + - ext-sdist + steps: + - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + path: dist/ + merge-multiple: true + + - name: publish all packages + if: github.event_name != 'pull_request' + uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2 + with: + repository-url: ${{ github.event_name == 'workflow_dispatch' && 'https://test.pypi.org/legacy/' || null }} + skip-existing: true diff --git a/.gitignore b/.gitignore index 9063d9f0..3ba47625 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,9 @@ __pycache__ .envrc .benchmarks site + +*.so +target +dist +.tmp +.sccache diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..ca6fdf6e --- /dev/null +++ b/.gitmodules @@ -0,0 +1,18 @@ +[submodule "crates/deps-sys/third_party/abseil-cpp"] + path = crates/protovalidate-rs/third_party/abseil-cpp + url = https://github.com/abseil/abseil-cpp +[submodule "crates/deps-sys/third_party/protobuf"] + path = crates/protovalidate-rs/third_party/protobuf + url = https://github.com/protocolbuffers/protobuf +[submodule "crates/deps-sys/third_party/re2"] + path = crates/protovalidate-rs/third_party/re2 + url = https://github.com/google/re2 +[submodule "crates/deps-sys/third_party/antlr4"] + path = crates/protovalidate-rs/third_party/antlr4 + url = https://github.com/antlr/antlr4 +[submodule "crates/deps-sys/third_party/cel-cpp"] + path = crates/protovalidate-rs/third_party/cel-cpp + url = https://github.com/google/cel-cpp +[submodule "crates/protovalidate-sys/third_party/protovalidate-cc"] + path = crates/protovalidate-rs/third_party/protovalidate-cc + url = https://github.com/bufbuild/protovalidate-cc diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 00000000..ba7056cf --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,163 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "cc" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5add81bb678e6cb321aff7fa0dc7689ad82b112dbc032cea19f91d6b8e3582b9" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "libc" +version = "0.2.189" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" + +[[package]] +name = "once_cell" +version = "1.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" + +[[package]] +name = "portable-atomic" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d20d5497ef88037a52ff98267d066e7f11fcc5e99bbfbd58a42336193aacec3" + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "protovalidate" +version = "0.0.0" +dependencies = [ + "cc", +] + +[[package]] +name = "protovalidate-py" +version = "0.0.0" +dependencies = [ + "protovalidate", + "pyo3", + "pyo3-build-config", +] + +[[package]] +name = "pyo3" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc153f5fd745cc038b5eed86622125969f8a39834a57bc96beaaf2512b1da729" +dependencies = [ + "libc", + "once_cell", + "portable-atomic", + "pyo3-build-config", + "pyo3-ffi", + "pyo3-macros", +] + +[[package]] +name = "pyo3-build-config" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb77d9aa6d647507b55c69ee714d266d84c526c78ff0bc6dd8757f58591e64d1" +dependencies = [ + "target-lexicon", +] + +[[package]] +name = "pyo3-ffi" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3160087aa5733bce7d9a729f8c55f85a2a53b74742a09613178eeebff0722253" +dependencies = [ + "libc", + "pyo3-build-config", +] + +[[package]] +name = "pyo3-macros" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91f9d455db760a9a0b0ddeaac25f1390b8a36ba73dfbda9f127cac6fc340d4d5" +dependencies = [ + "proc-macro2", + "pyo3-macros-backend", + "quote", + "syn", +] + +[[package]] +name = "pyo3-macros-backend" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e343bcec300ff262f5806a33a4e51b6d097a8a46435f512fcb83e95592581625" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "target-lexicon" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca" + +[[package]] +name = "unicode-ident" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 00000000..eafc4605 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,53 @@ +# Copyright (c) 2023-2026 Buf Technologies, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +[package] +name = "protovalidate-py" +version.workspace = true +edition.workspace = true +publish.workspace = true + +[workspace] +members = ["crates/*"] + +[workspace.package] +version = "0.0.0" +edition = "2024" +publish = false + +[workspace.dependencies] +protovalidate = { path = "crates/protovalidate-rs" } + +cc = "1" + +[lib] +crate-type = ["cdylib"] +name = "protovalidate" + +[dependencies] +protovalidate.workspace = true +pyo3 = { version = "0.29.1", features = ["experimental-inspect"] } + +[build-dependencies] +pyo3-build-config = { version = "0.29.1", features = ["resolve-config"] } + +# Negative priority lets individual lint entries below override the group. +[lints.clippy] +pedantic = { level = "warn", priority = -1 } + +[profile.release] +debug = 0 +strip = true +lto = true +codegen-units = 1 diff --git a/README.md b/README.md index 5c2bedaa..918b5986 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,10 @@ To install the package, use `pip`: pip install protovalidate ``` +protovalidate is implemented as a Python native extension. We publish wheels for common platforms +and you will usually download a pre-built wheel. For others, ensure you have Rust and a C++ +compiler available, and it will be automatically built during installation. + ## Documentation Comprehensive documentation for Protovalidate is available at [protovalidate.com][protovalidate]. diff --git a/build.rs b/build.rs new file mode 100644 index 00000000..0475124b --- /dev/null +++ b/build.rs @@ -0,0 +1,3 @@ +fn main() { + pyo3_build_config::use_pyo3_cfgs(); +} diff --git a/protovalidate/_celexpr/__init__.py b/crates/protovalidate-rs/Cargo.toml similarity index 70% rename from protovalidate/_celexpr/__init__.py rename to crates/protovalidate-rs/Cargo.toml index 7d4fe781..98a337ea 100644 --- a/protovalidate/_celexpr/__init__.py +++ b/crates/protovalidate-rs/Cargo.toml @@ -12,12 +12,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""The cel-expr-python (cel-cpp) validation engine.""" +[package] +name = "protovalidate" +version.workspace = true +edition.workspace = true +links = "protovalidate" +publish.workspace = true -from __future__ import annotations - -from .bridge import GoogleBridge -from .extra_func import make_extension -from .rules import RuleFactory - -__all__ = ["GoogleBridge", "RuleFactory", "make_extension"] +[build-dependencies] +cc.workspace = true diff --git a/crates/protovalidate-rs/build.rs b/crates/protovalidate-rs/build.rs new file mode 100644 index 00000000..788eece3 --- /dev/null +++ b/crates/protovalidate-rs/build.rs @@ -0,0 +1,252 @@ +// Copyright (c) 2023-2026 Buf Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Compiles protovalidate-cc and the C++ libraries it builds on. +//! +//! Upstream sources are git submodules under `third_party/`, pinned to the +//! versions bazel resolves. Code that has no upstream file to point at -- +//! protoc output, the ANTLR-generated CEL parser -- is checked in under +//! `gen/`, because regenerating it would need protoc and a JVM at build time. +//! Which files to compile is recorded per library in `filelists/`. All of it +//! is produced by `scripts/extract_native_sources.py` from bazel's action +//! graph; nothing here is maintained by hand. + +use std::env; +use std::ffi::OsStr; +use std::path::{Path, PathBuf}; + +/// The directory of this crate. +fn manifest_dir() -> PathBuf { + PathBuf::from(env::var("CARGO_MANIFEST_DIR").expect("CARGO_MANIFEST_DIR")) +} + +fn rerun_if_changed(path: &Path) { + println!("cargo::rerun-if-changed={}", path.display()); +} + +/// Whether the C++ compilation can be skipped for this build. We skip it with +/// clippy or when maturin generates pyi stubs since they don't need the actual +/// native binary built, which also lets a checkout without the `third_party/` +/// submodules lint and generate stubs. +fn should_skip_cpp() -> bool { + println!("cargo::rerun-if-env-changed=CLIPPY_ARGS"); + println!("cargo::rerun-if-env-changed=PROTOVALIDATE_SKIP_CPP"); + env::var_os("CLIPPY_ARGS").is_some() || env::var_os("PROTOVALIDATE_SKIP_CPP").is_some() +} + +/// A submodule checkout under `third_party/`. +fn third_party_dir(name: &str) -> PathBuf { + let dir = manifest_dir().join("third_party").join(name); + let mut entries = std::fs::read_dir(&dir) + .unwrap_or_else(|e| { + panic!( + "{}: {e}. Run `git submodule update --init --recursive`.", + dir.display() + ) + }) + .map(|entry| entry.expect("read_dir entry").path()) + .filter(|path| path.file_name() != Some(OsStr::new(".git"))) + .peekable(); + assert!( + entries.peek().is_some(), + "{} is empty. Run `git submodule update --init --recursive`.", + dir.display(), + ); + // Watch the checkout's contents rather than the directory itself. cargo + // scans a watched directory recursively, and a submodule keeps its own + // `.git` directory, which git rewrites on any superproject operation -- + // a pull that changes nothing here still restamps it. Watching the root + // would rebuild every C++ file each time git touched its bookkeeping. + for path in entries { + rerun_if_changed(&path); + } + dir +} + +/// The checked-in generated sources. +fn gen_dir() -> PathBuf { + let dir = manifest_dir().join("gen"); + assert!(dir.is_dir(), "{} does not exist", dir.display()); + rerun_if_changed(&dir); + dir +} + +/// Source files a library compiles, as paths relative to the crate root. +/// +/// A `windows:`/`linux:`/`macos:` prefix marks a file bazel adds through a +/// platform select(); it is compiled only when the target OS matches. +fn read_filelist(path: &Path) -> Vec { + let target_os = env::var("CARGO_CFG_TARGET_OS").expect("CARGO_CFG_TARGET_OS"); + rerun_if_changed(path); + let text = std::fs::read_to_string(path).unwrap_or_else(|e| panic!("{}: {e}", path.display())); + text.lines() + .map(str::trim) + .filter(|line| !line.is_empty() && !line.starts_with('#')) + .filter_map(|line| match line.split_once(':') { + Some((os, path)) if ["windows", "linux", "macos"].contains(&os) => { + (os == target_os).then(|| path.to_owned()) + } + _ => Some(line.to_owned()), + }) + .collect() +} + +/// Routes MSVC C++ compiles through `RUSTC_WRAPPER` when set. +/// +/// cc applies the wrapper only to compilers named via CC/CXX, so the cl.exe it +/// discovers through the registry bypasses that fallback. We import the +/// discovered toolchain's environment (PATH/INCLUDE/LIB) and name the compiler +/// explicitly, which sends compiler resolution down the env-var branch where +/// the wrapper is attached. +fn reroute_msvc_through_wrapper() { + if env::var("CARGO_CFG_TARGET_ENV").as_deref() != Ok("msvc") + || env::var_os("RUSTC_WRAPPER").is_none() + || env::var_os("CC").is_some() + || env::var_os("CXX").is_some() + { + return; + } + let target = env::var("TARGET").expect("TARGET"); + let Some(tool) = cc::windows_registry::find_tool(&target, "cl.exe") else { + return; + }; + // SAFETY: build scripts are single-threaded when this runs, before any + // cc::Build is constructed. + for (key, value) in tool.env() { + unsafe { env::set_var(key, value) }; + } + unsafe { + // Bare `cl`, resolved via the PATH set for the toolchain. + env::set_var("CC", "cl"); + env::set_var("CXX", "cl"); + } +} + +/// One static library built from the C++ sources. +struct CxxLib { + name: String, + build: cc::Build, +} + +impl CxxLib { + fn new(name: &str, includes: &[&Path]) -> Self { + reroute_msvc_through_wrapper(); + let mut build = cc::Build::new(); + build.cpp(true).warnings(false); + + if build.get_compiler().is_like_msvc() { + build.std("c++20"); + // msvc does not support cel-cpp's constinit so we clear it + build.define("constinit", ""); + build.define("_ALLOW_KEYWORD_MACROS", None); + // Standard unwind semantics, which cc does not add on its own. + build.flag("/EHsc").flag("/utf-8").flag("/bigobj"); + build.define("NOMINMAX", None); + build.define("WIN32_LEAN_AND_MEAN", None); + } else { + build.std("c++17"); + build.flag_if_supported("-fsized-deallocation"); + build.flag_if_supported("-faligned-allocation"); + // Everything here is an implementation detail of the extension + // module, which exports only its PyInit symbol. + build.flag_if_supported("-fvisibility=hidden"); + build.flag_if_supported("-fvisibility-inlines-hidden"); + } + for dir in includes { + build.include(dir); + } + + let root = manifest_dir(); + for file in read_filelist(&root.join(format!("filelists/{name}.txt"))) { + build.file(root.join(file)); + } + Self { + name: name.to_owned(), + build, + } + } + + /// Adds the defines required to compile against the ANTLR4 C++ runtime + /// headers, in the runtime itself and its dependents alike. + fn antlr4_defines(&mut self) -> &mut Self { + self.build.define("ANTLR4CPP_STATIC", None); + self.build.define("ANTLR4CPP_USING_ABSEIL", None); + self + } + + fn compile(&mut self) { + self.build.compile(&self.name); + } +} + +fn main() { + if should_skip_cpp() { + return; + } + let absl = third_party_dir("abseil-cpp"); + let antlr4 = third_party_dir("antlr4").join("runtime/Cpp/runtime/src"); + let re2 = third_party_dir("re2"); + let protobuf_root = third_party_dir("protobuf"); + let celcpp = third_party_dir("cel-cpp"); + let pvcc = third_party_dir("protovalidate-cc"); + let generated = gen_dir(); + + let protobuf = protobuf_root.join("src"); + let utf8 = protobuf_root.join("third_party/utf8_range"); + let shim = manifest_dir().join("shim"); + + // gen/ is listed after the upstream include roots so that where protobuf + // ships a checked-in copy of a generated header, the checked-in one wins. + let mut absl_lib = CxxLib::new("absl", &[&absl]); + absl_lib.build.define("NOMINMAX", None); + + let mut antlr4_lib = CxxLib::new("antlr4", &[&antlr4, &absl]); + antlr4_lib.antlr4_defines(); + + let mut re2_lib = CxxLib::new("re2", &[&re2, &absl]); + + let mut protobuf_lib = CxxLib::new("protobuf", &[&protobuf, &utf8, &generated, &absl]); + + let mut celcpp_lib = CxxLib::new( + "celcpp", + &[&celcpp, &generated, &absl, &protobuf, &utf8, &re2, &antlr4], + ); + celcpp_lib.antlr4_defines(); + + let mut pv_lib = CxxLib::new( + "protovalidate", + &[ + &pvcc, &generated, &shim, &celcpp, &absl, &protobuf, &utf8, &re2, &antlr4, + ], + ); + pv_lib.antlr4_defines(); + // The C ABI the Rust bindings call through. + rerun_if_changed(&shim.join("pv_shim.cc")); + rerun_if_changed(&shim.join("pv_shim.h")); + pv_lib.build.file(shim.join("pv_shim.cc")); + + // Static archives must precede the archives they reference on the link + // line, so compile (and therefore emit link directives) most-dependent + // first. + pv_lib.compile(); + celcpp_lib.compile(); + protobuf_lib.compile(); + re2_lib.compile(); + antlr4_lib.compile(); + absl_lib.compile(); + + if env::var("CARGO_CFG_TARGET_OS").as_deref() == Ok("macos") { + println!("cargo::rustc-link-lib=framework=CoreFoundation"); + } +} diff --git a/crates/protovalidate-rs/filelists/absl.txt b/crates/protovalidate-rs/filelists/absl.txt new file mode 100644 index 00000000..a68757fb --- /dev/null +++ b/crates/protovalidate-rs/filelists/absl.txt @@ -0,0 +1,134 @@ +# Generated by scripts/extract_native_sources.py -- do not edit. +# C++ sources the extension compiles, relative to this crate's directory. +# A `windows:`/`linux:`/`macos:` prefix compiles a file on that OS only. +third_party/abseil-cpp/absl/base/casts.cc +third_party/abseil-cpp/absl/base/internal/cycleclock.cc +third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +third_party/abseil-cpp/absl/base/internal/raw_logging.cc +third_party/abseil-cpp/absl/base/internal/spinlock.cc +third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc +third_party/abseil-cpp/absl/base/internal/strerror.cc +third_party/abseil-cpp/absl/base/internal/sysinfo.cc +third_party/abseil-cpp/absl/base/internal/thread_identity.cc +third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +third_party/abseil-cpp/absl/base/internal/tracing.cc +third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +third_party/abseil-cpp/absl/base/log_severity.cc +third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +third_party/abseil-cpp/absl/crc/crc32c.cc +third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +third_party/abseil-cpp/absl/crc/internal/crc.cc +third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +third_party/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.cc +third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +third_party/abseil-cpp/absl/debugging/internal/demangle.cc +third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc +third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +third_party/abseil-cpp/absl/debugging/leak_check.cc +third_party/abseil-cpp/absl/debugging/stacktrace.cc +third_party/abseil-cpp/absl/debugging/symbolize.cc +third_party/abseil-cpp/absl/flags/commandlineflag.cc +third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc +third_party/abseil-cpp/absl/flags/internal/flag.cc +third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +third_party/abseil-cpp/absl/flags/internal/program_name.cc +third_party/abseil-cpp/absl/flags/marshalling.cc +third_party/abseil-cpp/absl/flags/reflection.cc +third_party/abseil-cpp/absl/flags/usage_config.cc +third_party/abseil-cpp/absl/hash/internal/city.cc +third_party/abseil-cpp/absl/hash/internal/hash.cc +third_party/abseil-cpp/absl/log/die_if_null.cc +third_party/abseil-cpp/absl/log/globals.cc +third_party/abseil-cpp/absl/log/internal/check_op.cc +third_party/abseil-cpp/absl/log/internal/conditions.cc +third_party/abseil-cpp/absl/log/internal/fnmatch.cc +third_party/abseil-cpp/absl/log/internal/globals.cc +third_party/abseil-cpp/absl/log/internal/log_format.cc +third_party/abseil-cpp/absl/log/internal/log_message.cc +third_party/abseil-cpp/absl/log/internal/log_sink_set.cc +third_party/abseil-cpp/absl/log/internal/nullguard.cc +third_party/abseil-cpp/absl/log/internal/proto.cc +third_party/abseil-cpp/absl/log/internal/structured_proto.cc +third_party/abseil-cpp/absl/log/internal/vlog_config.cc +third_party/abseil-cpp/absl/log/log_entry.cc +third_party/abseil-cpp/absl/log/log_sink.cc +third_party/abseil-cpp/absl/numeric/int128.cc +third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc +third_party/abseil-cpp/absl/status/internal/status_internal.cc +third_party/abseil-cpp/absl/status/status.cc +third_party/abseil-cpp/absl/status/status_payload_printer.cc +third_party/abseil-cpp/absl/status/statusor.cc +third_party/abseil-cpp/absl/strings/ascii.cc +third_party/abseil-cpp/absl/strings/charconv.cc +third_party/abseil-cpp/absl/strings/cord.cc +third_party/abseil-cpp/absl/strings/cord_analysis.cc +third_party/abseil-cpp/absl/strings/escaping.cc +third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +third_party/abseil-cpp/absl/strings/internal/escaping.cc +third_party/abseil-cpp/absl/strings/internal/memutil.cc +third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc +third_party/abseil-cpp/absl/strings/internal/utf8.cc +third_party/abseil-cpp/absl/strings/match.cc +third_party/abseil-cpp/absl/strings/numbers.cc +third_party/abseil-cpp/absl/strings/str_cat.cc +third_party/abseil-cpp/absl/strings/str_replace.cc +third_party/abseil-cpp/absl/strings/str_split.cc +third_party/abseil-cpp/absl/strings/substitute.cc +third_party/abseil-cpp/absl/synchronization/barrier.cc +third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +third_party/abseil-cpp/absl/synchronization/mutex.cc +third_party/abseil-cpp/absl/synchronization/notification.cc +third_party/abseil-cpp/absl/time/civil_time.cc +third_party/abseil-cpp/absl/time/clock.cc +third_party/abseil-cpp/absl/time/duration.cc +third_party/abseil-cpp/absl/time/format.cc +third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +third_party/abseil-cpp/absl/time/time.cc +windows:third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc diff --git a/crates/protovalidate-rs/filelists/antlr4.txt b/crates/protovalidate-rs/filelists/antlr4.txt new file mode 100644 index 00000000..93fa5d38 --- /dev/null +++ b/crates/protovalidate-rs/filelists/antlr4.txt @@ -0,0 +1,139 @@ +# Generated by scripts/extract_native_sources.py -- do not edit. +# C++ sources the extension compiles, relative to this crate's directory. +# A `windows:`/`linux:`/`macos:` prefix compiles a file on that OS only. +third_party/antlr4/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +third_party/antlr4/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +third_party/antlr4/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +third_party/antlr4/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +third_party/antlr4/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +third_party/antlr4/runtime/Cpp/runtime/src/BaseErrorListener.cpp +third_party/antlr4/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +third_party/antlr4/runtime/Cpp/runtime/src/CharStream.cpp +third_party/antlr4/runtime/Cpp/runtime/src/CommonToken.cpp +third_party/antlr4/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +third_party/antlr4/runtime/Cpp/runtime/src/CommonTokenStream.cpp +third_party/antlr4/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +third_party/antlr4/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +third_party/antlr4/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +third_party/antlr4/runtime/Cpp/runtime/src/Exceptions.cpp +third_party/antlr4/runtime/Cpp/runtime/src/FailedPredicateException.cpp +third_party/antlr4/runtime/Cpp/runtime/src/InputMismatchException.cpp +third_party/antlr4/runtime/Cpp/runtime/src/IntStream.cpp +third_party/antlr4/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +third_party/antlr4/runtime/Cpp/runtime/src/Lexer.cpp +third_party/antlr4/runtime/Cpp/runtime/src/LexerInterpreter.cpp +third_party/antlr4/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +third_party/antlr4/runtime/Cpp/runtime/src/ListTokenSource.cpp +third_party/antlr4/runtime/Cpp/runtime/src/NoViableAltException.cpp +third_party/antlr4/runtime/Cpp/runtime/src/Parser.cpp +third_party/antlr4/runtime/Cpp/runtime/src/ParserInterpreter.cpp +third_party/antlr4/runtime/Cpp/runtime/src/ParserRuleContext.cpp +third_party/antlr4/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +third_party/antlr4/runtime/Cpp/runtime/src/RecognitionException.cpp +third_party/antlr4/runtime/Cpp/runtime/src/Recognizer.cpp +third_party/antlr4/runtime/Cpp/runtime/src/RuleContext.cpp +third_party/antlr4/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +third_party/antlr4/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +third_party/antlr4/runtime/Cpp/runtime/src/Token.cpp +third_party/antlr4/runtime/Cpp/runtime/src/TokenSource.cpp +third_party/antlr4/runtime/Cpp/runtime/src/TokenStream.cpp +third_party/antlr4/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +third_party/antlr4/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +third_party/antlr4/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +third_party/antlr4/runtime/Cpp/runtime/src/Vocabulary.cpp +third_party/antlr4/runtime/Cpp/runtime/src/WritableToken.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/ATN.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNState.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNStateType.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionState.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerAction.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextCache.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/SetTransition.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/Transition.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/TransitionType.cpp +third_party/antlr4/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFA.cpp +third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFAState.cpp +third_party/antlr4/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +third_party/antlr4/runtime/Cpp/runtime/src/internal/Synchronization.cpp +third_party/antlr4/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +third_party/antlr4/runtime/Cpp/runtime/src/misc/Interval.cpp +third_party/antlr4/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +third_party/antlr4/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +third_party/antlr4/runtime/Cpp/runtime/src/misc/Predicate.cpp +third_party/antlr4/runtime/Cpp/runtime/src/support/Any.cpp +third_party/antlr4/runtime/Cpp/runtime/src/support/Arrays.cpp +third_party/antlr4/runtime/Cpp/runtime/src/support/CPPUtils.cpp +third_party/antlr4/runtime/Cpp/runtime/src/support/StringUtils.cpp +third_party/antlr4/runtime/Cpp/runtime/src/support/Utf8.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTree.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/Trees.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp diff --git a/crates/protovalidate-rs/filelists/celcpp.txt b/crates/protovalidate-rs/filelists/celcpp.txt new file mode 100644 index 00000000..9ee3fd07 --- /dev/null +++ b/crates/protovalidate-rs/filelists/celcpp.txt @@ -0,0 +1,192 @@ +# Generated by scripts/extract_native_sources.py -- do not edit. +# C++ sources the extension compiles, relative to this crate's directory. +# A `windows:`/`linux:`/`macos:` prefix compiles a file on that OS only. +gen/cel/expr/checked.pb.cc +gen/cel/expr/syntax.pb.cc +gen/cel/expr/value.pb.cc +gen/parser/internal/CelBaseVisitor.cpp +gen/parser/internal/CelLexer.cpp +gen/parser/internal/CelParser.cpp +gen/parser/internal/CelVisitor.cpp +third_party/cel-cpp/base/attribute.cc +third_party/cel-cpp/base/function_result_set.cc +third_party/cel-cpp/base/internal/unknown_set.cc +third_party/cel-cpp/checker/internal/builtins_arena.cc +third_party/cel-cpp/checker/type_check_issue.cc +third_party/cel-cpp/checker/validation_result.cc +third_party/cel-cpp/common/any.cc +third_party/cel-cpp/common/ast.cc +third_party/cel-cpp/common/ast/constant_proto.cc +third_party/cel-cpp/common/ast/expr_proto.cc +third_party/cel-cpp/common/ast/metadata.cc +third_party/cel-cpp/common/ast/navigable_ast_kinds.cc +third_party/cel-cpp/common/ast/source_info_proto.cc +third_party/cel-cpp/common/ast_proto.cc +third_party/cel-cpp/common/ast_rewrite.cc +third_party/cel-cpp/common/ast_traverse.cc +third_party/cel-cpp/common/constant.cc +third_party/cel-cpp/common/container.cc +third_party/cel-cpp/common/decl.cc +third_party/cel-cpp/common/expr.cc +third_party/cel-cpp/common/function_descriptor.cc +third_party/cel-cpp/common/internal/byte_string.cc +third_party/cel-cpp/common/internal/reference_count.cc +third_party/cel-cpp/common/internal/signature.cc +third_party/cel-cpp/common/kind.cc +third_party/cel-cpp/common/legacy_value.cc +third_party/cel-cpp/common/memory.cc +third_party/cel-cpp/common/navigable_ast.cc +third_party/cel-cpp/common/operators.cc +third_party/cel-cpp/common/source.cc +third_party/cel-cpp/common/type.cc +third_party/cel-cpp/common/type_introspector.cc +third_party/cel-cpp/common/typeinfo.cc +third_party/cel-cpp/common/types/basic_struct_type.cc +third_party/cel-cpp/common/types/enum_type.cc +third_party/cel-cpp/common/types/function_type.cc +third_party/cel-cpp/common/types/function_type_pool.cc +third_party/cel-cpp/common/types/list_type.cc +third_party/cel-cpp/common/types/list_type_pool.cc +third_party/cel-cpp/common/types/map_type.cc +third_party/cel-cpp/common/types/map_type_pool.cc +third_party/cel-cpp/common/types/message_type.cc +third_party/cel-cpp/common/types/opaque_type.cc +third_party/cel-cpp/common/types/opaque_type_pool.cc +third_party/cel-cpp/common/types/optional_type.cc +third_party/cel-cpp/common/types/struct_type.cc +third_party/cel-cpp/common/types/type_pool.cc +third_party/cel-cpp/common/types/type_type.cc +third_party/cel-cpp/common/types/type_type_pool.cc +third_party/cel-cpp/common/value.cc +third_party/cel-cpp/common/values/bool_value.cc +third_party/cel-cpp/common/values/bytes_value.cc +third_party/cel-cpp/common/values/custom_list_value.cc +third_party/cel-cpp/common/values/custom_map_value.cc +third_party/cel-cpp/common/values/custom_struct_value.cc +third_party/cel-cpp/common/values/double_value.cc +third_party/cel-cpp/common/values/duration_value.cc +third_party/cel-cpp/common/values/error_value.cc +third_party/cel-cpp/common/values/int_value.cc +third_party/cel-cpp/common/values/legacy_list_value.cc +third_party/cel-cpp/common/values/legacy_map_value.cc +third_party/cel-cpp/common/values/legacy_struct_value.cc +third_party/cel-cpp/common/values/list_value.cc +third_party/cel-cpp/common/values/map_value.cc +third_party/cel-cpp/common/values/message_value.cc +third_party/cel-cpp/common/values/null_value.cc +third_party/cel-cpp/common/values/opaque_value.cc +third_party/cel-cpp/common/values/optional_value.cc +third_party/cel-cpp/common/values/parsed_json_list_value.cc +third_party/cel-cpp/common/values/parsed_json_map_value.cc +third_party/cel-cpp/common/values/parsed_json_value.cc +third_party/cel-cpp/common/values/parsed_map_field_value.cc +third_party/cel-cpp/common/values/parsed_message_value.cc +third_party/cel-cpp/common/values/parsed_repeated_field_value.cc +third_party/cel-cpp/common/values/string_value.cc +third_party/cel-cpp/common/values/struct_value.cc +third_party/cel-cpp/common/values/struct_value_builder.cc +third_party/cel-cpp/common/values/timestamp_value.cc +third_party/cel-cpp/common/values/type_value.cc +third_party/cel-cpp/common/values/uint_value.cc +third_party/cel-cpp/common/values/unknown_value.cc +third_party/cel-cpp/common/values/value_builder.cc +third_party/cel-cpp/common/values/value_variant.cc +third_party/cel-cpp/eval/compiler/cel_expression_builder_flat_impl.cc +third_party/cel-cpp/eval/compiler/check_ast_extensions.cc +third_party/cel-cpp/eval/compiler/comprehension_vulnerability_check.cc +third_party/cel-cpp/eval/compiler/constant_folding.cc +third_party/cel-cpp/eval/compiler/flat_expr_builder.cc +third_party/cel-cpp/eval/compiler/flat_expr_builder_extensions.cc +third_party/cel-cpp/eval/compiler/qualified_reference_resolver.cc +third_party/cel-cpp/eval/compiler/regex_precompilation_optimization.cc +third_party/cel-cpp/eval/compiler/resolver.cc +third_party/cel-cpp/eval/eval/attribute_trail.cc +third_party/cel-cpp/eval/eval/attribute_utility.cc +third_party/cel-cpp/eval/eval/cel_expression_flat_impl.cc +third_party/cel-cpp/eval/eval/compiler_constant_step.cc +third_party/cel-cpp/eval/eval/comprehension_step.cc +third_party/cel-cpp/eval/eval/container_access_step.cc +third_party/cel-cpp/eval/eval/create_list_step.cc +third_party/cel-cpp/eval/eval/create_map_step.cc +third_party/cel-cpp/eval/eval/create_struct_step.cc +third_party/cel-cpp/eval/eval/direct_expression_step.cc +third_party/cel-cpp/eval/eval/equality_steps.cc +third_party/cel-cpp/eval/eval/evaluator_core.cc +third_party/cel-cpp/eval/eval/evaluator_stack.cc +third_party/cel-cpp/eval/eval/function_step.cc +third_party/cel-cpp/eval/eval/ident_step.cc +third_party/cel-cpp/eval/eval/jump_step.cc +third_party/cel-cpp/eval/eval/lazy_init_step.cc +third_party/cel-cpp/eval/eval/logic_step.cc +third_party/cel-cpp/eval/eval/optional_or_step.cc +third_party/cel-cpp/eval/eval/regex_match_step.cc +third_party/cel-cpp/eval/eval/select_step.cc +third_party/cel-cpp/eval/eval/shadowable_value_step.cc +third_party/cel-cpp/eval/eval/ternary_step.cc +third_party/cel-cpp/eval/internal/adapter_activation_impl.cc +third_party/cel-cpp/eval/internal/cel_value_equal.cc +third_party/cel-cpp/eval/internal/errors.cc +third_party/cel-cpp/eval/public/activation.cc +third_party/cel-cpp/eval/public/builtin_func_registrar.cc +third_party/cel-cpp/eval/public/cel_attribute.cc +third_party/cel-cpp/eval/public/cel_expr_builder_factory.cc +third_party/cel-cpp/eval/public/cel_function.cc +third_party/cel-cpp/eval/public/cel_function_registry.cc +third_party/cel-cpp/eval/public/cel_number.cc +third_party/cel-cpp/eval/public/cel_options.cc +third_party/cel-cpp/eval/public/cel_type_registry.cc +third_party/cel-cpp/eval/public/cel_value.cc +third_party/cel-cpp/eval/public/containers/container_backed_map_impl.cc +third_party/cel-cpp/eval/public/containers/field_access.cc +third_party/cel-cpp/eval/public/containers/internal_field_backed_list_impl.cc +third_party/cel-cpp/eval/public/containers/internal_field_backed_map_impl.cc +third_party/cel-cpp/eval/public/string_extension_func_registrar.cc +third_party/cel-cpp/eval/public/structs/cel_proto_wrap_util.cc +third_party/cel-cpp/eval/public/structs/cel_proto_wrapper.cc +third_party/cel-cpp/eval/public/structs/field_access_impl.cc +third_party/cel-cpp/eval/public/structs/legacy_type_provider.cc +third_party/cel-cpp/eval/public/structs/proto_message_type_adapter.cc +third_party/cel-cpp/eval/public/structs/protobuf_descriptor_type_provider.cc +third_party/cel-cpp/eval/public/unknown_function_result_set.cc +third_party/cel-cpp/extensions/formatting.cc +third_party/cel-cpp/extensions/protobuf/internal/map_reflection.cc +third_party/cel-cpp/extensions/protobuf/internal/qualify.cc +third_party/cel-cpp/extensions/protobuf/memory_manager.cc +third_party/cel-cpp/extensions/select_optimization.cc +third_party/cel-cpp/extensions/strings.cc +third_party/cel-cpp/internal/empty_descriptors.cc +third_party/cel-cpp/internal/json.cc +third_party/cel-cpp/internal/lexis.cc +third_party/cel-cpp/internal/message_equality.cc +third_party/cel-cpp/internal/new.cc +third_party/cel-cpp/internal/overflow.cc +third_party/cel-cpp/internal/proto_time_encoding.cc +third_party/cel-cpp/internal/string_pool.cc +third_party/cel-cpp/internal/strings.cc +third_party/cel-cpp/internal/time.cc +third_party/cel-cpp/internal/utf8.cc +third_party/cel-cpp/internal/well_known_types.cc +third_party/cel-cpp/parser/macro.cc +third_party/cel-cpp/parser/macro_expr_factory.cc +third_party/cel-cpp/parser/macro_registry.cc +third_party/cel-cpp/parser/parser.cc +third_party/cel-cpp/runtime/activation.cc +third_party/cel-cpp/runtime/function_registry.cc +third_party/cel-cpp/runtime/internal/activation_attribute_matcher_access.cc +third_party/cel-cpp/runtime/internal/convert_constant.cc +third_party/cel-cpp/runtime/internal/errors.cc +third_party/cel-cpp/runtime/internal/runtime_env.cc +third_party/cel-cpp/runtime/internal/runtime_impl.cc +third_party/cel-cpp/runtime/internal/runtime_type_provider.cc +third_party/cel-cpp/runtime/standard/arithmetic_functions.cc +third_party/cel-cpp/runtime/standard/comparison_functions.cc +third_party/cel-cpp/runtime/standard/container_functions.cc +third_party/cel-cpp/runtime/standard/container_membership_functions.cc +third_party/cel-cpp/runtime/standard/equality_functions.cc +third_party/cel-cpp/runtime/standard/logical_functions.cc +third_party/cel-cpp/runtime/standard/regex_functions.cc +third_party/cel-cpp/runtime/standard/string_functions.cc +third_party/cel-cpp/runtime/standard/time_functions.cc +third_party/cel-cpp/runtime/standard/type_conversion_functions.cc +third_party/cel-cpp/runtime/type_registry.cc +third_party/cel-cpp/validator/validator.cc diff --git a/crates/protovalidate-rs/filelists/protobuf.txt b/crates/protovalidate-rs/filelists/protobuf.txt new file mode 100644 index 00000000..cdca3afa --- /dev/null +++ b/crates/protovalidate-rs/filelists/protobuf.txt @@ -0,0 +1,82 @@ +# Generated by scripts/extract_native_sources.py -- do not edit. +# C++ sources the extension compiles, relative to this crate's directory. +# A `windows:`/`linux:`/`macos:` prefix compiles a file on that OS only. +third_party/protobuf/src/google/protobuf/any.cc +third_party/protobuf/src/google/protobuf/any.pb.cc +third_party/protobuf/src/google/protobuf/any_lite.cc +third_party/protobuf/src/google/protobuf/api.pb.cc +third_party/protobuf/src/google/protobuf/arena.cc +third_party/protobuf/src/google/protobuf/arena_align.cc +third_party/protobuf/src/google/protobuf/arenastring.cc +third_party/protobuf/src/google/protobuf/arenaz_sampler.cc +third_party/protobuf/src/google/protobuf/compiler/importer.cc +third_party/protobuf/src/google/protobuf/compiler/parser.cc +third_party/protobuf/src/google/protobuf/cpp_features.pb.cc +third_party/protobuf/src/google/protobuf/descriptor.cc +third_party/protobuf/src/google/protobuf/descriptor.pb.cc +third_party/protobuf/src/google/protobuf/descriptor_database.cc +third_party/protobuf/src/google/protobuf/duration.pb.cc +third_party/protobuf/src/google/protobuf/dynamic_message.cc +third_party/protobuf/src/google/protobuf/empty.pb.cc +third_party/protobuf/src/google/protobuf/extension_set.cc +third_party/protobuf/src/google/protobuf/extension_set_heavy.cc +third_party/protobuf/src/google/protobuf/feature_resolver.cc +third_party/protobuf/src/google/protobuf/field_mask.pb.cc +third_party/protobuf/src/google/protobuf/generated_enum_util.cc +third_party/protobuf/src/google/protobuf/generated_message_bases.cc +third_party/protobuf/src/google/protobuf/generated_message_reflection.cc +third_party/protobuf/src/google/protobuf/generated_message_tctable_full.cc +third_party/protobuf/src/google/protobuf/generated_message_tctable_gen.cc +third_party/protobuf/src/google/protobuf/generated_message_tctable_lite.cc +third_party/protobuf/src/google/protobuf/generated_message_util.cc +third_party/protobuf/src/google/protobuf/implicit_weak_message.cc +third_party/protobuf/src/google/protobuf/inlined_string_field.cc +third_party/protobuf/src/google/protobuf/internal_feature_helper.cc +third_party/protobuf/src/google/protobuf/io/coded_stream.cc +third_party/protobuf/src/google/protobuf/io/gzip_stream.cc +third_party/protobuf/src/google/protobuf/io/io_win32.cc +third_party/protobuf/src/google/protobuf/io/printer.cc +third_party/protobuf/src/google/protobuf/io/strtod.cc +third_party/protobuf/src/google/protobuf/io/tokenizer.cc +third_party/protobuf/src/google/protobuf/io/zero_copy_sink.cc +third_party/protobuf/src/google/protobuf/io/zero_copy_stream.cc +third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.cc +third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc +third_party/protobuf/src/google/protobuf/json/internal/lexer.cc +third_party/protobuf/src/google/protobuf/json/internal/message_path.cc +third_party/protobuf/src/google/protobuf/json/internal/parser.cc +third_party/protobuf/src/google/protobuf/json/internal/unparser.cc +third_party/protobuf/src/google/protobuf/json/internal/untyped_message.cc +third_party/protobuf/src/google/protobuf/json/internal/writer.cc +third_party/protobuf/src/google/protobuf/json/internal/zero_copy_buffered_stream.cc +third_party/protobuf/src/google/protobuf/json/json.cc +third_party/protobuf/src/google/protobuf/map.cc +third_party/protobuf/src/google/protobuf/map_field.cc +third_party/protobuf/src/google/protobuf/message.cc +third_party/protobuf/src/google/protobuf/message_lite.cc +third_party/protobuf/src/google/protobuf/micro_string.cc +third_party/protobuf/src/google/protobuf/parse_context.cc +third_party/protobuf/src/google/protobuf/port.cc +third_party/protobuf/src/google/protobuf/raw_ptr.cc +third_party/protobuf/src/google/protobuf/reflection_mode.cc +third_party/protobuf/src/google/protobuf/reflection_ops.cc +third_party/protobuf/src/google/protobuf/repeated_field.cc +third_party/protobuf/src/google/protobuf/repeated_ptr_field.cc +third_party/protobuf/src/google/protobuf/service.cc +third_party/protobuf/src/google/protobuf/source_context.pb.cc +third_party/protobuf/src/google/protobuf/struct.pb.cc +third_party/protobuf/src/google/protobuf/stubs/common.cc +third_party/protobuf/src/google/protobuf/text_format.cc +third_party/protobuf/src/google/protobuf/timestamp.pb.cc +third_party/protobuf/src/google/protobuf/type.pb.cc +third_party/protobuf/src/google/protobuf/unknown_field_set.cc +third_party/protobuf/src/google/protobuf/util/delimited_message_util.cc +third_party/protobuf/src/google/protobuf/util/field_comparator.cc +third_party/protobuf/src/google/protobuf/util/field_mask_util.cc +third_party/protobuf/src/google/protobuf/util/message_differencer.cc +third_party/protobuf/src/google/protobuf/util/time_util.cc +third_party/protobuf/src/google/protobuf/util/type_resolver_util.cc +third_party/protobuf/src/google/protobuf/wire_format.cc +third_party/protobuf/src/google/protobuf/wire_format_lite.cc +third_party/protobuf/src/google/protobuf/wrappers.pb.cc +third_party/protobuf/third_party/utf8_range/utf8_range.c diff --git a/crates/protovalidate-rs/filelists/protovalidate.txt b/crates/protovalidate-rs/filelists/protovalidate.txt new file mode 100644 index 00000000..334519ac --- /dev/null +++ b/crates/protovalidate-rs/filelists/protovalidate.txt @@ -0,0 +1,14 @@ +# Generated by scripts/extract_native_sources.py -- do not edit. +# C++ sources the extension compiles, relative to this crate's directory. +# A `windows:`/`linux:`/`macos:` prefix compiles a file on that OS only. +gen/buf/validate/validate.pb.cc +third_party/protovalidate-cc/buf/validate/internal/cel_validation_rules.cc +third_party/protovalidate-cc/buf/validate/internal/extra_func.cc +third_party/protovalidate-cc/buf/validate/internal/field_rules.cc +third_party/protovalidate-cc/buf/validate/internal/lib/ipv4.cc +third_party/protovalidate-cc/buf/validate/internal/lib/ipv6.cc +third_party/protovalidate-cc/buf/validate/internal/lib/uri.cc +third_party/protovalidate-cc/buf/validate/internal/message_factory.cc +third_party/protovalidate-cc/buf/validate/internal/message_rules.cc +third_party/protovalidate-cc/buf/validate/internal/rules.cc +third_party/protovalidate-cc/buf/validate/validator.cc diff --git a/crates/protovalidate-rs/filelists/re2.txt b/crates/protovalidate-rs/filelists/re2.txt new file mode 100644 index 00000000..f6e72bb2 --- /dev/null +++ b/crates/protovalidate-rs/filelists/re2.txt @@ -0,0 +1,25 @@ +# Generated by scripts/extract_native_sources.py -- do not edit. +# C++ sources the extension compiles, relative to this crate's directory. +# A `windows:`/`linux:`/`macos:` prefix compiles a file on that OS only. +third_party/re2/re2/bitmap256.cc +third_party/re2/re2/bitstate.cc +third_party/re2/re2/compile.cc +third_party/re2/re2/dfa.cc +third_party/re2/re2/filtered_re2.cc +third_party/re2/re2/mimics_pcre.cc +third_party/re2/re2/nfa.cc +third_party/re2/re2/onepass.cc +third_party/re2/re2/parse.cc +third_party/re2/re2/perl_groups.cc +third_party/re2/re2/prefilter.cc +third_party/re2/re2/prefilter_tree.cc +third_party/re2/re2/prog.cc +third_party/re2/re2/re2.cc +third_party/re2/re2/regexp.cc +third_party/re2/re2/set.cc +third_party/re2/re2/simplify.cc +third_party/re2/re2/tostring.cc +third_party/re2/re2/unicode_casefold.cc +third_party/re2/re2/unicode_groups.cc +third_party/re2/util/rune.cc +third_party/re2/util/strutil.cc diff --git a/crates/protovalidate-rs/gen/buf/validate/validate.pb.cc b/crates/protovalidate-rs/gen/buf/validate/validate.pb.cc new file mode 100644 index 00000000..49eb73bb --- /dev/null +++ b/crates/protovalidate-rs/gen/buf/validate/validate.pb.cc @@ -0,0 +1,21049 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: buf/validate/validate.proto +// Protobuf C++ Version: 6.33.4 + +#include "buf/validate/validate.pb.h" + +#include +#include +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/generated_message_tctable_impl.h" +#include "google/protobuf/extension_set.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/wire_format_lite.h" +#include "google/protobuf/descriptor.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/reflection_ops.h" +#include "google/protobuf/wire_format.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" +PROTOBUF_PRAGMA_INIT_SEG +namespace _pb = ::google::protobuf; +namespace _pbi = ::google::protobuf::internal; +namespace _fl = ::google::protobuf::internal::field_layout; +namespace buf { +namespace validate { + +inline constexpr UInt64Rules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + example_{}, + const__{::uint64_t{0u}}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR UInt64Rules::UInt64Rules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(UInt64Rules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct UInt64RulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR UInt64RulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~UInt64RulesDefaultTypeInternal() {} + union { + UInt64Rules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UInt64RulesDefaultTypeInternal _UInt64Rules_default_instance_; + +inline constexpr UInt32Rules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + example_{}, + const__{0u}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR UInt32Rules::UInt32Rules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(UInt32Rules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct UInt32RulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR UInt32RulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~UInt32RulesDefaultTypeInternal() {} + union { + UInt32Rules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UInt32RulesDefaultTypeInternal _UInt32Rules_default_instance_; + +inline constexpr StringRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + example_{}, + const__( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + pattern_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + prefix_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + suffix_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + contains_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + not_contains_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + min_len_{::uint64_t{0u}}, + max_len_{::uint64_t{0u}}, + min_bytes_{::uint64_t{0u}}, + max_bytes_{::uint64_t{0u}}, + len_{::uint64_t{0u}}, + len_bytes_{::uint64_t{0u}}, + strict_{false}, + well_known_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR StringRules::StringRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(StringRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct StringRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR StringRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~StringRulesDefaultTypeInternal() {} + union { + StringRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 StringRulesDefaultTypeInternal _StringRules_default_instance_; + +inline constexpr SInt64Rules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + example_{}, + const__{::int64_t{0}}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR SInt64Rules::SInt64Rules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(SInt64Rules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct SInt64RulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR SInt64RulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~SInt64RulesDefaultTypeInternal() {} + union { + SInt64Rules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SInt64RulesDefaultTypeInternal _SInt64Rules_default_instance_; + +inline constexpr SInt32Rules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + example_{}, + const__{0}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR SInt32Rules::SInt32Rules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(SInt32Rules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct SInt32RulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR SInt32RulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~SInt32RulesDefaultTypeInternal() {} + union { + SInt32Rules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SInt32RulesDefaultTypeInternal _SInt32Rules_default_instance_; + +inline constexpr SFixed64Rules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + example_{}, + const__{::int64_t{0}}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR SFixed64Rules::SFixed64Rules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(SFixed64Rules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct SFixed64RulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR SFixed64RulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~SFixed64RulesDefaultTypeInternal() {} + union { + SFixed64Rules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SFixed64RulesDefaultTypeInternal _SFixed64Rules_default_instance_; + +inline constexpr SFixed32Rules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + example_{}, + const__{0}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR SFixed32Rules::SFixed32Rules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(SFixed32Rules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct SFixed32RulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR SFixed32RulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~SFixed32RulesDefaultTypeInternal() {} + union { + SFixed32Rules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SFixed32RulesDefaultTypeInternal _SFixed32Rules_default_instance_; + +inline constexpr Rule::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + id_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + message_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + expression_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()) {} + +template +PROTOBUF_CONSTEXPR Rule::Rule(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Rule_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct RuleDefaultTypeInternal { + PROTOBUF_CONSTEXPR RuleDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~RuleDefaultTypeInternal() {} + union { + Rule _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RuleDefaultTypeInternal _Rule_default_instance_; + +inline constexpr OneofRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + required_{false} {} + +template +PROTOBUF_CONSTEXPR OneofRules::OneofRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(OneofRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct OneofRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR OneofRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~OneofRulesDefaultTypeInternal() {} + union { + OneofRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OneofRulesDefaultTypeInternal _OneofRules_default_instance_; + +inline constexpr MessageOneofRule::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + fields_{}, + required_{false} {} + +template +PROTOBUF_CONSTEXPR MessageOneofRule::MessageOneofRule(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(MessageOneofRule_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct MessageOneofRuleDefaultTypeInternal { + PROTOBUF_CONSTEXPR MessageOneofRuleDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~MessageOneofRuleDefaultTypeInternal() {} + union { + MessageOneofRule _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MessageOneofRuleDefaultTypeInternal _MessageOneofRule_default_instance_; + +inline constexpr Int64Rules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + const__{::int64_t{0}}, + example_{}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR Int64Rules::Int64Rules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Int64Rules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Int64RulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR Int64RulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Int64RulesDefaultTypeInternal() {} + union { + Int64Rules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Int64RulesDefaultTypeInternal _Int64Rules_default_instance_; + +inline constexpr Int32Rules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + example_{}, + const__{0}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR Int32Rules::Int32Rules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Int32Rules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Int32RulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR Int32RulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Int32RulesDefaultTypeInternal() {} + union { + Int32Rules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Int32RulesDefaultTypeInternal _Int32Rules_default_instance_; + +inline constexpr FloatRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + const__{0}, + finite_{false}, + example_{}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR FloatRules::FloatRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(FloatRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct FloatRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR FloatRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~FloatRulesDefaultTypeInternal() {} + union { + FloatRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FloatRulesDefaultTypeInternal _FloatRules_default_instance_; + +inline constexpr Fixed64Rules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + example_{}, + const__{::uint64_t{0u}}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR Fixed64Rules::Fixed64Rules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Fixed64Rules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Fixed64RulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR Fixed64RulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Fixed64RulesDefaultTypeInternal() {} + union { + Fixed64Rules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Fixed64RulesDefaultTypeInternal _Fixed64Rules_default_instance_; + +inline constexpr Fixed32Rules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + example_{}, + const__{0u}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR Fixed32Rules::Fixed32Rules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Fixed32Rules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Fixed32RulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR Fixed32RulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Fixed32RulesDefaultTypeInternal() {} + union { + Fixed32Rules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Fixed32RulesDefaultTypeInternal _Fixed32Rules_default_instance_; + +inline constexpr FieldPathElement::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + field_name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + field_number_{0}, + value_type_{static_cast< ::google::protobuf::FieldDescriptorProto_Type >(1)}, + field_type_{static_cast< ::google::protobuf::FieldDescriptorProto_Type >(1)}, + key_type_{static_cast< ::google::protobuf::FieldDescriptorProto_Type >(1)}, + subscript_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR FieldPathElement::FieldPathElement(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(FieldPathElement_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct FieldPathElementDefaultTypeInternal { + PROTOBUF_CONSTEXPR FieldPathElementDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~FieldPathElementDefaultTypeInternal() {} + union { + FieldPathElement _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldPathElementDefaultTypeInternal _FieldPathElement_default_instance_; + +inline constexpr EnumRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + example_{}, + const__{0}, + defined_only_{false} {} + +template +PROTOBUF_CONSTEXPR EnumRules::EnumRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(EnumRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct EnumRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR EnumRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~EnumRulesDefaultTypeInternal() {} + union { + EnumRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumRulesDefaultTypeInternal _EnumRules_default_instance_; + +inline constexpr DoubleRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + const__{0}, + finite_{false}, + example_{}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR DoubleRules::DoubleRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(DoubleRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct DoubleRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR DoubleRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~DoubleRulesDefaultTypeInternal() {} + union { + DoubleRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DoubleRulesDefaultTypeInternal _DoubleRules_default_instance_; + +inline constexpr BytesRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + example_{}, + const__( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + pattern_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + prefix_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + suffix_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + contains_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + min_len_{::uint64_t{0u}}, + max_len_{::uint64_t{0u}}, + len_{::uint64_t{0u}}, + well_known_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR BytesRules::BytesRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(BytesRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct BytesRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR BytesRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~BytesRulesDefaultTypeInternal() {} + union { + BytesRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BytesRulesDefaultTypeInternal _BytesRules_default_instance_; + +inline constexpr BoolRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + example_{}, + const__{false} {} + +template +PROTOBUF_CONSTEXPR BoolRules::BoolRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(BoolRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct BoolRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR BoolRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~BoolRulesDefaultTypeInternal() {} + union { + BoolRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BoolRulesDefaultTypeInternal _BoolRules_default_instance_; + +inline constexpr AnyRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{} {} + +template +PROTOBUF_CONSTEXPR AnyRules::AnyRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(AnyRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct AnyRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR AnyRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~AnyRulesDefaultTypeInternal() {} + union { + AnyRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AnyRulesDefaultTypeInternal _AnyRules_default_instance_; + +inline constexpr TimestampRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + const__{nullptr}, + within_{nullptr}, + example_{}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR TimestampRules::TimestampRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(TimestampRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct TimestampRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR TimestampRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~TimestampRulesDefaultTypeInternal() {} + union { + TimestampRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TimestampRulesDefaultTypeInternal _TimestampRules_default_instance_; + +inline constexpr PredefinedRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + cel_{} {} + +template +PROTOBUF_CONSTEXPR PredefinedRules::PredefinedRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(PredefinedRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct PredefinedRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR PredefinedRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~PredefinedRulesDefaultTypeInternal() {} + union { + PredefinedRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PredefinedRulesDefaultTypeInternal _PredefinedRules_default_instance_; + +inline constexpr MessageRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + cel_{}, + oneof_{}, + cel_expression_{} {} + +template +PROTOBUF_CONSTEXPR MessageRules::MessageRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(MessageRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct MessageRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR MessageRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~MessageRulesDefaultTypeInternal() {} + union { + MessageRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MessageRulesDefaultTypeInternal _MessageRules_default_instance_; + +inline constexpr FieldPath::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + elements_{} {} + +template +PROTOBUF_CONSTEXPR FieldPath::FieldPath(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(FieldPath_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct FieldPathDefaultTypeInternal { + PROTOBUF_CONSTEXPR FieldPathDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~FieldPathDefaultTypeInternal() {} + union { + FieldPath _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldPathDefaultTypeInternal _FieldPath_default_instance_; + +inline constexpr FieldMaskRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + example_{}, + const__{nullptr} {} + +template +PROTOBUF_CONSTEXPR FieldMaskRules::FieldMaskRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(FieldMaskRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct FieldMaskRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR FieldMaskRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~FieldMaskRulesDefaultTypeInternal() {} + union { + FieldMaskRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldMaskRulesDefaultTypeInternal _FieldMaskRules_default_instance_; + +inline constexpr DurationRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + in_{}, + not_in_{}, + example_{}, + const__{nullptr}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR DurationRules::DurationRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(DurationRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct DurationRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR DurationRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~DurationRulesDefaultTypeInternal() {} + union { + DurationRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DurationRulesDefaultTypeInternal _DurationRules_default_instance_; + +inline constexpr Violation::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + rule_id_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + message_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + field_{nullptr}, + rule_{nullptr}, + for_key_{false} {} + +template +PROTOBUF_CONSTEXPR Violation::Violation(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Violation_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ViolationDefaultTypeInternal { + PROTOBUF_CONSTEXPR ViolationDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ViolationDefaultTypeInternal() {} + union { + Violation _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ViolationDefaultTypeInternal _Violation_default_instance_; + +inline constexpr FieldRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + cel_{}, + cel_expression_{}, + required_{false}, + ignore_{static_cast< ::buf::validate::Ignore >(0)}, + type_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR FieldRules::FieldRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(FieldRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct FieldRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR FieldRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~FieldRulesDefaultTypeInternal() {} + union { + FieldRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldRulesDefaultTypeInternal _FieldRules_default_instance_; + +inline constexpr MapRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + keys_{nullptr}, + values_{nullptr}, + min_pairs_{::uint64_t{0u}}, + max_pairs_{::uint64_t{0u}} {} + +template +PROTOBUF_CONSTEXPR MapRules::MapRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(MapRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct MapRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR MapRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~MapRulesDefaultTypeInternal() {} + union { + MapRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MapRulesDefaultTypeInternal _MapRules_default_instance_; + +inline constexpr RepeatedRules::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + items_{nullptr}, + min_items_{::uint64_t{0u}}, + max_items_{::uint64_t{0u}}, + unique_{false} {} + +template +PROTOBUF_CONSTEXPR RepeatedRules::RepeatedRules(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(RepeatedRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct RepeatedRulesDefaultTypeInternal { + PROTOBUF_CONSTEXPR RepeatedRulesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~RepeatedRulesDefaultTypeInternal() {} + union { + RepeatedRules _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RepeatedRulesDefaultTypeInternal _RepeatedRules_default_instance_; + +inline constexpr Violations::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + violations_{} {} + +template +PROTOBUF_CONSTEXPR Violations::Violations(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Violations_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ViolationsDefaultTypeInternal { + PROTOBUF_CONSTEXPR ViolationsDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ViolationsDefaultTypeInternal() {} + union { + Violations _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ViolationsDefaultTypeInternal _Violations_default_instance_; +} // namespace validate +} // namespace buf +static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL + file_level_enum_descriptors_buf_2fvalidate_2fvalidate_2eproto[2]; +static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE + file_level_service_descriptors_buf_2fvalidate_2fvalidate_2eproto = nullptr; +const ::uint32_t + TableStruct_buf_2fvalidate_2fvalidate_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE( + protodesc_cold) = { + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::Rule, _impl_._has_bits_), + 6, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::Rule, _impl_.id_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Rule, _impl_.message_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Rule, _impl_.expression_), + 0, + 1, + 2, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::MessageRules, _impl_._has_bits_), + 6, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::MessageRules, _impl_.cel_expression_), + PROTOBUF_FIELD_OFFSET(::buf::validate::MessageRules, _impl_.cel_), + PROTOBUF_FIELD_OFFSET(::buf::validate::MessageRules, _impl_.oneof_), + 2, + 0, + 1, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::MessageOneofRule, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::MessageOneofRule, _impl_.fields_), + PROTOBUF_FIELD_OFFSET(::buf::validate::MessageOneofRule, _impl_.required_), + 0, + 1, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::OneofRules, _impl_._has_bits_), + 4, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::OneofRules, _impl_.required_), + 0, + 0x085, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_._oneof_case_[0]), + 31, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.cel_expression_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.cel_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.required_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.ignore_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_.type_), + 1, + 0, + 2, + 3, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::PredefinedRules, _impl_._has_bits_), + 4, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::PredefinedRules, _impl_.cel_), + 0, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::FloatRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FloatRules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FloatRules, _impl_._oneof_case_[0]), + 16, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::FloatRules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::FloatRules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FloatRules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FloatRules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FloatRules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FloatRules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FloatRules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FloatRules, _impl_.finite_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FloatRules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FloatRules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FloatRules, _impl_.greater_than_), + 2, + ~0u, + ~0u, + ~0u, + ~0u, + 0, + 1, + 3, + 4, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::DoubleRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DoubleRules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DoubleRules, _impl_._oneof_case_[0]), + 16, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::DoubleRules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::DoubleRules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DoubleRules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DoubleRules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DoubleRules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DoubleRules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DoubleRules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DoubleRules, _impl_.finite_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DoubleRules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DoubleRules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DoubleRules, _impl_.greater_than_), + 2, + ~0u, + ~0u, + ~0u, + ~0u, + 0, + 1, + 3, + 4, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::Int32Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int32Rules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int32Rules, _impl_._oneof_case_[0]), + 15, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::Int32Rules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int32Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int32Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int32Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int32Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int32Rules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int32Rules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int32Rules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int32Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int32Rules, _impl_.greater_than_), + 3, + ~0u, + ~0u, + ~0u, + ~0u, + 0, + 1, + 2, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::Int64Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int64Rules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int64Rules, _impl_._oneof_case_[0]), + 15, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::Int64Rules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int64Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int64Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int64Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int64Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int64Rules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int64Rules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int64Rules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int64Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Int64Rules, _impl_.greater_than_), + 2, + ~0u, + ~0u, + ~0u, + ~0u, + 0, + 1, + 3, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt32Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt32Rules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt32Rules, _impl_._oneof_case_[0]), + 15, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt32Rules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt32Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt32Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt32Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt32Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt32Rules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt32Rules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt32Rules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt32Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt32Rules, _impl_.greater_than_), + 3, + ~0u, + ~0u, + ~0u, + ~0u, + 0, + 1, + 2, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt64Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt64Rules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt64Rules, _impl_._oneof_case_[0]), + 15, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt64Rules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt64Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt64Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt64Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt64Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt64Rules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt64Rules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt64Rules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt64Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt64Rules, _impl_.greater_than_), + 3, + ~0u, + ~0u, + ~0u, + ~0u, + 0, + 1, + 2, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt32Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt32Rules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt32Rules, _impl_._oneof_case_[0]), + 15, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt32Rules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt32Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt32Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt32Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt32Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt32Rules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt32Rules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt32Rules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt32Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt32Rules, _impl_.greater_than_), + 3, + ~0u, + ~0u, + ~0u, + ~0u, + 0, + 1, + 2, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt64Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt64Rules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt64Rules, _impl_._oneof_case_[0]), + 15, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt64Rules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt64Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt64Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt64Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt64Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt64Rules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt64Rules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt64Rules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt64Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt64Rules, _impl_.greater_than_), + 3, + ~0u, + ~0u, + ~0u, + ~0u, + 0, + 1, + 2, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed32Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed32Rules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed32Rules, _impl_._oneof_case_[0]), + 15, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed32Rules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed32Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed32Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed32Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed32Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed32Rules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed32Rules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed32Rules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed32Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed32Rules, _impl_.greater_than_), + 3, + ~0u, + ~0u, + ~0u, + ~0u, + 0, + 1, + 2, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed64Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed64Rules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed64Rules, _impl_._oneof_case_[0]), + 15, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed64Rules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed64Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed64Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed64Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed64Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed64Rules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed64Rules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed64Rules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed64Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed64Rules, _impl_.greater_than_), + 3, + ~0u, + ~0u, + ~0u, + ~0u, + 0, + 1, + 2, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed32Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed32Rules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed32Rules, _impl_._oneof_case_[0]), + 15, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed32Rules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed32Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed32Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed32Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed32Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed32Rules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed32Rules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed32Rules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed32Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed32Rules, _impl_.greater_than_), + 3, + ~0u, + ~0u, + ~0u, + ~0u, + 0, + 1, + 2, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed64Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed64Rules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed64Rules, _impl_._oneof_case_[0]), + 15, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed64Rules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed64Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed64Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed64Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed64Rules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed64Rules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed64Rules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed64Rules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed64Rules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed64Rules, _impl_.greater_than_), + 3, + ~0u, + ~0u, + ~0u, + ~0u, + 0, + 1, + 2, + 0x083, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::BoolRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BoolRules, _impl_._extensions_), + 6, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::BoolRules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::BoolRules, _impl_.example_), + 1, + 0, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_._oneof_case_[0]), + 43, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.len_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.min_len_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.max_len_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.len_bytes_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.min_bytes_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.max_bytes_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.pattern_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.prefix_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.suffix_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.contains_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.not_contains_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.strict_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_.well_known_), + 3, + 13, + 9, + 10, + 14, + 11, + 12, + 4, + 5, + 6, + 7, + 8, + 0, + 1, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + 15, + 2, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_._oneof_case_[0]), + 21, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.len_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.min_len_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.max_len_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.pattern_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.prefix_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.suffix_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.contains_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.well_known_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_.well_known_), + 3, + 10, + 8, + 9, + 4, + 5, + 6, + 7, + 0, + 1, + ~0u, + ~0u, + ~0u, + ~0u, + 2, + 0x083, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::EnumRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::EnumRules, _impl_._extensions_), + 9, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::EnumRules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::EnumRules, _impl_.defined_only_), + PROTOBUF_FIELD_OFFSET(::buf::validate::EnumRules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::EnumRules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::EnumRules, _impl_.example_), + 3, + 4, + 0, + 1, + 2, + 0x083, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::RepeatedRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::RepeatedRules, _impl_._extensions_), + 8, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::RepeatedRules, _impl_.min_items_), + PROTOBUF_FIELD_OFFSET(::buf::validate::RepeatedRules, _impl_.max_items_), + PROTOBUF_FIELD_OFFSET(::buf::validate::RepeatedRules, _impl_.unique_), + PROTOBUF_FIELD_OFFSET(::buf::validate::RepeatedRules, _impl_.items_), + 1, + 2, + 3, + 0, + 0x083, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::MapRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::MapRules, _impl_._extensions_), + 8, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::MapRules, _impl_.min_pairs_), + PROTOBUF_FIELD_OFFSET(::buf::validate::MapRules, _impl_.max_pairs_), + PROTOBUF_FIELD_OFFSET(::buf::validate::MapRules, _impl_.keys_), + PROTOBUF_FIELD_OFFSET(::buf::validate::MapRules, _impl_.values_), + 2, + 3, + 0, + 1, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::AnyRules, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::AnyRules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::AnyRules, _impl_.not_in_), + 0, + 1, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::DurationRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DurationRules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DurationRules, _impl_._oneof_case_[0]), + 15, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::DurationRules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::DurationRules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DurationRules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DurationRules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DurationRules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DurationRules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DurationRules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DurationRules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DurationRules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::DurationRules, _impl_.greater_than_), + 3, + ~0u, + ~0u, + ~0u, + ~0u, + 0, + 1, + 2, + 0x083, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldMaskRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldMaskRules, _impl_._extensions_), + 8, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldMaskRules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldMaskRules, _impl_.in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldMaskRules, _impl_.not_in_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldMaskRules, _impl_.example_), + 3, + 0, + 1, + 2, + 0x087, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::TimestampRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::TimestampRules, _impl_._extensions_), + PROTOBUF_FIELD_OFFSET(::buf::validate::TimestampRules, _impl_._oneof_case_[0]), + 16, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::TimestampRules, _impl_.const__), + PROTOBUF_FIELD_OFFSET(::buf::validate::TimestampRules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::TimestampRules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::TimestampRules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::TimestampRules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::TimestampRules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::TimestampRules, _impl_.greater_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::TimestampRules, _impl_.within_), + PROTOBUF_FIELD_OFFSET(::buf::validate::TimestampRules, _impl_.example_), + PROTOBUF_FIELD_OFFSET(::buf::validate::TimestampRules, _impl_.less_than_), + PROTOBUF_FIELD_OFFSET(::buf::validate::TimestampRules, _impl_.greater_than_), + 0, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + 1, + 2, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::Violations, _impl_._has_bits_), + 4, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::Violations, _impl_.violations_), + 0, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::Violation, _impl_._has_bits_), + 8, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::Violation, _impl_.field_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Violation, _impl_.rule_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Violation, _impl_.rule_id_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Violation, _impl_.message_), + PROTOBUF_FIELD_OFFSET(::buf::validate::Violation, _impl_.for_key_), + 2, + 3, + 0, + 1, + 4, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPath, _impl_._has_bits_), + 4, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPath, _impl_.elements_), + 0, + 0x085, // bitmap + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPathElement, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPathElement, _impl_._oneof_case_[0]), + 15, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPathElement, _impl_.field_number_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPathElement, _impl_.field_name_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPathElement, _impl_.field_type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPathElement, _impl_.key_type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPathElement, _impl_.value_type_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPathElement, _impl_.subscript_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPathElement, _impl_.subscript_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPathElement, _impl_.subscript_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPathElement, _impl_.subscript_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPathElement, _impl_.subscript_), + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPathElement, _impl_.subscript_), + 1, + 0, + 3, + 4, + 2, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, +}; + +static const ::_pbi::MigrationSchema + schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { + {0, sizeof(::buf::validate::Rule)}, + {9, sizeof(::buf::validate::MessageRules)}, + {18, sizeof(::buf::validate::MessageOneofRule)}, + {25, sizeof(::buf::validate::OneofRules)}, + {30, sizeof(::buf::validate::FieldRules)}, + {87, sizeof(::buf::validate::PredefinedRules)}, + {92, sizeof(::buf::validate::FloatRules)}, + {117, sizeof(::buf::validate::DoubleRules)}, + {142, sizeof(::buf::validate::Int32Rules)}, + {165, sizeof(::buf::validate::Int64Rules)}, + {188, sizeof(::buf::validate::UInt32Rules)}, + {211, sizeof(::buf::validate::UInt64Rules)}, + {234, sizeof(::buf::validate::SInt32Rules)}, + {257, sizeof(::buf::validate::SInt64Rules)}, + {280, sizeof(::buf::validate::Fixed32Rules)}, + {303, sizeof(::buf::validate::Fixed64Rules)}, + {326, sizeof(::buf::validate::SFixed32Rules)}, + {349, sizeof(::buf::validate::SFixed64Rules)}, + {372, sizeof(::buf::validate::BoolRules)}, + {380, sizeof(::buf::validate::StringRules)}, + {460, sizeof(::buf::validate::BytesRules)}, + {496, sizeof(::buf::validate::EnumRules)}, + {510, sizeof(::buf::validate::RepeatedRules)}, + {522, sizeof(::buf::validate::MapRules)}, + {534, sizeof(::buf::validate::AnyRules)}, + {541, sizeof(::buf::validate::DurationRules)}, + {564, sizeof(::buf::validate::FieldMaskRules)}, + {576, sizeof(::buf::validate::TimestampRules)}, + {601, sizeof(::buf::validate::Violations)}, + {606, sizeof(::buf::validate::Violation)}, + {619, sizeof(::buf::validate::FieldPath)}, + {624, sizeof(::buf::validate::FieldPathElement)}, +}; +static const ::_pb::Message* PROTOBUF_NONNULL const file_default_instances[] = { + &::buf::validate::_Rule_default_instance_._instance, + &::buf::validate::_MessageRules_default_instance_._instance, + &::buf::validate::_MessageOneofRule_default_instance_._instance, + &::buf::validate::_OneofRules_default_instance_._instance, + &::buf::validate::_FieldRules_default_instance_._instance, + &::buf::validate::_PredefinedRules_default_instance_._instance, + &::buf::validate::_FloatRules_default_instance_._instance, + &::buf::validate::_DoubleRules_default_instance_._instance, + &::buf::validate::_Int32Rules_default_instance_._instance, + &::buf::validate::_Int64Rules_default_instance_._instance, + &::buf::validate::_UInt32Rules_default_instance_._instance, + &::buf::validate::_UInt64Rules_default_instance_._instance, + &::buf::validate::_SInt32Rules_default_instance_._instance, + &::buf::validate::_SInt64Rules_default_instance_._instance, + &::buf::validate::_Fixed32Rules_default_instance_._instance, + &::buf::validate::_Fixed64Rules_default_instance_._instance, + &::buf::validate::_SFixed32Rules_default_instance_._instance, + &::buf::validate::_SFixed64Rules_default_instance_._instance, + &::buf::validate::_BoolRules_default_instance_._instance, + &::buf::validate::_StringRules_default_instance_._instance, + &::buf::validate::_BytesRules_default_instance_._instance, + &::buf::validate::_EnumRules_default_instance_._instance, + &::buf::validate::_RepeatedRules_default_instance_._instance, + &::buf::validate::_MapRules_default_instance_._instance, + &::buf::validate::_AnyRules_default_instance_._instance, + &::buf::validate::_DurationRules_default_instance_._instance, + &::buf::validate::_FieldMaskRules_default_instance_._instance, + &::buf::validate::_TimestampRules_default_instance_._instance, + &::buf::validate::_Violations_default_instance_._instance, + &::buf::validate::_Violation_default_instance_._instance, + &::buf::validate::_FieldPath_default_instance_._instance, + &::buf::validate::_FieldPathElement_default_instance_._instance, +}; +const char descriptor_table_protodef_buf_2fvalidate_2fvalidate_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE( + protodesc_cold) = { + "\n\033buf/validate/validate.proto\022\014buf.valid" + "ate\032 google/protobuf/descriptor.proto\032\036g" + "oogle/protobuf/duration.proto\032 google/pr" + "otobuf/field_mask.proto\032\037google/protobuf" + "/timestamp.proto\"7\n\004Rule\022\n\n\002id\030\001 \001(\t\022\017\n\007" + "message\030\002 \001(\t\022\022\n\nexpression\030\003 \001(\t\"\206\001\n\014Me" + "ssageRules\022\026\n\016cel_expression\030\005 \003(\t\022\037\n\003ce" + "l\030\003 \003(\0132\022.buf.validate.Rule\022-\n\005oneof\030\004 \003" + "(\0132\036.buf.validate.MessageOneofRuleJ\004\010\001\020\002" + "R\010disabled\"4\n\020MessageOneofRule\022\016\n\006fields" + "\030\001 \003(\t\022\020\n\010required\030\002 \001(\010\"\036\n\nOneofRules\022\020" + "\n\010required\030\001 \001(\010\"\213\t\n\nFieldRules\022\026\n\016cel_e" + "xpression\030\035 \003(\t\022\037\n\003cel\030\027 \003(\0132\022.buf.valid" + "ate.Rule\022\020\n\010required\030\031 \001(\010\022$\n\006ignore\030\033 \001" + "(\0162\024.buf.validate.Ignore\022)\n\005float\030\001 \001(\0132" + "\030.buf.validate.FloatRulesH\000\022+\n\006double\030\002 " + "\001(\0132\031.buf.validate.DoubleRulesH\000\022)\n\005int3" + "2\030\003 \001(\0132\030.buf.validate.Int32RulesH\000\022)\n\005i" + "nt64\030\004 \001(\0132\030.buf.validate.Int64RulesH\000\022+" + "\n\006uint32\030\005 \001(\0132\031.buf.validate.UInt32Rule" + "sH\000\022+\n\006uint64\030\006 \001(\0132\031.buf.validate.UInt6" + "4RulesH\000\022+\n\006sint32\030\007 \001(\0132\031.buf.validate." + "SInt32RulesH\000\022+\n\006sint64\030\010 \001(\0132\031.buf.vali" + "date.SInt64RulesH\000\022-\n\007fixed32\030\t \001(\0132\032.bu" + "f.validate.Fixed32RulesH\000\022-\n\007fixed64\030\n \001" + "(\0132\032.buf.validate.Fixed64RulesH\000\022/\n\010sfix" + "ed32\030\013 \001(\0132\033.buf.validate.SFixed32RulesH" + "\000\022/\n\010sfixed64\030\014 \001(\0132\033.buf.validate.SFixe" + "d64RulesH\000\022\'\n\004bool\030\r \001(\0132\027.buf.validate." + "BoolRulesH\000\022+\n\006string\030\016 \001(\0132\031.buf.valida" + "te.StringRulesH\000\022)\n\005bytes\030\017 \001(\0132\030.buf.va" + "lidate.BytesRulesH\000\022\'\n\004enum\030\020 \001(\0132\027.buf." + "validate.EnumRulesH\000\022/\n\010repeated\030\022 \001(\0132\033" + ".buf.validate.RepeatedRulesH\000\022%\n\003map\030\023 \001" + "(\0132\026.buf.validate.MapRulesH\000\022%\n\003any\030\024 \001(" + "\0132\026.buf.validate.AnyRulesH\000\022/\n\010duration\030" + "\025 \001(\0132\033.buf.validate.DurationRulesH\000\0222\n\n" + "field_mask\030\034 \001(\0132\034.buf.validate.FieldMas" + "kRulesH\000\0221\n\ttimestamp\030\026 \001(\0132\034.buf.valida" + "te.TimestampRulesH\000B\006\n\004typeJ\004\010\030\020\031J\004\010\032\020\033R" + "\007skippedR\014ignore_empty\"U\n\017PredefinedRule" + "s\022\037\n\003cel\030\001 \003(\0132\022.buf.validate.RuleJ\004\010\030\020\031" + "J\004\010\032\020\033R\007skippedR\014ignore_empty\"\370\026\n\nFloatR" + "ules\022}\n\005const\030\001 \001(\002Bn\302Hk\ni\n\013float.const\032" + "Zthis != getField(rules, \'const\') \? \'mus" + "t equal %s\'.format([getField(rules, \'con" + "st\')]) : \'\'\022\231\001\n\002lt\030\002 \001(\002B\212\001\302H\206\001\n\203\001\n\010floa" + "t.lt\032w!has(rules.gte) && !has(rules.gt) " + "&& (this.isNan() || this >= rules.lt)\? \'" + "must be less than %s\'.format([rules.lt])" + " : \'\'H\000\022\251\001\n\003lte\030\003 \001(\002B\231\001\302H\225\001\n\222\001\n\tfloat.l" + "te\032\204\001!has(rules.gte) && !has(rules.gt) &" + "& (this.isNan() || this > rules.lte)\? \'m" + "ust be less than or equal to %s\'.format(" + "[rules.lte]) : \'\'H\000\022\320\007\n\002gt\030\004 \001(\002B\301\007\302H\275\007\n" + "\206\001\n\010float.gt\032z!has(rules.lt) && !has(rul" + "es.lte) && (this.isNan() || this <= rule" + "s.gt)\? \'must be greater than %s\'.format(" + "[rules.gt]) : \'\'\n\275\001\n\013float.gt_lt\032\255\001has(r" + "ules.lt) && rules.lt >= rules.gt && (thi" + "s.isNan() || this >= rules.lt || this <=" + " rules.gt)\? \'must be greater than %s and" + " less than %s\'.format([rules.gt, rules.l" + "t]) : \'\'\n\307\001\n\025float.gt_lt_exclusive\032\255\001has" + "(rules.lt) && rules.lt < rules.gt && (th" + "is.isNan() || (rules.lt <= this && this " + "<= rules.gt))\? \'must be greater than %s " + "or less than %s\'.format([rules.gt, rules" + ".lt]) : \'\'\n\315\001\n\014float.gt_lte\032\274\001has(rules." + "lte) && rules.lte >= rules.gt && (this.i" + "sNan() || this > rules.lte || this <= ru" + "les.gt)\? \'must be greater than %s and le" + "ss than or equal to %s\'.format([rules.gt" + ", rules.lte]) : \'\'\n\327\001\n\026float.gt_lte_excl" + "usive\032\274\001has(rules.lte) && rules.lte < ru" + "les.gt && (this.isNan() || (rules.lte < " + "this && this <= rules.gt))\? \'must be gre" + "ater than %s or less than or equal to %s" + "\'.format([rules.gt, rules.lte]) : \'\'H\001\022\234" + "\010\n\003gte\030\005 \001(\002B\214\010\302H\210\010\n\225\001\n\tfloat.gte\032\207\001!has" + "(rules.lt) && !has(rules.lte) && (this.i" + "sNan() || this < rules.gte)\? \'must be gr" + "eater than or equal to %s\'.format([rules" + ".gte]) : \'\'\n\314\001\n\014float.gte_lt\032\273\001has(rules" + ".lt) && rules.lt >= rules.gte && (this.i" + "sNan() || this >= rules.lt || this < rul" + "es.gte)\? \'must be greater than or equal " + "to %s and less than %s\'.format([rules.gt" + "e, rules.lt]) : \'\'\n\326\001\n\026float.gte_lt_excl" + "usive\032\273\001has(rules.lt) && rules.lt < rule" + "s.gte && (this.isNan() || (rules.lt <= t" + "his && this < rules.gte))\? \'must be grea" + "ter than or equal to %s or less than %s\'" + ".format([rules.gte, rules.lt]) : \'\'\n\334\001\n\r" + "float.gte_lte\032\312\001has(rules.lte) && rules." + "lte >= rules.gte && (this.isNan() || thi" + "s > rules.lte || this < rules.gte)\? \'mus" + "t be greater than or equal to %s and les" + "s than or equal to %s\'.format([rules.gte" + ", rules.lte]) : \'\'\n\346\001\n\027float.gte_lte_exc" + "lusive\032\312\001has(rules.lte) && rules.lte < r" + "ules.gte && (this.isNan() || (rules.lte " + "< this && this < rules.gte))\? \'must be g" + "reater than or equal to %s or less than " + "or equal to %s\'.format([rules.gte, rules" + ".lte]) : \'\'H\001\022y\n\002in\030\006 \003(\002Bm\302Hj\nh\n\010float." + "in\032\\!(this in getField(rules, \'in\')) \? \'" + "must be in list %s\'.format([getField(rul" + "es, \'in\')]) : \'\'\022p\n\006not_in\030\007 \003(\002B`\302H]\n[\n" + "\014float.not_in\032Kthis in rules.not_in \? \'m" + "ust not be in list %s\'.format([rules.not" + "_in]) : \'\'\022o\n\006finite\030\010 \001(\010B_\302H\\\nZ\n\014float" + ".finite\032Jrules.finite \? (this.isNan() ||" + " this.isInf() \? \'must be finite\' : \'\') :" + " \'\'\022+\n\007example\030\t \003(\002B\032\302H\027\n\025\n\rfloat.examp" + "le\032\004true*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014grea" + "ter_than\"\212\027\n\013DoubleRules\022~\n\005const\030\001 \001(\001B" + "o\302Hl\nj\n\014double.const\032Zthis != getField(r" + "ules, \'const\') \? \'must equal %s\'.format(" + "[getField(rules, \'const\')]) : \'\'\022\232\001\n\002lt\030" + "\002 \001(\001B\213\001\302H\207\001\n\204\001\n\tdouble.lt\032w!has(rules.g" + "te) && !has(rules.gt) && (this.isNan() |" + "| this >= rules.lt)\? \'must be less than " + "%s\'.format([rules.lt]) : \'\'H\000\022\252\001\n\003lte\030\003 " + "\001(\001B\232\001\302H\226\001\n\223\001\n\ndouble.lte\032\204\001!has(rules.g" + "te) && !has(rules.gt) && (this.isNan() |" + "| this > rules.lte)\? \'must be less than " + "or equal to %s\'.format([rules.lte]) : \'\'" + "H\000\022\325\007\n\002gt\030\004 \001(\001B\306\007\302H\302\007\n\207\001\n\tdouble.gt\032z!h" + "as(rules.lt) && !has(rules.lte) && (this" + ".isNan() || this <= rules.gt)\? \'must be " + "greater than %s\'.format([rules.gt]) : \'\'" + "\n\276\001\n\014double.gt_lt\032\255\001has(rules.lt) && rul" + "es.lt >= rules.gt && (this.isNan() || th" + "is >= rules.lt || this <= rules.gt)\? \'mu" + "st be greater than %s and less than %s\'." + "format([rules.gt, rules.lt]) : \'\'\n\310\001\n\026do" + "uble.gt_lt_exclusive\032\255\001has(rules.lt) && " + "rules.lt < rules.gt && (this.isNan() || " + "(rules.lt <= this && this <= rules.gt))\?" + " \'must be greater than %s or less than %" + "s\'.format([rules.gt, rules.lt]) : \'\'\n\316\001\n" + "\rdouble.gt_lte\032\274\001has(rules.lte) && rules" + ".lte >= rules.gt && (this.isNan() || thi" + "s > rules.lte || this <= rules.gt)\? \'mus" + "t be greater than %s and less than or eq" + "ual to %s\'.format([rules.gt, rules.lte])" + " : \'\'\n\330\001\n\027double.gt_lte_exclusive\032\274\001has(" + "rules.lte) && rules.lte < rules.gt && (t" + "his.isNan() || (rules.lte < this && this" + " <= rules.gt))\? \'must be greater than %s" + " or less than or equal to %s\'.format([ru" + "les.gt, rules.lte]) : \'\'H\001\022\241\010\n\003gte\030\005 \001(\001" + "B\221\010\302H\215\010\n\226\001\n\ndouble.gte\032\207\001!has(rules.lt) " + "&& !has(rules.lte) && (this.isNan() || t" + "his < rules.gte)\? \'must be greater than " + "or equal to %s\'.format([rules.gte]) : \'\'" + "\n\315\001\n\rdouble.gte_lt\032\273\001has(rules.lt) && ru" + "les.lt >= rules.gte && (this.isNan() || " + "this >= rules.lt || this < rules.gte)\? \'" + "must be greater than or equal to %s and " + "less than %s\'.format([rules.gte, rules.l" + "t]) : \'\'\n\327\001\n\027double.gte_lt_exclusive\032\273\001h" + "as(rules.lt) && rules.lt < rules.gte && " + "(this.isNan() || (rules.lt <= this && th" + "is < rules.gte))\? \'must be greater than " + "or equal to %s or less than %s\'.format([" + "rules.gte, rules.lt]) : \'\'\n\335\001\n\016double.gt" + "e_lte\032\312\001has(rules.lte) && rules.lte >= r" + "ules.gte && (this.isNan() || this > rule" + "s.lte || this < rules.gte)\? \'must be gre" + "ater than or equal to %s and less than o" + "r equal to %s\'.format([rules.gte, rules." + "lte]) : \'\'\n\347\001\n\030double.gte_lte_exclusive\032" + "\312\001has(rules.lte) && rules.lte < rules.gt" + "e && (this.isNan() || (rules.lte < this " + "&& this < rules.gte))\? \'must be greater " + "than or equal to %s or less than or equa" + "l to %s\'.format([rules.gte, rules.lte]) " + ": \'\'H\001\022z\n\002in\030\006 \003(\001Bn\302Hk\ni\n\tdouble.in\032\\!(" + "this in getField(rules, \'in\')) \? \'must b" + "e in list %s\'.format([getField(rules, \'i" + "n\')]) : \'\'\022q\n\006not_in\030\007 \003(\001Ba\302H^\n\\\n\rdoubl" + "e.not_in\032Kthis in rules.not_in \? \'must n" + "ot be in list %s\'.format([rules.not_in])" + " : \'\'\022p\n\006finite\030\010 \001(\010B`\302H]\n[\n\rdouble.fin" + "ite\032Jrules.finite \? (this.isNan() || thi" + "s.isInf() \? \'must be finite\' : \'\') : \'\'\022" + ",\n\007example\030\t \003(\001B\033\302H\030\n\026\n\016double.example\032" + "\004true*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater" + "_than\"\260\024\n\nInt32Rules\022}\n\005const\030\001 \001(\005Bn\302Hk" + "\ni\n\013int32.const\032Zthis != getField(rules," + " \'const\') \? \'must equal %s\'.format([getF" + "ield(rules, \'const\')]) : \'\'\022\204\001\n\002lt\030\002 \001(\005" + "Bv\302Hs\nq\n\010int32.lt\032e!has(rules.gte) && !h" + "as(rules.gt) && this >= rules.lt\? \'must " + "be less than %s\'.format([rules.lt]) : \'\'" + "H\000\022\225\001\n\003lte\030\003 \001(\005B\205\001\302H\201\001\n\177\n\tint32.lte\032r!h" + "as(rules.gte) && !has(rules.gt) && this " + "> rules.lte\? \'must be less than or equal" + " to %s\'.format([rules.lte]) : \'\'H\000\022\371\006\n\002g" + "t\030\004 \001(\005B\352\006\302H\346\006\nt\n\010int32.gt\032h!has(rules.l" + "t) && !has(rules.lte) && this <= rules.g" + "t\? \'must be greater than %s\'.format([rul" + "es.gt]) : \'\'\n\255\001\n\013int32.gt_lt\032\235\001has(rules" + ".lt) && rules.lt >= rules.gt && (this >=" + " rules.lt || this <= rules.gt)\? \'must be" + " greater than %s and less than %s\'.forma" + "t([rules.gt, rules.lt]) : \'\'\n\265\001\n\025int32.g" + "t_lt_exclusive\032\233\001has(rules.lt) && rules." + "lt < rules.gt && (rules.lt <= this && th" + "is <= rules.gt)\? \'must be greater than %" + "s or less than %s\'.format([rules.gt, rul" + "es.lt]) : \'\'\n\275\001\n\014int32.gt_lte\032\254\001has(rule" + "s.lte) && rules.lte >= rules.gt && (this" + " > rules.lte || this <= rules.gt)\? \'must" + " be greater than %s and less than or equ" + "al to %s\'.format([rules.gt, rules.lte]) " + ": \'\'\n\305\001\n\026int32.gt_lte_exclusive\032\252\001has(ru" + "les.lte) && rules.lte < rules.gt && (rul" + "es.lte < this && this <= rules.gt)\? \'mus" + "t be greater than %s or less than or equ" + "al to %s\'.format([rules.gt, rules.lte]) " + ": \'\'H\001\022\305\007\n\003gte\030\005 \001(\005B\265\007\302H\261\007\n\202\001\n\tint32.gt" + "e\032u!has(rules.lt) && !has(rules.lte) && " + "this < rules.gte\? \'must be greater than " + "or equal to %s\'.format([rules.gte]) : \'\'" + "\n\274\001\n\014int32.gte_lt\032\253\001has(rules.lt) && rul" + "es.lt >= rules.gte && (this >= rules.lt " + "|| this < rules.gte)\? \'must be greater t" + "han or equal to %s and less than %s\'.for" + "mat([rules.gte, rules.lt]) : \'\'\n\304\001\n\026int3" + "2.gte_lt_exclusive\032\251\001has(rules.lt) && ru" + "les.lt < rules.gte && (rules.lt <= this " + "&& this < rules.gte)\? \'must be greater t" + "han or equal to %s or less than %s\'.form" + "at([rules.gte, rules.lt]) : \'\'\n\314\001\n\rint32" + ".gte_lte\032\272\001has(rules.lte) && rules.lte >" + "= rules.gte && (this > rules.lte || this" + " < rules.gte)\? \'must be greater than or " + "equal to %s and less than or equal to %s" + "\'.format([rules.gte, rules.lte]) : \'\'\n\324\001" + "\n\027int32.gte_lte_exclusive\032\270\001has(rules.lt" + "e) && rules.lte < rules.gte && (rules.lt" + "e < this && this < rules.gte)\? \'must be " + "greater than or equal to %s or less than" + " or equal to %s\'.format([rules.gte, rule" + "s.lte]) : \'\'H\001\022y\n\002in\030\006 \003(\005Bm\302Hj\nh\n\010int32" + ".in\032\\!(this in getField(rules, \'in\')) \? " + "\'must be in list %s\'.format([getField(ru" + "les, \'in\')]) : \'\'\022p\n\006not_in\030\007 \003(\005B`\302H]\n[" + "\n\014int32.not_in\032Kthis in rules.not_in \? \'" + "must not be in list %s\'.format([rules.no" + "t_in]) : \'\'\022+\n\007example\030\010 \003(\005B\032\302H\027\n\025\n\rint" + "32.example\032\004true*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_than" + "B\016\n\014greater_than\"\260\024\n\nInt64Rules\022}\n\005const" + "\030\001 \001(\003Bn\302Hk\ni\n\013int64.const\032Zthis != getF" + "ield(rules, \'const\') \? \'must equal %s\'.f" + "ormat([getField(rules, \'const\')]) : \'\'\022\204" + "\001\n\002lt\030\002 \001(\003Bv\302Hs\nq\n\010int64.lt\032e!has(rules" + ".gte) && !has(rules.gt) && this >= rules" + ".lt\? \'must be less than %s\'.format([rule" + "s.lt]) : \'\'H\000\022\225\001\n\003lte\030\003 \001(\003B\205\001\302H\201\001\n\177\n\tin" + "t64.lte\032r!has(rules.gte) && !has(rules.g" + "t) && this > rules.lte\? \'must be less th" + "an or equal to %s\'.format([rules.lte]) :" + " \'\'H\000\022\371\006\n\002gt\030\004 \001(\003B\352\006\302H\346\006\nt\n\010int64.gt\032h!" + "has(rules.lt) && !has(rules.lte) && this" + " <= rules.gt\? \'must be greater than %s\'." + "format([rules.gt]) : \'\'\n\255\001\n\013int64.gt_lt\032" + "\235\001has(rules.lt) && rules.lt >= rules.gt " + "&& (this >= rules.lt || this <= rules.gt" + ")\? \'must be greater than %s and less tha" + "n %s\'.format([rules.gt, rules.lt]) : \'\'\n" + "\265\001\n\025int64.gt_lt_exclusive\032\233\001has(rules.lt" + ") && rules.lt < rules.gt && (rules.lt <=" + " this && this <= rules.gt)\? \'must be gre" + "ater than %s or less than %s\'.format([ru" + "les.gt, rules.lt]) : \'\'\n\275\001\n\014int64.gt_lte" + "\032\254\001has(rules.lte) && rules.lte >= rules." + "gt && (this > rules.lte || this <= rules" + ".gt)\? \'must be greater than %s and less " + "than or equal to %s\'.format([rules.gt, r" + "ules.lte]) : \'\'\n\305\001\n\026int64.gt_lte_exclusi" + "ve\032\252\001has(rules.lte) && rules.lte < rules" + ".gt && (rules.lte < this && this <= rule" + "s.gt)\? \'must be greater than %s or less " + "than or equal to %s\'.format([rules.gt, r" + "ules.lte]) : \'\'H\001\022\305\007\n\003gte\030\005 \001(\003B\265\007\302H\261\007\n\202" + "\001\n\tint64.gte\032u!has(rules.lt) && !has(rul" + "es.lte) && this < rules.gte\? \'must be gr" + "eater than or equal to %s\'.format([rules" + ".gte]) : \'\'\n\274\001\n\014int64.gte_lt\032\253\001has(rules" + ".lt) && rules.lt >= rules.gte && (this >" + "= rules.lt || this < rules.gte)\? \'must b" + "e greater than or equal to %s and less t" + "han %s\'.format([rules.gte, rules.lt]) : " + "\'\'\n\304\001\n\026int64.gte_lt_exclusive\032\251\001has(rule" + "s.lt) && rules.lt < rules.gte && (rules." + "lt <= this && this < rules.gte)\? \'must b" + "e greater than or equal to %s or less th" + "an %s\'.format([rules.gte, rules.lt]) : \'" + "\'\n\314\001\n\rint64.gte_lte\032\272\001has(rules.lte) && " + "rules.lte >= rules.gte && (this > rules." + "lte || this < rules.gte)\? \'must be great" + "er than or equal to %s and less than or " + "equal to %s\'.format([rules.gte, rules.lt" + "e]) : \'\'\n\324\001\n\027int64.gte_lte_exclusive\032\270\001h" + "as(rules.lte) && rules.lte < rules.gte &" + "& (rules.lte < this && this < rules.gte)" + "\? \'must be greater than or equal to %s o" + "r less than or equal to %s\'.format([rule" + "s.gte, rules.lte]) : \'\'H\001\022y\n\002in\030\006 \003(\003Bm\302" + "Hj\nh\n\010int64.in\032\\!(this in getField(rules" + ", \'in\')) \? \'must be in list %s\'.format([" + "getField(rules, \'in\')]) : \'\'\022p\n\006not_in\030\007" + " \003(\003B`\302H]\n[\n\014int64.not_in\032Kthis in rules" + ".not_in \? \'must not be in list %s\'.forma" + "t([rules.not_in]) : \'\'\022+\n\007example\030\t \003(\003B" + "\032\302H\027\n\025\n\rint64.example\032\004true*\t\010\350\007\020\200\200\200\200\002B\013" + "\n\tless_thanB\016\n\014greater_than\"\302\024\n\013UInt32Ru" + "les\022~\n\005const\030\001 \001(\rBo\302Hl\nj\n\014uint32.const\032" + "Zthis != getField(rules, \'const\') \? \'mus" + "t equal %s\'.format([getField(rules, \'con" + "st\')]) : \'\'\022\205\001\n\002lt\030\002 \001(\rBw\302Ht\nr\n\tuint32." + "lt\032e!has(rules.gte) && !has(rules.gt) &&" + " this >= rules.lt\? \'must be less than %s" + "\'.format([rules.lt]) : \'\'H\000\022\227\001\n\003lte\030\003 \001(" + "\rB\207\001\302H\203\001\n\200\001\n\nuint32.lte\032r!has(rules.gte)" + " && !has(rules.gt) && this > rules.lte\? " + "\'must be less than or equal to %s\'.forma" + "t([rules.lte]) : \'\'H\000\022\376\006\n\002gt\030\004 \001(\rB\357\006\302H\353" + "\006\nu\n\tuint32.gt\032h!has(rules.lt) && !has(r" + "ules.lte) && this <= rules.gt\? \'must be " + "greater than %s\'.format([rules.gt]) : \'\'" + "\n\256\001\n\014uint32.gt_lt\032\235\001has(rules.lt) && rul" + "es.lt >= rules.gt && (this >= rules.lt |" + "| this <= rules.gt)\? \'must be greater th" + "an %s and less than %s\'.format([rules.gt" + ", rules.lt]) : \'\'\n\266\001\n\026uint32.gt_lt_exclu" + "sive\032\233\001has(rules.lt) && rules.lt < rules" + ".gt && (rules.lt <= this && this <= rule" + "s.gt)\? \'must be greater than %s or less " + "than %s\'.format([rules.gt, rules.lt]) : " + "\'\'\n\276\001\n\ruint32.gt_lte\032\254\001has(rules.lte) &&" + " rules.lte >= rules.gt && (this > rules." + "lte || this <= rules.gt)\? \'must be great" + "er than %s and less than or equal to %s\'" + ".format([rules.gt, rules.lte]) : \'\'\n\306\001\n\027" + "uint32.gt_lte_exclusive\032\252\001has(rules.lte)" + " && rules.lte < rules.gt && (rules.lte <" + " this && this <= rules.gt)\? \'must be gre" + "ater than %s or less than or equal to %s" + "\'.format([rules.gt, rules.lte]) : \'\'H\001\022\312" + "\007\n\003gte\030\005 \001(\rB\272\007\302H\266\007\n\203\001\n\nuint32.gte\032u!has" + "(rules.lt) && !has(rules.lte) && this < " + "rules.gte\? \'must be greater than or equa" + "l to %s\'.format([rules.gte]) : \'\'\n\275\001\n\rui" + "nt32.gte_lt\032\253\001has(rules.lt) && rules.lt " + ">= rules.gte && (this >= rules.lt || thi" + "s < rules.gte)\? \'must be greater than or" + " equal to %s and less than %s\'.format([r" + "ules.gte, rules.lt]) : \'\'\n\305\001\n\027uint32.gte" + "_lt_exclusive\032\251\001has(rules.lt) && rules.l" + "t < rules.gte && (rules.lt <= this && th" + "is < rules.gte)\? \'must be greater than o" + "r equal to %s or less than %s\'.format([r" + "ules.gte, rules.lt]) : \'\'\n\315\001\n\016uint32.gte" + "_lte\032\272\001has(rules.lte) && rules.lte >= ru" + "les.gte && (this > rules.lte || this < r" + "ules.gte)\? \'must be greater than or equa" + "l to %s and less than or equal to %s\'.fo" + "rmat([rules.gte, rules.lte]) : \'\'\n\325\001\n\030ui" + "nt32.gte_lte_exclusive\032\270\001has(rules.lte) " + "&& rules.lte < rules.gte && (rules.lte <" + " this && this < rules.gte)\? \'must be gre" + "ater than or equal to %s or less than or" + " equal to %s\'.format([rules.gte, rules.l" + "te]) : \'\'H\001\022z\n\002in\030\006 \003(\rBn\302Hk\ni\n\tuint32.i" + "n\032\\!(this in getField(rules, \'in\')) \? \'m" + "ust be in list %s\'.format([getField(rule" + "s, \'in\')]) : \'\'\022q\n\006not_in\030\007 \003(\rBa\302H^\n\\\n\r" + "uint32.not_in\032Kthis in rules.not_in \? \'m" + "ust not be in list %s\'.format([rules.not" + "_in]) : \'\'\022,\n\007example\030\010 \003(\rB\033\302H\030\n\026\n\016uint" + "32.example\032\004true*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_than" + "B\016\n\014greater_than\"\302\024\n\013UInt64Rules\022~\n\005cons" + "t\030\001 \001(\004Bo\302Hl\nj\n\014uint64.const\032Zthis != ge" + "tField(rules, \'const\') \? \'must equal %s\'" + ".format([getField(rules, \'const\')]) : \'\'" + "\022\205\001\n\002lt\030\002 \001(\004Bw\302Ht\nr\n\tuint64.lt\032e!has(ru" + "les.gte) && !has(rules.gt) && this >= ru" + "les.lt\? \'must be less than %s\'.format([r" + "ules.lt]) : \'\'H\000\022\227\001\n\003lte\030\003 \001(\004B\207\001\302H\203\001\n\200\001" + "\n\nuint64.lte\032r!has(rules.gte) && !has(ru" + "les.gt) && this > rules.lte\? \'must be le" + "ss than or equal to %s\'.format([rules.lt" + "e]) : \'\'H\000\022\376\006\n\002gt\030\004 \001(\004B\357\006\302H\353\006\nu\n\tuint64" + ".gt\032h!has(rules.lt) && !has(rules.lte) &" + "& this <= rules.gt\? \'must be greater tha" + "n %s\'.format([rules.gt]) : \'\'\n\256\001\n\014uint64" + ".gt_lt\032\235\001has(rules.lt) && rules.lt >= ru" + "les.gt && (this >= rules.lt || this <= r" + "ules.gt)\? \'must be greater than %s and l" + "ess than %s\'.format([rules.gt, rules.lt]" + ") : \'\'\n\266\001\n\026uint64.gt_lt_exclusive\032\233\001has(" + "rules.lt) && rules.lt < rules.gt && (rul" + "es.lt <= this && this <= rules.gt)\? \'mus" + "t be greater than %s or less than %s\'.fo" + "rmat([rules.gt, rules.lt]) : \'\'\n\276\001\n\ruint" + "64.gt_lte\032\254\001has(rules.lte) && rules.lte " + ">= rules.gt && (this > rules.lte || this" + " <= rules.gt)\? \'must be greater than %s " + "and less than or equal to %s\'.format([ru" + "les.gt, rules.lte]) : \'\'\n\306\001\n\027uint64.gt_l" + "te_exclusive\032\252\001has(rules.lte) && rules.l" + "te < rules.gt && (rules.lte < this && th" + "is <= rules.gt)\? \'must be greater than %" + "s or less than or equal to %s\'.format([r" + "ules.gt, rules.lte]) : \'\'H\001\022\312\007\n\003gte\030\005 \001(" + "\004B\272\007\302H\266\007\n\203\001\n\nuint64.gte\032u!has(rules.lt) " + "&& !has(rules.lte) && this < rules.gte\? " + "\'must be greater than or equal to %s\'.fo" + "rmat([rules.gte]) : \'\'\n\275\001\n\ruint64.gte_lt" + "\032\253\001has(rules.lt) && rules.lt >= rules.gt" + "e && (this >= rules.lt || this < rules.g" + "te)\? \'must be greater than or equal to %" + "s and less than %s\'.format([rules.gte, r" + "ules.lt]) : \'\'\n\305\001\n\027uint64.gte_lt_exclusi" + "ve\032\251\001has(rules.lt) && rules.lt < rules.g" + "te && (rules.lt <= this && this < rules." + "gte)\? \'must be greater than or equal to " + "%s or less than %s\'.format([rules.gte, r" + "ules.lt]) : \'\'\n\315\001\n\016uint64.gte_lte\032\272\001has(" + "rules.lte) && rules.lte >= rules.gte && " + "(this > rules.lte || this < rules.gte)\? " + "\'must be greater than or equal to %s and" + " less than or equal to %s\'.format([rules" + ".gte, rules.lte]) : \'\'\n\325\001\n\030uint64.gte_lt" + "e_exclusive\032\270\001has(rules.lte) && rules.lt" + "e < rules.gte && (rules.lte < this && th" + "is < rules.gte)\? \'must be greater than o" + "r equal to %s or less than or equal to %" + "s\'.format([rules.gte, rules.lte]) : \'\'H\001" + "\022z\n\002in\030\006 \003(\004Bn\302Hk\ni\n\tuint64.in\032\\!(this i" + "n getField(rules, \'in\')) \? \'must be in l" + "ist %s\'.format([getField(rules, \'in\')]) " + ": \'\'\022q\n\006not_in\030\007 \003(\004Ba\302H^\n\\\n\ruint64.not_" + "in\032Kthis in rules.not_in \? \'must not be " + "in list %s\'.format([rules.not_in]) : \'\'\022" + ",\n\007example\030\010 \003(\004B\033\302H\030\n\026\n\016uint64.example\032" + "\004true*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater" + "_than\"\302\024\n\013SInt32Rules\022~\n\005const\030\001 \001(\021Bo\302H" + "l\nj\n\014sint32.const\032Zthis != getField(rule" + "s, \'const\') \? \'must equal %s\'.format([ge" + "tField(rules, \'const\')]) : \'\'\022\205\001\n\002lt\030\002 \001" + "(\021Bw\302Ht\nr\n\tsint32.lt\032e!has(rules.gte) &&" + " !has(rules.gt) && this >= rules.lt\? \'mu" + "st be less than %s\'.format([rules.lt]) :" + " \'\'H\000\022\227\001\n\003lte\030\003 \001(\021B\207\001\302H\203\001\n\200\001\n\nsint32.lt" + "e\032r!has(rules.gte) && !has(rules.gt) && " + "this > rules.lte\? \'must be less than or " + "equal to %s\'.format([rules.lte]) : \'\'H\000\022" + "\376\006\n\002gt\030\004 \001(\021B\357\006\302H\353\006\nu\n\tsint32.gt\032h!has(r" + "ules.lt) && !has(rules.lte) && this <= r" + "ules.gt\? \'must be greater than %s\'.forma" + "t([rules.gt]) : \'\'\n\256\001\n\014sint32.gt_lt\032\235\001ha" + "s(rules.lt) && rules.lt >= rules.gt && (" + "this >= rules.lt || this <= rules.gt)\? \'" + "must be greater than %s and less than %s" + "\'.format([rules.gt, rules.lt]) : \'\'\n\266\001\n\026" + "sint32.gt_lt_exclusive\032\233\001has(rules.lt) &" + "& rules.lt < rules.gt && (rules.lt <= th" + "is && this <= rules.gt)\? \'must be greate" + "r than %s or less than %s\'.format([rules" + ".gt, rules.lt]) : \'\'\n\276\001\n\rsint32.gt_lte\032\254" + "\001has(rules.lte) && rules.lte >= rules.gt" + " && (this > rules.lte || this <= rules.g" + "t)\? \'must be greater than %s and less th" + "an or equal to %s\'.format([rules.gt, rul" + "es.lte]) : \'\'\n\306\001\n\027sint32.gt_lte_exclusiv" + "e\032\252\001has(rules.lte) && rules.lte < rules." + "gt && (rules.lte < this && this <= rules" + ".gt)\? \'must be greater than %s or less t" + "han or equal to %s\'.format([rules.gt, ru" + "les.lte]) : \'\'H\001\022\312\007\n\003gte\030\005 \001(\021B\272\007\302H\266\007\n\203\001" + "\n\nsint32.gte\032u!has(rules.lt) && !has(rul" + "es.lte) && this < rules.gte\? \'must be gr" + "eater than or equal to %s\'.format([rules" + ".gte]) : \'\'\n\275\001\n\rsint32.gte_lt\032\253\001has(rule" + "s.lt) && rules.lt >= rules.gte && (this " + ">= rules.lt || this < rules.gte)\? \'must " + "be greater than or equal to %s and less " + "than %s\'.format([rules.gte, rules.lt]) :" + " \'\'\n\305\001\n\027sint32.gte_lt_exclusive\032\251\001has(ru" + "les.lt) && rules.lt < rules.gte && (rule" + "s.lt <= this && this < rules.gte)\? \'must" + " be greater than or equal to %s or less " + "than %s\'.format([rules.gte, rules.lt]) :" + " \'\'\n\315\001\n\016sint32.gte_lte\032\272\001has(rules.lte) " + "&& rules.lte >= rules.gte && (this > rul" + "es.lte || this < rules.gte)\? \'must be gr" + "eater than or equal to %s and less than " + "or equal to %s\'.format([rules.gte, rules" + ".lte]) : \'\'\n\325\001\n\030sint32.gte_lte_exclusive" + "\032\270\001has(rules.lte) && rules.lte < rules.g" + "te && (rules.lte < this && this < rules." + "gte)\? \'must be greater than or equal to " + "%s or less than or equal to %s\'.format([" + "rules.gte, rules.lte]) : \'\'H\001\022z\n\002in\030\006 \003(" + "\021Bn\302Hk\ni\n\tsint32.in\032\\!(this in getField(" + "rules, \'in\')) \? \'must be in list %s\'.for" + "mat([getField(rules, \'in\')]) : \'\'\022q\n\006not" + "_in\030\007 \003(\021Ba\302H^\n\\\n\rsint32.not_in\032Kthis in" + " rules.not_in \? \'must not be in list %s\'" + ".format([rules.not_in]) : \'\'\022,\n\007example\030" + "\010 \003(\021B\033\302H\030\n\026\n\016sint32.example\032\004true*\t\010\350\007\020" + "\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater_than\"\302\024\n\013S" + "Int64Rules\022~\n\005const\030\001 \001(\022Bo\302Hl\nj\n\014sint64" + ".const\032Zthis != getField(rules, \'const\')" + " \? \'must equal %s\'.format([getField(rule" + "s, \'const\')]) : \'\'\022\205\001\n\002lt\030\002 \001(\022Bw\302Ht\nr\n\t" + "sint64.lt\032e!has(rules.gte) && !has(rules" + ".gt) && this >= rules.lt\? \'must be less " + "than %s\'.format([rules.lt]) : \'\'H\000\022\227\001\n\003l" + "te\030\003 \001(\022B\207\001\302H\203\001\n\200\001\n\nsint64.lte\032r!has(rul" + "es.gte) && !has(rules.gt) && this > rule" + "s.lte\? \'must be less than or equal to %s" + "\'.format([rules.lte]) : \'\'H\000\022\376\006\n\002gt\030\004 \001(" + "\022B\357\006\302H\353\006\nu\n\tsint64.gt\032h!has(rules.lt) &&" + " !has(rules.lte) && this <= rules.gt\? \'m" + "ust be greater than %s\'.format([rules.gt" + "]) : \'\'\n\256\001\n\014sint64.gt_lt\032\235\001has(rules.lt)" + " && rules.lt >= rules.gt && (this >= rul" + "es.lt || this <= rules.gt)\? \'must be gre" + "ater than %s and less than %s\'.format([r" + "ules.gt, rules.lt]) : \'\'\n\266\001\n\026sint64.gt_l" + "t_exclusive\032\233\001has(rules.lt) && rules.lt " + "< rules.gt && (rules.lt <= this && this " + "<= rules.gt)\? \'must be greater than %s o" + "r less than %s\'.format([rules.gt, rules." + "lt]) : \'\'\n\276\001\n\rsint64.gt_lte\032\254\001has(rules." + "lte) && rules.lte >= rules.gt && (this >" + " rules.lte || this <= rules.gt)\? \'must b" + "e greater than %s and less than or equal" + " to %s\'.format([rules.gt, rules.lte]) : " + "\'\'\n\306\001\n\027sint64.gt_lte_exclusive\032\252\001has(rul" + "es.lte) && rules.lte < rules.gt && (rule" + "s.lte < this && this <= rules.gt)\? \'must" + " be greater than %s or less than or equa" + "l to %s\'.format([rules.gt, rules.lte]) :" + " \'\'H\001\022\312\007\n\003gte\030\005 \001(\022B\272\007\302H\266\007\n\203\001\n\nsint64.gt" + "e\032u!has(rules.lt) && !has(rules.lte) && " + "this < rules.gte\? \'must be greater than " + "or equal to %s\'.format([rules.gte]) : \'\'" + "\n\275\001\n\rsint64.gte_lt\032\253\001has(rules.lt) && ru" + "les.lt >= rules.gte && (this >= rules.lt" + " || this < rules.gte)\? \'must be greater " + "than or equal to %s and less than %s\'.fo" + "rmat([rules.gte, rules.lt]) : \'\'\n\305\001\n\027sin" + "t64.gte_lt_exclusive\032\251\001has(rules.lt) && " + "rules.lt < rules.gte && (rules.lt <= thi" + "s && this < rules.gte)\? \'must be greater" + " than or equal to %s or less than %s\'.fo" + "rmat([rules.gte, rules.lt]) : \'\'\n\315\001\n\016sin" + "t64.gte_lte\032\272\001has(rules.lte) && rules.lt" + "e >= rules.gte && (this > rules.lte || t" + "his < rules.gte)\? \'must be greater than " + "or equal to %s and less than or equal to" + " %s\'.format([rules.gte, rules.lte]) : \'\'" + "\n\325\001\n\030sint64.gte_lte_exclusive\032\270\001has(rule" + "s.lte) && rules.lte < rules.gte && (rule" + "s.lte < this && this < rules.gte)\? \'must" + " be greater than or equal to %s or less " + "than or equal to %s\'.format([rules.gte, " + "rules.lte]) : \'\'H\001\022z\n\002in\030\006 \003(\022Bn\302Hk\ni\n\ts" + "int64.in\032\\!(this in getField(rules, \'in\'" + ")) \? \'must be in list %s\'.format([getFie" + "ld(rules, \'in\')]) : \'\'\022q\n\006not_in\030\007 \003(\022Ba" + "\302H^\n\\\n\rsint64.not_in\032Kthis in rules.not_" + "in \? \'must not be in list %s\'.format([ru" + "les.not_in]) : \'\'\022,\n\007example\030\010 \003(\022B\033\302H\030\n" + "\026\n\016sint64.example\032\004true*\t\010\350\007\020\200\200\200\200\002B\013\n\tle" + "ss_thanB\016\n\014greater_than\"\323\024\n\014Fixed32Rules" + "\022\177\n\005const\030\001 \001(\007Bp\302Hm\nk\n\rfixed32.const\032Zt" + "his != getField(rules, \'const\') \? \'must " + "equal %s\'.format([getField(rules, \'const" + "\')]) : \'\'\022\206\001\n\002lt\030\002 \001(\007Bx\302Hu\ns\n\nfixed32.l" + "t\032e!has(rules.gte) && !has(rules.gt) && " + "this >= rules.lt\? \'must be less than %s\'" + ".format([rules.lt]) : \'\'H\000\022\230\001\n\003lte\030\003 \001(\007" + "B\210\001\302H\204\001\n\201\001\n\013fixed32.lte\032r!has(rules.gte)" + " && !has(rules.gt) && this > rules.lte\? " + "\'must be less than or equal to %s\'.forma" + "t([rules.lte]) : \'\'H\000\022\203\007\n\002gt\030\004 \001(\007B\364\006\302H\360" + "\006\nv\n\nfixed32.gt\032h!has(rules.lt) && !has(" + "rules.lte) && this <= rules.gt\? \'must be" + " greater than %s\'.format([rules.gt]) : \'" + "\'\n\257\001\n\rfixed32.gt_lt\032\235\001has(rules.lt) && r" + "ules.lt >= rules.gt && (this >= rules.lt" + " || this <= rules.gt)\? \'must be greater " + "than %s and less than %s\'.format([rules." + "gt, rules.lt]) : \'\'\n\267\001\n\027fixed32.gt_lt_ex" + "clusive\032\233\001has(rules.lt) && rules.lt < ru" + "les.gt && (rules.lt <= this && this <= r" + "ules.gt)\? \'must be greater than %s or le" + "ss than %s\'.format([rules.gt, rules.lt])" + " : \'\'\n\277\001\n\016fixed32.gt_lte\032\254\001has(rules.lte" + ") && rules.lte >= rules.gt && (this > ru" + "les.lte || this <= rules.gt)\? \'must be g" + "reater than %s and less than or equal to" + " %s\'.format([rules.gt, rules.lte]) : \'\'\n" + "\307\001\n\030fixed32.gt_lte_exclusive\032\252\001has(rules" + ".lte) && rules.lte < rules.gt && (rules." + "lte < this && this <= rules.gt)\? \'must b" + "e greater than %s or less than or equal " + "to %s\'.format([rules.gt, rules.lte]) : \'" + "\'H\001\022\317\007\n\003gte\030\005 \001(\007B\277\007\302H\273\007\n\204\001\n\013fixed32.gte" + "\032u!has(rules.lt) && !has(rules.lte) && t" + "his < rules.gte\? \'must be greater than o" + "r equal to %s\'.format([rules.gte]) : \'\'\n" + "\276\001\n\016fixed32.gte_lt\032\253\001has(rules.lt) && ru" + "les.lt >= rules.gte && (this >= rules.lt" + " || this < rules.gte)\? \'must be greater " + "than or equal to %s and less than %s\'.fo" + "rmat([rules.gte, rules.lt]) : \'\'\n\306\001\n\030fix" + "ed32.gte_lt_exclusive\032\251\001has(rules.lt) &&" + " rules.lt < rules.gte && (rules.lt <= th" + "is && this < rules.gte)\? \'must be greate" + "r than or equal to %s or less than %s\'.f" + "ormat([rules.gte, rules.lt]) : \'\'\n\316\001\n\017fi" + "xed32.gte_lte\032\272\001has(rules.lte) && rules." + "lte >= rules.gte && (this > rules.lte ||" + " this < rules.gte)\? \'must be greater tha" + "n or equal to %s and less than or equal " + "to %s\'.format([rules.gte, rules.lte]) : " + "\'\'\n\326\001\n\031fixed32.gte_lte_exclusive\032\270\001has(r" + "ules.lte) && rules.lte < rules.gte && (r" + "ules.lte < this && this < rules.gte)\? \'m" + "ust be greater than or equal to %s or le" + "ss than or equal to %s\'.format([rules.gt" + "e, rules.lte]) : \'\'H\001\022{\n\002in\030\006 \003(\007Bo\302Hl\nj" + "\n\nfixed32.in\032\\!(this in getField(rules, " + "\'in\')) \? \'must be in list %s\'.format([ge" + "tField(rules, \'in\')]) : \'\'\022r\n\006not_in\030\007 \003" + "(\007Bb\302H_\n]\n\016fixed32.not_in\032Kthis in rules" + ".not_in \? \'must not be in list %s\'.forma" + "t([rules.not_in]) : \'\'\022-\n\007example\030\010 \003(\007B" + "\034\302H\031\n\027\n\017fixed32.example\032\004true*\t\010\350\007\020\200\200\200\200\002" + "B\013\n\tless_thanB\016\n\014greater_than\"\323\024\n\014Fixed6" + "4Rules\022\177\n\005const\030\001 \001(\006Bp\302Hm\nk\n\rfixed64.co" + "nst\032Zthis != getField(rules, \'const\') \? " + "\'must equal %s\'.format([getField(rules, " + "\'const\')]) : \'\'\022\206\001\n\002lt\030\002 \001(\006Bx\302Hu\ns\n\nfix" + "ed64.lt\032e!has(rules.gte) && !has(rules.g" + "t) && this >= rules.lt\? \'must be less th" + "an %s\'.format([rules.lt]) : \'\'H\000\022\230\001\n\003lte" + "\030\003 \001(\006B\210\001\302H\204\001\n\201\001\n\013fixed64.lte\032r!has(rule" + "s.gte) && !has(rules.gt) && this > rules" + ".lte\? \'must be less than or equal to %s\'" + ".format([rules.lte]) : \'\'H\000\022\203\007\n\002gt\030\004 \001(\006" + "B\364\006\302H\360\006\nv\n\nfixed64.gt\032h!has(rules.lt) &&" + " !has(rules.lte) && this <= rules.gt\? \'m" + "ust be greater than %s\'.format([rules.gt" + "]) : \'\'\n\257\001\n\rfixed64.gt_lt\032\235\001has(rules.lt" + ") && rules.lt >= rules.gt && (this >= ru" + "les.lt || this <= rules.gt)\? \'must be gr" + "eater than %s and less than %s\'.format([" + "rules.gt, rules.lt]) : \'\'\n\267\001\n\027fixed64.gt" + "_lt_exclusive\032\233\001has(rules.lt) && rules.l" + "t < rules.gt && (rules.lt <= this && thi" + "s <= rules.gt)\? \'must be greater than %s" + " or less than %s\'.format([rules.gt, rule" + "s.lt]) : \'\'\n\277\001\n\016fixed64.gt_lte\032\254\001has(rul" + "es.lte) && rules.lte >= rules.gt && (thi" + "s > rules.lte || this <= rules.gt)\? \'mus" + "t be greater than %s and less than or eq" + "ual to %s\'.format([rules.gt, rules.lte])" + " : \'\'\n\307\001\n\030fixed64.gt_lte_exclusive\032\252\001has" + "(rules.lte) && rules.lte < rules.gt && (" + "rules.lte < this && this <= rules.gt)\? \'" + "must be greater than %s or less than or " + "equal to %s\'.format([rules.gt, rules.lte" + "]) : \'\'H\001\022\317\007\n\003gte\030\005 \001(\006B\277\007\302H\273\007\n\204\001\n\013fixed" + "64.gte\032u!has(rules.lt) && !has(rules.lte" + ") && this < rules.gte\? \'must be greater " + "than or equal to %s\'.format([rules.gte])" + " : \'\'\n\276\001\n\016fixed64.gte_lt\032\253\001has(rules.lt)" + " && rules.lt >= rules.gte && (this >= ru" + "les.lt || this < rules.gte)\? \'must be gr" + "eater than or equal to %s and less than " + "%s\'.format([rules.gte, rules.lt]) : \'\'\n\306" + "\001\n\030fixed64.gte_lt_exclusive\032\251\001has(rules." + "lt) && rules.lt < rules.gte && (rules.lt" + " <= this && this < rules.gte)\? \'must be " + "greater than or equal to %s or less than" + " %s\'.format([rules.gte, rules.lt]) : \'\'\n" + "\316\001\n\017fixed64.gte_lte\032\272\001has(rules.lte) && " + "rules.lte >= rules.gte && (this > rules." + "lte || this < rules.gte)\? \'must be great" + "er than or equal to %s and less than or " + "equal to %s\'.format([rules.gte, rules.lt" + "e]) : \'\'\n\326\001\n\031fixed64.gte_lte_exclusive\032\270" + "\001has(rules.lte) && rules.lte < rules.gte" + " && (rules.lte < this && this < rules.gt" + "e)\? \'must be greater than or equal to %s" + " or less than or equal to %s\'.format([ru" + "les.gte, rules.lte]) : \'\'H\001\022{\n\002in\030\006 \003(\006B" + "o\302Hl\nj\n\nfixed64.in\032\\!(this in getField(r" + "ules, \'in\')) \? \'must be in list %s\'.form" + "at([getField(rules, \'in\')]) : \'\'\022r\n\006not_" + "in\030\007 \003(\006Bb\302H_\n]\n\016fixed64.not_in\032Kthis in" + " rules.not_in \? \'must not be in list %s\'" + ".format([rules.not_in]) : \'\'\022-\n\007example\030" + "\010 \003(\006B\034\302H\031\n\027\n\017fixed64.example\032\004true*\t\010\350\007" + "\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater_than\"\345\024\n\r" + "SFixed32Rules\022\200\001\n\005const\030\001 \001(\017Bq\302Hn\nl\n\016sf" + "ixed32.const\032Zthis != getField(rules, \'c" + "onst\') \? \'must equal %s\'.format([getFiel" + "d(rules, \'const\')]) : \'\'\022\207\001\n\002lt\030\002 \001(\017By\302" + "Hv\nt\n\013sfixed32.lt\032e!has(rules.gte) && !h" + "as(rules.gt) && this >= rules.lt\? \'must " + "be less than %s\'.format([rules.lt]) : \'\'" + "H\000\022\231\001\n\003lte\030\003 \001(\017B\211\001\302H\205\001\n\202\001\n\014sfixed32.lte" + "\032r!has(rules.gte) && !has(rules.gt) && t" + "his > rules.lte\? \'must be less than or e" + "qual to %s\'.format([rules.lte]) : \'\'H\000\022\210" + "\007\n\002gt\030\004 \001(\017B\371\006\302H\365\006\nw\n\013sfixed32.gt\032h!has(" + "rules.lt) && !has(rules.lte) && this <= " + "rules.gt\? \'must be greater than %s\'.form" + "at([rules.gt]) : \'\'\n\260\001\n\016sfixed32.gt_lt\032\235" + "\001has(rules.lt) && rules.lt >= rules.gt &" + "& (this >= rules.lt || this <= rules.gt)" + "\? \'must be greater than %s and less than" + " %s\'.format([rules.gt, rules.lt]) : \'\'\n\270" + "\001\n\030sfixed32.gt_lt_exclusive\032\233\001has(rules." + "lt) && rules.lt < rules.gt && (rules.lt " + "<= this && this <= rules.gt)\? \'must be g" + "reater than %s or less than %s\'.format([" + "rules.gt, rules.lt]) : \'\'\n\300\001\n\017sfixed32.g" + "t_lte\032\254\001has(rules.lte) && rules.lte >= r" + "ules.gt && (this > rules.lte || this <= " + "rules.gt)\? \'must be greater than %s and " + "less than or equal to %s\'.format([rules." + "gt, rules.lte]) : \'\'\n\310\001\n\031sfixed32.gt_lte" + "_exclusive\032\252\001has(rules.lte) && rules.lte" + " < rules.gt && (rules.lte < this && this" + " <= rules.gt)\? \'must be greater than %s " + "or less than or equal to %s\'.format([rul" + "es.gt, rules.lte]) : \'\'H\001\022\324\007\n\003gte\030\005 \001(\017B" + "\304\007\302H\300\007\n\205\001\n\014sfixed32.gte\032u!has(rules.lt) " + "&& !has(rules.lte) && this < rules.gte\? " + "\'must be greater than or equal to %s\'.fo" + "rmat([rules.gte]) : \'\'\n\277\001\n\017sfixed32.gte_" + "lt\032\253\001has(rules.lt) && rules.lt >= rules." + "gte && (this >= rules.lt || this < rules" + ".gte)\? \'must be greater than or equal to" + " %s and less than %s\'.format([rules.gte," + " rules.lt]) : \'\'\n\307\001\n\031sfixed32.gte_lt_exc" + "lusive\032\251\001has(rules.lt) && rules.lt < rul" + "es.gte && (rules.lt <= this && this < ru" + "les.gte)\? \'must be greater than or equal" + " to %s or less than %s\'.format([rules.gt" + "e, rules.lt]) : \'\'\n\317\001\n\020sfixed32.gte_lte\032" + "\272\001has(rules.lte) && rules.lte >= rules.g" + "te && (this > rules.lte || this < rules." + "gte)\? \'must be greater than or equal to " + "%s and less than or equal to %s\'.format(" + "[rules.gte, rules.lte]) : \'\'\n\327\001\n\032sfixed3" + "2.gte_lte_exclusive\032\270\001has(rules.lte) && " + "rules.lte < rules.gte && (rules.lte < th" + "is && this < rules.gte)\? \'must be greate" + "r than or equal to %s or less than or eq" + "ual to %s\'.format([rules.gte, rules.lte]" + ") : \'\'H\001\022|\n\002in\030\006 \003(\017Bp\302Hm\nk\n\013sfixed32.in" + "\032\\!(this in getField(rules, \'in\')) \? \'mu" + "st be in list %s\'.format([getField(rules" + ", \'in\')]) : \'\'\022s\n\006not_in\030\007 \003(\017Bc\302H`\n^\n\017s" + "fixed32.not_in\032Kthis in rules.not_in \? \'" + "must not be in list %s\'.format([rules.no" + "t_in]) : \'\'\022.\n\007example\030\010 \003(\017B\035\302H\032\n\030\n\020sfi" + "xed32.example\032\004true*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_t" + "hanB\016\n\014greater_than\"\345\024\n\rSFixed64Rules\022\200\001" + "\n\005const\030\001 \001(\020Bq\302Hn\nl\n\016sfixed64.const\032Zth" + "is != getField(rules, \'const\') \? \'must e" + "qual %s\'.format([getField(rules, \'const\'" + ")]) : \'\'\022\207\001\n\002lt\030\002 \001(\020By\302Hv\nt\n\013sfixed64.l" + "t\032e!has(rules.gte) && !has(rules.gt) && " + "this >= rules.lt\? \'must be less than %s\'" + ".format([rules.lt]) : \'\'H\000\022\231\001\n\003lte\030\003 \001(\020" + "B\211\001\302H\205\001\n\202\001\n\014sfixed64.lte\032r!has(rules.gte" + ") && !has(rules.gt) && this > rules.lte\?" + " \'must be less than or equal to %s\'.form" + "at([rules.lte]) : \'\'H\000\022\210\007\n\002gt\030\004 \001(\020B\371\006\302H" + "\365\006\nw\n\013sfixed64.gt\032h!has(rules.lt) && !ha" + "s(rules.lte) && this <= rules.gt\? \'must " + "be greater than %s\'.format([rules.gt]) :" + " \'\'\n\260\001\n\016sfixed64.gt_lt\032\235\001has(rules.lt) &" + "& rules.lt >= rules.gt && (this >= rules" + ".lt || this <= rules.gt)\? \'must be great" + "er than %s and less than %s\'.format([rul" + "es.gt, rules.lt]) : \'\'\n\270\001\n\030sfixed64.gt_l" + "t_exclusive\032\233\001has(rules.lt) && rules.lt " + "< rules.gt && (rules.lt <= this && this " + "<= rules.gt)\? \'must be greater than %s o" + "r less than %s\'.format([rules.gt, rules." + "lt]) : \'\'\n\300\001\n\017sfixed64.gt_lte\032\254\001has(rule" + "s.lte) && rules.lte >= rules.gt && (this" + " > rules.lte || this <= rules.gt)\? \'must" + " be greater than %s and less than or equ" + "al to %s\'.format([rules.gt, rules.lte]) " + ": \'\'\n\310\001\n\031sfixed64.gt_lte_exclusive\032\252\001has" + "(rules.lte) && rules.lte < rules.gt && (" + "rules.lte < this && this <= rules.gt)\? \'" + "must be greater than %s or less than or " + "equal to %s\'.format([rules.gt, rules.lte" + "]) : \'\'H\001\022\324\007\n\003gte\030\005 \001(\020B\304\007\302H\300\007\n\205\001\n\014sfixe" + "d64.gte\032u!has(rules.lt) && !has(rules.lt" + "e) && this < rules.gte\? \'must be greater" + " than or equal to %s\'.format([rules.gte]" + ") : \'\'\n\277\001\n\017sfixed64.gte_lt\032\253\001has(rules.l" + "t) && rules.lt >= rules.gte && (this >= " + "rules.lt || this < rules.gte)\? \'must be " + "greater than or equal to %s and less tha" + "n %s\'.format([rules.gte, rules.lt]) : \'\'" + "\n\307\001\n\031sfixed64.gte_lt_exclusive\032\251\001has(rul" + "es.lt) && rules.lt < rules.gte && (rules" + ".lt <= this && this < rules.gte)\? \'must " + "be greater than or equal to %s or less t" + "han %s\'.format([rules.gte, rules.lt]) : " + "\'\'\n\317\001\n\020sfixed64.gte_lte\032\272\001has(rules.lte)" + " && rules.lte >= rules.gte && (this > ru" + "les.lte || this < rules.gte)\? \'must be g" + "reater than or equal to %s and less than" + " or equal to %s\'.format([rules.gte, rule" + "s.lte]) : \'\'\n\327\001\n\032sfixed64.gte_lte_exclus" + "ive\032\270\001has(rules.lte) && rules.lte < rule" + "s.gte && (rules.lte < this && this < rul" + "es.gte)\? \'must be greater than or equal " + "to %s or less than or equal to %s\'.forma" + "t([rules.gte, rules.lte]) : \'\'H\001\022|\n\002in\030\006" + " \003(\020Bp\302Hm\nk\n\013sfixed64.in\032\\!(this in getF" + "ield(rules, \'in\')) \? \'must be in list %s" + "\'.format([getField(rules, \'in\')]) : \'\'\022s" + "\n\006not_in\030\007 \003(\020Bc\302H`\n^\n\017sfixed64.not_in\032K" + "this in rules.not_in \? \'must not be in l" + "ist %s\'.format([rules.not_in]) : \'\'\022.\n\007e" + "xample\030\010 \003(\020B\035\302H\032\n\030\n\020sfixed64.example\032\004t" + "rue*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greater_t" + "han\"\300\001\n\tBoolRules\022|\n\005const\030\001 \001(\010Bm\302Hj\nh\n" + "\nbool.const\032Zthis != getField(rules, \'co" + "nst\') \? \'must equal %s\'.format([getField" + "(rules, \'const\')]) : \'\'\022*\n\007example\030\002 \003(\010" + "B\031\302H\026\n\024\n\014bool.example\032\004true*\t\010\350\007\020\200\200\200\200\002\"\352" + "<\n\013StringRules\022\200\001\n\005const\030\001 \001(\tBq\302Hn\nl\n\014s" + "tring.const\032\\this != getField(rules, \'co" + "nst\') \? \'must equal `%s`\'.format([getFie" + "ld(rules, \'const\')]) : \'\'\022q\n\003len\030\023 \001(\004Bd" + "\302Ha\n_\n\nstring.len\032Quint(this.size()) != " + "rules.len \? \'must be %s characters\'.form" + "at([rules.len]) : \'\'\022\211\001\n\007min_len\030\002 \001(\004Bx" + "\302Hu\ns\n\016string.min_len\032auint(this.size())" + " < rules.min_len \? \'must be at least %s " + "characters\'.format([rules.min_len]) : \'\'" + "\022\210\001\n\007max_len\030\003 \001(\004Bw\302Ht\nr\n\016string.max_le" + "n\032`uint(this.size()) > rules.max_len \? \'" + "must be at most %s characters\'.format([r" + "ules.max_len]) : \'\'\022\213\001\n\tlen_bytes\030\024 \001(\004B" + "x\302Hu\ns\n\020string.len_bytes\032_uint(bytes(thi" + "s).size()) != rules.len_bytes \? \'must be" + " %s bytes\'.format([rules.len_bytes]) : \'" + "\'\022\224\001\n\tmin_bytes\030\004 \001(\004B\200\001\302H}\n{\n\020string.mi" + "n_bytes\032guint(bytes(this).size()) < rule" + "s.min_bytes \? \'must be at least %s bytes" + "\'.format([rules.min_bytes]) : \'\'\022\222\001\n\tmax" + "_bytes\030\005 \001(\004B\177\302H|\nz\n\020string.max_bytes\032fu" + "int(bytes(this).size()) > rules.max_byte" + "s \? \'must be at most %s bytes\'.format([r" + "ules.max_bytes]) : \'\'\022\207\001\n\007pattern\030\006 \001(\tB" + "v\302Hs\nq\n\016string.pattern\032_!this.matches(ru" + "les.pattern) \? \'does not match regex pat" + "tern `%s`\'.format([rules.pattern]) : \'\'\022" + "~\n\006prefix\030\007 \001(\tBn\302Hk\ni\n\rstring.prefix\032X!" + "this.startsWith(rules.prefix) \? \'does no" + "t have prefix `%s`\'.format([rules.prefix" + "]) : \'\'\022|\n\006suffix\030\010 \001(\tBl\302Hi\ng\n\rstring.s" + "uffix\032V!this.endsWith(rules.suffix) \? \'d" + "oes not have suffix `%s`\'.format([rules." + "suffix]) : \'\'\022\212\001\n\010contains\030\t \001(\tBx\302Hu\ns\n" + "\017string.contains\032`!this.contains(rules.c" + "ontains) \? \'does not contain substring `" + "%s`\'.format([rules.contains]) : \'\'\022\221\001\n\014n" + "ot_contains\030\027 \001(\tB{\302Hx\nv\n\023string.not_con" + "tains\032_this.contains(rules.not_contains)" + " \? \'contains substring `%s`\'.format([rul" + "es.not_contains]) : \'\'\022z\n\002in\030\n \003(\tBn\302Hk\n" + "i\n\tstring.in\032\\!(this in getField(rules, " + "\'in\')) \? \'must be in list %s\'.format([ge" + "tField(rules, \'in\')]) : \'\'\022q\n\006not_in\030\013 \003" + "(\tBa\302H^\n\\\n\rstring.not_in\032Kthis in rules." + "not_in \? \'must not be in list %s\'.format" + "([rules.not_in]) : \'\'\022\331\001\n\005email\030\014 \001(\010B\307\001" + "\302H\303\001\n[\n\014string.email\022\035must be a valid em" + "ail address\032,!rules.email || this == \'\' " + "|| this.isEmail()\nd\n\022string.email_empty\022" + "2value is empty, which is not a valid em" + "ail address\032\032!rules.email || this != \'\'H" + "\000\022\341\001\n\010hostname\030\r \001(\010B\314\001\302H\310\001\n_\n\017string.ho" + "stname\022\030must be a valid hostname\0322!rules" + ".hostname || this == \'\' || this.isHostna" + "me()\ne\n\025string.hostname_empty\022-value is " + "empty, which is not a valid hostname\032\035!r" + "ules.hostname || this != \'\'H\000\022\301\001\n\002ip\030\016 \001" + "(\010B\262\001\302H\256\001\nO\n\tstring.ip\022\032must be a valid " + "IP address\032&!rules.ip || this == \'\' || t" + "his.isIp()\n[\n\017string.ip_empty\022/value is " + "empty, which is not a valid IP address\032\027" + "!rules.ip || this != \'\'H\000\022\320\001\n\004ipv4\030\017 \001(\010" + "B\277\001\302H\273\001\nV\n\013string.ipv4\022\034must be a valid " + "IPv4 address\032)!rules.ipv4 || this == \'\' " + "|| this.isIp(4)\na\n\021string.ipv4_empty\0221va" + "lue is empty, which is not a valid IPv4 " + "address\032\031!rules.ipv4 || this != \'\'H\000\022\320\001\n" + "\004ipv6\030\020 \001(\010B\277\001\302H\273\001\nV\n\013string.ipv6\022\034must " + "be a valid IPv6 address\032)!rules.ipv6 || " + "this == \'\' || this.isIp(6)\na\n\021string.ipv" + "6_empty\0221value is empty, which is not a " + "valid IPv6 address\032\031!rules.ipv6 || this " + "!= \'\'H\000\022\271\001\n\003uri\030\021 \001(\010B\251\001\302H\245\001\nK\n\nstring.u" + "ri\022\023must be a valid URI\032(!rules.uri || t" + "his == \'\' || this.isUri()\nV\n\020string.uri_" + "empty\022(value is empty, which is not a va" + "lid URI\032\030!rules.uri || this != \'\'H\000\022j\n\007u" + "ri_ref\030\022 \001(\010BW\302HT\nR\n\016string.uri_ref\022\035mus" + "t be a valid URI Reference\032!!rules.uri_r" + "ef || this.isUriRef()H\000\022\211\002\n\007address\030\025 \001(" + "\010B\365\001\302H\361\001\n{\n\016string.address\022\'must be a va" + "lid hostname, or ip address\032@!rules.addr" + "ess || this == \'\' || this.isHostname() |" + "| this.isIp()\nr\n\024string.address_empty\022!" + "rules.ipv4_with_prefixlen || this == \'\' " + "|| this.isIpPrefix(4)\n\222\001\n string.ipv4_wi" + "th_prefixlen_empty\022Dvalue is empty, whic" + "h is not a valid IPv4 address with prefi" + "x length\032(!rules.ipv4_with_prefixlen || " + "this != \'\'H\000\022\311\002\n\023ipv6_with_prefixlen\030\034 \001" + "(\010B\251\002\302H\245\002\n\215\001\n\032string.ipv6_with_prefixlen" + "\022/must be a valid IPv6 address with pref" + "ix length\032>!rules.ipv6_with_prefixlen ||" + " this == \'\' || this.isIpPrefix(6)\n\222\001\n st" + "ring.ipv6_with_prefixlen_empty\022Dvalue is" + " empty, which is not a valid IPv6 addres" + "s with prefix length\032(!rules.ipv6_with_p" + "refixlen || this != \'\'H\000\022\354\001\n\tip_prefix\030\035" + " \001(\010B\326\001\302H\322\001\nf\n\020string.ip_prefix\022\031must be" + " a valid IP prefix\0327!rules.ip_prefix || " + "this == \'\' || this.isIpPrefix(true)\nh\n\026s" + "tring.ip_prefix_empty\022.value is empty, w" + "hich is not a valid IP prefix\032\036!rules.ip" + "_prefix || this != \'\'H\000\022\375\001\n\013ipv4_prefix\030" + "\036 \001(\010B\345\001\302H\341\001\no\n\022string.ipv4_prefix\022\033must" + " be a valid IPv4 prefix\032!rules.host_and_port || th" + "is == \'\' || this.isHostAndPort(true)\ny\n\032" + "string.host_and_port_empty\0227value is emp" + "ty, which is not a valid host and port p" + "air\032\"!rules.host_and_port || this != \'\'H" + "\000\022\356\001\n\004ulid\030# \001(\010B\335\001\302H\331\001\n|\n\013string.ulid\022\024" + "must be a valid ULID\032W!rules.ulid || thi" + "s == \'\' || this.matches(\'^[0-7][0-9A-HJK" + "MNP-TV-Za-hjkmnp-tv-z]{25}$\')\nY\n\021string." + "ulid_empty\022)value is empty, which is not" + " a valid ULID\032\031!rules.ulid || this != \'\'" + "H\000\022\324\002\n\014protobuf_fqn\030% \001(\010B\273\002\302H\267\002\n\257\001\n\023str" + "ing.protobuf_fqn\022-must be a valid fully-" + "qualified Protobuf name\032i!rules.protobuf" + "_fqn || this == \'\' || this.matches(\'^[A-" + "Za-z_][A-Za-z_0-9]*(\\\\.[A-Za-z_][A-Za-z_" + "0-9]*)*$\')\n\202\001\n\031string.protobuf_fqn_empty" + "\022Bvalue is empty, which is not a valid f" + "ully-qualified Protobuf name\032!!rules.pro" + "tobuf_fqn || this != \'\'H\000\022\221\003\n\020protobuf_d" + "ot_fqn\030& \001(\010B\364\002\302H\360\002\n\315\001\n\027string.protobuf_" + "dot_fqn\022@must be a valid fully-qualified" + " Protobuf name with a leading dot\032p!rule" + "s.protobuf_dot_fqn || this == \'\' || this" + ".matches(\'^\\\\.[A-Za-z_][A-Za-z_0-9]*(\\\\." + "[A-Za-z_][A-Za-z_0-9]*)*$\')\n\235\001\n\035string.p" + "rotobuf_dot_fqn_empty\022Uvalue is empty, w" + "hich is not a valid fully-qualified Prot" + "obuf name with a leading dot\032%!rules.pro" + "tobuf_dot_fqn || this != \'\'H\000\022\234\005\n\020well_k" + "nown_regex\030\030 \001(\0162\030.buf.validate.KnownReg" + "exB\345\004\302H\341\004\n\352\001\n#string.well_known_regex.he" + "ader_name\022 must be a valid HTTP header n" + "ame\032\240\001rules.well_known_regex != 1 || thi" + "s == \'\' || this.matches(!has(rules.stric" + "t) || rules.strict \?\'^:\?[0-9a-zA-Z!#$%&\\" + "\'*+-.^_|~\\x60]+$\' :\'^[^\\u0000\\u000A\\u000" + "D]+$\')\n\215\001\n)string.well_known_regex.heade" + "r_name_empty\0225value is empty, which is n" + "ot a valid HTTP header name\032)rules.well_" + "known_regex != 1 || this != \'\'\n\341\001\n$strin" + "g.well_known_regex.header_value\022!must be" + " a valid HTTP header value\032\225\001rules.well_" + "known_regex != 2 || this.matches(!has(ru" + "les.strict) || rules.strict \?\'^[^\\u0000-" + "\\u0008\\u000A-\\u001F\\u007F]*$\' :\'^[^\\u000" + "0\\u000A\\u000D]*$\')H\000\022\016\n\006strict\030\031 \001(\010\022,\n\007" + "example\030\" \003(\tB\033\302H\030\n\026\n\016string.example\032\004tr" + "ue*\t\010\350\007\020\200\200\200\200\002B\014\n\nwell_known\"\335\021\n\nBytesRul" + "es\022z\n\005const\030\001 \001(\014Bk\302Hh\nf\n\013bytes.const\032Wt" + "his != getField(rules, \'const\') \? \'must " + "be %x\'.format([getField(rules, \'const\')]" + ") : \'\'\022k\n\003len\030\r \001(\004B^\302H[\nY\n\tbytes.len\032Lu" + "int(this.size()) != rules.len \? \'must be" + " %s bytes\'.format([rules.len]) : \'\'\022\203\001\n\007" + "min_len\030\002 \001(\004Br\302Ho\nm\n\rbytes.min_len\032\\uin" + "t(this.size()) < rules.min_len \? \'must b" + "e at least %s bytes\'.format([rules.min_l" + "en]) : \'\'\022\202\001\n\007max_len\030\003 \001(\004Bq\302Hn\nl\n\rbyte" + "s.max_len\032[uint(this.size()) > rules.max" + "_len \? \'must be at most %s bytes\'.format" + "([rules.max_len]) : \'\'\022\212\001\n\007pattern\030\004 \001(\t" + "By\302Hv\nt\n\rbytes.pattern\032c!string(this).ma" + "tches(rules.pattern) \? \'must match regex" + " pattern `%s`\'.format([rules.pattern]) :" + " \'\'\022{\n\006prefix\030\005 \001(\014Bk\302Hh\nf\n\014bytes.prefix" + "\032V!this.startsWith(rules.prefix) \? \'does" + " not have prefix %x\'.format([rules.prefi" + "x]) : \'\'\022y\n\006suffix\030\006 \001(\014Bi\302Hf\nd\n\014bytes.s" + "uffix\032T!this.endsWith(rules.suffix) \? \'d" + "oes not have suffix %x\'.format([rules.su" + "ffix]) : \'\'\022}\n\010contains\030\007 \001(\014Bk\302Hh\nf\n\016by" + "tes.contains\032T!this.contains(rules.conta" + "ins) \? \'does not contain %x\'.format([rul" + "es.contains]) : \'\'\022\241\001\n\002in\030\010 \003(\014B\224\001\302H\220\001\n\215" + "\001\n\010bytes.in\032\200\001getField(rules, \'in\').size" + "() > 0 && !(this in getField(rules, \'in\'" + ")) \? \'must be in list %s\'.format([getFie" + "ld(rules, \'in\')]) : \'\'\022p\n\006not_in\030\t \003(\014B`" + "\302H]\n[\n\014bytes.not_in\032Kthis in rules.not_i" + "n \? \'must not be in list %s\'.format([rul" + "es.not_in]) : \'\'\022\345\001\n\002ip\030\n \001(\010B\326\001\302H\322\001\nn\n\010" + "bytes.ip\022\032must be a valid IP address\032F!r" + "ules.ip || this.size() == 0 || this.size" + "() == 4 || this.size() == 16\n`\n\016bytes.ip" + "_empty\022/value is empty, which is not a v" + "alid IP address\032\035!rules.ip || this.size(" + ") != 0H\000\022\336\001\n\004ipv4\030\013 \001(\010B\315\001\302H\311\001\n_\n\nbytes." + "ipv4\022\034must be a valid IPv4 address\0323!rul" + "es.ipv4 || this.size() == 0 || this.size" + "() == 4\nf\n\020bytes.ipv4_empty\0221value is em" + "pty, which is not a valid IPv4 address\032\037" + "!rules.ipv4 || this.size() != 0H\000\022\337\001\n\004ip" + "v6\030\014 \001(\010B\316\001\302H\312\001\n`\n\nbytes.ipv6\022\034must be a" + " valid IPv6 address\0324!rules.ipv6 || this" + ".size() == 0 || this.size() == 16\nf\n\020byt" + "es.ipv6_empty\0221value is empty, which is " + "not a valid IPv6 address\032\037!rules.ipv6 ||" + " this.size() != 0H\000\022\317\001\n\004uuid\030\017 \001(\010B\276\001\302H\272" + "\001\nX\n\nbytes.uuid\022\024must be a valid UUID\0324!" + "rules.uuid || this.size() == 0 || this.s" + "ize() == 16\n^\n\020bytes.uuid_empty\022)value i" + "s empty, which is not a valid UUID\032\037!rul" + "es.uuid || this.size() != 0H\000\022+\n\007example" + "\030\016 \003(\014B\032\302H\027\n\025\n\rbytes.example\032\004true*\t\010\350\007\020" + "\200\200\200\200\002B\014\n\nwell_known\"\301\003\n\tEnumRules\022|\n\005con" + "st\030\001 \001(\005Bm\302Hj\nh\n\nenum.const\032Zthis != get" + "Field(rules, \'const\') \? \'must equal %s\'." + "format([getField(rules, \'const\')]) : \'\'\022" + "\024\n\014defined_only\030\002 \001(\010\022x\n\002in\030\003 \003(\005Bl\302Hi\ng" + "\n\007enum.in\032\\!(this in getField(rules, \'in" + "\')) \? \'must be in list %s\'.format([getFi" + "eld(rules, \'in\')]) : \'\'\022o\n\006not_in\030\004 \003(\005B" + "_\302H\\\nZ\n\013enum.not_in\032Kthis in rules.not_i" + "n \? \'must not be in list %s\'.format([rul" + "es.not_in]) : \'\'\022*\n\007example\030\005 \003(\005B\031\302H\026\n\024" + "\n\014enum.example\032\004true*\t\010\350\007\020\200\200\200\200\002\"\355\003\n\rRepe" + "atedRules\022\226\001\n\tmin_items\030\001 \001(\004B\202\001\302H\177\n}\n\022r" + "epeated.min_items\032guint(this.size()) < r" + "ules.min_items \? \'must contain at least " + "%d item(s)\'.format([rules.min_items]) : " + "\'\'\022\234\001\n\tmax_items\030\002 \001(\004B\210\001\302H\204\001\n\201\001\n\022repeat" + "ed.max_items\032kuint(this.size()) > rules." + "max_items \? \'must contain no more than %" + "s item(s)\'.format([rules.max_items]) : \'" + "\'\022p\n\006unique\030\003 \001(\010B`\302H]\n[\n\017repeated.uniqu" + "e\022(repeated value must contain unique it" + "ems\032\036!rules.unique || this.unique()\022\'\n\005i" + "tems\030\004 \001(\0132\030.buf.validate.FieldRules*\t\010\350" + "\007\020\200\200\200\200\002\"\212\003\n\010MapRules\022\217\001\n\tmin_pairs\030\001 \001(\004" + "B|\302Hy\nw\n\rmap.min_pairs\032fuint(this.size()" + ") < rules.min_pairs \? \'map must be at le" + "ast %d entries\'.format([rules.min_pairs]" + ") : \'\'\022\216\001\n\tmax_pairs\030\002 \001(\004B{\302Hx\nv\n\rmap.m" + "ax_pairs\032euint(this.size()) > rules.max_" + "pairs \? \'map must be at most %d entries\'" + ".format([rules.max_pairs]) : \'\'\022&\n\004keys\030" + "\004 \001(\0132\030.buf.validate.FieldRules\022(\n\006value" + "s\030\005 \001(\0132\030.buf.validate.FieldRules*\t\010\350\007\020\200" + "\200\200\200\002\"&\n\010AnyRules\022\n\n\002in\030\002 \003(\t\022\016\n\006not_in\030\003" + " \003(\t\"\277\026\n\rDurationRules\022\233\001\n\005const\030\002 \001(\0132\031" + ".google.protobuf.DurationBq\302Hn\nl\n\016durati" + "on.const\032Zthis != getField(rules, \'const" + "\') \? \'must equal %s\'.format([getField(ru" + "les, \'const\')]) : \'\'\022\242\001\n\002lt\030\003 \001(\0132\031.goog" + "le.protobuf.DurationBy\302Hv\nt\n\013duration.lt" + "\032e!has(rules.gte) && !has(rules.gt) && t" + "his >= rules.lt\? \'must be less than %s\'." + "format([rules.lt]) : \'\'H\000\022\264\001\n\003lte\030\004 \001(\0132" + "\031.google.protobuf.DurationB\211\001\302H\205\001\n\202\001\n\014du" + "ration.lte\032r!has(rules.gte) && !has(rule" + "s.gt) && this > rules.lte\? \'must be less" + " than or equal to %s\'.format([rules.lte]" + ") : \'\'H\000\022\243\007\n\002gt\030\005 \001(\0132\031.google.protobuf." + "DurationB\371\006\302H\365\006\nw\n\013duration.gt\032h!has(rul" + "es.lt) && !has(rules.lte) && this <= rul" + "es.gt\? \'must be greater than %s\'.format(" + "[rules.gt]) : \'\'\n\260\001\n\016duration.gt_lt\032\235\001ha" + "s(rules.lt) && rules.lt >= rules.gt && (" + "this >= rules.lt || this <= rules.gt)\? \'" + "must be greater than %s and less than %s" + "\'.format([rules.gt, rules.lt]) : \'\'\n\270\001\n\030" + "duration.gt_lt_exclusive\032\233\001has(rules.lt)" + " && rules.lt < rules.gt && (rules.lt <= " + "this && this <= rules.gt)\? \'must be grea" + "ter than %s or less than %s\'.format([rul" + "es.gt, rules.lt]) : \'\'\n\300\001\n\017duration.gt_l" + "te\032\254\001has(rules.lte) && rules.lte >= rule" + "s.gt && (this > rules.lte || this <= rul" + "es.gt)\? \'must be greater than %s and les" + "s than or equal to %s\'.format([rules.gt," + " rules.lte]) : \'\'\n\310\001\n\031duration.gt_lte_ex" + "clusive\032\252\001has(rules.lte) && rules.lte < " + "rules.gt && (rules.lte < this && this <=" + " rules.gt)\? \'must be greater than %s or " + "less than or equal to %s\'.format([rules." + "gt, rules.lte]) : \'\'H\001\022\357\007\n\003gte\030\006 \001(\0132\031.g" + "oogle.protobuf.DurationB\304\007\302H\300\007\n\205\001\n\014durat" + "ion.gte\032u!has(rules.lt) && !has(rules.lt" + "e) && this < rules.gte\? \'must be greater" + " than or equal to %s\'.format([rules.gte]" + ") : \'\'\n\277\001\n\017duration.gte_lt\032\253\001has(rules.l" + "t) && rules.lt >= rules.gte && (this >= " + "rules.lt || this < rules.gte)\? \'must be " + "greater than or equal to %s and less tha" + "n %s\'.format([rules.gte, rules.lt]) : \'\'" + "\n\307\001\n\031duration.gte_lt_exclusive\032\251\001has(rul" + "es.lt) && rules.lt < rules.gte && (rules" + ".lt <= this && this < rules.gte)\? \'must " + "be greater than or equal to %s or less t" + "han %s\'.format([rules.gte, rules.lt]) : " + "\'\'\n\317\001\n\020duration.gte_lte\032\272\001has(rules.lte)" + " && rules.lte >= rules.gte && (this > ru" + "les.lte || this < rules.gte)\? \'must be g" + "reater than or equal to %s and less than" + " or equal to %s\'.format([rules.gte, rule" + "s.lte]) : \'\'\n\327\001\n\032duration.gte_lte_exclus" + "ive\032\270\001has(rules.lte) && rules.lte < rule" + "s.gte && (rules.lte < this && this < rul" + "es.gte)\? \'must be greater than or equal " + "to %s or less than or equal to %s\'.forma" + "t([rules.gte, rules.lte]) : \'\'H\001\022\227\001\n\002in\030" + "\007 \003(\0132\031.google.protobuf.DurationBp\302Hm\nk\n" + "\013duration.in\032\\!(this in getField(rules, " + "\'in\')) \? \'must be in list %s\'.format([ge" + "tField(rules, \'in\')]) : \'\'\022\216\001\n\006not_in\030\010 " + "\003(\0132\031.google.protobuf.DurationBc\302H`\n^\n\017d" + "uration.not_in\032Kthis in rules.not_in \? \'" + "must not be in list %s\'.format([rules.no" + "t_in]) : \'\'\022I\n\007example\030\t \003(\0132\031.google.pr" + "otobuf.DurationB\035\302H\032\n\030\n\020duration.example" + "\032\004true*\t\010\350\007\020\200\200\200\200\002B\013\n\tless_thanB\016\n\014greate" + "r_than\"\353\005\n\016FieldMaskRules\022\271\001\n\005const\030\001 \001(" + "\0132\032.google.protobuf.FieldMaskB\215\001\302H\211\001\n\206\001\n" + "\020field_mask.const\032rthis.paths != getFiel" + "d(rules, \'const\').paths \? \'must equal pa" + "ths %s\'.format([getField(rules, \'const\')" + ".paths]) : \'\'\022\323\001\n\002in\030\002 \003(\tB\306\001\302H\302\001\n\277\001\n\rfi" + "eld_mask.in\032\255\001!this.paths.all(p, p in ge" + "tField(rules, \'in\') || getField(rules, \'" + "in\').exists(f, p.startsWith(f+\'.\'))) \? \'" + "must only contain paths in %s\'.format([g" + "etField(rules, \'in\')]) : \'\'\022\355\001\n\006not_in\030\003" + " \003(\tB\334\001\302H\330\001\n\325\001\n\021field_mask.not_in\032\277\001!thi" + "s.paths.all(p, !(p in getField(rules, \'n" + "ot_in\') || getField(rules, \'not_in\').exi" + "sts(f, p.startsWith(f+\'.\')))) \? \'must no" + "t contain any paths in %s\'.format([getFi" + "eld(rules, \'not_in\')]) : \'\'\022L\n\007example\030\004" + " \003(\0132\032.google.protobuf.FieldMaskB\037\302H\034\n\032\n" + "\022field_mask.example\032\004true*\t\010\350\007\020\200\200\200\200\002\"\260\027\n" + "\016TimestampRules\022\235\001\n\005const\030\002 \001(\0132\032.google" + ".protobuf.TimestampBr\302Ho\nm\n\017timestamp.co" + "nst\032Zthis != getField(rules, \'const\') \? " + "\'must equal %s\'.format([getField(rules, " + "\'const\')]) : \'\'\022\244\001\n\002lt\030\003 \001(\0132\032.google.pr" + "otobuf.TimestampBz\302Hw\nu\n\014timestamp.lt\032e!" + "has(rules.gte) && !has(rules.gt) && this" + " >= rules.lt\? \'must be less than %s\'.for" + "mat([rules.lt]) : \'\'H\000\022\266\001\n\003lte\030\004 \001(\0132\032.g" + "oogle.protobuf.TimestampB\212\001\302H\206\001\n\203\001\n\rtime" + "stamp.lte\032r!has(rules.gte) && !has(rules" + ".gt) && this > rules.lte\? \'must be less " + "than or equal to %s\'.format([rules.lte])" + " : \'\'H\000\022f\n\006lt_now\030\007 \001(\010BT\302HQ\nO\n\020timestam" + "p.lt_now\032;(rules.lt_now && this > now) \?" + " \'must be less than now\' : \'\'H\000\022\251\007\n\002gt\030\005" + " \001(\0132\032.google.protobuf.TimestampB\376\006\302H\372\006\n" + "x\n\014timestamp.gt\032h!has(rules.lt) && !has(" + "rules.lte) && this <= rules.gt\? \'must be" + " greater than %s\'.format([rules.gt]) : \'" + "\'\n\261\001\n\017timestamp.gt_lt\032\235\001has(rules.lt) &&" + " rules.lt >= rules.gt && (this >= rules." + "lt || this <= rules.gt)\? \'must be greate" + "r than %s and less than %s\'.format([rule" + "s.gt, rules.lt]) : \'\'\n\271\001\n\031timestamp.gt_l" + "t_exclusive\032\233\001has(rules.lt) && rules.lt " + "< rules.gt && (rules.lt <= this && this " + "<= rules.gt)\? \'must be greater than %s o" + "r less than %s\'.format([rules.gt, rules." + "lt]) : \'\'\n\301\001\n\020timestamp.gt_lte\032\254\001has(rul" + "es.lte) && rules.lte >= rules.gt && (thi" + "s > rules.lte || this <= rules.gt)\? \'mus" + "t be greater than %s and less than or eq" + "ual to %s\'.format([rules.gt, rules.lte])" + " : \'\'\n\311\001\n\032timestamp.gt_lte_exclusive\032\252\001h" + "as(rules.lte) && rules.lte < rules.gt &&" + " (rules.lte < this && this <= rules.gt)\?" + " \'must be greater than %s or less than o" + "r equal to %s\'.format([rules.gt, rules.l" + "te]) : \'\'H\001\022\365\007\n\003gte\030\006 \001(\0132\032.google.proto" + "buf.TimestampB\311\007\302H\305\007\n\206\001\n\rtimestamp.gte\032u" + "!has(rules.lt) && !has(rules.lte) && thi" + "s < rules.gte\? \'must be greater than or " + "equal to %s\'.format([rules.gte]) : \'\'\n\300\001" + "\n\020timestamp.gte_lt\032\253\001has(rules.lt) && ru" + "les.lt >= rules.gte && (this >= rules.lt" + " || this < rules.gte)\? \'must be greater " + "than or equal to %s and less than %s\'.fo" + "rmat([rules.gte, rules.lt]) : \'\'\n\310\001\n\032tim" + "estamp.gte_lt_exclusive\032\251\001has(rules.lt) " + "&& rules.lt < rules.gte && (rules.lt <= " + "this && this < rules.gte)\? \'must be grea" + "ter than or equal to %s or less than %s\'" + ".format([rules.gte, rules.lt]) : \'\'\n\320\001\n\021" + "timestamp.gte_lte\032\272\001has(rules.lte) && ru" + "les.lte >= rules.gte && (this > rules.lt" + "e || this < rules.gte)\? \'must be greater" + " than or equal to %s and less than or eq" + "ual to %s\'.format([rules.gte, rules.lte]" + ") : \'\'\n\330\001\n\033timestamp.gte_lte_exclusive\032\270" + "\001has(rules.lte) && rules.lte < rules.gte" + " && (rules.lte < this && this < rules.gt" + "e)\? \'must be greater than or equal to %s" + " or less than or equal to %s\'.format([ru" + "les.gte, rules.lte]) : \'\'H\001\022i\n\006gt_now\030\010 " + "\001(\010BW\302HT\nR\n\020timestamp.gt_now\032>(rules.gt_" + "now && this < now) \? \'must be greater th" + "an now\' : \'\'H\001\022\261\001\n\006within\030\t \001(\0132\031.google" + ".protobuf.DurationB\205\001\302H\201\001\n\177\n\020timestamp.w" + "ithin\032kthis < now-rules.within || this >" + " now+rules.within \? \'must be within %s o" + "f now\'.format([rules.within]) : \'\'\022K\n\007ex" + "ample\030\n \003(\0132\032.google.protobuf.TimestampB" + "\036\302H\033\n\031\n\021timestamp.example\032\004true*\t\010\350\007\020\200\200\200" + "\200\002B\013\n\tless_thanB\016\n\014greater_than\"9\n\nViola" + "tions\022+\n\nviolations\030\001 \003(\0132\027.buf.validate" + ".Violation\"\237\001\n\tViolation\022&\n\005field\030\005 \001(\0132" + "\027.buf.validate.FieldPath\022%\n\004rule\030\006 \001(\0132\027" + ".buf.validate.FieldPath\022\017\n\007rule_id\030\002 \001(\t" + "\022\017\n\007message\030\003 \001(\t\022\017\n\007for_key\030\004 \001(\010J\004\010\001\020\002" + "R\nfield_path\"=\n\tFieldPath\0220\n\010elements\030\001 " + "\003(\0132\036.buf.validate.FieldPathElement\"\351\002\n\020" + "FieldPathElement\022\024\n\014field_number\030\001 \001(\005\022\022" + "\n\nfield_name\030\002 \001(\t\022>\n\nfield_type\030\003 \001(\0162*" + ".google.protobuf.FieldDescriptorProto.Ty" + "pe\022<\n\010key_type\030\004 \001(\0162*.google.protobuf.F" + "ieldDescriptorProto.Type\022>\n\nvalue_type\030\005" + " \001(\0162*.google.protobuf.FieldDescriptorPr" + "oto.Type\022\017\n\005index\030\006 \001(\004H\000\022\022\n\010bool_key\030\007 " + "\001(\010H\000\022\021\n\007int_key\030\010 \001(\003H\000\022\022\n\010uint_key\030\t \001" + "(\004H\000\022\024\n\nstring_key\030\n \001(\tH\000B\013\n\tsubscript*" + "\241\001\n\006Ignore\022\026\n\022IGNORE_UNSPECIFIED\020\000\022\030\n\024IG" + "NORE_IF_ZERO_VALUE\020\001\022\021\n\rIGNORE_ALWAYS\020\003\"" + "\004\010\002\020\002*\014IGNORE_EMPTY*\016IGNORE_DEFAULT*\027IGN" + "ORE_IF_DEFAULT_VALUE*\025IGNORE_IF_UNPOPULA" + "TED*n\n\nKnownRegex\022\033\n\027KNOWN_REGEX_UNSPECI" + "FIED\020\000\022 \n\034KNOWN_REGEX_HTTP_HEADER_NAME\020\001" + "\022!\n\035KNOWN_REGEX_HTTP_HEADER_VALUE\020\002:M\n\007m" + "essage\022\037.google.protobuf.MessageOptions\030" + "\207\t \001(\0132\032.buf.validate.MessageRules:G\n\005on" + "eof\022\035.google.protobuf.OneofOptions\030\207\t \001(" + "\0132\030.buf.validate.OneofRules:G\n\005field\022\035.g" + "oogle.protobuf.FieldOptions\030\207\t \001(\0132\030.buf" + ".validate.FieldRules:Q\n\npredefined\022\035.goo" + "gle.protobuf.FieldOptions\030\210\t \001(\0132\035.buf.v" + "alidate.PredefinedRulesBn\n\022build.buf.val" + "idateB\rValidateProtoP\001ZGbuf.build/gen/go" + "/bufbuild/protovalidate/protocolbuffers/" + "go/buf/validate" +}; +static const ::_pbi::DescriptorTable* PROTOBUF_NONNULL const + descriptor_table_buf_2fvalidate_2fvalidate_2eproto_deps[4] = { + &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + &::descriptor_table_google_2fprotobuf_2fduration_2eproto, + &::descriptor_table_google_2fprotobuf_2ffield_5fmask_2eproto, + &::descriptor_table_google_2fprotobuf_2ftimestamp_2eproto, +}; +static ::absl::once_flag descriptor_table_buf_2fvalidate_2fvalidate_2eproto_once; +PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_buf_2fvalidate_2fvalidate_2eproto = { + false, + false, + 53575, + descriptor_table_protodef_buf_2fvalidate_2fvalidate_2eproto, + "buf/validate/validate.proto", + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto_once, + descriptor_table_buf_2fvalidate_2fvalidate_2eproto_deps, + 4, + 32, + schemas, + file_default_instances, + TableStruct_buf_2fvalidate_2fvalidate_2eproto::offsets, + file_level_enum_descriptors_buf_2fvalidate_2fvalidate_2eproto, + file_level_service_descriptors_buf_2fvalidate_2fvalidate_2eproto, +}; +namespace buf { +namespace validate { +const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Ignore_descriptor() { + ::google::protobuf::internal::AssignDescriptors(&descriptor_table_buf_2fvalidate_2fvalidate_2eproto); + return file_level_enum_descriptors_buf_2fvalidate_2fvalidate_2eproto[0]; +} +PROTOBUF_CONSTINIT const uint32_t Ignore_internal_data_[] = { + 131072u, 32u, 2u, }; +const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL KnownRegex_descriptor() { + ::google::protobuf::internal::AssignDescriptors(&descriptor_table_buf_2fvalidate_2fvalidate_2eproto); + return file_level_enum_descriptors_buf_2fvalidate_2fvalidate_2eproto[1]; +} +PROTOBUF_CONSTINIT const uint32_t KnownRegex_internal_data_[] = { + 196608u, 0u, }; +// =================================================================== + +class Rule::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Rule, _impl_._has_bits_); +}; + +Rule::Rule(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Rule_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.Rule) +} +PROTOBUF_NDEBUG_INLINE Rule::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::Rule& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + id_(arena, from.id_), + message_(arena, from.message_), + expression_(arena, from.expression_) {} + +Rule::Rule( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Rule& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Rule_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Rule* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:buf.validate.Rule) +} +PROTOBUF_NDEBUG_INLINE Rule::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + id_(arena), + message_(arena), + expression_(arena) {} + +inline void Rule::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +Rule::~Rule() { + // @@protoc_insertion_point(destructor:buf.validate.Rule) + SharedDtor(*this); +} +inline void Rule::SharedDtor(MessageLite& self) { + Rule& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.id_.Destroy(); + this_._impl_.message_.Destroy(); + this_._impl_.expression_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Rule::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Rule(arena); +} +constexpr auto Rule::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Rule), + alignof(Rule)); +} +constexpr auto Rule::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Rule_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Rule::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Rule::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Rule::ByteSizeLong, + &Rule::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Rule, _impl_._cached_size_), + false, + }, + &Rule::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Rule_class_data_ = + Rule::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Rule::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Rule_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Rule_class_data_.tc_table); + return Rule_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 3, 0, 0, 2> +Rule::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Rule, _impl_._has_bits_), + 0, // no _extensions_ + 3, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967288, // skipmap + offsetof(decltype(_table_), field_entries), + 3, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + Rule_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::Rule>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // optional string id = 1; + {::_pbi::TcParser::FastBS1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(Rule, _impl_.id_)}}, + // optional string message = 2; + {::_pbi::TcParser::FastBS1, + {18, 1, 0, + PROTOBUF_FIELD_OFFSET(Rule, _impl_.message_)}}, + // optional string expression = 3; + {::_pbi::TcParser::FastBS1, + {26, 2, 0, + PROTOBUF_FIELD_OFFSET(Rule, _impl_.expression_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional string id = 1; + {PROTOBUF_FIELD_OFFSET(Rule, _impl_.id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // optional string message = 2; + {PROTOBUF_FIELD_OFFSET(Rule, _impl_.message_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // optional string expression = 3; + {PROTOBUF_FIELD_OFFSET(Rule, _impl_.expression_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void Rule::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.Rule) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + _impl_.id_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + _impl_.message_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + _impl_.expression_.ClearNonDefaultToEmpty(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Rule::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Rule& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Rule::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Rule& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.Rule) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional string id = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + const ::std::string& _s = this_._internal_id(); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // optional string message = 2; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + const ::std::string& _s = this_._internal_message(); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + + // optional string expression = 3; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + const ::std::string& _s = this_._internal_expression(); + target = stream->WriteStringMaybeAliased(3, _s, target); + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.Rule) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Rule::ByteSizeLong(const MessageLite& base) { + const Rule& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Rule::ByteSizeLong() const { + const Rule& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.Rule) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + // optional string id = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_id()); + } + // optional string message = 2; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_message()); + } + // optional string expression = 3; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_expression()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Rule::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.Rule) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + _this->_internal_set_id(from._internal_id()); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + _this->_internal_set_message(from._internal_message()); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + _this->_internal_set_expression(from._internal_expression()); + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Rule::CopyFrom(const Rule& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.Rule) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Rule::InternalSwap(Rule* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.id_, &other->_impl_.id_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.message_, &other->_impl_.message_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.expression_, &other->_impl_.expression_, arena); +} + +::google::protobuf::Metadata Rule::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class MessageRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(MessageRules, _impl_._has_bits_); +}; + +MessageRules::MessageRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, MessageRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.MessageRules) +} +PROTOBUF_NDEBUG_INLINE MessageRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::MessageRules& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + cel_{visibility, arena, from.cel_}, + oneof_{visibility, arena, from.oneof_}, + cel_expression_{visibility, arena, from.cel_expression_} {} + +MessageRules::MessageRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const MessageRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, MessageRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + MessageRules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:buf.validate.MessageRules) +} +PROTOBUF_NDEBUG_INLINE MessageRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + cel_{visibility, arena}, + oneof_{visibility, arena}, + cel_expression_{visibility, arena} {} + +inline void MessageRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +MessageRules::~MessageRules() { + // @@protoc_insertion_point(destructor:buf.validate.MessageRules) + SharedDtor(*this); +} +inline void MessageRules::SharedDtor(MessageLite& self) { + MessageRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL MessageRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) MessageRules(arena); +} +constexpr auto MessageRules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(MessageRules, _impl_.cel_expression_) + + decltype(MessageRules::_impl_.cel_expression_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(MessageRules, _impl_.cel_) + + decltype(MessageRules::_impl_.cel_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(MessageRules, _impl_.oneof_) + + decltype(MessageRules::_impl_.oneof_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(MessageRules), alignof(MessageRules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&MessageRules::PlacementNew_, + sizeof(MessageRules), + alignof(MessageRules)); + } +} +constexpr auto MessageRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_MessageRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &MessageRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &MessageRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &MessageRules::ByteSizeLong, + &MessageRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(MessageRules, _impl_._cached_size_), + false, + }, + &MessageRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull MessageRules_class_data_ = + MessageRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +MessageRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&MessageRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(MessageRules_class_data_.tc_table); + return MessageRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 3, 2, 0, 2> +MessageRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(MessageRules, _impl_._has_bits_), + 0, // no _extensions_ + 5, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967267, // skipmap + offsetof(decltype(_table_), field_entries), + 3, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + MessageRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::MessageRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .buf.validate.MessageOneofRule oneof = 4; + {::_pbi::TcParser::FastMtR1, + {34, 1, 1, + PROTOBUF_FIELD_OFFSET(MessageRules, _impl_.oneof_)}}, + // repeated string cel_expression = 5; + {::_pbi::TcParser::FastBR1, + {42, 2, 0, + PROTOBUF_FIELD_OFFSET(MessageRules, _impl_.cel_expression_)}}, + {::_pbi::TcParser::MiniParse, {}}, + // repeated .buf.validate.Rule cel = 3; + {::_pbi::TcParser::FastMtR1, + {26, 0, 0, + PROTOBUF_FIELD_OFFSET(MessageRules, _impl_.cel_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // repeated .buf.validate.Rule cel = 3; + {PROTOBUF_FIELD_OFFSET(MessageRules, _impl_.cel_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + // repeated .buf.validate.MessageOneofRule oneof = 4; + {PROTOBUF_FIELD_OFFSET(MessageRules, _impl_.oneof_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + // repeated string cel_expression = 5; + {PROTOBUF_FIELD_OFFSET(MessageRules, _impl_.cel_expression_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::buf::validate::Rule>()}, + {::_pbi::TcParser::GetTable<::buf::validate::MessageOneofRule>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void MessageRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.MessageRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.cel_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.oneof_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.cel_expression_.Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL MessageRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const MessageRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL MessageRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const MessageRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.MessageRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // repeated .buf.validate.Rule cel = 3; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_cel_size()); + i < n; i++) { + const auto& repfield = this_._internal_cel().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + // repeated .buf.validate.MessageOneofRule oneof = 4; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_oneof_size()); + i < n; i++) { + const auto& repfield = this_._internal_oneof().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + // repeated string cel_expression = 5; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (int i = 0, n = this_._internal_cel_expression_size(); i < n; ++i) { + const auto& s = this_._internal_cel_expression().Get(i); + target = stream->WriteString(5, s, target); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.MessageRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t MessageRules::ByteSizeLong(const MessageLite& base) { + const MessageRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t MessageRules::ByteSizeLong() const { + const MessageRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.MessageRules) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + // repeated .buf.validate.Rule cel = 3; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += 1UL * this_._internal_cel_size(); + for (const auto& msg : this_._internal_cel()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // repeated .buf.validate.MessageOneofRule oneof = 4; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + total_size += 1UL * this_._internal_oneof_size(); + for (const auto& msg : this_._internal_oneof()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // repeated string cel_expression = 5; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_cel_expression().size()); + for (int i = 0, n = this_._internal_cel_expression().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_cel_expression().Get(i)); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void MessageRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.MessageRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_cel()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_cel()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_oneof()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_oneof()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_cel_expression()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_cel_expression()); + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void MessageRules::CopyFrom(const MessageRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.MessageRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void MessageRules::InternalSwap(MessageRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.cel_.InternalSwap(&other->_impl_.cel_); + _impl_.oneof_.InternalSwap(&other->_impl_.oneof_); + _impl_.cel_expression_.InternalSwap(&other->_impl_.cel_expression_); +} + +::google::protobuf::Metadata MessageRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class MessageOneofRule::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(MessageOneofRule, _impl_._has_bits_); +}; + +MessageOneofRule::MessageOneofRule(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, MessageOneofRule_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.MessageOneofRule) +} +PROTOBUF_NDEBUG_INLINE MessageOneofRule::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::MessageOneofRule& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + fields_{visibility, arena, from.fields_} {} + +MessageOneofRule::MessageOneofRule( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const MessageOneofRule& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, MessageOneofRule_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + MessageOneofRule* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_.required_ = from._impl_.required_; + + // @@protoc_insertion_point(copy_constructor:buf.validate.MessageOneofRule) +} +PROTOBUF_NDEBUG_INLINE MessageOneofRule::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + fields_{visibility, arena} {} + +inline void MessageOneofRule::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.required_ = {}; +} +MessageOneofRule::~MessageOneofRule() { + // @@protoc_insertion_point(destructor:buf.validate.MessageOneofRule) + SharedDtor(*this); +} +inline void MessageOneofRule::SharedDtor(MessageLite& self) { + MessageOneofRule& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL MessageOneofRule::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) MessageOneofRule(arena); +} +constexpr auto MessageOneofRule::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(MessageOneofRule, _impl_.fields_) + + decltype(MessageOneofRule::_impl_.fields_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(MessageOneofRule), alignof(MessageOneofRule), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&MessageOneofRule::PlacementNew_, + sizeof(MessageOneofRule), + alignof(MessageOneofRule)); + } +} +constexpr auto MessageOneofRule::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_MessageOneofRule_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &MessageOneofRule::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &MessageOneofRule::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &MessageOneofRule::ByteSizeLong, + &MessageOneofRule::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(MessageOneofRule, _impl_._cached_size_), + false, + }, + &MessageOneofRule::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull MessageOneofRule_class_data_ = + MessageOneofRule::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +MessageOneofRule::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&MessageOneofRule_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(MessageOneofRule_class_data_.tc_table); + return MessageOneofRule_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 0, 2> +MessageOneofRule::_table_ = { + { + PROTOBUF_FIELD_OFFSET(MessageOneofRule, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + MessageOneofRule_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::MessageOneofRule>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // optional bool required = 2; + {::_pbi::TcParser::SingularVarintNoZag1(), + {16, 1, 0, + PROTOBUF_FIELD_OFFSET(MessageOneofRule, _impl_.required_)}}, + // repeated string fields = 1; + {::_pbi::TcParser::FastBR1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(MessageOneofRule, _impl_.fields_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // repeated string fields = 1; + {PROTOBUF_FIELD_OFFSET(MessageOneofRule, _impl_.fields_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)}, + // optional bool required = 2; + {PROTOBUF_FIELD_OFFSET(MessageOneofRule, _impl_.required_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void MessageOneofRule::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.MessageOneofRule) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.fields_.Clear(); + } + _impl_.required_ = false; + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL MessageOneofRule::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const MessageOneofRule& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL MessageOneofRule::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const MessageOneofRule& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.MessageOneofRule) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // repeated string fields = 1; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_fields_size(); i < n; ++i) { + const auto& s = this_._internal_fields().Get(i); + target = stream->WriteString(1, s, target); + } + } + + // optional bool required = 2; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 2, this_._internal_required(), target); + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.MessageOneofRule) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t MessageOneofRule::ByteSizeLong(const MessageLite& base) { + const MessageOneofRule& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t MessageOneofRule::ByteSizeLong() const { + const MessageOneofRule& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.MessageOneofRule) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + total_size += static_cast(0x00000002U & cached_has_bits) * 2; + { + // repeated string fields = 1; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_fields().size()); + for (int i = 0, n = this_._internal_fields().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_fields().Get(i)); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void MessageOneofRule::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.MessageOneofRule) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_fields()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_fields()); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + _this->_impl_.required_ = from._impl_.required_; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void MessageOneofRule::CopyFrom(const MessageOneofRule& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.MessageOneofRule) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void MessageOneofRule::InternalSwap(MessageOneofRule* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.fields_.InternalSwap(&other->_impl_.fields_); + swap(_impl_.required_, other->_impl_.required_); +} + +::google::protobuf::Metadata MessageOneofRule::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class OneofRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(OneofRules, _impl_._has_bits_); +}; + +OneofRules::OneofRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, OneofRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.OneofRules) +} +OneofRules::OneofRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const OneofRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, OneofRules_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(from._impl_) { + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} +PROTOBUF_NDEBUG_INLINE OneofRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0} {} + +inline void OneofRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.required_ = {}; +} +OneofRules::~OneofRules() { + // @@protoc_insertion_point(destructor:buf.validate.OneofRules) + SharedDtor(*this); +} +inline void OneofRules::SharedDtor(MessageLite& self) { + OneofRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL OneofRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) OneofRules(arena); +} +constexpr auto OneofRules::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(OneofRules), + alignof(OneofRules)); +} +constexpr auto OneofRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_OneofRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &OneofRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &OneofRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &OneofRules::ByteSizeLong, + &OneofRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(OneofRules, _impl_._cached_size_), + false, + }, + &OneofRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull OneofRules_class_data_ = + OneofRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +OneofRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&OneofRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(OneofRules_class_data_.tc_table); + return OneofRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 0, 0, 2> +OneofRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(OneofRules, _impl_._has_bits_), + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + OneofRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::OneofRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // optional bool required = 1; + {::_pbi::TcParser::SingularVarintNoZag1(), + {8, 0, 0, + PROTOBUF_FIELD_OFFSET(OneofRules, _impl_.required_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional bool required = 1; + {PROTOBUF_FIELD_OFFSET(OneofRules, _impl_.required_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void OneofRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.OneofRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.required_ = false; + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL OneofRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const OneofRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL OneofRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const OneofRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.OneofRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional bool required = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 1, this_._internal_required(), target); + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.OneofRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t OneofRules::ByteSizeLong(const MessageLite& base) { + const OneofRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t OneofRules::ByteSizeLong() const { + const OneofRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.OneofRules) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + total_size += static_cast(0x00000001U & cached_has_bits) * 2; + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void OneofRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.OneofRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + _this->_impl_.required_ = from._impl_.required_; + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void OneofRules::CopyFrom(const OneofRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.OneofRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void OneofRules::InternalSwap(OneofRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + swap(_impl_.required_, other->_impl_.required_); +} + +::google::protobuf::Metadata OneofRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class FieldRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(FieldRules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldRules, _impl_._oneof_case_); +}; + +void FieldRules::set_allocated_float_(::buf::validate::FloatRules* PROTOBUF_NULLABLE float_) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (float_) { + ::google::protobuf::Arena* submessage_arena = float_->GetArena(); + if (message_arena != submessage_arena) { + float_ = ::google::protobuf::internal::GetOwnedMessage(message_arena, float_, submessage_arena); + } + set_has_float_(); + _impl_.type_.float__ = float_; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.float) +} +void FieldRules::set_allocated_double_(::buf::validate::DoubleRules* PROTOBUF_NULLABLE double_) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (double_) { + ::google::protobuf::Arena* submessage_arena = double_->GetArena(); + if (message_arena != submessage_arena) { + double_ = ::google::protobuf::internal::GetOwnedMessage(message_arena, double_, submessage_arena); + } + set_has_double_(); + _impl_.type_.double__ = double_; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.double) +} +void FieldRules::set_allocated_int32(::buf::validate::Int32Rules* PROTOBUF_NULLABLE int32) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (int32) { + ::google::protobuf::Arena* submessage_arena = int32->GetArena(); + if (message_arena != submessage_arena) { + int32 = ::google::protobuf::internal::GetOwnedMessage(message_arena, int32, submessage_arena); + } + set_has_int32(); + _impl_.type_.int32_ = int32; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.int32) +} +void FieldRules::set_allocated_int64(::buf::validate::Int64Rules* PROTOBUF_NULLABLE int64) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (int64) { + ::google::protobuf::Arena* submessage_arena = int64->GetArena(); + if (message_arena != submessage_arena) { + int64 = ::google::protobuf::internal::GetOwnedMessage(message_arena, int64, submessage_arena); + } + set_has_int64(); + _impl_.type_.int64_ = int64; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.int64) +} +void FieldRules::set_allocated_uint32(::buf::validate::UInt32Rules* PROTOBUF_NULLABLE uint32) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (uint32) { + ::google::protobuf::Arena* submessage_arena = uint32->GetArena(); + if (message_arena != submessage_arena) { + uint32 = ::google::protobuf::internal::GetOwnedMessage(message_arena, uint32, submessage_arena); + } + set_has_uint32(); + _impl_.type_.uint32_ = uint32; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.uint32) +} +void FieldRules::set_allocated_uint64(::buf::validate::UInt64Rules* PROTOBUF_NULLABLE uint64) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (uint64) { + ::google::protobuf::Arena* submessage_arena = uint64->GetArena(); + if (message_arena != submessage_arena) { + uint64 = ::google::protobuf::internal::GetOwnedMessage(message_arena, uint64, submessage_arena); + } + set_has_uint64(); + _impl_.type_.uint64_ = uint64; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.uint64) +} +void FieldRules::set_allocated_sint32(::buf::validate::SInt32Rules* PROTOBUF_NULLABLE sint32) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (sint32) { + ::google::protobuf::Arena* submessage_arena = sint32->GetArena(); + if (message_arena != submessage_arena) { + sint32 = ::google::protobuf::internal::GetOwnedMessage(message_arena, sint32, submessage_arena); + } + set_has_sint32(); + _impl_.type_.sint32_ = sint32; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.sint32) +} +void FieldRules::set_allocated_sint64(::buf::validate::SInt64Rules* PROTOBUF_NULLABLE sint64) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (sint64) { + ::google::protobuf::Arena* submessage_arena = sint64->GetArena(); + if (message_arena != submessage_arena) { + sint64 = ::google::protobuf::internal::GetOwnedMessage(message_arena, sint64, submessage_arena); + } + set_has_sint64(); + _impl_.type_.sint64_ = sint64; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.sint64) +} +void FieldRules::set_allocated_fixed32(::buf::validate::Fixed32Rules* PROTOBUF_NULLABLE fixed32) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (fixed32) { + ::google::protobuf::Arena* submessage_arena = fixed32->GetArena(); + if (message_arena != submessage_arena) { + fixed32 = ::google::protobuf::internal::GetOwnedMessage(message_arena, fixed32, submessage_arena); + } + set_has_fixed32(); + _impl_.type_.fixed32_ = fixed32; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.fixed32) +} +void FieldRules::set_allocated_fixed64(::buf::validate::Fixed64Rules* PROTOBUF_NULLABLE fixed64) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (fixed64) { + ::google::protobuf::Arena* submessage_arena = fixed64->GetArena(); + if (message_arena != submessage_arena) { + fixed64 = ::google::protobuf::internal::GetOwnedMessage(message_arena, fixed64, submessage_arena); + } + set_has_fixed64(); + _impl_.type_.fixed64_ = fixed64; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.fixed64) +} +void FieldRules::set_allocated_sfixed32(::buf::validate::SFixed32Rules* PROTOBUF_NULLABLE sfixed32) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (sfixed32) { + ::google::protobuf::Arena* submessage_arena = sfixed32->GetArena(); + if (message_arena != submessage_arena) { + sfixed32 = ::google::protobuf::internal::GetOwnedMessage(message_arena, sfixed32, submessage_arena); + } + set_has_sfixed32(); + _impl_.type_.sfixed32_ = sfixed32; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.sfixed32) +} +void FieldRules::set_allocated_sfixed64(::buf::validate::SFixed64Rules* PROTOBUF_NULLABLE sfixed64) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (sfixed64) { + ::google::protobuf::Arena* submessage_arena = sfixed64->GetArena(); + if (message_arena != submessage_arena) { + sfixed64 = ::google::protobuf::internal::GetOwnedMessage(message_arena, sfixed64, submessage_arena); + } + set_has_sfixed64(); + _impl_.type_.sfixed64_ = sfixed64; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.sfixed64) +} +void FieldRules::set_allocated_bool_(::buf::validate::BoolRules* PROTOBUF_NULLABLE bool_) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (bool_) { + ::google::protobuf::Arena* submessage_arena = bool_->GetArena(); + if (message_arena != submessage_arena) { + bool_ = ::google::protobuf::internal::GetOwnedMessage(message_arena, bool_, submessage_arena); + } + set_has_bool_(); + _impl_.type_.bool__ = bool_; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.bool) +} +void FieldRules::set_allocated_string(::buf::validate::StringRules* PROTOBUF_NULLABLE string) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (string) { + ::google::protobuf::Arena* submessage_arena = string->GetArena(); + if (message_arena != submessage_arena) { + string = ::google::protobuf::internal::GetOwnedMessage(message_arena, string, submessage_arena); + } + set_has_string(); + _impl_.type_.string_ = string; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.string) +} +void FieldRules::set_allocated_bytes(::buf::validate::BytesRules* PROTOBUF_NULLABLE bytes) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (bytes) { + ::google::protobuf::Arena* submessage_arena = bytes->GetArena(); + if (message_arena != submessage_arena) { + bytes = ::google::protobuf::internal::GetOwnedMessage(message_arena, bytes, submessage_arena); + } + set_has_bytes(); + _impl_.type_.bytes_ = bytes; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.bytes) +} +void FieldRules::set_allocated_enum_(::buf::validate::EnumRules* PROTOBUF_NULLABLE enum_) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (enum_) { + ::google::protobuf::Arena* submessage_arena = enum_->GetArena(); + if (message_arena != submessage_arena) { + enum_ = ::google::protobuf::internal::GetOwnedMessage(message_arena, enum_, submessage_arena); + } + set_has_enum_(); + _impl_.type_.enum__ = enum_; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.enum) +} +void FieldRules::set_allocated_repeated(::buf::validate::RepeatedRules* PROTOBUF_NULLABLE repeated) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (repeated) { + ::google::protobuf::Arena* submessage_arena = repeated->GetArena(); + if (message_arena != submessage_arena) { + repeated = ::google::protobuf::internal::GetOwnedMessage(message_arena, repeated, submessage_arena); + } + set_has_repeated(); + _impl_.type_.repeated_ = repeated; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.repeated) +} +void FieldRules::set_allocated_map(::buf::validate::MapRules* PROTOBUF_NULLABLE map) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (map) { + ::google::protobuf::Arena* submessage_arena = map->GetArena(); + if (message_arena != submessage_arena) { + map = ::google::protobuf::internal::GetOwnedMessage(message_arena, map, submessage_arena); + } + set_has_map(); + _impl_.type_.map_ = map; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.map) +} +void FieldRules::set_allocated_any(::buf::validate::AnyRules* PROTOBUF_NULLABLE any) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (any) { + ::google::protobuf::Arena* submessage_arena = any->GetArena(); + if (message_arena != submessage_arena) { + any = ::google::protobuf::internal::GetOwnedMessage(message_arena, any, submessage_arena); + } + set_has_any(); + _impl_.type_.any_ = any; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.any) +} +void FieldRules::set_allocated_duration(::buf::validate::DurationRules* PROTOBUF_NULLABLE duration) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (duration) { + ::google::protobuf::Arena* submessage_arena = duration->GetArena(); + if (message_arena != submessage_arena) { + duration = ::google::protobuf::internal::GetOwnedMessage(message_arena, duration, submessage_arena); + } + set_has_duration(); + _impl_.type_.duration_ = duration; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.duration) +} +void FieldRules::set_allocated_field_mask(::buf::validate::FieldMaskRules* PROTOBUF_NULLABLE field_mask) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (field_mask) { + ::google::protobuf::Arena* submessage_arena = field_mask->GetArena(); + if (message_arena != submessage_arena) { + field_mask = ::google::protobuf::internal::GetOwnedMessage(message_arena, field_mask, submessage_arena); + } + set_has_field_mask(); + _impl_.type_.field_mask_ = field_mask; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.field_mask) +} +void FieldRules::set_allocated_timestamp(::buf::validate::TimestampRules* PROTOBUF_NULLABLE timestamp) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type(); + if (timestamp) { + ::google::protobuf::Arena* submessage_arena = timestamp->GetArena(); + if (message_arena != submessage_arena) { + timestamp = ::google::protobuf::internal::GetOwnedMessage(message_arena, timestamp, submessage_arena); + } + set_has_timestamp(); + _impl_.type_.timestamp_ = timestamp; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldRules.timestamp) +} +FieldRules::FieldRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, FieldRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.FieldRules) +} +PROTOBUF_NDEBUG_INLINE FieldRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::FieldRules& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + cel_{visibility, arena, from.cel_}, + cel_expression_{visibility, arena, from.cel_expression_}, + type_{}, + _oneof_case_{from._oneof_case_[0]} {} + +FieldRules::FieldRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const FieldRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, FieldRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + FieldRules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, required_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, required_), + offsetof(Impl_, ignore_) - + offsetof(Impl_, required_) + + sizeof(Impl_::ignore_)); + switch (type_case()) { + case TYPE_NOT_SET: + break; + case kFloat: + _impl_.type_.float__ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.float__); + break; + case kDouble: + _impl_.type_.double__ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.double__); + break; + case kInt32: + _impl_.type_.int32_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.int32_); + break; + case kInt64: + _impl_.type_.int64_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.int64_); + break; + case kUint32: + _impl_.type_.uint32_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.uint32_); + break; + case kUint64: + _impl_.type_.uint64_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.uint64_); + break; + case kSint32: + _impl_.type_.sint32_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.sint32_); + break; + case kSint64: + _impl_.type_.sint64_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.sint64_); + break; + case kFixed32: + _impl_.type_.fixed32_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.fixed32_); + break; + case kFixed64: + _impl_.type_.fixed64_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.fixed64_); + break; + case kSfixed32: + _impl_.type_.sfixed32_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.sfixed32_); + break; + case kSfixed64: + _impl_.type_.sfixed64_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.sfixed64_); + break; + case kBool: + _impl_.type_.bool__ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.bool__); + break; + case kString: + _impl_.type_.string_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.string_); + break; + case kBytes: + _impl_.type_.bytes_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.bytes_); + break; + case kEnum: + _impl_.type_.enum__ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.enum__); + break; + case kRepeated: + _impl_.type_.repeated_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.repeated_); + break; + case kMap: + _impl_.type_.map_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.map_); + break; + case kAny: + _impl_.type_.any_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.any_); + break; + case kDuration: + _impl_.type_.duration_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.duration_); + break; + case kFieldMask: + _impl_.type_.field_mask_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.field_mask_); + break; + case kTimestamp: + _impl_.type_.timestamp_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.timestamp_); + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.FieldRules) +} +PROTOBUF_NDEBUG_INLINE FieldRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + cel_{visibility, arena}, + cel_expression_{visibility, arena}, + type_{}, + _oneof_case_{} {} + +inline void FieldRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, required_), + 0, + offsetof(Impl_, ignore_) - + offsetof(Impl_, required_) + + sizeof(Impl_::ignore_)); +} +FieldRules::~FieldRules() { + // @@protoc_insertion_point(destructor:buf.validate.FieldRules) + SharedDtor(*this); +} +inline void FieldRules::SharedDtor(MessageLite& self) { + FieldRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_type()) { + this_.clear_type(); + } + this_._impl_.~Impl_(); +} + +void FieldRules::clear_type() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.FieldRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (type_case()) { + case kFloat: { + if (GetArena() == nullptr) { + delete _impl_.type_.float__; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.float__); + } + break; + } + case kDouble: { + if (GetArena() == nullptr) { + delete _impl_.type_.double__; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.double__); + } + break; + } + case kInt32: { + if (GetArena() == nullptr) { + delete _impl_.type_.int32_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.int32_); + } + break; + } + case kInt64: { + if (GetArena() == nullptr) { + delete _impl_.type_.int64_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.int64_); + } + break; + } + case kUint32: { + if (GetArena() == nullptr) { + delete _impl_.type_.uint32_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.uint32_); + } + break; + } + case kUint64: { + if (GetArena() == nullptr) { + delete _impl_.type_.uint64_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.uint64_); + } + break; + } + case kSint32: { + if (GetArena() == nullptr) { + delete _impl_.type_.sint32_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.sint32_); + } + break; + } + case kSint64: { + if (GetArena() == nullptr) { + delete _impl_.type_.sint64_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.sint64_); + } + break; + } + case kFixed32: { + if (GetArena() == nullptr) { + delete _impl_.type_.fixed32_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.fixed32_); + } + break; + } + case kFixed64: { + if (GetArena() == nullptr) { + delete _impl_.type_.fixed64_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.fixed64_); + } + break; + } + case kSfixed32: { + if (GetArena() == nullptr) { + delete _impl_.type_.sfixed32_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.sfixed32_); + } + break; + } + case kSfixed64: { + if (GetArena() == nullptr) { + delete _impl_.type_.sfixed64_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.sfixed64_); + } + break; + } + case kBool: { + if (GetArena() == nullptr) { + delete _impl_.type_.bool__; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.bool__); + } + break; + } + case kString: { + if (GetArena() == nullptr) { + delete _impl_.type_.string_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.string_); + } + break; + } + case kBytes: { + if (GetArena() == nullptr) { + delete _impl_.type_.bytes_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.bytes_); + } + break; + } + case kEnum: { + if (GetArena() == nullptr) { + delete _impl_.type_.enum__; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.enum__); + } + break; + } + case kRepeated: { + if (GetArena() == nullptr) { + delete _impl_.type_.repeated_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.repeated_); + } + break; + } + case kMap: { + if (GetArena() == nullptr) { + delete _impl_.type_.map_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.map_); + } + break; + } + case kAny: { + if (GetArena() == nullptr) { + delete _impl_.type_.any_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.any_); + } + break; + } + case kDuration: { + if (GetArena() == nullptr) { + delete _impl_.type_.duration_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.duration_); + } + break; + } + case kFieldMask: { + if (GetArena() == nullptr) { + delete _impl_.type_.field_mask_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.field_mask_); + } + break; + } + case kTimestamp: { + if (GetArena() == nullptr) { + delete _impl_.type_.timestamp_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.timestamp_); + } + break; + } + case TYPE_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = TYPE_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL FieldRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) FieldRules(arena); +} +constexpr auto FieldRules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.cel_expression_) + + decltype(FieldRules::_impl_.cel_expression_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.cel_) + + decltype(FieldRules::_impl_.cel_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(FieldRules), alignof(FieldRules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&FieldRules::PlacementNew_, + sizeof(FieldRules), + alignof(FieldRules)); + } +} +constexpr auto FieldRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_FieldRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + FieldRules::IsInitializedImpl, + &FieldRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FieldRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FieldRules::ByteSizeLong, + &FieldRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FieldRules, _impl_._cached_size_), + false, + }, + &FieldRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull FieldRules_class_data_ = + FieldRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +FieldRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&FieldRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(FieldRules_class_data_.tc_table); + return FieldRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 26, 24, 0, 2> +FieldRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(FieldRules, _impl_._has_bits_), + 0, // no _extensions_ + 29, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 3800104960, // skipmap + offsetof(decltype(_table_), field_entries), + 26, // num_field_entries + 24, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + FieldRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::FieldRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // optional bool required = 25; + {::_pbi::TcParser::FastV8S2, + {456, 2, 0, + PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.required_)}}, + {::_pbi::TcParser::MiniParse, {}}, + // optional .buf.validate.Ignore ignore = 27; + {::_pbi::TcParser::FastEvS2, + {472, 3, 23, + PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.ignore_)}}, + {::_pbi::TcParser::MiniParse, {}}, + // repeated string cel_expression = 29; + {::_pbi::TcParser::FastBR2, + {490, 1, 0, + PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.cel_expression_)}}, + {::_pbi::TcParser::MiniParse, {}}, + // repeated .buf.validate.Rule cel = 23; + {::_pbi::TcParser::FastMtR2, + {442, 0, 21, + PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.cel_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // .buf.validate.FloatRules float = 1; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.float__), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.DoubleRules double = 2; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.double__), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.Int32Rules int32 = 3; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.int32_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.Int64Rules int64 = 4; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.int64_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.UInt32Rules uint32 = 5; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.uint32_), _Internal::kOneofCaseOffset + 0, 4, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.UInt64Rules uint64 = 6; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.uint64_), _Internal::kOneofCaseOffset + 0, 5, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.SInt32Rules sint32 = 7; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.sint32_), _Internal::kOneofCaseOffset + 0, 6, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.SInt64Rules sint64 = 8; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.sint64_), _Internal::kOneofCaseOffset + 0, 7, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.Fixed32Rules fixed32 = 9; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.fixed32_), _Internal::kOneofCaseOffset + 0, 8, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.Fixed64Rules fixed64 = 10; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.fixed64_), _Internal::kOneofCaseOffset + 0, 9, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.SFixed32Rules sfixed32 = 11; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.sfixed32_), _Internal::kOneofCaseOffset + 0, 10, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.SFixed64Rules sfixed64 = 12; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.sfixed64_), _Internal::kOneofCaseOffset + 0, 11, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.BoolRules bool = 13; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.bool__), _Internal::kOneofCaseOffset + 0, 12, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.StringRules string = 14; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.string_), _Internal::kOneofCaseOffset + 0, 13, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.BytesRules bytes = 15; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.bytes_), _Internal::kOneofCaseOffset + 0, 14, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.EnumRules enum = 16; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.enum__), _Internal::kOneofCaseOffset + 0, 15, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.RepeatedRules repeated = 18; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.repeated_), _Internal::kOneofCaseOffset + 0, 16, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.MapRules map = 19; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.map_), _Internal::kOneofCaseOffset + 0, 17, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.AnyRules any = 20; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.any_), _Internal::kOneofCaseOffset + 0, 18, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.DurationRules duration = 21; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.duration_), _Internal::kOneofCaseOffset + 0, 19, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .buf.validate.TimestampRules timestamp = 22; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.timestamp_), _Internal::kOneofCaseOffset + 0, 20, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // repeated .buf.validate.Rule cel = 23; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.cel_), _Internal::kHasBitsOffset + 0, 21, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + // optional bool required = 25; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.required_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, + // optional .buf.validate.Ignore ignore = 27; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.ignore_), _Internal::kHasBitsOffset + 3, 23, (0 | ::_fl::kFcOptional | ::_fl::kEnum)}, + // .buf.validate.FieldMaskRules field_mask = 28; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.type_.field_mask_), _Internal::kOneofCaseOffset + 0, 22, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // repeated string cel_expression = 29; + {PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.cel_expression_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::buf::validate::FloatRules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::DoubleRules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::Int32Rules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::Int64Rules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::UInt32Rules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::UInt64Rules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::SInt32Rules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::SInt64Rules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::Fixed32Rules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::Fixed64Rules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::SFixed32Rules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::SFixed64Rules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::BoolRules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::StringRules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::BytesRules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::EnumRules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::RepeatedRules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::MapRules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::AnyRules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::DurationRules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::TimestampRules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::Rule>()}, + {::_pbi::TcParser::GetTable<::buf::validate::FieldMaskRules>()}, + {::_pbi::FieldAuxEnumData{}, ::buf::validate::Ignore_internal_data_}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void FieldRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.FieldRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.cel_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.cel_expression_.Clear(); + } + } + if (BatchCheckHasBit(cached_has_bits, 0x0000000cU)) { + ::memset(&_impl_.required_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.ignore_) - + reinterpret_cast(&_impl_.required_)) + sizeof(_impl_.ignore_)); + } + clear_type(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL FieldRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const FieldRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL FieldRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const FieldRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.FieldRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + switch (this_.type_case()) { + case kFloat: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, *this_._impl_.type_.float__, this_._impl_.type_.float__->GetCachedSize(), target, + stream); + break; + } + case kDouble: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, *this_._impl_.type_.double__, this_._impl_.type_.double__->GetCachedSize(), target, + stream); + break; + } + case kInt32: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, *this_._impl_.type_.int32_, this_._impl_.type_.int32_->GetCachedSize(), target, + stream); + break; + } + case kInt64: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, *this_._impl_.type_.int64_, this_._impl_.type_.int64_->GetCachedSize(), target, + stream); + break; + } + case kUint32: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 5, *this_._impl_.type_.uint32_, this_._impl_.type_.uint32_->GetCachedSize(), target, + stream); + break; + } + case kUint64: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 6, *this_._impl_.type_.uint64_, this_._impl_.type_.uint64_->GetCachedSize(), target, + stream); + break; + } + case kSint32: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 7, *this_._impl_.type_.sint32_, this_._impl_.type_.sint32_->GetCachedSize(), target, + stream); + break; + } + case kSint64: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 8, *this_._impl_.type_.sint64_, this_._impl_.type_.sint64_->GetCachedSize(), target, + stream); + break; + } + case kFixed32: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 9, *this_._impl_.type_.fixed32_, this_._impl_.type_.fixed32_->GetCachedSize(), target, + stream); + break; + } + case kFixed64: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 10, *this_._impl_.type_.fixed64_, this_._impl_.type_.fixed64_->GetCachedSize(), target, + stream); + break; + } + case kSfixed32: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 11, *this_._impl_.type_.sfixed32_, this_._impl_.type_.sfixed32_->GetCachedSize(), target, + stream); + break; + } + case kSfixed64: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 12, *this_._impl_.type_.sfixed64_, this_._impl_.type_.sfixed64_->GetCachedSize(), target, + stream); + break; + } + case kBool: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 13, *this_._impl_.type_.bool__, this_._impl_.type_.bool__->GetCachedSize(), target, + stream); + break; + } + case kString: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 14, *this_._impl_.type_.string_, this_._impl_.type_.string_->GetCachedSize(), target, + stream); + break; + } + case kBytes: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 15, *this_._impl_.type_.bytes_, this_._impl_.type_.bytes_->GetCachedSize(), target, + stream); + break; + } + case kEnum: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 16, *this_._impl_.type_.enum__, this_._impl_.type_.enum__->GetCachedSize(), target, + stream); + break; + } + case kRepeated: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 18, *this_._impl_.type_.repeated_, this_._impl_.type_.repeated_->GetCachedSize(), target, + stream); + break; + } + case kMap: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 19, *this_._impl_.type_.map_, this_._impl_.type_.map_->GetCachedSize(), target, + stream); + break; + } + case kAny: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 20, *this_._impl_.type_.any_, this_._impl_.type_.any_->GetCachedSize(), target, + stream); + break; + } + case kDuration: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 21, *this_._impl_.type_.duration_, this_._impl_.type_.duration_->GetCachedSize(), target, + stream); + break; + } + case kTimestamp: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 22, *this_._impl_.type_.timestamp_, this_._impl_.type_.timestamp_->GetCachedSize(), target, + stream); + break; + } + default: + break; + } + cached_has_bits = this_._impl_._has_bits_[0]; + // repeated .buf.validate.Rule cel = 23; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_cel_size()); + i < n; i++) { + const auto& repfield = this_._internal_cel().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 23, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + // optional bool required = 25; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 25, this_._internal_required(), target); + } + + // optional .buf.validate.Ignore ignore = 27; + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 27, this_._internal_ignore(), target); + } + + // .buf.validate.FieldMaskRules field_mask = 28; + if (this_.type_case() == kFieldMask) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 28, *this_._impl_.type_.field_mask_, this_._impl_.type_.field_mask_->GetCachedSize(), target, + stream); + } + + // repeated string cel_expression = 29; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_cel_expression_size(); i < n; ++i) { + const auto& s = this_._internal_cel_expression().Get(i); + target = stream->WriteString(29, s, target); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.FieldRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t FieldRules::ByteSizeLong(const MessageLite& base) { + const FieldRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t FieldRules::ByteSizeLong() const { + const FieldRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.FieldRules) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + total_size += static_cast(0x00000004U & cached_has_bits) * 3; + if (BatchCheckHasBit(cached_has_bits, 0x0000000bU)) { + // repeated .buf.validate.Rule cel = 23; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += 2UL * this_._internal_cel_size(); + for (const auto& msg : this_._internal_cel()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // repeated string cel_expression = 29; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + total_size += + 2 * ::google::protobuf::internal::FromIntSize(this_._internal_cel_expression().size()); + for (int i = 0, n = this_._internal_cel_expression().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_cel_expression().Get(i)); + } + } + // optional .buf.validate.Ignore ignore = 27; + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + total_size += 2 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_ignore()); + } + } + switch (this_.type_case()) { + // .buf.validate.FloatRules float = 1; + case kFloat: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.float__); + break; + } + // .buf.validate.DoubleRules double = 2; + case kDouble: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.double__); + break; + } + // .buf.validate.Int32Rules int32 = 3; + case kInt32: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.int32_); + break; + } + // .buf.validate.Int64Rules int64 = 4; + case kInt64: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.int64_); + break; + } + // .buf.validate.UInt32Rules uint32 = 5; + case kUint32: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.uint32_); + break; + } + // .buf.validate.UInt64Rules uint64 = 6; + case kUint64: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.uint64_); + break; + } + // .buf.validate.SInt32Rules sint32 = 7; + case kSint32: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.sint32_); + break; + } + // .buf.validate.SInt64Rules sint64 = 8; + case kSint64: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.sint64_); + break; + } + // .buf.validate.Fixed32Rules fixed32 = 9; + case kFixed32: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.fixed32_); + break; + } + // .buf.validate.Fixed64Rules fixed64 = 10; + case kFixed64: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.fixed64_); + break; + } + // .buf.validate.SFixed32Rules sfixed32 = 11; + case kSfixed32: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.sfixed32_); + break; + } + // .buf.validate.SFixed64Rules sfixed64 = 12; + case kSfixed64: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.sfixed64_); + break; + } + // .buf.validate.BoolRules bool = 13; + case kBool: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.bool__); + break; + } + // .buf.validate.StringRules string = 14; + case kString: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.string_); + break; + } + // .buf.validate.BytesRules bytes = 15; + case kBytes: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.bytes_); + break; + } + // .buf.validate.EnumRules enum = 16; + case kEnum: { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.enum__); + break; + } + // .buf.validate.RepeatedRules repeated = 18; + case kRepeated: { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.repeated_); + break; + } + // .buf.validate.MapRules map = 19; + case kMap: { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.map_); + break; + } + // .buf.validate.AnyRules any = 20; + case kAny: { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.any_); + break; + } + // .buf.validate.DurationRules duration = 21; + case kDuration: { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.duration_); + break; + } + // .buf.validate.FieldMaskRules field_mask = 28; + case kFieldMask: { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.field_mask_); + break; + } + // .buf.validate.TimestampRules timestamp = 22; + case kTimestamp: { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_.timestamp_); + break; + } + case TYPE_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void FieldRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.FieldRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_cel()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_cel()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_cel_expression()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_cel_expression()); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + _this->_impl_.required_ = from._impl_.required_; + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.ignore_ = from._impl_.ignore_; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_type(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kFloat: { + if (oneof_needs_init) { + _this->_impl_.type_.float__ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.float__); + } else { + _this->_impl_.type_.float__->MergeFrom(*from._impl_.type_.float__); + } + break; + } + case kDouble: { + if (oneof_needs_init) { + _this->_impl_.type_.double__ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.double__); + } else { + _this->_impl_.type_.double__->MergeFrom(*from._impl_.type_.double__); + } + break; + } + case kInt32: { + if (oneof_needs_init) { + _this->_impl_.type_.int32_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.int32_); + } else { + _this->_impl_.type_.int32_->MergeFrom(*from._impl_.type_.int32_); + } + break; + } + case kInt64: { + if (oneof_needs_init) { + _this->_impl_.type_.int64_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.int64_); + } else { + _this->_impl_.type_.int64_->MergeFrom(*from._impl_.type_.int64_); + } + break; + } + case kUint32: { + if (oneof_needs_init) { + _this->_impl_.type_.uint32_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.uint32_); + } else { + _this->_impl_.type_.uint32_->MergeFrom(*from._impl_.type_.uint32_); + } + break; + } + case kUint64: { + if (oneof_needs_init) { + _this->_impl_.type_.uint64_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.uint64_); + } else { + _this->_impl_.type_.uint64_->MergeFrom(*from._impl_.type_.uint64_); + } + break; + } + case kSint32: { + if (oneof_needs_init) { + _this->_impl_.type_.sint32_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.sint32_); + } else { + _this->_impl_.type_.sint32_->MergeFrom(*from._impl_.type_.sint32_); + } + break; + } + case kSint64: { + if (oneof_needs_init) { + _this->_impl_.type_.sint64_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.sint64_); + } else { + _this->_impl_.type_.sint64_->MergeFrom(*from._impl_.type_.sint64_); + } + break; + } + case kFixed32: { + if (oneof_needs_init) { + _this->_impl_.type_.fixed32_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.fixed32_); + } else { + _this->_impl_.type_.fixed32_->MergeFrom(*from._impl_.type_.fixed32_); + } + break; + } + case kFixed64: { + if (oneof_needs_init) { + _this->_impl_.type_.fixed64_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.fixed64_); + } else { + _this->_impl_.type_.fixed64_->MergeFrom(*from._impl_.type_.fixed64_); + } + break; + } + case kSfixed32: { + if (oneof_needs_init) { + _this->_impl_.type_.sfixed32_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.sfixed32_); + } else { + _this->_impl_.type_.sfixed32_->MergeFrom(*from._impl_.type_.sfixed32_); + } + break; + } + case kSfixed64: { + if (oneof_needs_init) { + _this->_impl_.type_.sfixed64_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.sfixed64_); + } else { + _this->_impl_.type_.sfixed64_->MergeFrom(*from._impl_.type_.sfixed64_); + } + break; + } + case kBool: { + if (oneof_needs_init) { + _this->_impl_.type_.bool__ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.bool__); + } else { + _this->_impl_.type_.bool__->MergeFrom(*from._impl_.type_.bool__); + } + break; + } + case kString: { + if (oneof_needs_init) { + _this->_impl_.type_.string_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.string_); + } else { + _this->_impl_.type_.string_->MergeFrom(*from._impl_.type_.string_); + } + break; + } + case kBytes: { + if (oneof_needs_init) { + _this->_impl_.type_.bytes_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.bytes_); + } else { + _this->_impl_.type_.bytes_->MergeFrom(*from._impl_.type_.bytes_); + } + break; + } + case kEnum: { + if (oneof_needs_init) { + _this->_impl_.type_.enum__ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.enum__); + } else { + _this->_impl_.type_.enum__->MergeFrom(*from._impl_.type_.enum__); + } + break; + } + case kRepeated: { + if (oneof_needs_init) { + _this->_impl_.type_.repeated_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.repeated_); + } else { + _this->_impl_.type_.repeated_->MergeFrom(*from._impl_.type_.repeated_); + } + break; + } + case kMap: { + if (oneof_needs_init) { + _this->_impl_.type_.map_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.map_); + } else { + _this->_impl_.type_.map_->MergeFrom(*from._impl_.type_.map_); + } + break; + } + case kAny: { + if (oneof_needs_init) { + _this->_impl_.type_.any_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.any_); + } else { + _this->_impl_.type_.any_->MergeFrom(*from._impl_.type_.any_); + } + break; + } + case kDuration: { + if (oneof_needs_init) { + _this->_impl_.type_.duration_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.duration_); + } else { + _this->_impl_.type_.duration_->MergeFrom(*from._impl_.type_.duration_); + } + break; + } + case kFieldMask: { + if (oneof_needs_init) { + _this->_impl_.type_.field_mask_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.field_mask_); + } else { + _this->_impl_.type_.field_mask_->MergeFrom(*from._impl_.type_.field_mask_); + } + break; + } + case kTimestamp: { + if (oneof_needs_init) { + _this->_impl_.type_.timestamp_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_.timestamp_); + } else { + _this->_impl_.type_.timestamp_->MergeFrom(*from._impl_.type_.timestamp_); + } + break; + } + case TYPE_NOT_SET: + break; + } + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void FieldRules::CopyFrom(const FieldRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.FieldRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool FieldRules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + switch (this_.type_case()) { + case kFloat: { + if (this_.type_case() == kFloat && !this_._impl_.type_.float__->IsInitialized()) + return false; + break; + } + case kDouble: { + if (this_.type_case() == kDouble && !this_._impl_.type_.double__->IsInitialized()) + return false; + break; + } + case kInt32: { + if (this_.type_case() == kInt32 && !this_._impl_.type_.int32_->IsInitialized()) + return false; + break; + } + case kInt64: { + if (this_.type_case() == kInt64 && !this_._impl_.type_.int64_->IsInitialized()) + return false; + break; + } + case kUint32: { + if (this_.type_case() == kUint32 && !this_._impl_.type_.uint32_->IsInitialized()) + return false; + break; + } + case kUint64: { + if (this_.type_case() == kUint64 && !this_._impl_.type_.uint64_->IsInitialized()) + return false; + break; + } + case kSint32: { + if (this_.type_case() == kSint32 && !this_._impl_.type_.sint32_->IsInitialized()) + return false; + break; + } + case kSint64: { + if (this_.type_case() == kSint64 && !this_._impl_.type_.sint64_->IsInitialized()) + return false; + break; + } + case kFixed32: { + if (this_.type_case() == kFixed32 && !this_._impl_.type_.fixed32_->IsInitialized()) + return false; + break; + } + case kFixed64: { + if (this_.type_case() == kFixed64 && !this_._impl_.type_.fixed64_->IsInitialized()) + return false; + break; + } + case kSfixed32: { + if (this_.type_case() == kSfixed32 && !this_._impl_.type_.sfixed32_->IsInitialized()) + return false; + break; + } + case kSfixed64: { + if (this_.type_case() == kSfixed64 && !this_._impl_.type_.sfixed64_->IsInitialized()) + return false; + break; + } + case kBool: { + if (this_.type_case() == kBool && !this_._impl_.type_.bool__->IsInitialized()) + return false; + break; + } + case kString: { + if (this_.type_case() == kString && !this_._impl_.type_.string_->IsInitialized()) + return false; + break; + } + case kBytes: { + if (this_.type_case() == kBytes && !this_._impl_.type_.bytes_->IsInitialized()) + return false; + break; + } + case kEnum: { + if (this_.type_case() == kEnum && !this_._impl_.type_.enum__->IsInitialized()) + return false; + break; + } + case kRepeated: { + if (this_.type_case() == kRepeated && !this_._impl_.type_.repeated_->IsInitialized()) + return false; + break; + } + case kMap: { + if (this_.type_case() == kMap && !this_._impl_.type_.map_->IsInitialized()) + return false; + break; + } + case kAny: { + break; + } + case kDuration: { + if (this_.type_case() == kDuration && !this_._impl_.type_.duration_->IsInitialized()) + return false; + break; + } + case kFieldMask: { + if (this_.type_case() == kFieldMask && !this_._impl_.type_.field_mask_->IsInitialized()) + return false; + break; + } + case kTimestamp: { + if (this_.type_case() == kTimestamp && !this_._impl_.type_.timestamp_->IsInitialized()) + return false; + break; + } + case TYPE_NOT_SET: { + break; + } + } + return true; +} + +void FieldRules::InternalSwap(FieldRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.cel_.InternalSwap(&other->_impl_.cel_); + _impl_.cel_expression_.InternalSwap(&other->_impl_.cel_expression_); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.ignore_) + + sizeof(FieldRules::_impl_.ignore_) + - PROTOBUF_FIELD_OFFSET(FieldRules, _impl_.required_)>( + reinterpret_cast(&_impl_.required_), + reinterpret_cast(&other->_impl_.required_)); + swap(_impl_.type_, other->_impl_.type_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::google::protobuf::Metadata FieldRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class PredefinedRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(PredefinedRules, _impl_._has_bits_); +}; + +PredefinedRules::PredefinedRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, PredefinedRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.PredefinedRules) +} +PROTOBUF_NDEBUG_INLINE PredefinedRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::PredefinedRules& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + cel_{visibility, arena, from.cel_} {} + +PredefinedRules::PredefinedRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const PredefinedRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, PredefinedRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + PredefinedRules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:buf.validate.PredefinedRules) +} +PROTOBUF_NDEBUG_INLINE PredefinedRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + cel_{visibility, arena} {} + +inline void PredefinedRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +PredefinedRules::~PredefinedRules() { + // @@protoc_insertion_point(destructor:buf.validate.PredefinedRules) + SharedDtor(*this); +} +inline void PredefinedRules::SharedDtor(MessageLite& self) { + PredefinedRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL PredefinedRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) PredefinedRules(arena); +} +constexpr auto PredefinedRules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(PredefinedRules, _impl_.cel_) + + decltype(PredefinedRules::_impl_.cel_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(PredefinedRules), alignof(PredefinedRules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&PredefinedRules::PlacementNew_, + sizeof(PredefinedRules), + alignof(PredefinedRules)); + } +} +constexpr auto PredefinedRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_PredefinedRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &PredefinedRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &PredefinedRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &PredefinedRules::ByteSizeLong, + &PredefinedRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(PredefinedRules, _impl_._cached_size_), + false, + }, + &PredefinedRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull PredefinedRules_class_data_ = + PredefinedRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +PredefinedRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&PredefinedRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(PredefinedRules_class_data_.tc_table); + return PredefinedRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 1, 0, 2> +PredefinedRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(PredefinedRules, _impl_._has_bits_), + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + PredefinedRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::PredefinedRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .buf.validate.Rule cel = 1; + {::_pbi::TcParser::FastMtR1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(PredefinedRules, _impl_.cel_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // repeated .buf.validate.Rule cel = 1; + {PROTOBUF_FIELD_OFFSET(PredefinedRules, _impl_.cel_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::buf::validate::Rule>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void PredefinedRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.PredefinedRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.cel_.Clear(); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL PredefinedRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const PredefinedRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL PredefinedRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const PredefinedRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.PredefinedRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // repeated .buf.validate.Rule cel = 1; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_cel_size()); + i < n; i++) { + const auto& repfield = this_._internal_cel().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.PredefinedRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t PredefinedRules::ByteSizeLong(const MessageLite& base) { + const PredefinedRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t PredefinedRules::ByteSizeLong() const { + const PredefinedRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.PredefinedRules) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .buf.validate.Rule cel = 1; + cached_has_bits = this_._impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += 1UL * this_._internal_cel_size(); + for (const auto& msg : this_._internal_cel()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void PredefinedRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.PredefinedRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_cel()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_cel()); + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void PredefinedRules::CopyFrom(const PredefinedRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.PredefinedRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void PredefinedRules::InternalSwap(PredefinedRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.cel_.InternalSwap(&other->_impl_.cel_); +} + +::google::protobuf::Metadata PredefinedRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class FloatRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(FloatRules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::FloatRules, _impl_._oneof_case_); +}; + +FloatRules::FloatRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, FloatRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.FloatRules) +} +PROTOBUF_NDEBUG_INLINE FloatRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::FloatRules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_}, + less_than_{}, + greater_than_{}, + _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} + +FloatRules::FloatRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const FloatRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, FloatRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + FloatRules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, const__), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, const__), + offsetof(Impl_, finite_) - + offsetof(Impl_, const__) + + sizeof(Impl_::finite_)); + switch (less_than_case()) { + case LESS_THAN_NOT_SET: + break; + case kLt: + _impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + case kLte: + _impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + switch (greater_than_case()) { + case GREATER_THAN_NOT_SET: + break; + case kGt: + _impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + case kGte: + _impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.FloatRules) +} +PROTOBUF_NDEBUG_INLINE FloatRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +inline void FloatRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, const__), + 0, + offsetof(Impl_, finite_) - + offsetof(Impl_, const__) + + sizeof(Impl_::finite_)); +} +FloatRules::~FloatRules() { + // @@protoc_insertion_point(destructor:buf.validate.FloatRules) + SharedDtor(*this); +} +inline void FloatRules::SharedDtor(MessageLite& self) { + FloatRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_less_than()) { + this_.clear_less_than(); + } + if (this_.has_greater_than()) { + this_.clear_greater_than(); + } + this_._impl_.~Impl_(); +} + +void FloatRules::clear_less_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.FloatRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (less_than_case()) { + case kLt: { + // No need to clear + break; + } + case kLte: { + // No need to clear + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} + +void FloatRules::clear_greater_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.FloatRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (greater_than_case()) { + case kGt: { + // No need to clear + break; + } + case kGte: { + // No need to clear + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL FloatRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) FloatRules(arena); +} +constexpr auto FloatRules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(FloatRules, _impl_._extensions_) + + decltype(FloatRules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.in_) + + decltype(FloatRules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.not_in_) + + decltype(FloatRules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.example_) + + decltype(FloatRules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(FloatRules), alignof(FloatRules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&FloatRules::PlacementNew_, + sizeof(FloatRules), + alignof(FloatRules)); + } +} +constexpr auto FloatRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_FloatRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + FloatRules::IsInitializedImpl, + &FloatRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FloatRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FloatRules::ByteSizeLong, + &FloatRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FloatRules, _impl_._cached_size_), + false, + }, + &FloatRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull FloatRules_class_data_ = + FloatRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +FloatRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&FloatRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(FloatRules_class_data_.tc_table); + return FloatRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<4, 9, 0, 0, 2> +FloatRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(FloatRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(FloatRules, _impl_._extensions_), + 9, 120, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294966784, // skipmap + offsetof(decltype(_table_), field_entries), + 9, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + FloatRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::FloatRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // optional float const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF32S1, + {13, 2, 0, + PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.const__)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + // repeated float in = 6 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF32R1, + {53, 0, 0, + PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.in_)}}, + // repeated float not_in = 7 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF32R1, + {61, 1, 0, + PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.not_in_)}}, + // optional bool finite = 8 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1(), + {64, 3, 0, + PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.finite_)}}, + // repeated float example = 9 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF32R1, + {77, 4, 0, + PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.example_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional float const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.const__), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)}, + // float lt = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.less_than_.lt_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kFloat)}, + // float lte = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.less_than_.lte_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kFloat)}, + // float gt = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.greater_than_.gt_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kFloat)}, + // float gte = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.greater_than_.gte_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kFloat)}, + // repeated float in = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kFloat)}, + // repeated float not_in = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kFloat)}, + // optional bool finite = 8 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.finite_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, + // repeated float example = 9 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.example_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcRepeated | ::_fl::kFloat)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void FloatRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.FloatRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + } + if (BatchCheckHasBit(cached_has_bits, 0x0000001cU)) { + ::memset(&_impl_.const__, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.finite_) - + reinterpret_cast(&_impl_.const__)) + sizeof(_impl_.finite_)); + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + _impl_.example_.Clear(); + } + } + clear_less_than(); + clear_greater_than(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL FloatRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const FloatRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL FloatRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const FloatRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.FloatRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional float const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray( + 1, this_._internal_const_(), target); + } + + switch (this_.less_than_case()) { + case kLt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray( + 2, this_._internal_lt(), target); + break; + } + case kLte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray( + 3, this_._internal_lte(), target); + break; + } + default: + break; + } + switch (this_.greater_than_case()) { + case kGt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray( + 4, this_._internal_gt(), target); + break; + } + case kGte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray( + 5, this_._internal_gte(), target); + break; + } + default: + break; + } + // repeated float in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray( + 6, this_._internal_in().Get(i), target); + } + } + + // repeated float not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray( + 7, this_._internal_not_in().Get(i), target); + } + } + + // optional bool finite = 8 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 8, this_._internal_finite(), target); + } + + // repeated float example = 9 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray( + 9, this_._internal_example().Get(i), target); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.FloatRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t FloatRules::ByteSizeLong(const MessageLite& base) { + const FloatRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t FloatRules::ByteSizeLong() const { + const FloatRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.FloatRules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + total_size += static_cast(0x00000004U & cached_has_bits) * 5; + total_size += static_cast(0x00000008U & cached_has_bits) * 2; + if (BatchCheckHasBit(cached_has_bits, 0x00000013U)) { + // repeated float in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + ::size_t data_size = ::size_t{4} * + ::_pbi::FromIntSize(this_._internal_in_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_in_size()); + total_size += tag_size + data_size; + } + // repeated float not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + ::size_t data_size = ::size_t{4} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + total_size += tag_size + data_size; + } + // repeated float example = 9 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + ::size_t data_size = ::size_t{4} * + ::_pbi::FromIntSize(this_._internal_example_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_example_size()); + total_size += tag_size + data_size; + } + } + switch (this_.less_than_case()) { + // float lt = 2 [(.buf.validate.predefined) = { + case kLt: { + total_size += 5; + break; + } + // float lte = 3 [(.buf.validate.predefined) = { + case kLte: { + total_size += 5; + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + switch (this_.greater_than_case()) { + // float gt = 4 [(.buf.validate.predefined) = { + case kGt: { + total_size += 5; + break; + } + // float gte = 5 [(.buf.validate.predefined) = { + case kGte: { + total_size += 5; + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void FloatRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.FloatRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->MergeFrom(from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->MergeFrom(from._internal_not_in()); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + _this->_impl_.const__ = from._impl_.const__; + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.finite_ = from._impl_.finite_; + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + _this->_internal_mutable_example()->MergeFrom(from._internal_example()); + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_less_than(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kLt: { + _this->_impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + } + case kLte: { + _this->_impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + case LESS_THAN_NOT_SET: + break; + } + } + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[1]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[1]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_greater_than(); + } + _this->_impl_._oneof_case_[1] = oneof_from_case; + } + + switch (oneof_from_case) { + case kGt: { + _this->_impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + } + case kGte: { + _this->_impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + case GREATER_THAN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void FloatRules::CopyFrom(const FloatRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.FloatRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool FloatRules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void FloatRules::InternalSwap(FloatRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.finite_) + + sizeof(FloatRules::_impl_.finite_) + - PROTOBUF_FIELD_OFFSET(FloatRules, _impl_.const__)>( + reinterpret_cast(&_impl_.const__), + reinterpret_cast(&other->_impl_.const__)); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.less_than_, other->_impl_.less_than_); + swap(_impl_.greater_than_, other->_impl_.greater_than_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); + swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); +} + +::google::protobuf::Metadata FloatRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class DoubleRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::DoubleRules, _impl_._oneof_case_); +}; + +DoubleRules::DoubleRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, DoubleRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.DoubleRules) +} +PROTOBUF_NDEBUG_INLINE DoubleRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::DoubleRules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_}, + less_than_{}, + greater_than_{}, + _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} + +DoubleRules::DoubleRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const DoubleRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, DoubleRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + DoubleRules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, const__), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, const__), + offsetof(Impl_, finite_) - + offsetof(Impl_, const__) + + sizeof(Impl_::finite_)); + switch (less_than_case()) { + case LESS_THAN_NOT_SET: + break; + case kLt: + _impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + case kLte: + _impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + switch (greater_than_case()) { + case GREATER_THAN_NOT_SET: + break; + case kGt: + _impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + case kGte: + _impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.DoubleRules) +} +PROTOBUF_NDEBUG_INLINE DoubleRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +inline void DoubleRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, const__), + 0, + offsetof(Impl_, finite_) - + offsetof(Impl_, const__) + + sizeof(Impl_::finite_)); +} +DoubleRules::~DoubleRules() { + // @@protoc_insertion_point(destructor:buf.validate.DoubleRules) + SharedDtor(*this); +} +inline void DoubleRules::SharedDtor(MessageLite& self) { + DoubleRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_less_than()) { + this_.clear_less_than(); + } + if (this_.has_greater_than()) { + this_.clear_greater_than(); + } + this_._impl_.~Impl_(); +} + +void DoubleRules::clear_less_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.DoubleRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (less_than_case()) { + case kLt: { + // No need to clear + break; + } + case kLte: { + // No need to clear + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} + +void DoubleRules::clear_greater_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.DoubleRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (greater_than_case()) { + case kGt: { + // No need to clear + break; + } + case kGte: { + // No need to clear + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL DoubleRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) DoubleRules(arena); +} +constexpr auto DoubleRules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_._extensions_) + + decltype(DoubleRules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.in_) + + decltype(DoubleRules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.not_in_) + + decltype(DoubleRules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.example_) + + decltype(DoubleRules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(DoubleRules), alignof(DoubleRules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&DoubleRules::PlacementNew_, + sizeof(DoubleRules), + alignof(DoubleRules)); + } +} +constexpr auto DoubleRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_DoubleRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + DoubleRules::IsInitializedImpl, + &DoubleRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &DoubleRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &DoubleRules::ByteSizeLong, + &DoubleRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_._cached_size_), + false, + }, + &DoubleRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull DoubleRules_class_data_ = + DoubleRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +DoubleRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&DoubleRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(DoubleRules_class_data_.tc_table); + return DoubleRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<4, 9, 0, 0, 2> +DoubleRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_._extensions_), + 9, 120, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294966784, // skipmap + offsetof(decltype(_table_), field_entries), + 9, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + DoubleRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::DoubleRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // optional double const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF64S1, + {9, 2, 0, + PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.const__)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + // repeated double in = 6 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF64R1, + {49, 0, 0, + PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.in_)}}, + // repeated double not_in = 7 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF64R1, + {57, 1, 0, + PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.not_in_)}}, + // optional bool finite = 8 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1(), + {64, 3, 0, + PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.finite_)}}, + // repeated double example = 9 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF64R1, + {73, 4, 0, + PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.example_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional double const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.const__), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)}, + // double lt = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.less_than_.lt_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kDouble)}, + // double lte = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.less_than_.lte_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kDouble)}, + // double gt = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.greater_than_.gt_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kDouble)}, + // double gte = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.greater_than_.gte_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kDouble)}, + // repeated double in = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kDouble)}, + // repeated double not_in = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kDouble)}, + // optional bool finite = 8 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.finite_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, + // repeated double example = 9 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.example_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcRepeated | ::_fl::kDouble)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void DoubleRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.DoubleRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + } + if (BatchCheckHasBit(cached_has_bits, 0x0000001cU)) { + ::memset(&_impl_.const__, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.finite_) - + reinterpret_cast(&_impl_.const__)) + sizeof(_impl_.finite_)); + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + _impl_.example_.Clear(); + } + } + clear_less_than(); + clear_greater_than(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL DoubleRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const DoubleRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL DoubleRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const DoubleRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.DoubleRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional double const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 1, this_._internal_const_(), target); + } + + switch (this_.less_than_case()) { + case kLt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 2, this_._internal_lt(), target); + break; + } + case kLte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 3, this_._internal_lte(), target); + break; + } + default: + break; + } + switch (this_.greater_than_case()) { + case kGt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 4, this_._internal_gt(), target); + break; + } + case kGte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 5, this_._internal_gte(), target); + break; + } + default: + break; + } + // repeated double in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 6, this_._internal_in().Get(i), target); + } + } + + // repeated double not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 7, this_._internal_not_in().Get(i), target); + } + } + + // optional bool finite = 8 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 8, this_._internal_finite(), target); + } + + // repeated double example = 9 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 9, this_._internal_example().Get(i), target); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.DoubleRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t DoubleRules::ByteSizeLong(const MessageLite& base) { + const DoubleRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t DoubleRules::ByteSizeLong() const { + const DoubleRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.DoubleRules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + total_size += static_cast(0x00000004U & cached_has_bits) * 9; + total_size += static_cast(0x00000008U & cached_has_bits) * 2; + if (BatchCheckHasBit(cached_has_bits, 0x00000013U)) { + // repeated double in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + ::size_t data_size = ::size_t{8} * + ::_pbi::FromIntSize(this_._internal_in_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_in_size()); + total_size += tag_size + data_size; + } + // repeated double not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + ::size_t data_size = ::size_t{8} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + total_size += tag_size + data_size; + } + // repeated double example = 9 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + ::size_t data_size = ::size_t{8} * + ::_pbi::FromIntSize(this_._internal_example_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_example_size()); + total_size += tag_size + data_size; + } + } + switch (this_.less_than_case()) { + // double lt = 2 [(.buf.validate.predefined) = { + case kLt: { + total_size += 9; + break; + } + // double lte = 3 [(.buf.validate.predefined) = { + case kLte: { + total_size += 9; + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + switch (this_.greater_than_case()) { + // double gt = 4 [(.buf.validate.predefined) = { + case kGt: { + total_size += 9; + break; + } + // double gte = 5 [(.buf.validate.predefined) = { + case kGte: { + total_size += 9; + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void DoubleRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.DoubleRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->MergeFrom(from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->MergeFrom(from._internal_not_in()); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + _this->_impl_.const__ = from._impl_.const__; + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.finite_ = from._impl_.finite_; + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + _this->_internal_mutable_example()->MergeFrom(from._internal_example()); + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_less_than(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kLt: { + _this->_impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + } + case kLte: { + _this->_impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + case LESS_THAN_NOT_SET: + break; + } + } + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[1]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[1]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_greater_than(); + } + _this->_impl_._oneof_case_[1] = oneof_from_case; + } + + switch (oneof_from_case) { + case kGt: { + _this->_impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + } + case kGte: { + _this->_impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + case GREATER_THAN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void DoubleRules::CopyFrom(const DoubleRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.DoubleRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool DoubleRules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void DoubleRules::InternalSwap(DoubleRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.finite_) + + sizeof(DoubleRules::_impl_.finite_) + - PROTOBUF_FIELD_OFFSET(DoubleRules, _impl_.const__)>( + reinterpret_cast(&_impl_.const__), + reinterpret_cast(&other->_impl_.const__)); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.less_than_, other->_impl_.less_than_); + swap(_impl_.greater_than_, other->_impl_.greater_than_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); + swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); +} + +::google::protobuf::Metadata DoubleRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Int32Rules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::Int32Rules, _impl_._oneof_case_); +}; + +Int32Rules::Int32Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Int32Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.Int32Rules) +} +PROTOBUF_NDEBUG_INLINE Int32Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::Int32Rules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_}, + less_than_{}, + greater_than_{}, + _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} + +Int32Rules::Int32Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Int32Rules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Int32Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Int32Rules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + _impl_.const__ = from._impl_.const__; + switch (less_than_case()) { + case LESS_THAN_NOT_SET: + break; + case kLt: + _impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + case kLte: + _impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + switch (greater_than_case()) { + case GREATER_THAN_NOT_SET: + break; + case kGt: + _impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + case kGte: + _impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.Int32Rules) +} +PROTOBUF_NDEBUG_INLINE Int32Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +inline void Int32Rules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.const__ = {}; +} +Int32Rules::~Int32Rules() { + // @@protoc_insertion_point(destructor:buf.validate.Int32Rules) + SharedDtor(*this); +} +inline void Int32Rules::SharedDtor(MessageLite& self) { + Int32Rules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_less_than()) { + this_.clear_less_than(); + } + if (this_.has_greater_than()) { + this_.clear_greater_than(); + } + this_._impl_.~Impl_(); +} + +void Int32Rules::clear_less_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.Int32Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (less_than_case()) { + case kLt: { + // No need to clear + break; + } + case kLte: { + // No need to clear + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} + +void Int32Rules::clear_greater_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.Int32Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (greater_than_case()) { + case kGt: { + // No need to clear + break; + } + case kGte: { + // No need to clear + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL Int32Rules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Int32Rules(arena); +} +constexpr auto Int32Rules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_._extensions_) + + decltype(Int32Rules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_.in_) + + decltype(Int32Rules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_.not_in_) + + decltype(Int32Rules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_.example_) + + decltype(Int32Rules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(Int32Rules), alignof(Int32Rules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&Int32Rules::PlacementNew_, + sizeof(Int32Rules), + alignof(Int32Rules)); + } +} +constexpr auto Int32Rules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Int32Rules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + Int32Rules::IsInitializedImpl, + &Int32Rules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Int32Rules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Int32Rules::ByteSizeLong, + &Int32Rules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_._cached_size_), + false, + }, + &Int32Rules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Int32Rules_class_data_ = + Int32Rules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Int32Rules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Int32Rules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Int32Rules_class_data_.tc_table); + return Int32Rules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 8, 0, 0, 2> +Int32Rules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_._extensions_), + 8, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967040, // skipmap + offsetof(decltype(_table_), field_entries), + 8, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + Int32Rules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::Int32Rules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated int32 example = 8 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV32R1, + {64, 2, 0, + PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_.example_)}}, + // optional int32 const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Int32Rules, _impl_.const__), 3>(), + {8, 3, 0, + PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_.const__)}}, + // repeated int32 in = 6 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV32R1, + {48, 0, 0, + PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_.in_)}}, + // repeated int32 not_in = 7 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV32R1, + {56, 1, 0, + PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_.not_in_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional int32 const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_.const__), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)}, + // int32 lt = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_.less_than_.lt_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt32)}, + // int32 lte = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_.less_than_.lte_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt32)}, + // int32 gt = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_.greater_than_.gt_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt32)}, + // int32 gte = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_.greater_than_.gte_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt32)}, + // repeated int32 in = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt32)}, + // repeated int32 not_in = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt32)}, + // repeated int32 example = 8 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int32Rules, _impl_.example_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt32)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void Int32Rules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.Int32Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.example_.Clear(); + } + } + _impl_.const__ = 0; + clear_less_than(); + clear_greater_than(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Int32Rules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Int32Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Int32Rules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Int32Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.Int32Rules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional int32 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>( + stream, this_._internal_const_(), target); + } + + switch (this_.less_than_case()) { + case kLt: { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>( + stream, this_._internal_lt(), target); + break; + } + case kLte: { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>( + stream, this_._internal_lte(), target); + break; + } + default: + break; + } + switch (this_.greater_than_case()) { + case kGt: { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>( + stream, this_._internal_gt(), target); + break; + } + case kGte: { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>( + stream, this_._internal_gte(), target); + break; + } + default: + break; + } + // repeated int32 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray( + 6, this_._internal_in().Get(i), target); + } + } + + // repeated int32 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray( + 7, this_._internal_not_in().Get(i), target); + } + } + + // repeated int32 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray( + 8, this_._internal_example().Get(i), target); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.Int32Rules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Int32Rules::ByteSizeLong(const MessageLite& base) { + const Int32Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Int32Rules::ByteSizeLong() const { + const Int32Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.Int32Rules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + // repeated int32 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + ::size_t data_size = ::_pbi::WireFormatLite::Int32Size( + this_._internal_in()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_in_size()); + total_size += tag_size + data_size; + } + // repeated int32 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + ::size_t data_size = ::_pbi::WireFormatLite::Int32Size( + this_._internal_not_in()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + total_size += tag_size + data_size; + } + // repeated int32 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + ::size_t data_size = ::_pbi::WireFormatLite::Int32Size( + this_._internal_example()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_example_size()); + total_size += tag_size + data_size; + } + // optional int32 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_const_()); + } + } + switch (this_.less_than_case()) { + // int32 lt = 2 [(.buf.validate.predefined) = { + case kLt: { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_lt()); + break; + } + // int32 lte = 3 [(.buf.validate.predefined) = { + case kLte: { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_lte()); + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + switch (this_.greater_than_case()) { + // int32 gt = 4 [(.buf.validate.predefined) = { + case kGt: { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_gt()); + break; + } + // int32 gte = 5 [(.buf.validate.predefined) = { + case kGte: { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_gte()); + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Int32Rules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.Int32Rules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->MergeFrom(from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->MergeFrom(from._internal_not_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_example()->MergeFrom(from._internal_example()); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.const__ = from._impl_.const__; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_less_than(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kLt: { + _this->_impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + } + case kLte: { + _this->_impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + case LESS_THAN_NOT_SET: + break; + } + } + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[1]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[1]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_greater_than(); + } + _this->_impl_._oneof_case_[1] = oneof_from_case; + } + + switch (oneof_from_case) { + case kGt: { + _this->_impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + } + case kGte: { + _this->_impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + case GREATER_THAN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Int32Rules::CopyFrom(const Int32Rules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.Int32Rules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool Int32Rules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void Int32Rules::InternalSwap(Int32Rules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.const__, other->_impl_.const__); + swap(_impl_.less_than_, other->_impl_.less_than_); + swap(_impl_.greater_than_, other->_impl_.greater_than_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); + swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); +} + +::google::protobuf::Metadata Int32Rules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Int64Rules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::Int64Rules, _impl_._oneof_case_); +}; + +Int64Rules::Int64Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Int64Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.Int64Rules) +} +PROTOBUF_NDEBUG_INLINE Int64Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::Int64Rules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_}, + less_than_{}, + greater_than_{}, + _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} + +Int64Rules::Int64Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Int64Rules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Int64Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Int64Rules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + _impl_.const__ = from._impl_.const__; + switch (less_than_case()) { + case LESS_THAN_NOT_SET: + break; + case kLt: + _impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + case kLte: + _impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + switch (greater_than_case()) { + case GREATER_THAN_NOT_SET: + break; + case kGt: + _impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + case kGte: + _impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.Int64Rules) +} +PROTOBUF_NDEBUG_INLINE Int64Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +inline void Int64Rules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.const__ = {}; +} +Int64Rules::~Int64Rules() { + // @@protoc_insertion_point(destructor:buf.validate.Int64Rules) + SharedDtor(*this); +} +inline void Int64Rules::SharedDtor(MessageLite& self) { + Int64Rules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_less_than()) { + this_.clear_less_than(); + } + if (this_.has_greater_than()) { + this_.clear_greater_than(); + } + this_._impl_.~Impl_(); +} + +void Int64Rules::clear_less_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.Int64Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (less_than_case()) { + case kLt: { + // No need to clear + break; + } + case kLte: { + // No need to clear + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} + +void Int64Rules::clear_greater_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.Int64Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (greater_than_case()) { + case kGt: { + // No need to clear + break; + } + case kGte: { + // No need to clear + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL Int64Rules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Int64Rules(arena); +} +constexpr auto Int64Rules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_._extensions_) + + decltype(Int64Rules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_.in_) + + decltype(Int64Rules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_.not_in_) + + decltype(Int64Rules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_.example_) + + decltype(Int64Rules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(Int64Rules), alignof(Int64Rules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&Int64Rules::PlacementNew_, + sizeof(Int64Rules), + alignof(Int64Rules)); + } +} +constexpr auto Int64Rules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Int64Rules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + Int64Rules::IsInitializedImpl, + &Int64Rules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Int64Rules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Int64Rules::ByteSizeLong, + &Int64Rules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_._cached_size_), + false, + }, + &Int64Rules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Int64Rules_class_data_ = + Int64Rules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Int64Rules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Int64Rules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Int64Rules_class_data_.tc_table); + return Int64Rules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<4, 8, 0, 0, 2> +Int64Rules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_._extensions_), + 9, 120, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294966912, // skipmap + offsetof(decltype(_table_), field_entries), + 8, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + Int64Rules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::Int64Rules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // optional int64 const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(Int64Rules, _impl_.const__), 2>(), + {8, 2, 0, + PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_.const__)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + // repeated int64 in = 6 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV64R1, + {48, 0, 0, + PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_.in_)}}, + // repeated int64 not_in = 7 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV64R1, + {56, 1, 0, + PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_.not_in_)}}, + {::_pbi::TcParser::MiniParse, {}}, + // repeated int64 example = 9 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV64R1, + {72, 3, 0, + PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_.example_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional int64 const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_.const__), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)}, + // int64 lt = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_.less_than_.lt_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt64)}, + // int64 lte = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_.less_than_.lte_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt64)}, + // int64 gt = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_.greater_than_.gt_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt64)}, + // int64 gte = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_.greater_than_.gte_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt64)}, + // repeated int64 in = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt64)}, + // repeated int64 not_in = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt64)}, + // repeated int64 example = 9 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Int64Rules, _impl_.example_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt64)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void Int64Rules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.Int64Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + } + if (BatchCheckHasBit(cached_has_bits, 0x0000000cU)) { + _impl_.const__ = ::int64_t{0}; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) { + _impl_.example_.Clear(); + } + } + clear_less_than(); + clear_greater_than(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Int64Rules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Int64Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Int64Rules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Int64Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.Int64Rules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional int64 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>( + stream, this_._internal_const_(), target); + } + + switch (this_.less_than_case()) { + case kLt: { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>( + stream, this_._internal_lt(), target); + break; + } + case kLte: { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>( + stream, this_._internal_lte(), target); + break; + } + default: + break; + } + switch (this_.greater_than_case()) { + case kGt: { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<4>( + stream, this_._internal_gt(), target); + break; + } + case kGte: { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<5>( + stream, this_._internal_gte(), target); + break; + } + default: + break; + } + // repeated int64 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt64ToArray( + 6, this_._internal_in().Get(i), target); + } + } + + // repeated int64 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt64ToArray( + 7, this_._internal_not_in().Get(i), target); + } + } + + // repeated int64 example = 9 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt64ToArray( + 9, this_._internal_example().Get(i), target); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.Int64Rules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Int64Rules::ByteSizeLong(const MessageLite& base) { + const Int64Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Int64Rules::ByteSizeLong() const { + const Int64Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.Int64Rules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + // repeated int64 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + ::size_t data_size = ::_pbi::WireFormatLite::Int64Size( + this_._internal_in()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_in_size()); + total_size += tag_size + data_size; + } + // repeated int64 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + ::size_t data_size = ::_pbi::WireFormatLite::Int64Size( + this_._internal_not_in()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + total_size += tag_size + data_size; + } + // optional int64 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + total_size += ::_pbi::WireFormatLite::Int64SizePlusOne( + this_._internal_const_()); + } + // repeated int64 example = 9 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) { + ::size_t data_size = ::_pbi::WireFormatLite::Int64Size( + this_._internal_example()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_example_size()); + total_size += tag_size + data_size; + } + } + switch (this_.less_than_case()) { + // int64 lt = 2 [(.buf.validate.predefined) = { + case kLt: { + total_size += ::_pbi::WireFormatLite::Int64SizePlusOne( + this_._internal_lt()); + break; + } + // int64 lte = 3 [(.buf.validate.predefined) = { + case kLte: { + total_size += ::_pbi::WireFormatLite::Int64SizePlusOne( + this_._internal_lte()); + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + switch (this_.greater_than_case()) { + // int64 gt = 4 [(.buf.validate.predefined) = { + case kGt: { + total_size += ::_pbi::WireFormatLite::Int64SizePlusOne( + this_._internal_gt()); + break; + } + // int64 gte = 5 [(.buf.validate.predefined) = { + case kGte: { + total_size += ::_pbi::WireFormatLite::Int64SizePlusOne( + this_._internal_gte()); + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Int64Rules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.Int64Rules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->MergeFrom(from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->MergeFrom(from._internal_not_in()); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + _this->_impl_.const__ = from._impl_.const__; + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) { + _this->_internal_mutable_example()->MergeFrom(from._internal_example()); + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_less_than(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kLt: { + _this->_impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + } + case kLte: { + _this->_impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + case LESS_THAN_NOT_SET: + break; + } + } + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[1]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[1]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_greater_than(); + } + _this->_impl_._oneof_case_[1] = oneof_from_case; + } + + switch (oneof_from_case) { + case kGt: { + _this->_impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + } + case kGte: { + _this->_impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + case GREATER_THAN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Int64Rules::CopyFrom(const Int64Rules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.Int64Rules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool Int64Rules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void Int64Rules::InternalSwap(Int64Rules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + swap(_impl_.const__, other->_impl_.const__); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.less_than_, other->_impl_.less_than_); + swap(_impl_.greater_than_, other->_impl_.greater_than_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); + swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); +} + +::google::protobuf::Metadata Int64Rules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class UInt32Rules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt32Rules, _impl_._oneof_case_); +}; + +UInt32Rules::UInt32Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, UInt32Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.UInt32Rules) +} +PROTOBUF_NDEBUG_INLINE UInt32Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::UInt32Rules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_}, + less_than_{}, + greater_than_{}, + _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} + +UInt32Rules::UInt32Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const UInt32Rules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, UInt32Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + UInt32Rules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + _impl_.const__ = from._impl_.const__; + switch (less_than_case()) { + case LESS_THAN_NOT_SET: + break; + case kLt: + _impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + case kLte: + _impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + switch (greater_than_case()) { + case GREATER_THAN_NOT_SET: + break; + case kGt: + _impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + case kGte: + _impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.UInt32Rules) +} +PROTOBUF_NDEBUG_INLINE UInt32Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +inline void UInt32Rules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.const__ = {}; +} +UInt32Rules::~UInt32Rules() { + // @@protoc_insertion_point(destructor:buf.validate.UInt32Rules) + SharedDtor(*this); +} +inline void UInt32Rules::SharedDtor(MessageLite& self) { + UInt32Rules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_less_than()) { + this_.clear_less_than(); + } + if (this_.has_greater_than()) { + this_.clear_greater_than(); + } + this_._impl_.~Impl_(); +} + +void UInt32Rules::clear_less_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.UInt32Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (less_than_case()) { + case kLt: { + // No need to clear + break; + } + case kLte: { + // No need to clear + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} + +void UInt32Rules::clear_greater_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.UInt32Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (greater_than_case()) { + case kGt: { + // No need to clear + break; + } + case kGte: { + // No need to clear + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL UInt32Rules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) UInt32Rules(arena); +} +constexpr auto UInt32Rules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_._extensions_) + + decltype(UInt32Rules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_.in_) + + decltype(UInt32Rules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_.not_in_) + + decltype(UInt32Rules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_.example_) + + decltype(UInt32Rules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(UInt32Rules), alignof(UInt32Rules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&UInt32Rules::PlacementNew_, + sizeof(UInt32Rules), + alignof(UInt32Rules)); + } +} +constexpr auto UInt32Rules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_UInt32Rules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + UInt32Rules::IsInitializedImpl, + &UInt32Rules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &UInt32Rules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &UInt32Rules::ByteSizeLong, + &UInt32Rules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_._cached_size_), + false, + }, + &UInt32Rules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull UInt32Rules_class_data_ = + UInt32Rules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +UInt32Rules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&UInt32Rules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(UInt32Rules_class_data_.tc_table); + return UInt32Rules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 8, 0, 0, 2> +UInt32Rules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_._extensions_), + 8, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967040, // skipmap + offsetof(decltype(_table_), field_entries), + 8, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + UInt32Rules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::UInt32Rules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated uint32 example = 8 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV32R1, + {64, 2, 0, + PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_.example_)}}, + // optional uint32 const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(UInt32Rules, _impl_.const__), 3>(), + {8, 3, 0, + PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_.const__)}}, + // repeated uint32 in = 6 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV32R1, + {48, 0, 0, + PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_.in_)}}, + // repeated uint32 not_in = 7 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV32R1, + {56, 1, 0, + PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_.not_in_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional uint32 const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_.const__), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)}, + // uint32 lt = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_.less_than_.lt_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUInt32)}, + // uint32 lte = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_.less_than_.lte_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUInt32)}, + // uint32 gt = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_.greater_than_.gt_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kUInt32)}, + // uint32 gte = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_.greater_than_.gte_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kUInt32)}, + // repeated uint32 in = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUInt32)}, + // repeated uint32 not_in = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUInt32)}, + // repeated uint32 example = 8 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt32Rules, _impl_.example_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUInt32)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void UInt32Rules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.UInt32Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.example_.Clear(); + } + } + _impl_.const__ = 0u; + clear_less_than(); + clear_greater_than(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL UInt32Rules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const UInt32Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL UInt32Rules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const UInt32Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.UInt32Rules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional uint32 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 1, this_._internal_const_(), target); + } + + switch (this_.less_than_case()) { + case kLt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 2, this_._internal_lt(), target); + break; + } + case kLte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 3, this_._internal_lte(), target); + break; + } + default: + break; + } + switch (this_.greater_than_case()) { + case kGt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 4, this_._internal_gt(), target); + break; + } + case kGte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 5, this_._internal_gte(), target); + break; + } + default: + break; + } + // repeated uint32 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 6, this_._internal_in().Get(i), target); + } + } + + // repeated uint32 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 7, this_._internal_not_in().Get(i), target); + } + } + + // repeated uint32 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 8, this_._internal_example().Get(i), target); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.UInt32Rules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t UInt32Rules::ByteSizeLong(const MessageLite& base) { + const UInt32Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t UInt32Rules::ByteSizeLong() const { + const UInt32Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.UInt32Rules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + // repeated uint32 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + ::size_t data_size = ::_pbi::WireFormatLite::UInt32Size( + this_._internal_in()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_in_size()); + total_size += tag_size + data_size; + } + // repeated uint32 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + ::size_t data_size = ::_pbi::WireFormatLite::UInt32Size( + this_._internal_not_in()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + total_size += tag_size + data_size; + } + // repeated uint32 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + ::size_t data_size = ::_pbi::WireFormatLite::UInt32Size( + this_._internal_example()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_example_size()); + total_size += tag_size + data_size; + } + // optional uint32 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_const_()); + } + } + switch (this_.less_than_case()) { + // uint32 lt = 2 [(.buf.validate.predefined) = { + case kLt: { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_lt()); + break; + } + // uint32 lte = 3 [(.buf.validate.predefined) = { + case kLte: { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_lte()); + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + switch (this_.greater_than_case()) { + // uint32 gt = 4 [(.buf.validate.predefined) = { + case kGt: { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_gt()); + break; + } + // uint32 gte = 5 [(.buf.validate.predefined) = { + case kGte: { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_gte()); + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void UInt32Rules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.UInt32Rules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->MergeFrom(from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->MergeFrom(from._internal_not_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_example()->MergeFrom(from._internal_example()); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.const__ = from._impl_.const__; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_less_than(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kLt: { + _this->_impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + } + case kLte: { + _this->_impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + case LESS_THAN_NOT_SET: + break; + } + } + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[1]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[1]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_greater_than(); + } + _this->_impl_._oneof_case_[1] = oneof_from_case; + } + + switch (oneof_from_case) { + case kGt: { + _this->_impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + } + case kGte: { + _this->_impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + case GREATER_THAN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void UInt32Rules::CopyFrom(const UInt32Rules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.UInt32Rules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool UInt32Rules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void UInt32Rules::InternalSwap(UInt32Rules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.const__, other->_impl_.const__); + swap(_impl_.less_than_, other->_impl_.less_than_); + swap(_impl_.greater_than_, other->_impl_.greater_than_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); + swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); +} + +::google::protobuf::Metadata UInt32Rules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class UInt64Rules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::UInt64Rules, _impl_._oneof_case_); +}; + +UInt64Rules::UInt64Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, UInt64Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.UInt64Rules) +} +PROTOBUF_NDEBUG_INLINE UInt64Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::UInt64Rules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_}, + less_than_{}, + greater_than_{}, + _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} + +UInt64Rules::UInt64Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const UInt64Rules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, UInt64Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + UInt64Rules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + _impl_.const__ = from._impl_.const__; + switch (less_than_case()) { + case LESS_THAN_NOT_SET: + break; + case kLt: + _impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + case kLte: + _impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + switch (greater_than_case()) { + case GREATER_THAN_NOT_SET: + break; + case kGt: + _impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + case kGte: + _impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.UInt64Rules) +} +PROTOBUF_NDEBUG_INLINE UInt64Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +inline void UInt64Rules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.const__ = {}; +} +UInt64Rules::~UInt64Rules() { + // @@protoc_insertion_point(destructor:buf.validate.UInt64Rules) + SharedDtor(*this); +} +inline void UInt64Rules::SharedDtor(MessageLite& self) { + UInt64Rules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_less_than()) { + this_.clear_less_than(); + } + if (this_.has_greater_than()) { + this_.clear_greater_than(); + } + this_._impl_.~Impl_(); +} + +void UInt64Rules::clear_less_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.UInt64Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (less_than_case()) { + case kLt: { + // No need to clear + break; + } + case kLte: { + // No need to clear + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} + +void UInt64Rules::clear_greater_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.UInt64Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (greater_than_case()) { + case kGt: { + // No need to clear + break; + } + case kGte: { + // No need to clear + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL UInt64Rules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) UInt64Rules(arena); +} +constexpr auto UInt64Rules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_._extensions_) + + decltype(UInt64Rules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_.in_) + + decltype(UInt64Rules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_.not_in_) + + decltype(UInt64Rules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_.example_) + + decltype(UInt64Rules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(UInt64Rules), alignof(UInt64Rules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&UInt64Rules::PlacementNew_, + sizeof(UInt64Rules), + alignof(UInt64Rules)); + } +} +constexpr auto UInt64Rules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_UInt64Rules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + UInt64Rules::IsInitializedImpl, + &UInt64Rules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &UInt64Rules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &UInt64Rules::ByteSizeLong, + &UInt64Rules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_._cached_size_), + false, + }, + &UInt64Rules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull UInt64Rules_class_data_ = + UInt64Rules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +UInt64Rules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&UInt64Rules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(UInt64Rules_class_data_.tc_table); + return UInt64Rules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 8, 0, 0, 2> +UInt64Rules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_._extensions_), + 8, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967040, // skipmap + offsetof(decltype(_table_), field_entries), + 8, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + UInt64Rules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::UInt64Rules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated uint64 example = 8 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV64R1, + {64, 2, 0, + PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_.example_)}}, + // optional uint64 const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(UInt64Rules, _impl_.const__), 3>(), + {8, 3, 0, + PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_.const__)}}, + // repeated uint64 in = 6 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV64R1, + {48, 0, 0, + PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_.in_)}}, + // repeated uint64 not_in = 7 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV64R1, + {56, 1, 0, + PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_.not_in_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional uint64 const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_.const__), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)}, + // uint64 lt = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_.less_than_.lt_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUInt64)}, + // uint64 lte = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_.less_than_.lte_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUInt64)}, + // uint64 gt = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_.greater_than_.gt_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kUInt64)}, + // uint64 gte = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_.greater_than_.gte_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kUInt64)}, + // repeated uint64 in = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUInt64)}, + // repeated uint64 not_in = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUInt64)}, + // repeated uint64 example = 8 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(UInt64Rules, _impl_.example_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUInt64)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void UInt64Rules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.UInt64Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.example_.Clear(); + } + } + _impl_.const__ = ::uint64_t{0u}; + clear_less_than(); + clear_greater_than(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL UInt64Rules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const UInt64Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL UInt64Rules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const UInt64Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.UInt64Rules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional uint64 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 1, this_._internal_const_(), target); + } + + switch (this_.less_than_case()) { + case kLt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 2, this_._internal_lt(), target); + break; + } + case kLte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 3, this_._internal_lte(), target); + break; + } + default: + break; + } + switch (this_.greater_than_case()) { + case kGt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 4, this_._internal_gt(), target); + break; + } + case kGte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 5, this_._internal_gte(), target); + break; + } + default: + break; + } + // repeated uint64 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 6, this_._internal_in().Get(i), target); + } + } + + // repeated uint64 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 7, this_._internal_not_in().Get(i), target); + } + } + + // repeated uint64 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 8, this_._internal_example().Get(i), target); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.UInt64Rules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t UInt64Rules::ByteSizeLong(const MessageLite& base) { + const UInt64Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t UInt64Rules::ByteSizeLong() const { + const UInt64Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.UInt64Rules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + // repeated uint64 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + ::size_t data_size = ::_pbi::WireFormatLite::UInt64Size( + this_._internal_in()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_in_size()); + total_size += tag_size + data_size; + } + // repeated uint64 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + ::size_t data_size = ::_pbi::WireFormatLite::UInt64Size( + this_._internal_not_in()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + total_size += tag_size + data_size; + } + // repeated uint64 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + ::size_t data_size = ::_pbi::WireFormatLite::UInt64Size( + this_._internal_example()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_example_size()); + total_size += tag_size + data_size; + } + // optional uint64 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_const_()); + } + } + switch (this_.less_than_case()) { + // uint64 lt = 2 [(.buf.validate.predefined) = { + case kLt: { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_lt()); + break; + } + // uint64 lte = 3 [(.buf.validate.predefined) = { + case kLte: { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_lte()); + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + switch (this_.greater_than_case()) { + // uint64 gt = 4 [(.buf.validate.predefined) = { + case kGt: { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_gt()); + break; + } + // uint64 gte = 5 [(.buf.validate.predefined) = { + case kGte: { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_gte()); + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void UInt64Rules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.UInt64Rules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->MergeFrom(from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->MergeFrom(from._internal_not_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_example()->MergeFrom(from._internal_example()); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.const__ = from._impl_.const__; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_less_than(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kLt: { + _this->_impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + } + case kLte: { + _this->_impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + case LESS_THAN_NOT_SET: + break; + } + } + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[1]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[1]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_greater_than(); + } + _this->_impl_._oneof_case_[1] = oneof_from_case; + } + + switch (oneof_from_case) { + case kGt: { + _this->_impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + } + case kGte: { + _this->_impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + case GREATER_THAN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void UInt64Rules::CopyFrom(const UInt64Rules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.UInt64Rules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool UInt64Rules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void UInt64Rules::InternalSwap(UInt64Rules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.const__, other->_impl_.const__); + swap(_impl_.less_than_, other->_impl_.less_than_); + swap(_impl_.greater_than_, other->_impl_.greater_than_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); + swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); +} + +::google::protobuf::Metadata UInt64Rules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class SInt32Rules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt32Rules, _impl_._oneof_case_); +}; + +SInt32Rules::SInt32Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, SInt32Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.SInt32Rules) +} +PROTOBUF_NDEBUG_INLINE SInt32Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::SInt32Rules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_}, + less_than_{}, + greater_than_{}, + _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} + +SInt32Rules::SInt32Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const SInt32Rules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, SInt32Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SInt32Rules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + _impl_.const__ = from._impl_.const__; + switch (less_than_case()) { + case LESS_THAN_NOT_SET: + break; + case kLt: + _impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + case kLte: + _impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + switch (greater_than_case()) { + case GREATER_THAN_NOT_SET: + break; + case kGt: + _impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + case kGte: + _impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.SInt32Rules) +} +PROTOBUF_NDEBUG_INLINE SInt32Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +inline void SInt32Rules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.const__ = {}; +} +SInt32Rules::~SInt32Rules() { + // @@protoc_insertion_point(destructor:buf.validate.SInt32Rules) + SharedDtor(*this); +} +inline void SInt32Rules::SharedDtor(MessageLite& self) { + SInt32Rules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_less_than()) { + this_.clear_less_than(); + } + if (this_.has_greater_than()) { + this_.clear_greater_than(); + } + this_._impl_.~Impl_(); +} + +void SInt32Rules::clear_less_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.SInt32Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (less_than_case()) { + case kLt: { + // No need to clear + break; + } + case kLte: { + // No need to clear + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} + +void SInt32Rules::clear_greater_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.SInt32Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (greater_than_case()) { + case kGt: { + // No need to clear + break; + } + case kGte: { + // No need to clear + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL SInt32Rules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) SInt32Rules(arena); +} +constexpr auto SInt32Rules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_._extensions_) + + decltype(SInt32Rules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_.in_) + + decltype(SInt32Rules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_.not_in_) + + decltype(SInt32Rules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_.example_) + + decltype(SInt32Rules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(SInt32Rules), alignof(SInt32Rules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&SInt32Rules::PlacementNew_, + sizeof(SInt32Rules), + alignof(SInt32Rules)); + } +} +constexpr auto SInt32Rules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_SInt32Rules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + SInt32Rules::IsInitializedImpl, + &SInt32Rules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SInt32Rules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &SInt32Rules::ByteSizeLong, + &SInt32Rules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_._cached_size_), + false, + }, + &SInt32Rules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull SInt32Rules_class_data_ = + SInt32Rules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +SInt32Rules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&SInt32Rules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(SInt32Rules_class_data_.tc_table); + return SInt32Rules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 8, 0, 0, 2> +SInt32Rules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_._extensions_), + 8, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967040, // skipmap + offsetof(decltype(_table_), field_entries), + 8, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + SInt32Rules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::SInt32Rules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated sint32 example = 8 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastZ32R1, + {64, 2, 0, + PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_.example_)}}, + // optional sint32 const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastZ32S1, + {8, 3, 0, + PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_.const__)}}, + // repeated sint32 in = 6 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastZ32R1, + {48, 0, 0, + PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_.in_)}}, + // repeated sint32 not_in = 7 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastZ32R1, + {56, 1, 0, + PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_.not_in_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional sint32 const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_.const__), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kSInt32)}, + // sint32 lt = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_.less_than_.lt_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kSInt32)}, + // sint32 lte = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_.less_than_.lte_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kSInt32)}, + // sint32 gt = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_.greater_than_.gt_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kSInt32)}, + // sint32 gte = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_.greater_than_.gte_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kSInt32)}, + // repeated sint32 in = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kSInt32)}, + // repeated sint32 not_in = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kSInt32)}, + // repeated sint32 example = 8 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt32Rules, _impl_.example_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kSInt32)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void SInt32Rules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.SInt32Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.example_.Clear(); + } + } + _impl_.const__ = 0; + clear_less_than(); + clear_greater_than(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL SInt32Rules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const SInt32Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL SInt32Rules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const SInt32Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.SInt32Rules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional sint32 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt32ToArray( + 1, this_._internal_const_(), target); + } + + switch (this_.less_than_case()) { + case kLt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt32ToArray( + 2, this_._internal_lt(), target); + break; + } + case kLte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt32ToArray( + 3, this_._internal_lte(), target); + break; + } + default: + break; + } + switch (this_.greater_than_case()) { + case kGt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt32ToArray( + 4, this_._internal_gt(), target); + break; + } + case kGte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt32ToArray( + 5, this_._internal_gte(), target); + break; + } + default: + break; + } + // repeated sint32 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt32ToArray( + 6, this_._internal_in().Get(i), target); + } + } + + // repeated sint32 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt32ToArray( + 7, this_._internal_not_in().Get(i), target); + } + } + + // repeated sint32 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt32ToArray( + 8, this_._internal_example().Get(i), target); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.SInt32Rules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t SInt32Rules::ByteSizeLong(const MessageLite& base) { + const SInt32Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t SInt32Rules::ByteSizeLong() const { + const SInt32Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.SInt32Rules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + // repeated sint32 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + ::size_t data_size = ::_pbi::WireFormatLite::SInt32Size( + this_._internal_in()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_in_size()); + total_size += tag_size + data_size; + } + // repeated sint32 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + ::size_t data_size = ::_pbi::WireFormatLite::SInt32Size( + this_._internal_not_in()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + total_size += tag_size + data_size; + } + // repeated sint32 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + ::size_t data_size = ::_pbi::WireFormatLite::SInt32Size( + this_._internal_example()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_example_size()); + total_size += tag_size + data_size; + } + // optional sint32 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + total_size += ::_pbi::WireFormatLite::SInt32SizePlusOne( + this_._internal_const_()); + } + } + switch (this_.less_than_case()) { + // sint32 lt = 2 [(.buf.validate.predefined) = { + case kLt: { + total_size += ::_pbi::WireFormatLite::SInt32SizePlusOne( + this_._internal_lt()); + break; + } + // sint32 lte = 3 [(.buf.validate.predefined) = { + case kLte: { + total_size += ::_pbi::WireFormatLite::SInt32SizePlusOne( + this_._internal_lte()); + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + switch (this_.greater_than_case()) { + // sint32 gt = 4 [(.buf.validate.predefined) = { + case kGt: { + total_size += ::_pbi::WireFormatLite::SInt32SizePlusOne( + this_._internal_gt()); + break; + } + // sint32 gte = 5 [(.buf.validate.predefined) = { + case kGte: { + total_size += ::_pbi::WireFormatLite::SInt32SizePlusOne( + this_._internal_gte()); + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void SInt32Rules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.SInt32Rules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->MergeFrom(from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->MergeFrom(from._internal_not_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_example()->MergeFrom(from._internal_example()); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.const__ = from._impl_.const__; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_less_than(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kLt: { + _this->_impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + } + case kLte: { + _this->_impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + case LESS_THAN_NOT_SET: + break; + } + } + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[1]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[1]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_greater_than(); + } + _this->_impl_._oneof_case_[1] = oneof_from_case; + } + + switch (oneof_from_case) { + case kGt: { + _this->_impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + } + case kGte: { + _this->_impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + case GREATER_THAN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void SInt32Rules::CopyFrom(const SInt32Rules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.SInt32Rules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool SInt32Rules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void SInt32Rules::InternalSwap(SInt32Rules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.const__, other->_impl_.const__); + swap(_impl_.less_than_, other->_impl_.less_than_); + swap(_impl_.greater_than_, other->_impl_.greater_than_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); + swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); +} + +::google::protobuf::Metadata SInt32Rules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class SInt64Rules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::SInt64Rules, _impl_._oneof_case_); +}; + +SInt64Rules::SInt64Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, SInt64Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.SInt64Rules) +} +PROTOBUF_NDEBUG_INLINE SInt64Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::SInt64Rules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_}, + less_than_{}, + greater_than_{}, + _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} + +SInt64Rules::SInt64Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const SInt64Rules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, SInt64Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SInt64Rules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + _impl_.const__ = from._impl_.const__; + switch (less_than_case()) { + case LESS_THAN_NOT_SET: + break; + case kLt: + _impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + case kLte: + _impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + switch (greater_than_case()) { + case GREATER_THAN_NOT_SET: + break; + case kGt: + _impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + case kGte: + _impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.SInt64Rules) +} +PROTOBUF_NDEBUG_INLINE SInt64Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +inline void SInt64Rules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.const__ = {}; +} +SInt64Rules::~SInt64Rules() { + // @@protoc_insertion_point(destructor:buf.validate.SInt64Rules) + SharedDtor(*this); +} +inline void SInt64Rules::SharedDtor(MessageLite& self) { + SInt64Rules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_less_than()) { + this_.clear_less_than(); + } + if (this_.has_greater_than()) { + this_.clear_greater_than(); + } + this_._impl_.~Impl_(); +} + +void SInt64Rules::clear_less_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.SInt64Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (less_than_case()) { + case kLt: { + // No need to clear + break; + } + case kLte: { + // No need to clear + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} + +void SInt64Rules::clear_greater_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.SInt64Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (greater_than_case()) { + case kGt: { + // No need to clear + break; + } + case kGte: { + // No need to clear + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL SInt64Rules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) SInt64Rules(arena); +} +constexpr auto SInt64Rules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_._extensions_) + + decltype(SInt64Rules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_.in_) + + decltype(SInt64Rules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_.not_in_) + + decltype(SInt64Rules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_.example_) + + decltype(SInt64Rules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(SInt64Rules), alignof(SInt64Rules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&SInt64Rules::PlacementNew_, + sizeof(SInt64Rules), + alignof(SInt64Rules)); + } +} +constexpr auto SInt64Rules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_SInt64Rules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + SInt64Rules::IsInitializedImpl, + &SInt64Rules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SInt64Rules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &SInt64Rules::ByteSizeLong, + &SInt64Rules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_._cached_size_), + false, + }, + &SInt64Rules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull SInt64Rules_class_data_ = + SInt64Rules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +SInt64Rules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&SInt64Rules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(SInt64Rules_class_data_.tc_table); + return SInt64Rules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 8, 0, 0, 2> +SInt64Rules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_._extensions_), + 8, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967040, // skipmap + offsetof(decltype(_table_), field_entries), + 8, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + SInt64Rules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::SInt64Rules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated sint64 example = 8 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastZ64R1, + {64, 2, 0, + PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_.example_)}}, + // optional sint64 const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastZ64S1, + {8, 3, 0, + PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_.const__)}}, + // repeated sint64 in = 6 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastZ64R1, + {48, 0, 0, + PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_.in_)}}, + // repeated sint64 not_in = 7 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastZ64R1, + {56, 1, 0, + PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_.not_in_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional sint64 const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_.const__), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kSInt64)}, + // sint64 lt = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_.less_than_.lt_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kSInt64)}, + // sint64 lte = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_.less_than_.lte_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kSInt64)}, + // sint64 gt = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_.greater_than_.gt_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kSInt64)}, + // sint64 gte = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_.greater_than_.gte_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kSInt64)}, + // repeated sint64 in = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kSInt64)}, + // repeated sint64 not_in = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kSInt64)}, + // repeated sint64 example = 8 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SInt64Rules, _impl_.example_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kSInt64)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void SInt64Rules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.SInt64Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.example_.Clear(); + } + } + _impl_.const__ = ::int64_t{0}; + clear_less_than(); + clear_greater_than(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL SInt64Rules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const SInt64Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL SInt64Rules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const SInt64Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.SInt64Rules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional sint64 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt64ToArray( + 1, this_._internal_const_(), target); + } + + switch (this_.less_than_case()) { + case kLt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt64ToArray( + 2, this_._internal_lt(), target); + break; + } + case kLte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt64ToArray( + 3, this_._internal_lte(), target); + break; + } + default: + break; + } + switch (this_.greater_than_case()) { + case kGt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt64ToArray( + 4, this_._internal_gt(), target); + break; + } + case kGte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt64ToArray( + 5, this_._internal_gte(), target); + break; + } + default: + break; + } + // repeated sint64 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt64ToArray( + 6, this_._internal_in().Get(i), target); + } + } + + // repeated sint64 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt64ToArray( + 7, this_._internal_not_in().Get(i), target); + } + } + + // repeated sint64 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSInt64ToArray( + 8, this_._internal_example().Get(i), target); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.SInt64Rules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t SInt64Rules::ByteSizeLong(const MessageLite& base) { + const SInt64Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t SInt64Rules::ByteSizeLong() const { + const SInt64Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.SInt64Rules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + // repeated sint64 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + ::size_t data_size = ::_pbi::WireFormatLite::SInt64Size( + this_._internal_in()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_in_size()); + total_size += tag_size + data_size; + } + // repeated sint64 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + ::size_t data_size = ::_pbi::WireFormatLite::SInt64Size( + this_._internal_not_in()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + total_size += tag_size + data_size; + } + // repeated sint64 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + ::size_t data_size = ::_pbi::WireFormatLite::SInt64Size( + this_._internal_example()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_example_size()); + total_size += tag_size + data_size; + } + // optional sint64 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + total_size += ::_pbi::WireFormatLite::SInt64SizePlusOne( + this_._internal_const_()); + } + } + switch (this_.less_than_case()) { + // sint64 lt = 2 [(.buf.validate.predefined) = { + case kLt: { + total_size += ::_pbi::WireFormatLite::SInt64SizePlusOne( + this_._internal_lt()); + break; + } + // sint64 lte = 3 [(.buf.validate.predefined) = { + case kLte: { + total_size += ::_pbi::WireFormatLite::SInt64SizePlusOne( + this_._internal_lte()); + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + switch (this_.greater_than_case()) { + // sint64 gt = 4 [(.buf.validate.predefined) = { + case kGt: { + total_size += ::_pbi::WireFormatLite::SInt64SizePlusOne( + this_._internal_gt()); + break; + } + // sint64 gte = 5 [(.buf.validate.predefined) = { + case kGte: { + total_size += ::_pbi::WireFormatLite::SInt64SizePlusOne( + this_._internal_gte()); + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void SInt64Rules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.SInt64Rules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->MergeFrom(from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->MergeFrom(from._internal_not_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_example()->MergeFrom(from._internal_example()); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.const__ = from._impl_.const__; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_less_than(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kLt: { + _this->_impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + } + case kLte: { + _this->_impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + case LESS_THAN_NOT_SET: + break; + } + } + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[1]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[1]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_greater_than(); + } + _this->_impl_._oneof_case_[1] = oneof_from_case; + } + + switch (oneof_from_case) { + case kGt: { + _this->_impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + } + case kGte: { + _this->_impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + case GREATER_THAN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void SInt64Rules::CopyFrom(const SInt64Rules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.SInt64Rules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool SInt64Rules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void SInt64Rules::InternalSwap(SInt64Rules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.const__, other->_impl_.const__); + swap(_impl_.less_than_, other->_impl_.less_than_); + swap(_impl_.greater_than_, other->_impl_.greater_than_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); + swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); +} + +::google::protobuf::Metadata SInt64Rules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Fixed32Rules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed32Rules, _impl_._oneof_case_); +}; + +Fixed32Rules::Fixed32Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Fixed32Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.Fixed32Rules) +} +PROTOBUF_NDEBUG_INLINE Fixed32Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::Fixed32Rules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_}, + less_than_{}, + greater_than_{}, + _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} + +Fixed32Rules::Fixed32Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Fixed32Rules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Fixed32Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Fixed32Rules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + _impl_.const__ = from._impl_.const__; + switch (less_than_case()) { + case LESS_THAN_NOT_SET: + break; + case kLt: + _impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + case kLte: + _impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + switch (greater_than_case()) { + case GREATER_THAN_NOT_SET: + break; + case kGt: + _impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + case kGte: + _impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.Fixed32Rules) +} +PROTOBUF_NDEBUG_INLINE Fixed32Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +inline void Fixed32Rules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.const__ = {}; +} +Fixed32Rules::~Fixed32Rules() { + // @@protoc_insertion_point(destructor:buf.validate.Fixed32Rules) + SharedDtor(*this); +} +inline void Fixed32Rules::SharedDtor(MessageLite& self) { + Fixed32Rules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_less_than()) { + this_.clear_less_than(); + } + if (this_.has_greater_than()) { + this_.clear_greater_than(); + } + this_._impl_.~Impl_(); +} + +void Fixed32Rules::clear_less_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.Fixed32Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (less_than_case()) { + case kLt: { + // No need to clear + break; + } + case kLte: { + // No need to clear + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} + +void Fixed32Rules::clear_greater_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.Fixed32Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (greater_than_case()) { + case kGt: { + // No need to clear + break; + } + case kGte: { + // No need to clear + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL Fixed32Rules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Fixed32Rules(arena); +} +constexpr auto Fixed32Rules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_._extensions_) + + decltype(Fixed32Rules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_.in_) + + decltype(Fixed32Rules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_.not_in_) + + decltype(Fixed32Rules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_.example_) + + decltype(Fixed32Rules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(Fixed32Rules), alignof(Fixed32Rules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&Fixed32Rules::PlacementNew_, + sizeof(Fixed32Rules), + alignof(Fixed32Rules)); + } +} +constexpr auto Fixed32Rules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Fixed32Rules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + Fixed32Rules::IsInitializedImpl, + &Fixed32Rules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Fixed32Rules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Fixed32Rules::ByteSizeLong, + &Fixed32Rules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_._cached_size_), + false, + }, + &Fixed32Rules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Fixed32Rules_class_data_ = + Fixed32Rules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Fixed32Rules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Fixed32Rules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Fixed32Rules_class_data_.tc_table); + return Fixed32Rules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 8, 0, 0, 2> +Fixed32Rules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_._extensions_), + 8, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967040, // skipmap + offsetof(decltype(_table_), field_entries), + 8, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + Fixed32Rules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::Fixed32Rules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated fixed32 example = 8 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF32R1, + {69, 2, 0, + PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_.example_)}}, + // optional fixed32 const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF32S1, + {13, 3, 0, + PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_.const__)}}, + // repeated fixed32 in = 6 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF32R1, + {53, 0, 0, + PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_.in_)}}, + // repeated fixed32 not_in = 7 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF32R1, + {61, 1, 0, + PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_.not_in_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional fixed32 const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_.const__), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)}, + // fixed32 lt = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_.less_than_.lt_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kFixed32)}, + // fixed32 lte = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_.less_than_.lte_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kFixed32)}, + // fixed32 gt = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_.greater_than_.gt_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kFixed32)}, + // fixed32 gte = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_.greater_than_.gte_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kFixed32)}, + // repeated fixed32 in = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kFixed32)}, + // repeated fixed32 not_in = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kFixed32)}, + // repeated fixed32 example = 8 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed32Rules, _impl_.example_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kFixed32)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void Fixed32Rules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.Fixed32Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.example_.Clear(); + } + } + _impl_.const__ = 0u; + clear_less_than(); + clear_greater_than(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Fixed32Rules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Fixed32Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Fixed32Rules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Fixed32Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.Fixed32Rules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional fixed32 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed32ToArray( + 1, this_._internal_const_(), target); + } + + switch (this_.less_than_case()) { + case kLt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed32ToArray( + 2, this_._internal_lt(), target); + break; + } + case kLte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed32ToArray( + 3, this_._internal_lte(), target); + break; + } + default: + break; + } + switch (this_.greater_than_case()) { + case kGt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed32ToArray( + 4, this_._internal_gt(), target); + break; + } + case kGte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed32ToArray( + 5, this_._internal_gte(), target); + break; + } + default: + break; + } + // repeated fixed32 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed32ToArray( + 6, this_._internal_in().Get(i), target); + } + } + + // repeated fixed32 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed32ToArray( + 7, this_._internal_not_in().Get(i), target); + } + } + + // repeated fixed32 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed32ToArray( + 8, this_._internal_example().Get(i), target); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.Fixed32Rules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Fixed32Rules::ByteSizeLong(const MessageLite& base) { + const Fixed32Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Fixed32Rules::ByteSizeLong() const { + const Fixed32Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.Fixed32Rules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + total_size += static_cast(0x00000008U & cached_has_bits) * 5; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + // repeated fixed32 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + ::size_t data_size = ::size_t{4} * + ::_pbi::FromIntSize(this_._internal_in_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_in_size()); + total_size += tag_size + data_size; + } + // repeated fixed32 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + ::size_t data_size = ::size_t{4} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + total_size += tag_size + data_size; + } + // repeated fixed32 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + ::size_t data_size = ::size_t{4} * + ::_pbi::FromIntSize(this_._internal_example_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_example_size()); + total_size += tag_size + data_size; + } + } + switch (this_.less_than_case()) { + // fixed32 lt = 2 [(.buf.validate.predefined) = { + case kLt: { + total_size += 5; + break; + } + // fixed32 lte = 3 [(.buf.validate.predefined) = { + case kLte: { + total_size += 5; + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + switch (this_.greater_than_case()) { + // fixed32 gt = 4 [(.buf.validate.predefined) = { + case kGt: { + total_size += 5; + break; + } + // fixed32 gte = 5 [(.buf.validate.predefined) = { + case kGte: { + total_size += 5; + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Fixed32Rules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.Fixed32Rules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->MergeFrom(from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->MergeFrom(from._internal_not_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_example()->MergeFrom(from._internal_example()); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.const__ = from._impl_.const__; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_less_than(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kLt: { + _this->_impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + } + case kLte: { + _this->_impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + case LESS_THAN_NOT_SET: + break; + } + } + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[1]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[1]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_greater_than(); + } + _this->_impl_._oneof_case_[1] = oneof_from_case; + } + + switch (oneof_from_case) { + case kGt: { + _this->_impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + } + case kGte: { + _this->_impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + case GREATER_THAN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Fixed32Rules::CopyFrom(const Fixed32Rules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.Fixed32Rules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool Fixed32Rules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void Fixed32Rules::InternalSwap(Fixed32Rules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.const__, other->_impl_.const__); + swap(_impl_.less_than_, other->_impl_.less_than_); + swap(_impl_.greater_than_, other->_impl_.greater_than_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); + swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); +} + +::google::protobuf::Metadata Fixed32Rules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Fixed64Rules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::Fixed64Rules, _impl_._oneof_case_); +}; + +Fixed64Rules::Fixed64Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Fixed64Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.Fixed64Rules) +} +PROTOBUF_NDEBUG_INLINE Fixed64Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::Fixed64Rules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_}, + less_than_{}, + greater_than_{}, + _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} + +Fixed64Rules::Fixed64Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Fixed64Rules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Fixed64Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Fixed64Rules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + _impl_.const__ = from._impl_.const__; + switch (less_than_case()) { + case LESS_THAN_NOT_SET: + break; + case kLt: + _impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + case kLte: + _impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + switch (greater_than_case()) { + case GREATER_THAN_NOT_SET: + break; + case kGt: + _impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + case kGte: + _impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.Fixed64Rules) +} +PROTOBUF_NDEBUG_INLINE Fixed64Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +inline void Fixed64Rules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.const__ = {}; +} +Fixed64Rules::~Fixed64Rules() { + // @@protoc_insertion_point(destructor:buf.validate.Fixed64Rules) + SharedDtor(*this); +} +inline void Fixed64Rules::SharedDtor(MessageLite& self) { + Fixed64Rules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_less_than()) { + this_.clear_less_than(); + } + if (this_.has_greater_than()) { + this_.clear_greater_than(); + } + this_._impl_.~Impl_(); +} + +void Fixed64Rules::clear_less_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.Fixed64Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (less_than_case()) { + case kLt: { + // No need to clear + break; + } + case kLte: { + // No need to clear + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} + +void Fixed64Rules::clear_greater_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.Fixed64Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (greater_than_case()) { + case kGt: { + // No need to clear + break; + } + case kGte: { + // No need to clear + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL Fixed64Rules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Fixed64Rules(arena); +} +constexpr auto Fixed64Rules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_._extensions_) + + decltype(Fixed64Rules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_.in_) + + decltype(Fixed64Rules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_.not_in_) + + decltype(Fixed64Rules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_.example_) + + decltype(Fixed64Rules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(Fixed64Rules), alignof(Fixed64Rules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&Fixed64Rules::PlacementNew_, + sizeof(Fixed64Rules), + alignof(Fixed64Rules)); + } +} +constexpr auto Fixed64Rules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Fixed64Rules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + Fixed64Rules::IsInitializedImpl, + &Fixed64Rules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Fixed64Rules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Fixed64Rules::ByteSizeLong, + &Fixed64Rules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_._cached_size_), + false, + }, + &Fixed64Rules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Fixed64Rules_class_data_ = + Fixed64Rules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Fixed64Rules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Fixed64Rules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Fixed64Rules_class_data_.tc_table); + return Fixed64Rules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 8, 0, 0, 2> +Fixed64Rules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_._extensions_), + 8, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967040, // skipmap + offsetof(decltype(_table_), field_entries), + 8, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + Fixed64Rules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::Fixed64Rules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated fixed64 example = 8 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF64R1, + {65, 2, 0, + PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_.example_)}}, + // optional fixed64 const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF64S1, + {9, 3, 0, + PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_.const__)}}, + // repeated fixed64 in = 6 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF64R1, + {49, 0, 0, + PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_.in_)}}, + // repeated fixed64 not_in = 7 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF64R1, + {57, 1, 0, + PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_.not_in_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional fixed64 const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_.const__), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed64)}, + // fixed64 lt = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_.less_than_.lt_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kFixed64)}, + // fixed64 lte = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_.less_than_.lte_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kFixed64)}, + // fixed64 gt = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_.greater_than_.gt_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kFixed64)}, + // fixed64 gte = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_.greater_than_.gte_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kFixed64)}, + // repeated fixed64 in = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kFixed64)}, + // repeated fixed64 not_in = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kFixed64)}, + // repeated fixed64 example = 8 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(Fixed64Rules, _impl_.example_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kFixed64)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void Fixed64Rules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.Fixed64Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.example_.Clear(); + } + } + _impl_.const__ = ::uint64_t{0u}; + clear_less_than(); + clear_greater_than(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Fixed64Rules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Fixed64Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Fixed64Rules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Fixed64Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.Fixed64Rules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional fixed64 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed64ToArray( + 1, this_._internal_const_(), target); + } + + switch (this_.less_than_case()) { + case kLt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed64ToArray( + 2, this_._internal_lt(), target); + break; + } + case kLte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed64ToArray( + 3, this_._internal_lte(), target); + break; + } + default: + break; + } + switch (this_.greater_than_case()) { + case kGt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed64ToArray( + 4, this_._internal_gt(), target); + break; + } + case kGte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed64ToArray( + 5, this_._internal_gte(), target); + break; + } + default: + break; + } + // repeated fixed64 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed64ToArray( + 6, this_._internal_in().Get(i), target); + } + } + + // repeated fixed64 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed64ToArray( + 7, this_._internal_not_in().Get(i), target); + } + } + + // repeated fixed64 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFixed64ToArray( + 8, this_._internal_example().Get(i), target); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.Fixed64Rules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Fixed64Rules::ByteSizeLong(const MessageLite& base) { + const Fixed64Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Fixed64Rules::ByteSizeLong() const { + const Fixed64Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.Fixed64Rules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + total_size += static_cast(0x00000008U & cached_has_bits) * 9; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + // repeated fixed64 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + ::size_t data_size = ::size_t{8} * + ::_pbi::FromIntSize(this_._internal_in_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_in_size()); + total_size += tag_size + data_size; + } + // repeated fixed64 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + ::size_t data_size = ::size_t{8} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + total_size += tag_size + data_size; + } + // repeated fixed64 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + ::size_t data_size = ::size_t{8} * + ::_pbi::FromIntSize(this_._internal_example_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_example_size()); + total_size += tag_size + data_size; + } + } + switch (this_.less_than_case()) { + // fixed64 lt = 2 [(.buf.validate.predefined) = { + case kLt: { + total_size += 9; + break; + } + // fixed64 lte = 3 [(.buf.validate.predefined) = { + case kLte: { + total_size += 9; + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + switch (this_.greater_than_case()) { + // fixed64 gt = 4 [(.buf.validate.predefined) = { + case kGt: { + total_size += 9; + break; + } + // fixed64 gte = 5 [(.buf.validate.predefined) = { + case kGte: { + total_size += 9; + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Fixed64Rules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.Fixed64Rules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->MergeFrom(from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->MergeFrom(from._internal_not_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_example()->MergeFrom(from._internal_example()); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.const__ = from._impl_.const__; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_less_than(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kLt: { + _this->_impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + } + case kLte: { + _this->_impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + case LESS_THAN_NOT_SET: + break; + } + } + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[1]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[1]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_greater_than(); + } + _this->_impl_._oneof_case_[1] = oneof_from_case; + } + + switch (oneof_from_case) { + case kGt: { + _this->_impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + } + case kGte: { + _this->_impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + case GREATER_THAN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Fixed64Rules::CopyFrom(const Fixed64Rules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.Fixed64Rules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool Fixed64Rules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void Fixed64Rules::InternalSwap(Fixed64Rules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.const__, other->_impl_.const__); + swap(_impl_.less_than_, other->_impl_.less_than_); + swap(_impl_.greater_than_, other->_impl_.greater_than_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); + swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); +} + +::google::protobuf::Metadata Fixed64Rules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class SFixed32Rules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed32Rules, _impl_._oneof_case_); +}; + +SFixed32Rules::SFixed32Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, SFixed32Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.SFixed32Rules) +} +PROTOBUF_NDEBUG_INLINE SFixed32Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::SFixed32Rules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_}, + less_than_{}, + greater_than_{}, + _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} + +SFixed32Rules::SFixed32Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const SFixed32Rules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, SFixed32Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SFixed32Rules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + _impl_.const__ = from._impl_.const__; + switch (less_than_case()) { + case LESS_THAN_NOT_SET: + break; + case kLt: + _impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + case kLte: + _impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + switch (greater_than_case()) { + case GREATER_THAN_NOT_SET: + break; + case kGt: + _impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + case kGte: + _impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.SFixed32Rules) +} +PROTOBUF_NDEBUG_INLINE SFixed32Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +inline void SFixed32Rules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.const__ = {}; +} +SFixed32Rules::~SFixed32Rules() { + // @@protoc_insertion_point(destructor:buf.validate.SFixed32Rules) + SharedDtor(*this); +} +inline void SFixed32Rules::SharedDtor(MessageLite& self) { + SFixed32Rules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_less_than()) { + this_.clear_less_than(); + } + if (this_.has_greater_than()) { + this_.clear_greater_than(); + } + this_._impl_.~Impl_(); +} + +void SFixed32Rules::clear_less_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.SFixed32Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (less_than_case()) { + case kLt: { + // No need to clear + break; + } + case kLte: { + // No need to clear + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} + +void SFixed32Rules::clear_greater_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.SFixed32Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (greater_than_case()) { + case kGt: { + // No need to clear + break; + } + case kGte: { + // No need to clear + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL SFixed32Rules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) SFixed32Rules(arena); +} +constexpr auto SFixed32Rules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_._extensions_) + + decltype(SFixed32Rules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_.in_) + + decltype(SFixed32Rules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_.not_in_) + + decltype(SFixed32Rules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_.example_) + + decltype(SFixed32Rules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(SFixed32Rules), alignof(SFixed32Rules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&SFixed32Rules::PlacementNew_, + sizeof(SFixed32Rules), + alignof(SFixed32Rules)); + } +} +constexpr auto SFixed32Rules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_SFixed32Rules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + SFixed32Rules::IsInitializedImpl, + &SFixed32Rules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SFixed32Rules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &SFixed32Rules::ByteSizeLong, + &SFixed32Rules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_._cached_size_), + false, + }, + &SFixed32Rules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull SFixed32Rules_class_data_ = + SFixed32Rules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +SFixed32Rules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&SFixed32Rules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(SFixed32Rules_class_data_.tc_table); + return SFixed32Rules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 8, 0, 0, 2> +SFixed32Rules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_._extensions_), + 8, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967040, // skipmap + offsetof(decltype(_table_), field_entries), + 8, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + SFixed32Rules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::SFixed32Rules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated sfixed32 example = 8 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF32R1, + {69, 2, 0, + PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_.example_)}}, + // optional sfixed32 const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF32S1, + {13, 3, 0, + PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_.const__)}}, + // repeated sfixed32 in = 6 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF32R1, + {53, 0, 0, + PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_.in_)}}, + // repeated sfixed32 not_in = 7 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF32R1, + {61, 1, 0, + PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_.not_in_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional sfixed32 const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_.const__), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kSFixed32)}, + // sfixed32 lt = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_.less_than_.lt_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kSFixed32)}, + // sfixed32 lte = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_.less_than_.lte_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kSFixed32)}, + // sfixed32 gt = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_.greater_than_.gt_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kSFixed32)}, + // sfixed32 gte = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_.greater_than_.gte_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kSFixed32)}, + // repeated sfixed32 in = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kSFixed32)}, + // repeated sfixed32 not_in = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kSFixed32)}, + // repeated sfixed32 example = 8 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed32Rules, _impl_.example_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kSFixed32)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void SFixed32Rules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.SFixed32Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.example_.Clear(); + } + } + _impl_.const__ = 0; + clear_less_than(); + clear_greater_than(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL SFixed32Rules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const SFixed32Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL SFixed32Rules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const SFixed32Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.SFixed32Rules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional sfixed32 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed32ToArray( + 1, this_._internal_const_(), target); + } + + switch (this_.less_than_case()) { + case kLt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed32ToArray( + 2, this_._internal_lt(), target); + break; + } + case kLte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed32ToArray( + 3, this_._internal_lte(), target); + break; + } + default: + break; + } + switch (this_.greater_than_case()) { + case kGt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed32ToArray( + 4, this_._internal_gt(), target); + break; + } + case kGte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed32ToArray( + 5, this_._internal_gte(), target); + break; + } + default: + break; + } + // repeated sfixed32 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed32ToArray( + 6, this_._internal_in().Get(i), target); + } + } + + // repeated sfixed32 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed32ToArray( + 7, this_._internal_not_in().Get(i), target); + } + } + + // repeated sfixed32 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed32ToArray( + 8, this_._internal_example().Get(i), target); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.SFixed32Rules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t SFixed32Rules::ByteSizeLong(const MessageLite& base) { + const SFixed32Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t SFixed32Rules::ByteSizeLong() const { + const SFixed32Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.SFixed32Rules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + total_size += static_cast(0x00000008U & cached_has_bits) * 5; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + // repeated sfixed32 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + ::size_t data_size = ::size_t{4} * + ::_pbi::FromIntSize(this_._internal_in_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_in_size()); + total_size += tag_size + data_size; + } + // repeated sfixed32 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + ::size_t data_size = ::size_t{4} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + total_size += tag_size + data_size; + } + // repeated sfixed32 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + ::size_t data_size = ::size_t{4} * + ::_pbi::FromIntSize(this_._internal_example_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_example_size()); + total_size += tag_size + data_size; + } + } + switch (this_.less_than_case()) { + // sfixed32 lt = 2 [(.buf.validate.predefined) = { + case kLt: { + total_size += 5; + break; + } + // sfixed32 lte = 3 [(.buf.validate.predefined) = { + case kLte: { + total_size += 5; + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + switch (this_.greater_than_case()) { + // sfixed32 gt = 4 [(.buf.validate.predefined) = { + case kGt: { + total_size += 5; + break; + } + // sfixed32 gte = 5 [(.buf.validate.predefined) = { + case kGte: { + total_size += 5; + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void SFixed32Rules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.SFixed32Rules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->MergeFrom(from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->MergeFrom(from._internal_not_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_example()->MergeFrom(from._internal_example()); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.const__ = from._impl_.const__; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_less_than(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kLt: { + _this->_impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + } + case kLte: { + _this->_impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + case LESS_THAN_NOT_SET: + break; + } + } + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[1]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[1]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_greater_than(); + } + _this->_impl_._oneof_case_[1] = oneof_from_case; + } + + switch (oneof_from_case) { + case kGt: { + _this->_impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + } + case kGte: { + _this->_impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + case GREATER_THAN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void SFixed32Rules::CopyFrom(const SFixed32Rules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.SFixed32Rules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool SFixed32Rules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void SFixed32Rules::InternalSwap(SFixed32Rules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.const__, other->_impl_.const__); + swap(_impl_.less_than_, other->_impl_.less_than_); + swap(_impl_.greater_than_, other->_impl_.greater_than_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); + swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); +} + +::google::protobuf::Metadata SFixed32Rules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class SFixed64Rules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::SFixed64Rules, _impl_._oneof_case_); +}; + +SFixed64Rules::SFixed64Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, SFixed64Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.SFixed64Rules) +} +PROTOBUF_NDEBUG_INLINE SFixed64Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::SFixed64Rules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_}, + less_than_{}, + greater_than_{}, + _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} + +SFixed64Rules::SFixed64Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const SFixed64Rules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, SFixed64Rules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SFixed64Rules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + _impl_.const__ = from._impl_.const__; + switch (less_than_case()) { + case LESS_THAN_NOT_SET: + break; + case kLt: + _impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + case kLte: + _impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + switch (greater_than_case()) { + case GREATER_THAN_NOT_SET: + break; + case kGt: + _impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + case kGte: + _impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.SFixed64Rules) +} +PROTOBUF_NDEBUG_INLINE SFixed64Rules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +inline void SFixed64Rules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.const__ = {}; +} +SFixed64Rules::~SFixed64Rules() { + // @@protoc_insertion_point(destructor:buf.validate.SFixed64Rules) + SharedDtor(*this); +} +inline void SFixed64Rules::SharedDtor(MessageLite& self) { + SFixed64Rules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_less_than()) { + this_.clear_less_than(); + } + if (this_.has_greater_than()) { + this_.clear_greater_than(); + } + this_._impl_.~Impl_(); +} + +void SFixed64Rules::clear_less_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.SFixed64Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (less_than_case()) { + case kLt: { + // No need to clear + break; + } + case kLte: { + // No need to clear + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} + +void SFixed64Rules::clear_greater_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.SFixed64Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (greater_than_case()) { + case kGt: { + // No need to clear + break; + } + case kGte: { + // No need to clear + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL SFixed64Rules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) SFixed64Rules(arena); +} +constexpr auto SFixed64Rules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_._extensions_) + + decltype(SFixed64Rules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_.in_) + + decltype(SFixed64Rules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_.not_in_) + + decltype(SFixed64Rules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_.example_) + + decltype(SFixed64Rules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(SFixed64Rules), alignof(SFixed64Rules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&SFixed64Rules::PlacementNew_, + sizeof(SFixed64Rules), + alignof(SFixed64Rules)); + } +} +constexpr auto SFixed64Rules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_SFixed64Rules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + SFixed64Rules::IsInitializedImpl, + &SFixed64Rules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SFixed64Rules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &SFixed64Rules::ByteSizeLong, + &SFixed64Rules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_._cached_size_), + false, + }, + &SFixed64Rules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull SFixed64Rules_class_data_ = + SFixed64Rules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +SFixed64Rules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&SFixed64Rules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(SFixed64Rules_class_data_.tc_table); + return SFixed64Rules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 8, 0, 0, 2> +SFixed64Rules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_._extensions_), + 8, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967040, // skipmap + offsetof(decltype(_table_), field_entries), + 8, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + SFixed64Rules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::SFixed64Rules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated sfixed64 example = 8 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF64R1, + {65, 2, 0, + PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_.example_)}}, + // optional sfixed64 const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF64S1, + {9, 3, 0, + PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_.const__)}}, + // repeated sfixed64 in = 6 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF64R1, + {49, 0, 0, + PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_.in_)}}, + // repeated sfixed64 not_in = 7 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastF64R1, + {57, 1, 0, + PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_.not_in_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional sfixed64 const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_.const__), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kSFixed64)}, + // sfixed64 lt = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_.less_than_.lt_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kSFixed64)}, + // sfixed64 lte = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_.less_than_.lte_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kSFixed64)}, + // sfixed64 gt = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_.greater_than_.gt_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kSFixed64)}, + // sfixed64 gte = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_.greater_than_.gte_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kSFixed64)}, + // repeated sfixed64 in = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kSFixed64)}, + // repeated sfixed64 not_in = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kSFixed64)}, + // repeated sfixed64 example = 8 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(SFixed64Rules, _impl_.example_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kSFixed64)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void SFixed64Rules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.SFixed64Rules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.example_.Clear(); + } + } + _impl_.const__ = ::int64_t{0}; + clear_less_than(); + clear_greater_than(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL SFixed64Rules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const SFixed64Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL SFixed64Rules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const SFixed64Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.SFixed64Rules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional sfixed64 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed64ToArray( + 1, this_._internal_const_(), target); + } + + switch (this_.less_than_case()) { + case kLt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed64ToArray( + 2, this_._internal_lt(), target); + break; + } + case kLte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed64ToArray( + 3, this_._internal_lte(), target); + break; + } + default: + break; + } + switch (this_.greater_than_case()) { + case kGt: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed64ToArray( + 4, this_._internal_gt(), target); + break; + } + case kGte: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed64ToArray( + 5, this_._internal_gte(), target); + break; + } + default: + break; + } + // repeated sfixed64 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed64ToArray( + 6, this_._internal_in().Get(i), target); + } + } + + // repeated sfixed64 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed64ToArray( + 7, this_._internal_not_in().Get(i), target); + } + } + + // repeated sfixed64 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteSFixed64ToArray( + 8, this_._internal_example().Get(i), target); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.SFixed64Rules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t SFixed64Rules::ByteSizeLong(const MessageLite& base) { + const SFixed64Rules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t SFixed64Rules::ByteSizeLong() const { + const SFixed64Rules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.SFixed64Rules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + total_size += static_cast(0x00000008U & cached_has_bits) * 9; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + // repeated sfixed64 in = 6 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + ::size_t data_size = ::size_t{8} * + ::_pbi::FromIntSize(this_._internal_in_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_in_size()); + total_size += tag_size + data_size; + } + // repeated sfixed64 not_in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + ::size_t data_size = ::size_t{8} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + total_size += tag_size + data_size; + } + // repeated sfixed64 example = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + ::size_t data_size = ::size_t{8} * + ::_pbi::FromIntSize(this_._internal_example_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_example_size()); + total_size += tag_size + data_size; + } + } + switch (this_.less_than_case()) { + // sfixed64 lt = 2 [(.buf.validate.predefined) = { + case kLt: { + total_size += 9; + break; + } + // sfixed64 lte = 3 [(.buf.validate.predefined) = { + case kLte: { + total_size += 9; + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + switch (this_.greater_than_case()) { + // sfixed64 gt = 4 [(.buf.validate.predefined) = { + case kGt: { + total_size += 9; + break; + } + // sfixed64 gte = 5 [(.buf.validate.predefined) = { + case kGte: { + total_size += 9; + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void SFixed64Rules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.SFixed64Rules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->MergeFrom(from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->MergeFrom(from._internal_not_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_example()->MergeFrom(from._internal_example()); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.const__ = from._impl_.const__; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_less_than(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kLt: { + _this->_impl_.less_than_.lt_ = from._impl_.less_than_.lt_; + break; + } + case kLte: { + _this->_impl_.less_than_.lte_ = from._impl_.less_than_.lte_; + break; + } + case LESS_THAN_NOT_SET: + break; + } + } + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[1]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[1]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_greater_than(); + } + _this->_impl_._oneof_case_[1] = oneof_from_case; + } + + switch (oneof_from_case) { + case kGt: { + _this->_impl_.greater_than_.gt_ = from._impl_.greater_than_.gt_; + break; + } + case kGte: { + _this->_impl_.greater_than_.gte_ = from._impl_.greater_than_.gte_; + break; + } + case GREATER_THAN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void SFixed64Rules::CopyFrom(const SFixed64Rules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.SFixed64Rules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool SFixed64Rules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void SFixed64Rules::InternalSwap(SFixed64Rules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.const__, other->_impl_.const__); + swap(_impl_.less_than_, other->_impl_.less_than_); + swap(_impl_.greater_than_, other->_impl_.greater_than_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); + swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); +} + +::google::protobuf::Metadata SFixed64Rules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class BoolRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(BoolRules, _impl_._has_bits_); +}; + +BoolRules::BoolRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, BoolRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.BoolRules) +} +PROTOBUF_NDEBUG_INLINE BoolRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::BoolRules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + example_{visibility, arena, from.example_} {} + +BoolRules::BoolRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const BoolRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, BoolRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + BoolRules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + _impl_.const__ = from._impl_.const__; + + // @@protoc_insertion_point(copy_constructor:buf.validate.BoolRules) +} +PROTOBUF_NDEBUG_INLINE BoolRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + example_{visibility, arena} {} + +inline void BoolRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.const__ = {}; +} +BoolRules::~BoolRules() { + // @@protoc_insertion_point(destructor:buf.validate.BoolRules) + SharedDtor(*this); +} +inline void BoolRules::SharedDtor(MessageLite& self) { + BoolRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL BoolRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) BoolRules(arena); +} +constexpr auto BoolRules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(BoolRules, _impl_._extensions_) + + decltype(BoolRules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(BoolRules, _impl_.example_) + + decltype(BoolRules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(BoolRules), alignof(BoolRules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&BoolRules::PlacementNew_, + sizeof(BoolRules), + alignof(BoolRules)); + } +} +constexpr auto BoolRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_BoolRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + BoolRules::IsInitializedImpl, + &BoolRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &BoolRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &BoolRules::ByteSizeLong, + &BoolRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(BoolRules, _impl_._cached_size_), + false, + }, + &BoolRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull BoolRules_class_data_ = + BoolRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +BoolRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&BoolRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(BoolRules_class_data_.tc_table); + return BoolRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 0, 2> +BoolRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(BoolRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(BoolRules, _impl_._extensions_), + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + BoolRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::BoolRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated bool example = 2 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV8R1, + {16, 0, 0, + PROTOBUF_FIELD_OFFSET(BoolRules, _impl_.example_)}}, + // optional bool const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1(), + {8, 1, 0, + PROTOBUF_FIELD_OFFSET(BoolRules, _impl_.const__)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional bool const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BoolRules, _impl_.const__), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, + // repeated bool example = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BoolRules, _impl_.example_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBool)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void BoolRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.BoolRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.example_.Clear(); + } + _impl_.const__ = false; + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL BoolRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const BoolRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL BoolRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const BoolRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.BoolRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional bool const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 1, this_._internal_const_(), target); + } + + // repeated bool example = 2 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 2, this_._internal_example().Get(i), target); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.BoolRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t BoolRules::ByteSizeLong(const MessageLite& base) { + const BoolRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t BoolRules::ByteSizeLong() const { + const BoolRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.BoolRules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + total_size += static_cast(0x00000002U & cached_has_bits) * 2; + { + // repeated bool example = 2 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + ::size_t data_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_example_size()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_example_size()); + total_size += tag_size + data_size; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void BoolRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.BoolRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_example()->MergeFrom(from._internal_example()); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + _this->_impl_.const__ = from._impl_.const__; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void BoolRules::CopyFrom(const BoolRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.BoolRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool BoolRules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void BoolRules::InternalSwap(BoolRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.const__, other->_impl_.const__); +} + +::google::protobuf::Metadata BoolRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class StringRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(StringRules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::StringRules, _impl_._oneof_case_); +}; + +StringRules::StringRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, StringRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.StringRules) +} +PROTOBUF_NDEBUG_INLINE StringRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::StringRules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_}, + const__(arena, from.const__), + pattern_(arena, from.pattern_), + prefix_(arena, from.prefix_), + suffix_(arena, from.suffix_), + contains_(arena, from.contains_), + not_contains_(arena, from.not_contains_), + well_known_{}, + _oneof_case_{from._oneof_case_[0]} {} + +StringRules::StringRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const StringRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, StringRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + StringRules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, min_len_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, min_len_), + offsetof(Impl_, strict_) - + offsetof(Impl_, min_len_) + + sizeof(Impl_::strict_)); + switch (well_known_case()) { + case WELL_KNOWN_NOT_SET: + break; + case kEmail: + _impl_.well_known_.email_ = from._impl_.well_known_.email_; + break; + case kHostname: + _impl_.well_known_.hostname_ = from._impl_.well_known_.hostname_; + break; + case kIp: + _impl_.well_known_.ip_ = from._impl_.well_known_.ip_; + break; + case kIpv4: + _impl_.well_known_.ipv4_ = from._impl_.well_known_.ipv4_; + break; + case kIpv6: + _impl_.well_known_.ipv6_ = from._impl_.well_known_.ipv6_; + break; + case kUri: + _impl_.well_known_.uri_ = from._impl_.well_known_.uri_; + break; + case kUriRef: + _impl_.well_known_.uri_ref_ = from._impl_.well_known_.uri_ref_; + break; + case kAddress: + _impl_.well_known_.address_ = from._impl_.well_known_.address_; + break; + case kUuid: + _impl_.well_known_.uuid_ = from._impl_.well_known_.uuid_; + break; + case kTuuid: + _impl_.well_known_.tuuid_ = from._impl_.well_known_.tuuid_; + break; + case kIpWithPrefixlen: + _impl_.well_known_.ip_with_prefixlen_ = from._impl_.well_known_.ip_with_prefixlen_; + break; + case kIpv4WithPrefixlen: + _impl_.well_known_.ipv4_with_prefixlen_ = from._impl_.well_known_.ipv4_with_prefixlen_; + break; + case kIpv6WithPrefixlen: + _impl_.well_known_.ipv6_with_prefixlen_ = from._impl_.well_known_.ipv6_with_prefixlen_; + break; + case kIpPrefix: + _impl_.well_known_.ip_prefix_ = from._impl_.well_known_.ip_prefix_; + break; + case kIpv4Prefix: + _impl_.well_known_.ipv4_prefix_ = from._impl_.well_known_.ipv4_prefix_; + break; + case kIpv6Prefix: + _impl_.well_known_.ipv6_prefix_ = from._impl_.well_known_.ipv6_prefix_; + break; + case kHostAndPort: + _impl_.well_known_.host_and_port_ = from._impl_.well_known_.host_and_port_; + break; + case kUlid: + _impl_.well_known_.ulid_ = from._impl_.well_known_.ulid_; + break; + case kProtobufFqn: + _impl_.well_known_.protobuf_fqn_ = from._impl_.well_known_.protobuf_fqn_; + break; + case kProtobufDotFqn: + _impl_.well_known_.protobuf_dot_fqn_ = from._impl_.well_known_.protobuf_dot_fqn_; + break; + case kWellKnownRegex: + _impl_.well_known_.well_known_regex_ = from._impl_.well_known_.well_known_regex_; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.StringRules) +} +PROTOBUF_NDEBUG_INLINE StringRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena}, + const__(arena), + pattern_(arena), + prefix_(arena), + suffix_(arena), + contains_(arena), + not_contains_(arena), + well_known_{}, + _oneof_case_{} {} + +inline void StringRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, min_len_), + 0, + offsetof(Impl_, strict_) - + offsetof(Impl_, min_len_) + + sizeof(Impl_::strict_)); +} +StringRules::~StringRules() { + // @@protoc_insertion_point(destructor:buf.validate.StringRules) + SharedDtor(*this); +} +inline void StringRules::SharedDtor(MessageLite& self) { + StringRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.const__.Destroy(); + this_._impl_.pattern_.Destroy(); + this_._impl_.prefix_.Destroy(); + this_._impl_.suffix_.Destroy(); + this_._impl_.contains_.Destroy(); + this_._impl_.not_contains_.Destroy(); + if (this_.has_well_known()) { + this_.clear_well_known(); + } + this_._impl_.~Impl_(); +} + +void StringRules::clear_well_known() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.StringRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (well_known_case()) { + case kEmail: { + // No need to clear + break; + } + case kHostname: { + // No need to clear + break; + } + case kIp: { + // No need to clear + break; + } + case kIpv4: { + // No need to clear + break; + } + case kIpv6: { + // No need to clear + break; + } + case kUri: { + // No need to clear + break; + } + case kUriRef: { + // No need to clear + break; + } + case kAddress: { + // No need to clear + break; + } + case kUuid: { + // No need to clear + break; + } + case kTuuid: { + // No need to clear + break; + } + case kIpWithPrefixlen: { + // No need to clear + break; + } + case kIpv4WithPrefixlen: { + // No need to clear + break; + } + case kIpv6WithPrefixlen: { + // No need to clear + break; + } + case kIpPrefix: { + // No need to clear + break; + } + case kIpv4Prefix: { + // No need to clear + break; + } + case kIpv6Prefix: { + // No need to clear + break; + } + case kHostAndPort: { + // No need to clear + break; + } + case kUlid: { + // No need to clear + break; + } + case kProtobufFqn: { + // No need to clear + break; + } + case kProtobufDotFqn: { + // No need to clear + break; + } + case kWellKnownRegex: { + // No need to clear + break; + } + case WELL_KNOWN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = WELL_KNOWN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL StringRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) StringRules(arena); +} +constexpr auto StringRules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(StringRules, _impl_._extensions_) + + decltype(StringRules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.in_) + + decltype(StringRules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.not_in_) + + decltype(StringRules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.example_) + + decltype(StringRules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(StringRules), alignof(StringRules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&StringRules::PlacementNew_, + sizeof(StringRules), + alignof(StringRules)); + } +} +constexpr auto StringRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_StringRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + StringRules::IsInitializedImpl, + &StringRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &StringRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &StringRules::ByteSizeLong, + &StringRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(StringRules, _impl_._cached_size_), + false, + }, + &StringRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull StringRules_class_data_ = + StringRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +StringRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&StringRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(StringRules_class_data_.tc_table); + return StringRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<5, 37, 1, 0, 7> +StringRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(StringRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(StringRules, _impl_._extensions_), + 38, 248, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 0, // skipmap + offsetof(decltype(_table_), field_entries), + 37, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + StringRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::StringRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // optional string const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBS1, + {10, 3, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.const__)}}, + // optional uint64 min_len = 2 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(StringRules, _impl_.min_len_), 9>(), + {16, 9, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.min_len_)}}, + // optional uint64 max_len = 3 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(StringRules, _impl_.max_len_), 10>(), + {24, 10, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.max_len_)}}, + // optional uint64 min_bytes = 4 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(StringRules, _impl_.min_bytes_), 11>(), + {32, 11, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.min_bytes_)}}, + // optional uint64 max_bytes = 5 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(StringRules, _impl_.max_bytes_), 12>(), + {40, 12, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.max_bytes_)}}, + // optional string pattern = 6 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBS1, + {50, 4, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.pattern_)}}, + // optional string prefix = 7 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBS1, + {58, 5, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.prefix_)}}, + // optional string suffix = 8 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBS1, + {66, 6, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.suffix_)}}, + // optional string contains = 9 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBS1, + {74, 7, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.contains_)}}, + // repeated string in = 10 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBR1, + {82, 0, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.in_)}}, + // repeated string not_in = 11 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBR1, + {90, 1, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.not_in_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + // repeated string example = 34 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBR2, + {658, 2, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.example_)}}, + // optional uint64 len = 19 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV64S2, + {408, 13, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.len_)}}, + // optional uint64 len_bytes = 20 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV64S2, + {416, 14, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.len_bytes_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + // optional string not_contains = 23 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBS2, + {442, 8, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.not_contains_)}}, + {::_pbi::TcParser::MiniParse, {}}, + // optional bool strict = 25; + {::_pbi::TcParser::FastV8S2, + {456, 15, 0, + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.strict_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 33, 0, 1, + 65480, 32, + 65535, 65535 + }}, {{ + // optional string const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.const__), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // optional uint64 min_len = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.min_len_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)}, + // optional uint64 max_len = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.max_len_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)}, + // optional uint64 min_bytes = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.min_bytes_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)}, + // optional uint64 max_bytes = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.max_bytes_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)}, + // optional string pattern = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.pattern_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // optional string prefix = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.prefix_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // optional string suffix = 8 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.suffix_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // optional string contains = 9 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.contains_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // repeated string in = 10 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)}, + // repeated string not_in = 11 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)}, + // bool email = 12 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.email_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool hostname = 13 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.hostname_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool ip = 14 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.ip_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool ipv4 = 15 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.ipv4_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool ipv6 = 16 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.ipv6_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool uri = 17 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.uri_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool uri_ref = 18 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.uri_ref_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // optional uint64 len = 19 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.len_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)}, + // optional uint64 len_bytes = 20 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.len_bytes_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)}, + // bool address = 21 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.address_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool uuid = 22 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.uuid_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // optional string not_contains = 23 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.not_contains_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // .buf.validate.KnownRegex well_known_regex = 24 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.well_known_regex_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kEnumRange)}, + // optional bool strict = 25; + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.strict_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, + // bool ip_with_prefixlen = 26 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.ip_with_prefixlen_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool ipv4_with_prefixlen = 27 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.ipv4_with_prefixlen_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool ipv6_with_prefixlen = 28 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.ipv6_with_prefixlen_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool ip_prefix = 29 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.ip_prefix_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool ipv4_prefix = 30 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.ipv4_prefix_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool ipv6_prefix = 31 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.ipv6_prefix_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool host_and_port = 32 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.host_and_port_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool tuuid = 33 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.tuuid_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // repeated string example = 34 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.example_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)}, + // bool ulid = 35 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.ulid_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool protobuf_fqn = 37 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.protobuf_fqn_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool protobuf_dot_fqn = 38 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(StringRules, _impl_.well_known_.protobuf_dot_fqn_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + }}, + {{ + {0, 2}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void StringRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.StringRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.example_.Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _impl_.const__.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + _impl_.pattern_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000020U)) { + _impl_.prefix_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000040U)) { + _impl_.suffix_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000080U)) { + _impl_.contains_.ClearNonDefaultToEmpty(); + } + } + if (CheckHasBit(cached_has_bits, 0x00000100U)) { + _impl_.not_contains_.ClearNonDefaultToEmpty(); + } + if (BatchCheckHasBit(cached_has_bits, 0x0000fe00U)) { + ::memset(&_impl_.min_len_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.strict_) - + reinterpret_cast(&_impl_.min_len_)) + sizeof(_impl_.strict_)); + } + clear_well_known(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL StringRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const StringRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL StringRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const StringRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.StringRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional string const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + const ::std::string& _s = this_._internal_const_(); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // optional uint64 min_len = 2 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000200U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 2, this_._internal_min_len(), target); + } + + // optional uint64 max_len = 3 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000400U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 3, this_._internal_max_len(), target); + } + + // optional uint64 min_bytes = 4 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000800U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 4, this_._internal_min_bytes(), target); + } + + // optional uint64 max_bytes = 5 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00001000U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 5, this_._internal_max_bytes(), target); + } + + // optional string pattern = 6 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + const ::std::string& _s = this_._internal_pattern(); + target = stream->WriteStringMaybeAliased(6, _s, target); + } + + // optional string prefix = 7 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000020U)) { + const ::std::string& _s = this_._internal_prefix(); + target = stream->WriteStringMaybeAliased(7, _s, target); + } + + // optional string suffix = 8 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000040U)) { + const ::std::string& _s = this_._internal_suffix(); + target = stream->WriteStringMaybeAliased(8, _s, target); + } + + // optional string contains = 9 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000080U)) { + const ::std::string& _s = this_._internal_contains(); + target = stream->WriteStringMaybeAliased(9, _s, target); + } + + // repeated string in = 10 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + const auto& s = this_._internal_in().Get(i); + target = stream->WriteString(10, s, target); + } + } + + // repeated string not_in = 11 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + const auto& s = this_._internal_not_in().Get(i); + target = stream->WriteString(11, s, target); + } + } + + switch (this_.well_known_case()) { + case kEmail: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 12, this_._internal_email(), target); + break; + } + case kHostname: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 13, this_._internal_hostname(), target); + break; + } + case kIp: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 14, this_._internal_ip(), target); + break; + } + case kIpv4: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 15, this_._internal_ipv4(), target); + break; + } + case kIpv6: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 16, this_._internal_ipv6(), target); + break; + } + case kUri: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 17, this_._internal_uri(), target); + break; + } + case kUriRef: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 18, this_._internal_uri_ref(), target); + break; + } + default: + break; + } + // optional uint64 len = 19 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00002000U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 19, this_._internal_len(), target); + } + + // optional uint64 len_bytes = 20 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00004000U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 20, this_._internal_len_bytes(), target); + } + + switch (this_.well_known_case()) { + case kAddress: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 21, this_._internal_address(), target); + break; + } + case kUuid: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 22, this_._internal_uuid(), target); + break; + } + default: + break; + } + // optional string not_contains = 23 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000100U)) { + const ::std::string& _s = this_._internal_not_contains(); + target = stream->WriteStringMaybeAliased(23, _s, target); + } + + // .buf.validate.KnownRegex well_known_regex = 24 [(.buf.validate.predefined) = { + if (this_.well_known_case() == kWellKnownRegex) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 24, this_._internal_well_known_regex(), target); + } + + // optional bool strict = 25; + if (CheckHasBit(cached_has_bits, 0x00008000U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 25, this_._internal_strict(), target); + } + + switch (this_.well_known_case()) { + case kIpWithPrefixlen: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 26, this_._internal_ip_with_prefixlen(), target); + break; + } + case kIpv4WithPrefixlen: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 27, this_._internal_ipv4_with_prefixlen(), target); + break; + } + case kIpv6WithPrefixlen: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 28, this_._internal_ipv6_with_prefixlen(), target); + break; + } + case kIpPrefix: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 29, this_._internal_ip_prefix(), target); + break; + } + case kIpv4Prefix: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 30, this_._internal_ipv4_prefix(), target); + break; + } + case kIpv6Prefix: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 31, this_._internal_ipv6_prefix(), target); + break; + } + case kHostAndPort: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 32, this_._internal_host_and_port(), target); + break; + } + case kTuuid: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 33, this_._internal_tuuid(), target); + break; + } + default: + break; + } + // repeated string example = 34 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + const auto& s = this_._internal_example().Get(i); + target = stream->WriteString(34, s, target); + } + } + + switch (this_.well_known_case()) { + case kUlid: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 35, this_._internal_ulid(), target); + break; + } + case kProtobufFqn: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 37, this_._internal_protobuf_fqn(), target); + break; + } + case kProtobufDotFqn: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 38, this_._internal_protobuf_dot_fqn(), target); + break; + } + default: + break; + } + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.StringRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t StringRules::ByteSizeLong(const MessageLite& base) { + const StringRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t StringRules::ByteSizeLong() const { + const StringRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.StringRules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + total_size += static_cast(0x00008000U & cached_has_bits) * 3; + if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) { + // repeated string in = 10 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_in().size()); + for (int i = 0, n = this_._internal_in().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_in().Get(i)); + } + } + // repeated string not_in = 11 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_not_in().size()); + for (int i = 0, n = this_._internal_not_in().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_not_in().Get(i)); + } + } + // repeated string example = 34 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + total_size += + 2 * ::google::protobuf::internal::FromIntSize(this_._internal_example().size()); + for (int i = 0, n = this_._internal_example().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_example().Get(i)); + } + } + // optional string const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_const_()); + } + // optional string pattern = 6 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_pattern()); + } + // optional string prefix = 7 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000020U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_prefix()); + } + // optional string suffix = 8 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000040U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_suffix()); + } + // optional string contains = 9 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000080U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_contains()); + } + } + if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) { + // optional string not_contains = 23 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000100U)) { + total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_not_contains()); + } + // optional uint64 min_len = 2 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000200U)) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_min_len()); + } + // optional uint64 max_len = 3 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000400U)) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_max_len()); + } + // optional uint64 min_bytes = 4 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000800U)) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_min_bytes()); + } + // optional uint64 max_bytes = 5 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00001000U)) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_max_bytes()); + } + // optional uint64 len = 19 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00002000U)) { + total_size += 2 + ::_pbi::WireFormatLite::UInt64Size( + this_._internal_len()); + } + // optional uint64 len_bytes = 20 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00004000U)) { + total_size += 2 + ::_pbi::WireFormatLite::UInt64Size( + this_._internal_len_bytes()); + } + } + switch (this_.well_known_case()) { + // bool email = 12 [(.buf.validate.predefined) = { + case kEmail: { + total_size += 2; + break; + } + // bool hostname = 13 [(.buf.validate.predefined) = { + case kHostname: { + total_size += 2; + break; + } + // bool ip = 14 [(.buf.validate.predefined) = { + case kIp: { + total_size += 2; + break; + } + // bool ipv4 = 15 [(.buf.validate.predefined) = { + case kIpv4: { + total_size += 2; + break; + } + // bool ipv6 = 16 [(.buf.validate.predefined) = { + case kIpv6: { + total_size += 3; + break; + } + // bool uri = 17 [(.buf.validate.predefined) = { + case kUri: { + total_size += 3; + break; + } + // bool uri_ref = 18 [(.buf.validate.predefined) = { + case kUriRef: { + total_size += 3; + break; + } + // bool address = 21 [(.buf.validate.predefined) = { + case kAddress: { + total_size += 3; + break; + } + // bool uuid = 22 [(.buf.validate.predefined) = { + case kUuid: { + total_size += 3; + break; + } + // bool tuuid = 33 [(.buf.validate.predefined) = { + case kTuuid: { + total_size += 3; + break; + } + // bool ip_with_prefixlen = 26 [(.buf.validate.predefined) = { + case kIpWithPrefixlen: { + total_size += 3; + break; + } + // bool ipv4_with_prefixlen = 27 [(.buf.validate.predefined) = { + case kIpv4WithPrefixlen: { + total_size += 3; + break; + } + // bool ipv6_with_prefixlen = 28 [(.buf.validate.predefined) = { + case kIpv6WithPrefixlen: { + total_size += 3; + break; + } + // bool ip_prefix = 29 [(.buf.validate.predefined) = { + case kIpPrefix: { + total_size += 3; + break; + } + // bool ipv4_prefix = 30 [(.buf.validate.predefined) = { + case kIpv4Prefix: { + total_size += 3; + break; + } + // bool ipv6_prefix = 31 [(.buf.validate.predefined) = { + case kIpv6Prefix: { + total_size += 3; + break; + } + // bool host_and_port = 32 [(.buf.validate.predefined) = { + case kHostAndPort: { + total_size += 3; + break; + } + // bool ulid = 35 [(.buf.validate.predefined) = { + case kUlid: { + total_size += 3; + break; + } + // bool protobuf_fqn = 37 [(.buf.validate.predefined) = { + case kProtobufFqn: { + total_size += 3; + break; + } + // bool protobuf_dot_fqn = 38 [(.buf.validate.predefined) = { + case kProtobufDotFqn: { + total_size += 3; + break; + } + // .buf.validate.KnownRegex well_known_regex = 24 [(.buf.validate.predefined) = { + case kWellKnownRegex: { + total_size += 2 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_well_known_regex()); + break; + } + case WELL_KNOWN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void StringRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.StringRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_not_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_example()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_example()); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_internal_set_const_(from._internal_const_()); + } + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + _this->_internal_set_pattern(from._internal_pattern()); + } + if (CheckHasBit(cached_has_bits, 0x00000020U)) { + _this->_internal_set_prefix(from._internal_prefix()); + } + if (CheckHasBit(cached_has_bits, 0x00000040U)) { + _this->_internal_set_suffix(from._internal_suffix()); + } + if (CheckHasBit(cached_has_bits, 0x00000080U)) { + _this->_internal_set_contains(from._internal_contains()); + } + } + if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) { + if (CheckHasBit(cached_has_bits, 0x00000100U)) { + _this->_internal_set_not_contains(from._internal_not_contains()); + } + if (CheckHasBit(cached_has_bits, 0x00000200U)) { + _this->_impl_.min_len_ = from._impl_.min_len_; + } + if (CheckHasBit(cached_has_bits, 0x00000400U)) { + _this->_impl_.max_len_ = from._impl_.max_len_; + } + if (CheckHasBit(cached_has_bits, 0x00000800U)) { + _this->_impl_.min_bytes_ = from._impl_.min_bytes_; + } + if (CheckHasBit(cached_has_bits, 0x00001000U)) { + _this->_impl_.max_bytes_ = from._impl_.max_bytes_; + } + if (CheckHasBit(cached_has_bits, 0x00002000U)) { + _this->_impl_.len_ = from._impl_.len_; + } + if (CheckHasBit(cached_has_bits, 0x00004000U)) { + _this->_impl_.len_bytes_ = from._impl_.len_bytes_; + } + if (CheckHasBit(cached_has_bits, 0x00008000U)) { + _this->_impl_.strict_ = from._impl_.strict_; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_well_known(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kEmail: { + _this->_impl_.well_known_.email_ = from._impl_.well_known_.email_; + break; + } + case kHostname: { + _this->_impl_.well_known_.hostname_ = from._impl_.well_known_.hostname_; + break; + } + case kIp: { + _this->_impl_.well_known_.ip_ = from._impl_.well_known_.ip_; + break; + } + case kIpv4: { + _this->_impl_.well_known_.ipv4_ = from._impl_.well_known_.ipv4_; + break; + } + case kIpv6: { + _this->_impl_.well_known_.ipv6_ = from._impl_.well_known_.ipv6_; + break; + } + case kUri: { + _this->_impl_.well_known_.uri_ = from._impl_.well_known_.uri_; + break; + } + case kUriRef: { + _this->_impl_.well_known_.uri_ref_ = from._impl_.well_known_.uri_ref_; + break; + } + case kAddress: { + _this->_impl_.well_known_.address_ = from._impl_.well_known_.address_; + break; + } + case kUuid: { + _this->_impl_.well_known_.uuid_ = from._impl_.well_known_.uuid_; + break; + } + case kTuuid: { + _this->_impl_.well_known_.tuuid_ = from._impl_.well_known_.tuuid_; + break; + } + case kIpWithPrefixlen: { + _this->_impl_.well_known_.ip_with_prefixlen_ = from._impl_.well_known_.ip_with_prefixlen_; + break; + } + case kIpv4WithPrefixlen: { + _this->_impl_.well_known_.ipv4_with_prefixlen_ = from._impl_.well_known_.ipv4_with_prefixlen_; + break; + } + case kIpv6WithPrefixlen: { + _this->_impl_.well_known_.ipv6_with_prefixlen_ = from._impl_.well_known_.ipv6_with_prefixlen_; + break; + } + case kIpPrefix: { + _this->_impl_.well_known_.ip_prefix_ = from._impl_.well_known_.ip_prefix_; + break; + } + case kIpv4Prefix: { + _this->_impl_.well_known_.ipv4_prefix_ = from._impl_.well_known_.ipv4_prefix_; + break; + } + case kIpv6Prefix: { + _this->_impl_.well_known_.ipv6_prefix_ = from._impl_.well_known_.ipv6_prefix_; + break; + } + case kHostAndPort: { + _this->_impl_.well_known_.host_and_port_ = from._impl_.well_known_.host_and_port_; + break; + } + case kUlid: { + _this->_impl_.well_known_.ulid_ = from._impl_.well_known_.ulid_; + break; + } + case kProtobufFqn: { + _this->_impl_.well_known_.protobuf_fqn_ = from._impl_.well_known_.protobuf_fqn_; + break; + } + case kProtobufDotFqn: { + _this->_impl_.well_known_.protobuf_dot_fqn_ = from._impl_.well_known_.protobuf_dot_fqn_; + break; + } + case kWellKnownRegex: { + _this->_impl_.well_known_.well_known_regex_ = from._impl_.well_known_.well_known_regex_; + break; + } + case WELL_KNOWN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void StringRules::CopyFrom(const StringRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.StringRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool StringRules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void StringRules::InternalSwap(StringRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + _impl_.example_.InternalSwap(&other->_impl_.example_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.const__, &other->_impl_.const__, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.pattern_, &other->_impl_.pattern_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.prefix_, &other->_impl_.prefix_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.suffix_, &other->_impl_.suffix_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.contains_, &other->_impl_.contains_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.not_contains_, &other->_impl_.not_contains_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(StringRules, _impl_.strict_) + + sizeof(StringRules::_impl_.strict_) + - PROTOBUF_FIELD_OFFSET(StringRules, _impl_.min_len_)>( + reinterpret_cast(&_impl_.min_len_), + reinterpret_cast(&other->_impl_.min_len_)); + swap(_impl_.well_known_, other->_impl_.well_known_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::google::protobuf::Metadata StringRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class BytesRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(BytesRules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::BytesRules, _impl_._oneof_case_); +}; + +BytesRules::BytesRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, BytesRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.BytesRules) +} +PROTOBUF_NDEBUG_INLINE BytesRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::BytesRules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_}, + const__(arena, from.const__), + pattern_(arena, from.pattern_), + prefix_(arena, from.prefix_), + suffix_(arena, from.suffix_), + contains_(arena, from.contains_), + well_known_{}, + _oneof_case_{from._oneof_case_[0]} {} + +BytesRules::BytesRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const BytesRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, BytesRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + BytesRules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, min_len_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, min_len_), + offsetof(Impl_, len_) - + offsetof(Impl_, min_len_) + + sizeof(Impl_::len_)); + switch (well_known_case()) { + case WELL_KNOWN_NOT_SET: + break; + case kIp: + _impl_.well_known_.ip_ = from._impl_.well_known_.ip_; + break; + case kIpv4: + _impl_.well_known_.ipv4_ = from._impl_.well_known_.ipv4_; + break; + case kIpv6: + _impl_.well_known_.ipv6_ = from._impl_.well_known_.ipv6_; + break; + case kUuid: + _impl_.well_known_.uuid_ = from._impl_.well_known_.uuid_; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.BytesRules) +} +PROTOBUF_NDEBUG_INLINE BytesRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena}, + const__(arena), + pattern_(arena), + prefix_(arena), + suffix_(arena), + contains_(arena), + well_known_{}, + _oneof_case_{} {} + +inline void BytesRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, min_len_), + 0, + offsetof(Impl_, len_) - + offsetof(Impl_, min_len_) + + sizeof(Impl_::len_)); +} +BytesRules::~BytesRules() { + // @@protoc_insertion_point(destructor:buf.validate.BytesRules) + SharedDtor(*this); +} +inline void BytesRules::SharedDtor(MessageLite& self) { + BytesRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.const__.Destroy(); + this_._impl_.pattern_.Destroy(); + this_._impl_.prefix_.Destroy(); + this_._impl_.suffix_.Destroy(); + this_._impl_.contains_.Destroy(); + if (this_.has_well_known()) { + this_.clear_well_known(); + } + this_._impl_.~Impl_(); +} + +void BytesRules::clear_well_known() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.BytesRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (well_known_case()) { + case kIp: { + // No need to clear + break; + } + case kIpv4: { + // No need to clear + break; + } + case kIpv6: { + // No need to clear + break; + } + case kUuid: { + // No need to clear + break; + } + case WELL_KNOWN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = WELL_KNOWN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL BytesRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) BytesRules(arena); +} +constexpr auto BytesRules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_._extensions_) + + decltype(BytesRules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.in_) + + decltype(BytesRules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.not_in_) + + decltype(BytesRules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.example_) + + decltype(BytesRules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(BytesRules), alignof(BytesRules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&BytesRules::PlacementNew_, + sizeof(BytesRules), + alignof(BytesRules)); + } +} +constexpr auto BytesRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_BytesRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + BytesRules::IsInitializedImpl, + &BytesRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &BytesRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &BytesRules::ByteSizeLong, + &BytesRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_._cached_size_), + false, + }, + &BytesRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull BytesRules_class_data_ = + BytesRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +BytesRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&BytesRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(BytesRules_class_data_.tc_table); + return BytesRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<4, 15, 0, 0, 2> +BytesRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_._extensions_), + 15, 120, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294934528, // skipmap + offsetof(decltype(_table_), field_entries), + 15, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + BytesRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::BytesRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // optional bytes const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBS1, + {10, 3, 0, + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.const__)}}, + // optional uint64 min_len = 2 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(BytesRules, _impl_.min_len_), 8>(), + {16, 8, 0, + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.min_len_)}}, + // optional uint64 max_len = 3 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(BytesRules, _impl_.max_len_), 9>(), + {24, 9, 0, + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.max_len_)}}, + // optional string pattern = 4 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBS1, + {34, 4, 0, + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.pattern_)}}, + // optional bytes prefix = 5 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBS1, + {42, 5, 0, + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.prefix_)}}, + // optional bytes suffix = 6 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBS1, + {50, 6, 0, + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.suffix_)}}, + // optional bytes contains = 7 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBS1, + {58, 7, 0, + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.contains_)}}, + // repeated bytes in = 8 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBR1, + {66, 0, 0, + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.in_)}}, + // repeated bytes not_in = 9 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBR1, + {74, 1, 0, + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.not_in_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + // optional uint64 len = 13 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(BytesRules, _impl_.len_), 10>(), + {104, 10, 0, + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.len_)}}, + // repeated bytes example = 14 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBR1, + {114, 2, 0, + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.example_)}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional bytes const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.const__), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // optional uint64 min_len = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.min_len_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)}, + // optional uint64 max_len = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.max_len_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)}, + // optional string pattern = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.pattern_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // optional bytes prefix = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.prefix_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // optional bytes suffix = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.suffix_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // optional bytes contains = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.contains_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // repeated bytes in = 8 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)}, + // repeated bytes not_in = 9 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)}, + // bool ip = 10 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.well_known_.ip_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool ipv4 = 11 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.well_known_.ipv4_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool ipv6 = 12 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.well_known_.ipv6_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // optional uint64 len = 13 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.len_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)}, + // repeated bytes example = 14 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.example_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)}, + // bool uuid = 15 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.well_known_.uuid_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void BytesRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.BytesRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.example_.Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _impl_.const__.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + _impl_.pattern_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000020U)) { + _impl_.prefix_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000040U)) { + _impl_.suffix_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000080U)) { + _impl_.contains_.ClearNonDefaultToEmpty(); + } + } + if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) { + ::memset(&_impl_.min_len_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.len_) - + reinterpret_cast(&_impl_.min_len_)) + sizeof(_impl_.len_)); + } + clear_well_known(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL BytesRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const BytesRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL BytesRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const BytesRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.BytesRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional bytes const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + const ::std::string& _s = this_._internal_const_(); + target = stream->WriteBytesMaybeAliased(1, _s, target); + } + + // optional uint64 min_len = 2 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000100U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 2, this_._internal_min_len(), target); + } + + // optional uint64 max_len = 3 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000200U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 3, this_._internal_max_len(), target); + } + + // optional string pattern = 4 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + const ::std::string& _s = this_._internal_pattern(); + target = stream->WriteStringMaybeAliased(4, _s, target); + } + + // optional bytes prefix = 5 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000020U)) { + const ::std::string& _s = this_._internal_prefix(); + target = stream->WriteBytesMaybeAliased(5, _s, target); + } + + // optional bytes suffix = 6 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000040U)) { + const ::std::string& _s = this_._internal_suffix(); + target = stream->WriteBytesMaybeAliased(6, _s, target); + } + + // optional bytes contains = 7 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000080U)) { + const ::std::string& _s = this_._internal_contains(); + target = stream->WriteBytesMaybeAliased(7, _s, target); + } + + // repeated bytes in = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + const auto& s = this_._internal_in().Get(i); + target = stream->WriteBytes(8, s, target); + } + } + + // repeated bytes not_in = 9 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + const auto& s = this_._internal_not_in().Get(i); + target = stream->WriteBytes(9, s, target); + } + } + + switch (this_.well_known_case()) { + case kIp: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 10, this_._internal_ip(), target); + break; + } + case kIpv4: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 11, this_._internal_ipv4(), target); + break; + } + case kIpv6: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 12, this_._internal_ipv6(), target); + break; + } + default: + break; + } + // optional uint64 len = 13 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000400U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 13, this_._internal_len(), target); + } + + // repeated bytes example = 14 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + const auto& s = this_._internal_example().Get(i); + target = stream->WriteBytes(14, s, target); + } + } + + // bool uuid = 15 [(.buf.validate.predefined) = { + if (this_.well_known_case() == kUuid) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 15, this_._internal_uuid(), target); + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.BytesRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t BytesRules::ByteSizeLong(const MessageLite& base) { + const BytesRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t BytesRules::ByteSizeLong() const { + const BytesRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.BytesRules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) { + // repeated bytes in = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_in().size()); + for (int i = 0, n = this_._internal_in().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::BytesSize( + this_._internal_in().Get(i)); + } + } + // repeated bytes not_in = 9 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_not_in().size()); + for (int i = 0, n = this_._internal_not_in().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::BytesSize( + this_._internal_not_in().Get(i)); + } + } + // repeated bytes example = 14 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_example().size()); + for (int i = 0, n = this_._internal_example().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::BytesSize( + this_._internal_example().Get(i)); + } + } + // optional bytes const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize( + this_._internal_const_()); + } + // optional string pattern = 4 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_pattern()); + } + // optional bytes prefix = 5 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000020U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize( + this_._internal_prefix()); + } + // optional bytes suffix = 6 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000040U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize( + this_._internal_suffix()); + } + // optional bytes contains = 7 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000080U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize( + this_._internal_contains()); + } + } + if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) { + // optional uint64 min_len = 2 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000100U)) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_min_len()); + } + // optional uint64 max_len = 3 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000200U)) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_max_len()); + } + // optional uint64 len = 13 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000400U)) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_len()); + } + } + switch (this_.well_known_case()) { + // bool ip = 10 [(.buf.validate.predefined) = { + case kIp: { + total_size += 2; + break; + } + // bool ipv4 = 11 [(.buf.validate.predefined) = { + case kIpv4: { + total_size += 2; + break; + } + // bool ipv6 = 12 [(.buf.validate.predefined) = { + case kIpv6: { + total_size += 2; + break; + } + // bool uuid = 15 [(.buf.validate.predefined) = { + case kUuid: { + total_size += 2; + break; + } + case WELL_KNOWN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void BytesRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.BytesRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_not_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_example()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_example()); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_internal_set_const_(from._internal_const_()); + } + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + _this->_internal_set_pattern(from._internal_pattern()); + } + if (CheckHasBit(cached_has_bits, 0x00000020U)) { + _this->_internal_set_prefix(from._internal_prefix()); + } + if (CheckHasBit(cached_has_bits, 0x00000040U)) { + _this->_internal_set_suffix(from._internal_suffix()); + } + if (CheckHasBit(cached_has_bits, 0x00000080U)) { + _this->_internal_set_contains(from._internal_contains()); + } + } + if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) { + if (CheckHasBit(cached_has_bits, 0x00000100U)) { + _this->_impl_.min_len_ = from._impl_.min_len_; + } + if (CheckHasBit(cached_has_bits, 0x00000200U)) { + _this->_impl_.max_len_ = from._impl_.max_len_; + } + if (CheckHasBit(cached_has_bits, 0x00000400U)) { + _this->_impl_.len_ = from._impl_.len_; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_well_known(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kIp: { + _this->_impl_.well_known_.ip_ = from._impl_.well_known_.ip_; + break; + } + case kIpv4: { + _this->_impl_.well_known_.ipv4_ = from._impl_.well_known_.ipv4_; + break; + } + case kIpv6: { + _this->_impl_.well_known_.ipv6_ = from._impl_.well_known_.ipv6_; + break; + } + case kUuid: { + _this->_impl_.well_known_.uuid_ = from._impl_.well_known_.uuid_; + break; + } + case WELL_KNOWN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void BytesRules::CopyFrom(const BytesRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.BytesRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool BytesRules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void BytesRules::InternalSwap(BytesRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + _impl_.example_.InternalSwap(&other->_impl_.example_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.const__, &other->_impl_.const__, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.pattern_, &other->_impl_.pattern_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.prefix_, &other->_impl_.prefix_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.suffix_, &other->_impl_.suffix_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.contains_, &other->_impl_.contains_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.len_) + + sizeof(BytesRules::_impl_.len_) + - PROTOBUF_FIELD_OFFSET(BytesRules, _impl_.min_len_)>( + reinterpret_cast(&_impl_.min_len_), + reinterpret_cast(&other->_impl_.min_len_)); + swap(_impl_.well_known_, other->_impl_.well_known_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::google::protobuf::Metadata BytesRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class EnumRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(EnumRules, _impl_._has_bits_); +}; + +EnumRules::EnumRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, EnumRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.EnumRules) +} +PROTOBUF_NDEBUG_INLINE EnumRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::EnumRules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_} {} + +EnumRules::EnumRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const EnumRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, EnumRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + EnumRules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, const__), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, const__), + offsetof(Impl_, defined_only_) - + offsetof(Impl_, const__) + + sizeof(Impl_::defined_only_)); + + // @@protoc_insertion_point(copy_constructor:buf.validate.EnumRules) +} +PROTOBUF_NDEBUG_INLINE EnumRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena} {} + +inline void EnumRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, const__), + 0, + offsetof(Impl_, defined_only_) - + offsetof(Impl_, const__) + + sizeof(Impl_::defined_only_)); +} +EnumRules::~EnumRules() { + // @@protoc_insertion_point(destructor:buf.validate.EnumRules) + SharedDtor(*this); +} +inline void EnumRules::SharedDtor(MessageLite& self) { + EnumRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL EnumRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) EnumRules(arena); +} +constexpr auto EnumRules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(EnumRules, _impl_._extensions_) + + decltype(EnumRules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(EnumRules, _impl_.in_) + + decltype(EnumRules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(EnumRules, _impl_.not_in_) + + decltype(EnumRules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(EnumRules, _impl_.example_) + + decltype(EnumRules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(EnumRules), alignof(EnumRules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&EnumRules::PlacementNew_, + sizeof(EnumRules), + alignof(EnumRules)); + } +} +constexpr auto EnumRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_EnumRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + EnumRules::IsInitializedImpl, + &EnumRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &EnumRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &EnumRules::ByteSizeLong, + &EnumRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(EnumRules, _impl_._cached_size_), + false, + }, + &EnumRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull EnumRules_class_data_ = + EnumRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +EnumRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&EnumRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(EnumRules_class_data_.tc_table); + return EnumRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 5, 0, 0, 2> +EnumRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(EnumRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(EnumRules, _impl_._extensions_), + 5, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967264, // skipmap + offsetof(decltype(_table_), field_entries), + 5, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + EnumRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::EnumRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // optional int32 const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(EnumRules, _impl_.const__), 3>(), + {8, 3, 0, + PROTOBUF_FIELD_OFFSET(EnumRules, _impl_.const__)}}, + // optional bool defined_only = 2; + {::_pbi::TcParser::SingularVarintNoZag1(), + {16, 4, 0, + PROTOBUF_FIELD_OFFSET(EnumRules, _impl_.defined_only_)}}, + // repeated int32 in = 3 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV32R1, + {24, 0, 0, + PROTOBUF_FIELD_OFFSET(EnumRules, _impl_.in_)}}, + // repeated int32 not_in = 4 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV32R1, + {32, 1, 0, + PROTOBUF_FIELD_OFFSET(EnumRules, _impl_.not_in_)}}, + // repeated int32 example = 5 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastV32R1, + {40, 2, 0, + PROTOBUF_FIELD_OFFSET(EnumRules, _impl_.example_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional int32 const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(EnumRules, _impl_.const__), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)}, + // optional bool defined_only = 2; + {PROTOBUF_FIELD_OFFSET(EnumRules, _impl_.defined_only_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, + // repeated int32 in = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(EnumRules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt32)}, + // repeated int32 not_in = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(EnumRules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt32)}, + // repeated int32 example = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(EnumRules, _impl_.example_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt32)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void EnumRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.EnumRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.example_.Clear(); + } + } + if (BatchCheckHasBit(cached_has_bits, 0x00000018U)) { + ::memset(&_impl_.const__, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.defined_only_) - + reinterpret_cast(&_impl_.const__)) + sizeof(_impl_.defined_only_)); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL EnumRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const EnumRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL EnumRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const EnumRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.EnumRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional int32 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>( + stream, this_._internal_const_(), target); + } + + // optional bool defined_only = 2; + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 2, this_._internal_defined_only(), target); + } + + // repeated int32 in = 3 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray( + 3, this_._internal_in().Get(i), target); + } + } + + // repeated int32 not_in = 4 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray( + 4, this_._internal_not_in().Get(i), target); + } + } + + // repeated int32 example = 5 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (int i = 0, n = this_._internal_example_size(); i < n; ++i) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray( + 5, this_._internal_example().Get(i), target); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.EnumRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t EnumRules::ByteSizeLong(const MessageLite& base) { + const EnumRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t EnumRules::ByteSizeLong() const { + const EnumRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.EnumRules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + total_size += static_cast(0x00000010U & cached_has_bits) * 2; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + // repeated int32 in = 3 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + ::size_t data_size = ::_pbi::WireFormatLite::Int32Size( + this_._internal_in()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_in_size()); + total_size += tag_size + data_size; + } + // repeated int32 not_in = 4 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + ::size_t data_size = ::_pbi::WireFormatLite::Int32Size( + this_._internal_not_in()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_not_in_size()); + total_size += tag_size + data_size; + } + // repeated int32 example = 5 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + ::size_t data_size = ::_pbi::WireFormatLite::Int32Size( + this_._internal_example()); + ::size_t tag_size = ::size_t{1} * + ::_pbi::FromIntSize(this_._internal_example_size()); + total_size += tag_size + data_size; + } + // optional int32 const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_const_()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void EnumRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.EnumRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->MergeFrom(from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->MergeFrom(from._internal_not_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_example()->MergeFrom(from._internal_example()); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.const__ = from._impl_.const__; + } + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + _this->_impl_.defined_only_ = from._impl_.defined_only_; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void EnumRules::CopyFrom(const EnumRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.EnumRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool EnumRules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void EnumRules::InternalSwap(EnumRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + _impl_.example_.InternalSwap(&other->_impl_.example_); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(EnumRules, _impl_.defined_only_) + + sizeof(EnumRules::_impl_.defined_only_) + - PROTOBUF_FIELD_OFFSET(EnumRules, _impl_.const__)>( + reinterpret_cast(&_impl_.const__), + reinterpret_cast(&other->_impl_.const__)); +} + +::google::protobuf::Metadata EnumRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class RepeatedRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(RepeatedRules, _impl_._has_bits_); +}; + +RepeatedRules::RepeatedRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, RepeatedRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.RepeatedRules) +} +PROTOBUF_NDEBUG_INLINE RepeatedRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::RepeatedRules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0} {} + +RepeatedRules::RepeatedRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const RepeatedRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, RepeatedRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + RepeatedRules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.items_ = (CheckHasBit(cached_has_bits, 0x00000001U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.items_) + : nullptr; + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, min_items_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, min_items_), + offsetof(Impl_, unique_) - + offsetof(Impl_, min_items_) + + sizeof(Impl_::unique_)); + + // @@protoc_insertion_point(copy_constructor:buf.validate.RepeatedRules) +} +PROTOBUF_NDEBUG_INLINE RepeatedRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0} {} + +inline void RepeatedRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, items_), + 0, + offsetof(Impl_, unique_) - + offsetof(Impl_, items_) + + sizeof(Impl_::unique_)); +} +RepeatedRules::~RepeatedRules() { + // @@protoc_insertion_point(destructor:buf.validate.RepeatedRules) + SharedDtor(*this); +} +inline void RepeatedRules::SharedDtor(MessageLite& self) { + RepeatedRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + delete this_._impl_.items_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL RepeatedRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) RepeatedRules(arena); +} +constexpr auto RepeatedRules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(RepeatedRules, _impl_._extensions_) + + decltype(RepeatedRules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(RepeatedRules), alignof(RepeatedRules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&RepeatedRules::PlacementNew_, + sizeof(RepeatedRules), + alignof(RepeatedRules)); + } +} +constexpr auto RepeatedRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_RepeatedRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + RepeatedRules::IsInitializedImpl, + &RepeatedRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &RepeatedRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &RepeatedRules::ByteSizeLong, + &RepeatedRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(RepeatedRules, _impl_._cached_size_), + false, + }, + &RepeatedRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull RepeatedRules_class_data_ = + RepeatedRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +RepeatedRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&RepeatedRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(RepeatedRules_class_data_.tc_table); + return RepeatedRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 4, 1, 0, 2> +RepeatedRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(RepeatedRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(RepeatedRules, _impl_._extensions_), + 4, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967280, // skipmap + offsetof(decltype(_table_), field_entries), + 4, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + RepeatedRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::RepeatedRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // optional .buf.validate.FieldRules items = 4; + {::_pbi::TcParser::FastMtS1, + {34, 0, 0, + PROTOBUF_FIELD_OFFSET(RepeatedRules, _impl_.items_)}}, + // optional uint64 min_items = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(RepeatedRules, _impl_.min_items_), 1>(), + {8, 1, 0, + PROTOBUF_FIELD_OFFSET(RepeatedRules, _impl_.min_items_)}}, + // optional uint64 max_items = 2 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(RepeatedRules, _impl_.max_items_), 2>(), + {16, 2, 0, + PROTOBUF_FIELD_OFFSET(RepeatedRules, _impl_.max_items_)}}, + // optional bool unique = 3 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1(), + {24, 3, 0, + PROTOBUF_FIELD_OFFSET(RepeatedRules, _impl_.unique_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional uint64 min_items = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(RepeatedRules, _impl_.min_items_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)}, + // optional uint64 max_items = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(RepeatedRules, _impl_.max_items_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)}, + // optional bool unique = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(RepeatedRules, _impl_.unique_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, + // optional .buf.validate.FieldRules items = 4; + {PROTOBUF_FIELD_OFFSET(RepeatedRules, _impl_.items_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::buf::validate::FieldRules>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void RepeatedRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.RepeatedRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(_impl_.items_ != nullptr); + _impl_.items_->Clear(); + } + if (BatchCheckHasBit(cached_has_bits, 0x0000000eU)) { + ::memset(&_impl_.min_items_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.unique_) - + reinterpret_cast(&_impl_.min_items_)) + sizeof(_impl_.unique_)); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL RepeatedRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const RepeatedRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL RepeatedRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const RepeatedRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.RepeatedRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional uint64 min_items = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 1, this_._internal_min_items(), target); + } + + // optional uint64 max_items = 2 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 2, this_._internal_max_items(), target); + } + + // optional bool unique = 3 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 3, this_._internal_unique(), target); + } + + // optional .buf.validate.FieldRules items = 4; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, *this_._impl_.items_, this_._impl_.items_->GetCachedSize(), target, + stream); + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.RepeatedRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t RepeatedRules::ByteSizeLong(const MessageLite& base) { + const RepeatedRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t RepeatedRules::ByteSizeLong() const { + const RepeatedRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.RepeatedRules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + total_size += static_cast(0x00000008U & cached_has_bits) * 2; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + // optional .buf.validate.FieldRules items = 4; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.items_); + } + // optional uint64 min_items = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_min_items()); + } + // optional uint64 max_items = 2 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_max_items()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void RepeatedRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.RepeatedRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(from._impl_.items_ != nullptr); + if (_this->_impl_.items_ == nullptr) { + _this->_impl_.items_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.items_); + } else { + _this->_impl_.items_->MergeFrom(*from._impl_.items_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + _this->_impl_.min_items_ = from._impl_.min_items_; + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + _this->_impl_.max_items_ = from._impl_.max_items_; + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.unique_ = from._impl_.unique_; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void RepeatedRules::CopyFrom(const RepeatedRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.RepeatedRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool RepeatedRules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000001U)) { + if (!this_._impl_.items_->IsInitialized()) return false; + } + return true; +} + +void RepeatedRules::InternalSwap(RepeatedRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(RepeatedRules, _impl_.unique_) + + sizeof(RepeatedRules::_impl_.unique_) + - PROTOBUF_FIELD_OFFSET(RepeatedRules, _impl_.items_)>( + reinterpret_cast(&_impl_.items_), + reinterpret_cast(&other->_impl_.items_)); +} + +::google::protobuf::Metadata RepeatedRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class MapRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(MapRules, _impl_._has_bits_); +}; + +MapRules::MapRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, MapRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.MapRules) +} +PROTOBUF_NDEBUG_INLINE MapRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::MapRules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0} {} + +MapRules::MapRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const MapRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, MapRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + MapRules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.keys_ = (CheckHasBit(cached_has_bits, 0x00000001U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.keys_) + : nullptr; + _impl_.values_ = (CheckHasBit(cached_has_bits, 0x00000002U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.values_) + : nullptr; + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, min_pairs_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, min_pairs_), + offsetof(Impl_, max_pairs_) - + offsetof(Impl_, min_pairs_) + + sizeof(Impl_::max_pairs_)); + + // @@protoc_insertion_point(copy_constructor:buf.validate.MapRules) +} +PROTOBUF_NDEBUG_INLINE MapRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0} {} + +inline void MapRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, keys_), + 0, + offsetof(Impl_, max_pairs_) - + offsetof(Impl_, keys_) + + sizeof(Impl_::max_pairs_)); +} +MapRules::~MapRules() { + // @@protoc_insertion_point(destructor:buf.validate.MapRules) + SharedDtor(*this); +} +inline void MapRules::SharedDtor(MessageLite& self) { + MapRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + delete this_._impl_.keys_; + delete this_._impl_.values_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL MapRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) MapRules(arena); +} +constexpr auto MapRules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(MapRules, _impl_._extensions_) + + decltype(MapRules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(MapRules), alignof(MapRules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&MapRules::PlacementNew_, + sizeof(MapRules), + alignof(MapRules)); + } +} +constexpr auto MapRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_MapRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + MapRules::IsInitializedImpl, + &MapRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &MapRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &MapRules::ByteSizeLong, + &MapRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(MapRules, _impl_._cached_size_), + false, + }, + &MapRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull MapRules_class_data_ = + MapRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +MapRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&MapRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(MapRules_class_data_.tc_table); + return MapRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 4, 2, 0, 2> +MapRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(MapRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(MapRules, _impl_._extensions_), + 5, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967268, // skipmap + offsetof(decltype(_table_), field_entries), + 4, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + MapRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::MapRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // optional uint64 min_pairs = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(MapRules, _impl_.min_pairs_), 2>(), + {8, 2, 0, + PROTOBUF_FIELD_OFFSET(MapRules, _impl_.min_pairs_)}}, + // optional uint64 max_pairs = 2 [(.buf.validate.predefined) = { + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(MapRules, _impl_.max_pairs_), 3>(), + {16, 3, 0, + PROTOBUF_FIELD_OFFSET(MapRules, _impl_.max_pairs_)}}, + {::_pbi::TcParser::MiniParse, {}}, + // optional .buf.validate.FieldRules keys = 4; + {::_pbi::TcParser::FastMtS1, + {34, 0, 0, + PROTOBUF_FIELD_OFFSET(MapRules, _impl_.keys_)}}, + // optional .buf.validate.FieldRules values = 5; + {::_pbi::TcParser::FastMtS1, + {42, 1, 1, + PROTOBUF_FIELD_OFFSET(MapRules, _impl_.values_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional uint64 min_pairs = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(MapRules, _impl_.min_pairs_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)}, + // optional uint64 max_pairs = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(MapRules, _impl_.max_pairs_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)}, + // optional .buf.validate.FieldRules keys = 4; + {PROTOBUF_FIELD_OFFSET(MapRules, _impl_.keys_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // optional .buf.validate.FieldRules values = 5; + {PROTOBUF_FIELD_OFFSET(MapRules, _impl_.values_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::buf::validate::FieldRules>()}, + {::_pbi::TcParser::GetTable<::buf::validate::FieldRules>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void MapRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.MapRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(_impl_.keys_ != nullptr); + _impl_.keys_->Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(_impl_.values_ != nullptr); + _impl_.values_->Clear(); + } + } + if (BatchCheckHasBit(cached_has_bits, 0x0000000cU)) { + ::memset(&_impl_.min_pairs_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.max_pairs_) - + reinterpret_cast(&_impl_.min_pairs_)) + sizeof(_impl_.max_pairs_)); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL MapRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const MapRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL MapRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const MapRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.MapRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional uint64 min_pairs = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 1, this_._internal_min_pairs(), target); + } + + // optional uint64 max_pairs = 2 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 2, this_._internal_max_pairs(), target); + } + + // optional .buf.validate.FieldRules keys = 4; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, *this_._impl_.keys_, this_._impl_.keys_->GetCachedSize(), target, + stream); + } + + // optional .buf.validate.FieldRules values = 5; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 5, *this_._impl_.values_, this_._impl_.values_->GetCachedSize(), target, + stream); + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.MapRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t MapRules::ByteSizeLong(const MessageLite& base) { + const MapRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t MapRules::ByteSizeLong() const { + const MapRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.MapRules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + // optional .buf.validate.FieldRules keys = 4; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.keys_); + } + // optional .buf.validate.FieldRules values = 5; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.values_); + } + // optional uint64 min_pairs = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_min_pairs()); + } + // optional uint64 max_pairs = 2 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_max_pairs()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void MapRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.MapRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(from._impl_.keys_ != nullptr); + if (_this->_impl_.keys_ == nullptr) { + _this->_impl_.keys_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.keys_); + } else { + _this->_impl_.keys_->MergeFrom(*from._impl_.keys_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(from._impl_.values_ != nullptr); + if (_this->_impl_.values_ == nullptr) { + _this->_impl_.values_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.values_); + } else { + _this->_impl_.values_->MergeFrom(*from._impl_.values_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + _this->_impl_.min_pairs_ = from._impl_.min_pairs_; + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.max_pairs_ = from._impl_.max_pairs_; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void MapRules::CopyFrom(const MapRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.MapRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool MapRules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000001U)) { + if (!this_._impl_.keys_->IsInitialized()) return false; + } + if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000002U)) { + if (!this_._impl_.values_->IsInitialized()) return false; + } + return true; +} + +void MapRules::InternalSwap(MapRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(MapRules, _impl_.max_pairs_) + + sizeof(MapRules::_impl_.max_pairs_) + - PROTOBUF_FIELD_OFFSET(MapRules, _impl_.keys_)>( + reinterpret_cast(&_impl_.keys_), + reinterpret_cast(&other->_impl_.keys_)); +} + +::google::protobuf::Metadata MapRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class AnyRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(AnyRules, _impl_._has_bits_); +}; + +AnyRules::AnyRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, AnyRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.AnyRules) +} +PROTOBUF_NDEBUG_INLINE AnyRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::AnyRules& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_} {} + +AnyRules::AnyRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const AnyRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, AnyRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + AnyRules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:buf.validate.AnyRules) +} +PROTOBUF_NDEBUG_INLINE AnyRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena} {} + +inline void AnyRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +AnyRules::~AnyRules() { + // @@protoc_insertion_point(destructor:buf.validate.AnyRules) + SharedDtor(*this); +} +inline void AnyRules::SharedDtor(MessageLite& self) { + AnyRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL AnyRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) AnyRules(arena); +} +constexpr auto AnyRules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(AnyRules, _impl_.in_) + + decltype(AnyRules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(AnyRules, _impl_.not_in_) + + decltype(AnyRules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(AnyRules), alignof(AnyRules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&AnyRules::PlacementNew_, + sizeof(AnyRules), + alignof(AnyRules)); + } +} +constexpr auto AnyRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_AnyRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &AnyRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &AnyRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &AnyRules::ByteSizeLong, + &AnyRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(AnyRules, _impl_._cached_size_), + false, + }, + &AnyRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull AnyRules_class_data_ = + AnyRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +AnyRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&AnyRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(AnyRules_class_data_.tc_table); + return AnyRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 0, 2> +AnyRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(AnyRules, _impl_._has_bits_), + 0, // no _extensions_ + 3, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967289, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + AnyRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::AnyRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated string in = 2; + {::_pbi::TcParser::FastBR1, + {18, 0, 0, + PROTOBUF_FIELD_OFFSET(AnyRules, _impl_.in_)}}, + // repeated string not_in = 3; + {::_pbi::TcParser::FastBR1, + {26, 1, 0, + PROTOBUF_FIELD_OFFSET(AnyRules, _impl_.not_in_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // repeated string in = 2; + {PROTOBUF_FIELD_OFFSET(AnyRules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)}, + // repeated string not_in = 3; + {PROTOBUF_FIELD_OFFSET(AnyRules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void AnyRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.AnyRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL AnyRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const AnyRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL AnyRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const AnyRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.AnyRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // repeated string in = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + const auto& s = this_._internal_in().Get(i); + target = stream->WriteString(2, s, target); + } + } + + // repeated string not_in = 3; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + const auto& s = this_._internal_not_in().Get(i); + target = stream->WriteString(3, s, target); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.AnyRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t AnyRules::ByteSizeLong(const MessageLite& base) { + const AnyRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t AnyRules::ByteSizeLong() const { + const AnyRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.AnyRules) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + // repeated string in = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_in().size()); + for (int i = 0, n = this_._internal_in().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_in().Get(i)); + } + } + // repeated string not_in = 3; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_not_in().size()); + for (int i = 0, n = this_._internal_not_in().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_not_in().Get(i)); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void AnyRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.AnyRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_not_in()); + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void AnyRules::CopyFrom(const AnyRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.AnyRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void AnyRules::InternalSwap(AnyRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); +} + +::google::protobuf::Metadata AnyRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class DurationRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(DurationRules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::DurationRules, _impl_._oneof_case_); +}; + +void DurationRules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.const__ != nullptr) _impl_.const__->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +void DurationRules::set_allocated_lt(::google::protobuf::Duration* PROTOBUF_NULLABLE lt) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_less_than(); + if (lt) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(lt)->GetArena(); + if (message_arena != submessage_arena) { + lt = ::google::protobuf::internal::GetOwnedMessage(message_arena, lt, submessage_arena); + } + set_has_lt(); + _impl_.less_than_.lt_ = lt; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.DurationRules.lt) +} +void DurationRules::clear_lt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLt) { + if (GetArena() == nullptr) { + delete _impl_.less_than_.lt_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.less_than_.lt_); + } + clear_has_less_than(); + } +} +void DurationRules::set_allocated_lte(::google::protobuf::Duration* PROTOBUF_NULLABLE lte) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_less_than(); + if (lte) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(lte)->GetArena(); + if (message_arena != submessage_arena) { + lte = ::google::protobuf::internal::GetOwnedMessage(message_arena, lte, submessage_arena); + } + set_has_lte(); + _impl_.less_than_.lte_ = lte; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.DurationRules.lte) +} +void DurationRules::clear_lte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLte) { + if (GetArena() == nullptr) { + delete _impl_.less_than_.lte_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.less_than_.lte_); + } + clear_has_less_than(); + } +} +void DurationRules::set_allocated_gt(::google::protobuf::Duration* PROTOBUF_NULLABLE gt) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_greater_than(); + if (gt) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(gt)->GetArena(); + if (message_arena != submessage_arena) { + gt = ::google::protobuf::internal::GetOwnedMessage(message_arena, gt, submessage_arena); + } + set_has_gt(); + _impl_.greater_than_.gt_ = gt; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.DurationRules.gt) +} +void DurationRules::clear_gt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGt) { + if (GetArena() == nullptr) { + delete _impl_.greater_than_.gt_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.greater_than_.gt_); + } + clear_has_greater_than(); + } +} +void DurationRules::set_allocated_gte(::google::protobuf::Duration* PROTOBUF_NULLABLE gte) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_greater_than(); + if (gte) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(gte)->GetArena(); + if (message_arena != submessage_arena) { + gte = ::google::protobuf::internal::GetOwnedMessage(message_arena, gte, submessage_arena); + } + set_has_gte(); + _impl_.greater_than_.gte_ = gte; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.DurationRules.gte) +} +void DurationRules::clear_gte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGte) { + if (GetArena() == nullptr) { + delete _impl_.greater_than_.gte_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.greater_than_.gte_); + } + clear_has_greater_than(); + } +} +void DurationRules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +void DurationRules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +void DurationRules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +DurationRules::DurationRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, DurationRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.DurationRules) +} +PROTOBUF_NDEBUG_INLINE DurationRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::DurationRules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_}, + less_than_{}, + greater_than_{}, + _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} + +DurationRules::DurationRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const DurationRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, DurationRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + DurationRules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.const__ = (CheckHasBit(cached_has_bits, 0x00000008U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.const__) + : nullptr; + switch (less_than_case()) { + case LESS_THAN_NOT_SET: + break; + case kLt: + _impl_.less_than_.lt_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.less_than_.lt_); + break; + case kLte: + _impl_.less_than_.lte_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.less_than_.lte_); + break; + } + switch (greater_than_case()) { + case GREATER_THAN_NOT_SET: + break; + case kGt: + _impl_.greater_than_.gt_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.greater_than_.gt_); + break; + case kGte: + _impl_.greater_than_.gte_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.greater_than_.gte_); + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.DurationRules) +} +PROTOBUF_NDEBUG_INLINE DurationRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +inline void DurationRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.const__ = {}; +} +DurationRules::~DurationRules() { + // @@protoc_insertion_point(destructor:buf.validate.DurationRules) + SharedDtor(*this); +} +inline void DurationRules::SharedDtor(MessageLite& self) { + DurationRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + delete this_._impl_.const__; + if (this_.has_less_than()) { + this_.clear_less_than(); + } + if (this_.has_greater_than()) { + this_.clear_greater_than(); + } + this_._impl_.~Impl_(); +} + +void DurationRules::clear_less_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.DurationRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (less_than_case()) { + case kLt: { + if (GetArena() == nullptr) { + delete _impl_.less_than_.lt_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.less_than_.lt_); + } + break; + } + case kLte: { + if (GetArena() == nullptr) { + delete _impl_.less_than_.lte_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.less_than_.lte_); + } + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} + +void DurationRules::clear_greater_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.DurationRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (greater_than_case()) { + case kGt: { + if (GetArena() == nullptr) { + delete _impl_.greater_than_.gt_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.greater_than_.gt_); + } + break; + } + case kGte: { + if (GetArena() == nullptr) { + delete _impl_.greater_than_.gte_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.greater_than_.gte_); + } + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL DurationRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) DurationRules(arena); +} +constexpr auto DurationRules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(DurationRules, _impl_._extensions_) + + decltype(DurationRules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(DurationRules, _impl_.in_) + + decltype(DurationRules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(DurationRules, _impl_.not_in_) + + decltype(DurationRules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(DurationRules, _impl_.example_) + + decltype(DurationRules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(DurationRules), alignof(DurationRules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&DurationRules::PlacementNew_, + sizeof(DurationRules), + alignof(DurationRules)); + } +} +constexpr auto DurationRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_DurationRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + DurationRules::IsInitializedImpl, + &DurationRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &DurationRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &DurationRules::ByteSizeLong, + &DurationRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(DurationRules, _impl_._cached_size_), + false, + }, + &DurationRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull DurationRules_class_data_ = + DurationRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +DurationRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&DurationRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(DurationRules_class_data_.tc_table); + return DurationRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 8, 8, 0, 2> +DurationRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(DurationRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(DurationRules, _impl_._extensions_), + 9, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294966785, // skipmap + offsetof(decltype(_table_), field_entries), + 8, // num_field_entries + 8, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + DurationRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::DurationRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .google.protobuf.Duration not_in = 8 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastMtR1, + {66, 1, 6, + PROTOBUF_FIELD_OFFSET(DurationRules, _impl_.not_in_)}}, + // repeated .google.protobuf.Duration example = 9 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastMtR1, + {74, 2, 7, + PROTOBUF_FIELD_OFFSET(DurationRules, _impl_.example_)}}, + // optional .google.protobuf.Duration const = 2 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastMtS1, + {18, 3, 0, + PROTOBUF_FIELD_OFFSET(DurationRules, _impl_.const__)}}, + // repeated .google.protobuf.Duration in = 7 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastMtR1, + {58, 0, 5, + PROTOBUF_FIELD_OFFSET(DurationRules, _impl_.in_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional .google.protobuf.Duration const = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DurationRules, _impl_.const__), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.protobuf.Duration lt = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DurationRules, _impl_.less_than_.lt_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.protobuf.Duration lte = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DurationRules, _impl_.less_than_.lte_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.protobuf.Duration gt = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DurationRules, _impl_.greater_than_.gt_), _Internal::kOneofCaseOffset + 4, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.protobuf.Duration gte = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DurationRules, _impl_.greater_than_.gte_), _Internal::kOneofCaseOffset + 4, 4, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // repeated .google.protobuf.Duration in = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DurationRules, _impl_.in_), _Internal::kHasBitsOffset + 0, 5, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + // repeated .google.protobuf.Duration not_in = 8 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DurationRules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 6, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + // repeated .google.protobuf.Duration example = 9 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(DurationRules, _impl_.example_), _Internal::kHasBitsOffset + 2, 7, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::google::protobuf::Duration>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Duration>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Duration>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Duration>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Duration>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Duration>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Duration>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Duration>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void DurationRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.DurationRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.example_.Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + ABSL_DCHECK(_impl_.const__ != nullptr); + _impl_.const__->Clear(); + } + } + clear_less_than(); + clear_greater_than(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL DurationRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const DurationRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL DurationRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const DurationRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.DurationRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional .google.protobuf.Duration const = 2 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, *this_._impl_.const__, this_._impl_.const__->GetCachedSize(), target, + stream); + } + + switch (this_.less_than_case()) { + case kLt: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, *this_._impl_.less_than_.lt_, this_._impl_.less_than_.lt_->GetCachedSize(), target, + stream); + break; + } + case kLte: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, *this_._impl_.less_than_.lte_, this_._impl_.less_than_.lte_->GetCachedSize(), target, + stream); + break; + } + default: + break; + } + switch (this_.greater_than_case()) { + case kGt: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 5, *this_._impl_.greater_than_.gt_, this_._impl_.greater_than_.gt_->GetCachedSize(), target, + stream); + break; + } + case kGte: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 6, *this_._impl_.greater_than_.gte_, this_._impl_.greater_than_.gte_->GetCachedSize(), target, + stream); + break; + } + default: + break; + } + // repeated .google.protobuf.Duration in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_in_size()); + i < n; i++) { + const auto& repfield = this_._internal_in().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 7, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + // repeated .google.protobuf.Duration not_in = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_not_in_size()); + i < n; i++) { + const auto& repfield = this_._internal_not_in().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 8, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + // repeated .google.protobuf.Duration example = 9 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_example_size()); + i < n; i++) { + const auto& repfield = this_._internal_example().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 9, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.DurationRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t DurationRules::ByteSizeLong(const MessageLite& base) { + const DurationRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t DurationRules::ByteSizeLong() const { + const DurationRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.DurationRules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + // repeated .google.protobuf.Duration in = 7 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += 1UL * this_._internal_in_size(); + for (const auto& msg : this_._internal_in()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // repeated .google.protobuf.Duration not_in = 8 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + total_size += 1UL * this_._internal_not_in_size(); + for (const auto& msg : this_._internal_not_in()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // repeated .google.protobuf.Duration example = 9 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + total_size += 1UL * this_._internal_example_size(); + for (const auto& msg : this_._internal_example()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // optional .google.protobuf.Duration const = 2 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.const__); + } + } + switch (this_.less_than_case()) { + // .google.protobuf.Duration lt = 3 [(.buf.validate.predefined) = { + case kLt: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.less_than_.lt_); + break; + } + // .google.protobuf.Duration lte = 4 [(.buf.validate.predefined) = { + case kLte: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.less_than_.lte_); + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + switch (this_.greater_than_case()) { + // .google.protobuf.Duration gt = 5 [(.buf.validate.predefined) = { + case kGt: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.greater_than_.gt_); + break; + } + // .google.protobuf.Duration gte = 6 [(.buf.validate.predefined) = { + case kGte: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.greater_than_.gte_); + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void DurationRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.DurationRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_not_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_example()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_example()); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + ABSL_DCHECK(from._impl_.const__ != nullptr); + if (_this->_impl_.const__ == nullptr) { + _this->_impl_.const__ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.const__); + } else { + _this->_impl_.const__->MergeFrom(*from._impl_.const__); + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_less_than(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kLt: { + if (oneof_needs_init) { + _this->_impl_.less_than_.lt_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.less_than_.lt_); + } else { + _this->_impl_.less_than_.lt_->MergeFrom(*from._impl_.less_than_.lt_); + } + break; + } + case kLte: { + if (oneof_needs_init) { + _this->_impl_.less_than_.lte_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.less_than_.lte_); + } else { + _this->_impl_.less_than_.lte_->MergeFrom(*from._impl_.less_than_.lte_); + } + break; + } + case LESS_THAN_NOT_SET: + break; + } + } + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[1]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[1]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_greater_than(); + } + _this->_impl_._oneof_case_[1] = oneof_from_case; + } + + switch (oneof_from_case) { + case kGt: { + if (oneof_needs_init) { + _this->_impl_.greater_than_.gt_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.greater_than_.gt_); + } else { + _this->_impl_.greater_than_.gt_->MergeFrom(*from._impl_.greater_than_.gt_); + } + break; + } + case kGte: { + if (oneof_needs_init) { + _this->_impl_.greater_than_.gte_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.greater_than_.gte_); + } else { + _this->_impl_.greater_than_.gte_->MergeFrom(*from._impl_.greater_than_.gte_); + } + break; + } + case GREATER_THAN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void DurationRules::CopyFrom(const DurationRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.DurationRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool DurationRules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void DurationRules::InternalSwap(DurationRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.const__, other->_impl_.const__); + swap(_impl_.less_than_, other->_impl_.less_than_); + swap(_impl_.greater_than_, other->_impl_.greater_than_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); + swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); +} + +::google::protobuf::Metadata DurationRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class FieldMaskRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_._has_bits_); +}; + +void FieldMaskRules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.const__ != nullptr) _impl_.const__->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +void FieldMaskRules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +FieldMaskRules::FieldMaskRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, FieldMaskRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.FieldMaskRules) +} +PROTOBUF_NDEBUG_INLINE FieldMaskRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::FieldMaskRules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + in_{visibility, arena, from.in_}, + not_in_{visibility, arena, from.not_in_}, + example_{visibility, arena, from.example_} {} + +FieldMaskRules::FieldMaskRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const FieldMaskRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, FieldMaskRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + FieldMaskRules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.const__ = (CheckHasBit(cached_has_bits, 0x00000008U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.const__) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:buf.validate.FieldMaskRules) +} +PROTOBUF_NDEBUG_INLINE FieldMaskRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + in_{visibility, arena}, + not_in_{visibility, arena}, + example_{visibility, arena} {} + +inline void FieldMaskRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.const__ = {}; +} +FieldMaskRules::~FieldMaskRules() { + // @@protoc_insertion_point(destructor:buf.validate.FieldMaskRules) + SharedDtor(*this); +} +inline void FieldMaskRules::SharedDtor(MessageLite& self) { + FieldMaskRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + delete this_._impl_.const__; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL FieldMaskRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) FieldMaskRules(arena); +} +constexpr auto FieldMaskRules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_._extensions_) + + decltype(FieldMaskRules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_.in_) + + decltype(FieldMaskRules::_impl_.in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_.not_in_) + + decltype(FieldMaskRules::_impl_.not_in_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_.example_) + + decltype(FieldMaskRules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(FieldMaskRules), alignof(FieldMaskRules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&FieldMaskRules::PlacementNew_, + sizeof(FieldMaskRules), + alignof(FieldMaskRules)); + } +} +constexpr auto FieldMaskRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_FieldMaskRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + FieldMaskRules::IsInitializedImpl, + &FieldMaskRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FieldMaskRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FieldMaskRules::ByteSizeLong, + &FieldMaskRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_._cached_size_), + false, + }, + &FieldMaskRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull FieldMaskRules_class_data_ = + FieldMaskRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +FieldMaskRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&FieldMaskRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(FieldMaskRules_class_data_.tc_table); + return FieldMaskRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 4, 2, 0, 2> +FieldMaskRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_._extensions_), + 4, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967280, // skipmap + offsetof(decltype(_table_), field_entries), + 4, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + FieldMaskRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::FieldMaskRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .google.protobuf.FieldMask example = 4 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastMtR1, + {34, 2, 1, + PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_.example_)}}, + // optional .google.protobuf.FieldMask const = 1 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastMtS1, + {10, 3, 0, + PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_.const__)}}, + // repeated string in = 2 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBR1, + {18, 0, 0, + PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_.in_)}}, + // repeated string not_in = 3 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastBR1, + {26, 1, 0, + PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_.not_in_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional .google.protobuf.FieldMask const = 1 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_.const__), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // repeated string in = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_.in_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)}, + // repeated string not_in = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_.not_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)}, + // repeated .google.protobuf.FieldMask example = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(FieldMaskRules, _impl_.example_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::google::protobuf::FieldMask>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::FieldMask>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void FieldMaskRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.FieldMaskRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.not_in_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.example_.Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + ABSL_DCHECK(_impl_.const__ != nullptr); + _impl_.const__->Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL FieldMaskRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const FieldMaskRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL FieldMaskRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const FieldMaskRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.FieldMaskRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional .google.protobuf.FieldMask const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, *this_._impl_.const__, this_._impl_.const__->GetCachedSize(), target, + stream); + } + + // repeated string in = 2 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_in_size(); i < n; ++i) { + const auto& s = this_._internal_in().Get(i); + target = stream->WriteString(2, s, target); + } + } + + // repeated string not_in = 3 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_not_in_size(); i < n; ++i) { + const auto& s = this_._internal_not_in().Get(i); + target = stream->WriteString(3, s, target); + } + } + + // repeated .google.protobuf.FieldMask example = 4 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_example_size()); + i < n; i++) { + const auto& repfield = this_._internal_example().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.FieldMaskRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t FieldMaskRules::ByteSizeLong(const MessageLite& base) { + const FieldMaskRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t FieldMaskRules::ByteSizeLong() const { + const FieldMaskRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.FieldMaskRules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + // repeated string in = 2 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_in().size()); + for (int i = 0, n = this_._internal_in().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_in().Get(i)); + } + } + // repeated string not_in = 3 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_not_in().size()); + for (int i = 0, n = this_._internal_not_in().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_not_in().Get(i)); + } + } + // repeated .google.protobuf.FieldMask example = 4 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + total_size += 1UL * this_._internal_example_size(); + for (const auto& msg : this_._internal_example()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // optional .google.protobuf.FieldMask const = 1 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.const__); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void FieldMaskRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.FieldMaskRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_in()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_not_in()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_not_in()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_example()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_example()); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + ABSL_DCHECK(from._impl_.const__ != nullptr); + if (_this->_impl_.const__ == nullptr) { + _this->_impl_.const__ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.const__); + } else { + _this->_impl_.const__->MergeFrom(*from._impl_.const__); + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void FieldMaskRules::CopyFrom(const FieldMaskRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.FieldMaskRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool FieldMaskRules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void FieldMaskRules::InternalSwap(FieldMaskRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.in_.InternalSwap(&other->_impl_.in_); + _impl_.not_in_.InternalSwap(&other->_impl_.not_in_); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.const__, other->_impl_.const__); +} + +::google::protobuf::Metadata FieldMaskRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class TimestampRules::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::TimestampRules, _impl_._oneof_case_); +}; + +void TimestampRules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.const__ != nullptr) _impl_.const__->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +void TimestampRules::set_allocated_lt(::google::protobuf::Timestamp* PROTOBUF_NULLABLE lt) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_less_than(); + if (lt) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(lt)->GetArena(); + if (message_arena != submessage_arena) { + lt = ::google::protobuf::internal::GetOwnedMessage(message_arena, lt, submessage_arena); + } + set_has_lt(); + _impl_.less_than_.lt_ = lt; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.TimestampRules.lt) +} +void TimestampRules::clear_lt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLt) { + if (GetArena() == nullptr) { + delete _impl_.less_than_.lt_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.less_than_.lt_); + } + clear_has_less_than(); + } +} +void TimestampRules::set_allocated_lte(::google::protobuf::Timestamp* PROTOBUF_NULLABLE lte) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_less_than(); + if (lte) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(lte)->GetArena(); + if (message_arena != submessage_arena) { + lte = ::google::protobuf::internal::GetOwnedMessage(message_arena, lte, submessage_arena); + } + set_has_lte(); + _impl_.less_than_.lte_ = lte; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.TimestampRules.lte) +} +void TimestampRules::clear_lte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLte) { + if (GetArena() == nullptr) { + delete _impl_.less_than_.lte_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.less_than_.lte_); + } + clear_has_less_than(); + } +} +void TimestampRules::set_allocated_gt(::google::protobuf::Timestamp* PROTOBUF_NULLABLE gt) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_greater_than(); + if (gt) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(gt)->GetArena(); + if (message_arena != submessage_arena) { + gt = ::google::protobuf::internal::GetOwnedMessage(message_arena, gt, submessage_arena); + } + set_has_gt(); + _impl_.greater_than_.gt_ = gt; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.TimestampRules.gt) +} +void TimestampRules::clear_gt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGt) { + if (GetArena() == nullptr) { + delete _impl_.greater_than_.gt_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.greater_than_.gt_); + } + clear_has_greater_than(); + } +} +void TimestampRules::set_allocated_gte(::google::protobuf::Timestamp* PROTOBUF_NULLABLE gte) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_greater_than(); + if (gte) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(gte)->GetArena(); + if (message_arena != submessage_arena) { + gte = ::google::protobuf::internal::GetOwnedMessage(message_arena, gte, submessage_arena); + } + set_has_gte(); + _impl_.greater_than_.gte_ = gte; + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.TimestampRules.gte) +} +void TimestampRules::clear_gte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGte) { + if (GetArena() == nullptr) { + delete _impl_.greater_than_.gte_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.greater_than_.gte_); + } + clear_has_greater_than(); + } +} +void TimestampRules::clear_within() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.within_ != nullptr) _impl_.within_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +void TimestampRules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +TimestampRules::TimestampRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, TimestampRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.TimestampRules) +} +PROTOBUF_NDEBUG_INLINE TimestampRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::TimestampRules& from_msg) + : _extensions_{visibility, arena}, + _has_bits_{from._has_bits_}, + _cached_size_{0}, + example_{visibility, arena, from.example_}, + less_than_{}, + greater_than_{}, + _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} + +TimestampRules::TimestampRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const TimestampRules& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, TimestampRules_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + TimestampRules* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_._extensions_.MergeFrom(this, from._impl_._extensions_); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.const__ = (CheckHasBit(cached_has_bits, 0x00000001U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.const__) + : nullptr; + _impl_.within_ = (CheckHasBit(cached_has_bits, 0x00000002U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.within_) + : nullptr; + switch (less_than_case()) { + case LESS_THAN_NOT_SET: + break; + case kLt: + _impl_.less_than_.lt_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.less_than_.lt_); + break; + case kLte: + _impl_.less_than_.lte_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.less_than_.lte_); + break; + case kLtNow: + _impl_.less_than_.lt_now_ = from._impl_.less_than_.lt_now_; + break; + } + switch (greater_than_case()) { + case GREATER_THAN_NOT_SET: + break; + case kGt: + _impl_.greater_than_.gt_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.greater_than_.gt_); + break; + case kGte: + _impl_.greater_than_.gte_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.greater_than_.gte_); + break; + case kGtNow: + _impl_.greater_than_.gt_now_ = from._impl_.greater_than_.gt_now_; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.TimestampRules) +} +PROTOBUF_NDEBUG_INLINE TimestampRules::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _extensions_{visibility, arena}, + _cached_size_{0}, + example_{visibility, arena}, + less_than_{}, + greater_than_{}, + _oneof_case_{} {} + +inline void TimestampRules::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, const__), + 0, + offsetof(Impl_, within_) - + offsetof(Impl_, const__) + + sizeof(Impl_::within_)); +} +TimestampRules::~TimestampRules() { + // @@protoc_insertion_point(destructor:buf.validate.TimestampRules) + SharedDtor(*this); +} +inline void TimestampRules::SharedDtor(MessageLite& self) { + TimestampRules& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + delete this_._impl_.const__; + delete this_._impl_.within_; + if (this_.has_less_than()) { + this_.clear_less_than(); + } + if (this_.has_greater_than()) { + this_.clear_greater_than(); + } + this_._impl_.~Impl_(); +} + +void TimestampRules::clear_less_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.TimestampRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (less_than_case()) { + case kLt: { + if (GetArena() == nullptr) { + delete _impl_.less_than_.lt_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.less_than_.lt_); + } + break; + } + case kLte: { + if (GetArena() == nullptr) { + delete _impl_.less_than_.lte_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.less_than_.lte_); + } + break; + } + case kLtNow: { + // No need to clear + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} + +void TimestampRules::clear_greater_than() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.TimestampRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (greater_than_case()) { + case kGt: { + if (GetArena() == nullptr) { + delete _impl_.greater_than_.gt_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.greater_than_.gt_); + } + break; + } + case kGte: { + if (GetArena() == nullptr) { + delete _impl_.greater_than_.gte_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.greater_than_.gte_); + } + break; + } + case kGtNow: { + // No need to clear + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL TimestampRules::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) TimestampRules(arena); +} +constexpr auto TimestampRules::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_._extensions_) + + decltype(TimestampRules::_impl_._extensions_)::InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_.example_) + + decltype(TimestampRules::_impl_.example_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(TimestampRules), alignof(TimestampRules), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&TimestampRules::PlacementNew_, + sizeof(TimestampRules), + alignof(TimestampRules)); + } +} +constexpr auto TimestampRules::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_TimestampRules_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + TimestampRules::IsInitializedImpl, + &TimestampRules::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &TimestampRules::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &TimestampRules::ByteSizeLong, + &TimestampRules::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_._cached_size_), + false, + }, + &TimestampRules::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull TimestampRules_class_data_ = + TimestampRules::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +TimestampRules::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&TimestampRules_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(TimestampRules_class_data_.tc_table); + return TimestampRules_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<4, 9, 7, 0, 2> +TimestampRules::_table_ = { + { + PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_._extensions_), + 10, 120, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294966273, // skipmap + offsetof(decltype(_table_), field_entries), + 9, // num_field_entries + 7, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + TimestampRules_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::TimestampRules>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + // optional .google.protobuf.Timestamp const = 2 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastMtS1, + {18, 0, 0, + PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_.const__)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + // optional .google.protobuf.Duration within = 9 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastMtS1, + {74, 1, 5, + PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_.within_)}}, + // repeated .google.protobuf.Timestamp example = 10 [(.buf.validate.predefined) = { + {::_pbi::TcParser::FastMtR1, + {82, 2, 6, + PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_.example_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional .google.protobuf.Timestamp const = 2 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_.const__), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.protobuf.Timestamp lt = 3 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_.less_than_.lt_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.protobuf.Timestamp lte = 4 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_.less_than_.lte_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.protobuf.Timestamp gt = 5 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_.greater_than_.gt_), _Internal::kOneofCaseOffset + 4, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.protobuf.Timestamp gte = 6 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_.greater_than_.gte_), _Internal::kOneofCaseOffset + 4, 4, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // bool lt_now = 7 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_.less_than_.lt_now_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // bool gt_now = 8 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_.greater_than_.gt_now_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // optional .google.protobuf.Duration within = 9 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_.within_), _Internal::kHasBitsOffset + 1, 5, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // repeated .google.protobuf.Timestamp example = 10 [(.buf.validate.predefined) = { + {PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_.example_), _Internal::kHasBitsOffset + 2, 6, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::google::protobuf::Timestamp>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Timestamp>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Timestamp>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Timestamp>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Timestamp>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Duration>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Timestamp>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void TimestampRules::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.TimestampRules) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_._extensions_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(_impl_.const__ != nullptr); + _impl_.const__->Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(_impl_.within_ != nullptr); + _impl_.within_->Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _impl_.example_.Clear(); + } + } + clear_less_than(); + clear_greater_than(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL TimestampRules::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const TimestampRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL TimestampRules::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const TimestampRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.TimestampRules) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional .google.protobuf.Timestamp const = 2 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, *this_._impl_.const__, this_._impl_.const__->GetCachedSize(), target, + stream); + } + + switch (this_.less_than_case()) { + case kLt: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, *this_._impl_.less_than_.lt_, this_._impl_.less_than_.lt_->GetCachedSize(), target, + stream); + break; + } + case kLte: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, *this_._impl_.less_than_.lte_, this_._impl_.less_than_.lte_->GetCachedSize(), target, + stream); + break; + } + default: + break; + } + switch (this_.greater_than_case()) { + case kGt: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 5, *this_._impl_.greater_than_.gt_, this_._impl_.greater_than_.gt_->GetCachedSize(), target, + stream); + break; + } + case kGte: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 6, *this_._impl_.greater_than_.gte_, this_._impl_.greater_than_.gte_->GetCachedSize(), target, + stream); + break; + } + default: + break; + } + // bool lt_now = 7 [(.buf.validate.predefined) = { + if (this_.less_than_case() == kLtNow) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 7, this_._internal_lt_now(), target); + } + + // bool gt_now = 8 [(.buf.validate.predefined) = { + if (this_.greater_than_case() == kGtNow) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 8, this_._internal_gt_now(), target); + } + + // optional .google.protobuf.Duration within = 9 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 9, *this_._impl_.within_, this_._impl_.within_->GetCachedSize(), target, + stream); + } + + // repeated .google.protobuf.Timestamp example = 10 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_example_size()); + i < n; i++) { + const auto& repfield = this_._internal_example().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 10, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + // All extensions. + target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(), + target, stream); + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.TimestampRules) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t TimestampRules::ByteSizeLong(const MessageLite& base) { + const TimestampRules& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t TimestampRules::ByteSizeLong() const { + const TimestampRules& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.TimestampRules) + ::size_t total_size = 0; + total_size += this_._impl_._extensions_.ByteSize(); + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + // optional .google.protobuf.Timestamp const = 2 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.const__); + } + // optional .google.protobuf.Duration within = 9 [(.buf.validate.predefined) = { + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.within_); + } + // repeated .google.protobuf.Timestamp example = 10 [(.buf.validate.predefined) = { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + total_size += 1UL * this_._internal_example_size(); + for (const auto& msg : this_._internal_example()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } + switch (this_.less_than_case()) { + // .google.protobuf.Timestamp lt = 3 [(.buf.validate.predefined) = { + case kLt: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.less_than_.lt_); + break; + } + // .google.protobuf.Timestamp lte = 4 [(.buf.validate.predefined) = { + case kLte: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.less_than_.lte_); + break; + } + // bool lt_now = 7 [(.buf.validate.predefined) = { + case kLtNow: { + total_size += 2; + break; + } + case LESS_THAN_NOT_SET: { + break; + } + } + switch (this_.greater_than_case()) { + // .google.protobuf.Timestamp gt = 5 [(.buf.validate.predefined) = { + case kGt: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.greater_than_.gt_); + break; + } + // .google.protobuf.Timestamp gte = 6 [(.buf.validate.predefined) = { + case kGte: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.greater_than_.gte_); + break; + } + // bool gt_now = 8 [(.buf.validate.predefined) = { + case kGtNow: { + total_size += 2; + break; + } + case GREATER_THAN_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void TimestampRules::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.TimestampRules) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(from._impl_.const__ != nullptr); + if (_this->_impl_.const__ == nullptr) { + _this->_impl_.const__ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.const__); + } else { + _this->_impl_.const__->MergeFrom(*from._impl_.const__); + } + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(from._impl_.within_ != nullptr); + if (_this->_impl_.within_ == nullptr) { + _this->_impl_.within_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.within_); + } else { + _this->_impl_.within_->MergeFrom(*from._impl_.within_); + } + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) { + _this->_internal_mutable_example()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_example()); + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_less_than(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kLt: { + if (oneof_needs_init) { + _this->_impl_.less_than_.lt_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.less_than_.lt_); + } else { + _this->_impl_.less_than_.lt_->MergeFrom(*from._impl_.less_than_.lt_); + } + break; + } + case kLte: { + if (oneof_needs_init) { + _this->_impl_.less_than_.lte_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.less_than_.lte_); + } else { + _this->_impl_.less_than_.lte_->MergeFrom(*from._impl_.less_than_.lte_); + } + break; + } + case kLtNow: { + _this->_impl_.less_than_.lt_now_ = from._impl_.less_than_.lt_now_; + break; + } + case LESS_THAN_NOT_SET: + break; + } + } + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[1]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[1]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_greater_than(); + } + _this->_impl_._oneof_case_[1] = oneof_from_case; + } + + switch (oneof_from_case) { + case kGt: { + if (oneof_needs_init) { + _this->_impl_.greater_than_.gt_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.greater_than_.gt_); + } else { + _this->_impl_.greater_than_.gt_->MergeFrom(*from._impl_.greater_than_.gt_); + } + break; + } + case kGte: { + if (oneof_needs_init) { + _this->_impl_.greater_than_.gte_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.greater_than_.gte_); + } else { + _this->_impl_.greater_than_.gte_->MergeFrom(*from._impl_.greater_than_.gte_); + } + break; + } + case kGtNow: { + _this->_impl_.greater_than_.gt_now_ = from._impl_.greater_than_.gt_now_; + break; + } + case GREATER_THAN_NOT_SET: + break; + } + } + _this->_impl_._extensions_.MergeFrom(&default_instance(), + from._impl_._extensions_); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void TimestampRules::CopyFrom(const TimestampRules& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.TimestampRules) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool TimestampRules::IsInitializedImpl( + const MessageLite& msg) { + auto& this_ = static_cast(msg); + if (!this_._impl_._extensions_.IsInitialized(&default_instance())) { + return false; + } + return true; +} + +void TimestampRules::InternalSwap(TimestampRules* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _impl_._extensions_.InternalSwap(&other->_impl_._extensions_); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_.within_) + + sizeof(TimestampRules::_impl_.within_) + - PROTOBUF_FIELD_OFFSET(TimestampRules, _impl_.const__)>( + reinterpret_cast(&_impl_.const__), + reinterpret_cast(&other->_impl_.const__)); + _impl_.example_.InternalSwap(&other->_impl_.example_); + swap(_impl_.less_than_, other->_impl_.less_than_); + swap(_impl_.greater_than_, other->_impl_.greater_than_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); + swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); +} + +::google::protobuf::Metadata TimestampRules::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Violations::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Violations, _impl_._has_bits_); +}; + +Violations::Violations(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Violations_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.Violations) +} +PROTOBUF_NDEBUG_INLINE Violations::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::Violations& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + violations_{visibility, arena, from.violations_} {} + +Violations::Violations( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Violations& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Violations_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Violations* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:buf.validate.Violations) +} +PROTOBUF_NDEBUG_INLINE Violations::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + violations_{visibility, arena} {} + +inline void Violations::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +Violations::~Violations() { + // @@protoc_insertion_point(destructor:buf.validate.Violations) + SharedDtor(*this); +} +inline void Violations::SharedDtor(MessageLite& self) { + Violations& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Violations::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Violations(arena); +} +constexpr auto Violations::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(Violations, _impl_.violations_) + + decltype(Violations::_impl_.violations_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(Violations), alignof(Violations), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&Violations::PlacementNew_, + sizeof(Violations), + alignof(Violations)); + } +} +constexpr auto Violations::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Violations_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Violations::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Violations::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Violations::ByteSizeLong, + &Violations::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Violations, _impl_._cached_size_), + false, + }, + &Violations::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Violations_class_data_ = + Violations::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Violations::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Violations_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Violations_class_data_.tc_table); + return Violations_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 1, 0, 2> +Violations::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Violations, _impl_._has_bits_), + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Violations_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::Violations>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .buf.validate.Violation violations = 1; + {::_pbi::TcParser::FastMtR1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(Violations, _impl_.violations_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // repeated .buf.validate.Violation violations = 1; + {PROTOBUF_FIELD_OFFSET(Violations, _impl_.violations_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::buf::validate::Violation>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void Violations::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.Violations) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.violations_.Clear(); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Violations::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Violations& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Violations::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Violations& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.Violations) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // repeated .buf.validate.Violation violations = 1; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_violations_size()); + i < n; i++) { + const auto& repfield = this_._internal_violations().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.Violations) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Violations::ByteSizeLong(const MessageLite& base) { + const Violations& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Violations::ByteSizeLong() const { + const Violations& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.Violations) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .buf.validate.Violation violations = 1; + cached_has_bits = this_._impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += 1UL * this_._internal_violations_size(); + for (const auto& msg : this_._internal_violations()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Violations::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.Violations) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_violations()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_violations()); + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Violations::CopyFrom(const Violations& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.Violations) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Violations::InternalSwap(Violations* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.violations_.InternalSwap(&other->_impl_.violations_); +} + +::google::protobuf::Metadata Violations::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Violation::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Violation, _impl_._has_bits_); +}; + +Violation::Violation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Violation_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.Violation) +} +PROTOBUF_NDEBUG_INLINE Violation::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::Violation& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + rule_id_(arena, from.rule_id_), + message_(arena, from.message_) {} + +Violation::Violation( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Violation& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Violation_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Violation* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.field_ = (CheckHasBit(cached_has_bits, 0x00000004U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.field_) + : nullptr; + _impl_.rule_ = (CheckHasBit(cached_has_bits, 0x00000008U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.rule_) + : nullptr; + _impl_.for_key_ = from._impl_.for_key_; + + // @@protoc_insertion_point(copy_constructor:buf.validate.Violation) +} +PROTOBUF_NDEBUG_INLINE Violation::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + rule_id_(arena), + message_(arena) {} + +inline void Violation::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, field_), + 0, + offsetof(Impl_, for_key_) - + offsetof(Impl_, field_) + + sizeof(Impl_::for_key_)); +} +Violation::~Violation() { + // @@protoc_insertion_point(destructor:buf.validate.Violation) + SharedDtor(*this); +} +inline void Violation::SharedDtor(MessageLite& self) { + Violation& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.rule_id_.Destroy(); + this_._impl_.message_.Destroy(); + delete this_._impl_.field_; + delete this_._impl_.rule_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Violation::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Violation(arena); +} +constexpr auto Violation::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Violation), + alignof(Violation)); +} +constexpr auto Violation::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Violation_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Violation::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Violation::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Violation::ByteSizeLong, + &Violation::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Violation, _impl_._cached_size_), + false, + }, + &Violation::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Violation_class_data_ = + Violation::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Violation::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Violation_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Violation_class_data_.tc_table); + return Violation_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 5, 2, 0, 2> +Violation::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Violation, _impl_._has_bits_), + 0, // no _extensions_ + 6, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967233, // skipmap + offsetof(decltype(_table_), field_entries), + 5, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Violation_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::Violation>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + // optional string rule_id = 2; + {::_pbi::TcParser::FastBS1, + {18, 0, 0, + PROTOBUF_FIELD_OFFSET(Violation, _impl_.rule_id_)}}, + // optional string message = 3; + {::_pbi::TcParser::FastBS1, + {26, 1, 0, + PROTOBUF_FIELD_OFFSET(Violation, _impl_.message_)}}, + // optional bool for_key = 4; + {::_pbi::TcParser::SingularVarintNoZag1(), + {32, 4, 0, + PROTOBUF_FIELD_OFFSET(Violation, _impl_.for_key_)}}, + // optional .buf.validate.FieldPath field = 5; + {::_pbi::TcParser::FastMtS1, + {42, 2, 0, + PROTOBUF_FIELD_OFFSET(Violation, _impl_.field_)}}, + // optional .buf.validate.FieldPath rule = 6; + {::_pbi::TcParser::FastMtS1, + {50, 3, 1, + PROTOBUF_FIELD_OFFSET(Violation, _impl_.rule_)}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional string rule_id = 2; + {PROTOBUF_FIELD_OFFSET(Violation, _impl_.rule_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // optional string message = 3; + {PROTOBUF_FIELD_OFFSET(Violation, _impl_.message_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // optional bool for_key = 4; + {PROTOBUF_FIELD_OFFSET(Violation, _impl_.for_key_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, + // optional .buf.validate.FieldPath field = 5; + {PROTOBUF_FIELD_OFFSET(Violation, _impl_.field_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // optional .buf.validate.FieldPath rule = 6; + {PROTOBUF_FIELD_OFFSET(Violation, _impl_.rule_), _Internal::kHasBitsOffset + 3, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::buf::validate::FieldPath>()}, + {::_pbi::TcParser::GetTable<::buf::validate::FieldPath>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void Violation::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.Violation) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + _impl_.rule_id_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + _impl_.message_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + ABSL_DCHECK(_impl_.field_ != nullptr); + _impl_.field_->Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + ABSL_DCHECK(_impl_.rule_ != nullptr); + _impl_.rule_->Clear(); + } + } + _impl_.for_key_ = false; + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Violation::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Violation& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Violation::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Violation& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.Violation) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional string rule_id = 2; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + const ::std::string& _s = this_._internal_rule_id(); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + + // optional string message = 3; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + const ::std::string& _s = this_._internal_message(); + target = stream->WriteStringMaybeAliased(3, _s, target); + } + + // optional bool for_key = 4; + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 4, this_._internal_for_key(), target); + } + + // optional .buf.validate.FieldPath field = 5; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 5, *this_._impl_.field_, this_._impl_.field_->GetCachedSize(), target, + stream); + } + + // optional .buf.validate.FieldPath rule = 6; + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 6, *this_._impl_.rule_, this_._impl_.rule_->GetCachedSize(), target, + stream); + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.Violation) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Violation::ByteSizeLong(const MessageLite& base) { + const Violation& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Violation::ByteSizeLong() const { + const Violation& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.Violation) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + total_size += static_cast(0x00000010U & cached_has_bits) * 2; + if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) { + // optional string rule_id = 2; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_rule_id()); + } + // optional string message = 3; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_message()); + } + // optional .buf.validate.FieldPath field = 5; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.field_); + } + // optional .buf.validate.FieldPath rule = 6; + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.rule_); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Violation::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.Violation) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + _this->_internal_set_rule_id(from._internal_rule_id()); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + _this->_internal_set_message(from._internal_message()); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + ABSL_DCHECK(from._impl_.field_ != nullptr); + if (_this->_impl_.field_ == nullptr) { + _this->_impl_.field_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.field_); + } else { + _this->_impl_.field_->MergeFrom(*from._impl_.field_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + ABSL_DCHECK(from._impl_.rule_ != nullptr); + if (_this->_impl_.rule_ == nullptr) { + _this->_impl_.rule_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.rule_); + } else { + _this->_impl_.rule_->MergeFrom(*from._impl_.rule_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + _this->_impl_.for_key_ = from._impl_.for_key_; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Violation::CopyFrom(const Violation& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.Violation) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Violation::InternalSwap(Violation* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.rule_id_, &other->_impl_.rule_id_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.message_, &other->_impl_.message_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(Violation, _impl_.for_key_) + + sizeof(Violation::_impl_.for_key_) + - PROTOBUF_FIELD_OFFSET(Violation, _impl_.field_)>( + reinterpret_cast(&_impl_.field_), + reinterpret_cast(&other->_impl_.field_)); +} + +::google::protobuf::Metadata Violation::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class FieldPath::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(FieldPath, _impl_._has_bits_); +}; + +FieldPath::FieldPath(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, FieldPath_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.FieldPath) +} +PROTOBUF_NDEBUG_INLINE FieldPath::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::FieldPath& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + elements_{visibility, arena, from.elements_} {} + +FieldPath::FieldPath( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const FieldPath& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, FieldPath_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + FieldPath* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:buf.validate.FieldPath) +} +PROTOBUF_NDEBUG_INLINE FieldPath::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + elements_{visibility, arena} {} + +inline void FieldPath::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +FieldPath::~FieldPath() { + // @@protoc_insertion_point(destructor:buf.validate.FieldPath) + SharedDtor(*this); +} +inline void FieldPath::SharedDtor(MessageLite& self) { + FieldPath& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL FieldPath::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) FieldPath(arena); +} +constexpr auto FieldPath::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(FieldPath, _impl_.elements_) + + decltype(FieldPath::_impl_.elements_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(FieldPath), alignof(FieldPath), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&FieldPath::PlacementNew_, + sizeof(FieldPath), + alignof(FieldPath)); + } +} +constexpr auto FieldPath::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_FieldPath_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &FieldPath::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FieldPath::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FieldPath::ByteSizeLong, + &FieldPath::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FieldPath, _impl_._cached_size_), + false, + }, + &FieldPath::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull FieldPath_class_data_ = + FieldPath::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +FieldPath::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&FieldPath_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(FieldPath_class_data_.tc_table); + return FieldPath_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 1, 0, 2> +FieldPath::_table_ = { + { + PROTOBUF_FIELD_OFFSET(FieldPath, _impl_._has_bits_), + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + FieldPath_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::FieldPath>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .buf.validate.FieldPathElement elements = 1; + {::_pbi::TcParser::FastMtR1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(FieldPath, _impl_.elements_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // repeated .buf.validate.FieldPathElement elements = 1; + {PROTOBUF_FIELD_OFFSET(FieldPath, _impl_.elements_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::buf::validate::FieldPathElement>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void FieldPath::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.FieldPath) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.elements_.Clear(); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL FieldPath::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const FieldPath& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL FieldPath::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const FieldPath& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.FieldPath) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // repeated .buf.validate.FieldPathElement elements = 1; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_elements_size()); + i < n; i++) { + const auto& repfield = this_._internal_elements().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.FieldPath) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t FieldPath::ByteSizeLong(const MessageLite& base) { + const FieldPath& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t FieldPath::ByteSizeLong() const { + const FieldPath& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.FieldPath) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .buf.validate.FieldPathElement elements = 1; + cached_has_bits = this_._impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += 1UL * this_._internal_elements_size(); + for (const auto& msg : this_._internal_elements()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void FieldPath::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.FieldPath) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_elements()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_elements()); + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void FieldPath::CopyFrom(const FieldPath& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.FieldPath) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void FieldPath::InternalSwap(FieldPath* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.elements_.InternalSwap(&other->_impl_.elements_); +} + +::google::protobuf::Metadata FieldPath::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class FieldPathElement::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::buf::validate::FieldPathElement, _impl_._oneof_case_); +}; + +FieldPathElement::FieldPathElement(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, FieldPathElement_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:buf.validate.FieldPathElement) +} +PROTOBUF_NDEBUG_INLINE FieldPathElement::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::buf::validate::FieldPathElement& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + field_name_(arena, from.field_name_), + subscript_{}, + _oneof_case_{from._oneof_case_[0]} {} + +FieldPathElement::FieldPathElement( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const FieldPathElement& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, FieldPathElement_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + FieldPathElement* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, field_number_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, field_number_), + offsetof(Impl_, key_type_) - + offsetof(Impl_, field_number_) + + sizeof(Impl_::key_type_)); + switch (subscript_case()) { + case SUBSCRIPT_NOT_SET: + break; + case kIndex: + _impl_.subscript_.index_ = from._impl_.subscript_.index_; + break; + case kBoolKey: + _impl_.subscript_.bool_key_ = from._impl_.subscript_.bool_key_; + break; + case kIntKey: + _impl_.subscript_.int_key_ = from._impl_.subscript_.int_key_; + break; + case kUintKey: + _impl_.subscript_.uint_key_ = from._impl_.subscript_.uint_key_; + break; + case kStringKey: + new (&_impl_.subscript_.string_key_) decltype(_impl_.subscript_.string_key_){arena, from._impl_.subscript_.string_key_}; + break; + } + + // @@protoc_insertion_point(copy_constructor:buf.validate.FieldPathElement) +} +PROTOBUF_NDEBUG_INLINE FieldPathElement::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + field_name_(arena), + value_type_{static_cast< ::google::protobuf::FieldDescriptorProto_Type >(1)}, + field_type_{static_cast< ::google::protobuf::FieldDescriptorProto_Type >(1)}, + key_type_{static_cast< ::google::protobuf::FieldDescriptorProto_Type >(1)}, + subscript_{}, + _oneof_case_{} {} + +inline void FieldPathElement::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.field_number_ = {}; +} +FieldPathElement::~FieldPathElement() { + // @@protoc_insertion_point(destructor:buf.validate.FieldPathElement) + SharedDtor(*this); +} +inline void FieldPathElement::SharedDtor(MessageLite& self) { + FieldPathElement& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.field_name_.Destroy(); + if (this_.has_subscript()) { + this_.clear_subscript(); + } + this_._impl_.~Impl_(); +} + +void FieldPathElement::clear_subscript() { +// @@protoc_insertion_point(one_of_clear_start:buf.validate.FieldPathElement) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (subscript_case()) { + case kIndex: { + // No need to clear + break; + } + case kBoolKey: { + // No need to clear + break; + } + case kIntKey: { + // No need to clear + break; + } + case kUintKey: { + // No need to clear + break; + } + case kStringKey: { + _impl_.subscript_.string_key_.Destroy(); + break; + } + case SUBSCRIPT_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = SUBSCRIPT_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL FieldPathElement::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) FieldPathElement(arena); +} +constexpr auto FieldPathElement::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FieldPathElement), + alignof(FieldPathElement)); +} +constexpr auto FieldPathElement::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_FieldPathElement_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &FieldPathElement::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FieldPathElement::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FieldPathElement::ByteSizeLong, + &FieldPathElement::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_._cached_size_), + false, + }, + &FieldPathElement::kDescriptorMethods, + &descriptor_table_buf_2fvalidate_2fvalidate_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull FieldPathElement_class_data_ = + FieldPathElement::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +FieldPathElement::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&FieldPathElement_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(FieldPathElement_class_data_.tc_table); + return FieldPathElement_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 10, 3, 0, 2> +FieldPathElement::_table_ = { + { + PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_._has_bits_), + 0, // no _extensions_ + 10, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294966272, // skipmap + offsetof(decltype(_table_), field_entries), + 10, // num_field_entries + 3, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + FieldPathElement_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::buf::validate::FieldPathElement>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // optional int32 field_number = 1; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FieldPathElement, _impl_.field_number_), 1>(), + {8, 1, 0, + PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.field_number_)}}, + // optional string field_name = 2; + {::_pbi::TcParser::FastBS1, + {18, 0, 0, + PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.field_name_)}}, + // optional .google.protobuf.FieldDescriptorProto.Type field_type = 3; + {::_pbi::TcParser::FastEr1S1, + {24, 3, 18, + PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.field_type_)}}, + // optional .google.protobuf.FieldDescriptorProto.Type key_type = 4; + {::_pbi::TcParser::FastEr1S1, + {32, 4, 18, + PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.key_type_)}}, + // optional .google.protobuf.FieldDescriptorProto.Type value_type = 5; + {::_pbi::TcParser::FastEr1S1, + {40, 2, 18, + PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.value_type_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional int32 field_number = 1; + {PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.field_number_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)}, + // optional string field_name = 2; + {PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.field_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)}, + // optional .google.protobuf.FieldDescriptorProto.Type field_type = 3; + {PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.field_type_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)}, + // optional .google.protobuf.FieldDescriptorProto.Type key_type = 4; + {PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.key_type_), _Internal::kHasBitsOffset + 4, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)}, + // optional .google.protobuf.FieldDescriptorProto.Type value_type = 5; + {PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.value_type_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)}, + // uint64 index = 6; + {PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.subscript_.index_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUInt64)}, + // bool bool_key = 7; + {PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.subscript_.bool_key_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // int64 int_key = 8; + {PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.subscript_.int_key_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt64)}, + // uint64 uint_key = 9; + {PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.subscript_.uint_key_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUInt64)}, + // string string_key = 10; + {PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.subscript_.string_key_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBytes | ::_fl::kRepAString)}, + }}, + {{ + {1, 18}, + {1, 18}, + {1, 18}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void FieldPathElement::Clear() { +// @@protoc_insertion_point(message_clear_start:buf.validate.FieldPathElement) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + _impl_.field_name_.ClearNonDefaultToEmpty(); + } + if (BatchCheckHasBit(cached_has_bits, 0x0000001eU)) { + _impl_.field_number_ = 0; + _impl_.value_type_ = 1; + _impl_.field_type_ = 1; + _impl_.key_type_ = 1; + } + clear_subscript(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL FieldPathElement::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const FieldPathElement& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL FieldPathElement::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const FieldPathElement& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:buf.validate.FieldPathElement) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional int32 field_number = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>( + stream, this_._internal_field_number(), target); + } + + // optional string field_name = 2; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + const ::std::string& _s = this_._internal_field_name(); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + + // optional .google.protobuf.FieldDescriptorProto.Type field_type = 3; + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 3, this_._internal_field_type(), target); + } + + // optional .google.protobuf.FieldDescriptorProto.Type key_type = 4; + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 4, this_._internal_key_type(), target); + } + + // optional .google.protobuf.FieldDescriptorProto.Type value_type = 5; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 5, this_._internal_value_type(), target); + } + + switch (this_.subscript_case()) { + case kIndex: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 6, this_._internal_index(), target); + break; + } + case kBoolKey: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 7, this_._internal_bool_key(), target); + break; + } + case kIntKey: { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<8>( + stream, this_._internal_int_key(), target); + break; + } + case kUintKey: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 9, this_._internal_uint_key(), target); + break; + } + case kStringKey: { + const ::std::string& _s = this_._internal_string_key(); + target = stream->WriteStringMaybeAliased(10, _s, target); + break; + } + default: + break; + } + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:buf.validate.FieldPathElement) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t FieldPathElement::ByteSizeLong(const MessageLite& base) { + const FieldPathElement& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t FieldPathElement::ByteSizeLong() const { + const FieldPathElement& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:buf.validate.FieldPathElement) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) { + // optional string field_name = 2; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_field_name()); + } + // optional int32 field_number = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_field_number()); + } + // optional .google.protobuf.FieldDescriptorProto.Type value_type = 5; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_value_type()); + } + // optional .google.protobuf.FieldDescriptorProto.Type field_type = 3; + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_field_type()); + } + // optional .google.protobuf.FieldDescriptorProto.Type key_type = 4; + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_key_type()); + } + } + switch (this_.subscript_case()) { + // uint64 index = 6; + case kIndex: { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_index()); + break; + } + // bool bool_key = 7; + case kBoolKey: { + total_size += 2; + break; + } + // int64 int_key = 8; + case kIntKey: { + total_size += ::_pbi::WireFormatLite::Int64SizePlusOne( + this_._internal_int_key()); + break; + } + // uint64 uint_key = 9; + case kUintKey: { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_uint_key()); + break; + } + // string string_key = 10; + case kStringKey: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_string_key()); + break; + } + case SUBSCRIPT_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void FieldPathElement::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:buf.validate.FieldPathElement) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + _this->_internal_set_field_name(from._internal_field_name()); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + _this->_impl_.field_number_ = from._impl_.field_number_; + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + _this->_impl_.value_type_ = from._impl_.value_type_; + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _this->_impl_.field_type_ = from._impl_.field_type_; + } + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + _this->_impl_.key_type_ = from._impl_.key_type_; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_subscript(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kIndex: { + _this->_impl_.subscript_.index_ = from._impl_.subscript_.index_; + break; + } + case kBoolKey: { + _this->_impl_.subscript_.bool_key_ = from._impl_.subscript_.bool_key_; + break; + } + case kIntKey: { + _this->_impl_.subscript_.int_key_ = from._impl_.subscript_.int_key_; + break; + } + case kUintKey: { + _this->_impl_.subscript_.uint_key_ = from._impl_.subscript_.uint_key_; + break; + } + case kStringKey: { + if (oneof_needs_init) { + _this->_impl_.subscript_.string_key_.InitDefault(); + } + _this->_impl_.subscript_.string_key_.Set(from._internal_string_key(), arena); + break; + } + case SUBSCRIPT_NOT_SET: + break; + } + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void FieldPathElement::CopyFrom(const FieldPathElement& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:buf.validate.FieldPathElement) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void FieldPathElement::InternalSwap(FieldPathElement* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.field_name_, &other->_impl_.field_name_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.key_type_) + + sizeof(FieldPathElement::_impl_.key_type_) + - PROTOBUF_FIELD_OFFSET(FieldPathElement, _impl_.field_number_)>( + reinterpret_cast(&_impl_.field_number_), + reinterpret_cast(&other->_impl_.field_number_)); + swap(_impl_.subscript_, other->_impl_.subscript_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::google::protobuf::Metadata FieldPathElement::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::_pbi::ExtensionIdentifier< + ::google::protobuf::MessageOptions, ::_pbi::MessageTypeTraits< ::buf::validate::MessageRules >, 11, false> + message(kMessageFieldNumber, &::buf::validate::_MessageRules_default_instance_); +PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::_pbi::ExtensionIdentifier< + ::google::protobuf::OneofOptions, ::_pbi::MessageTypeTraits< ::buf::validate::OneofRules >, 11, false> + oneof(kOneofFieldNumber, &::buf::validate::_OneofRules_default_instance_); +PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::_pbi::ExtensionIdentifier< + ::google::protobuf::FieldOptions, ::_pbi::MessageTypeTraits< ::buf::validate::FieldRules >, 11, false> + field(kFieldFieldNumber, &::buf::validate::_FieldRules_default_instance_); +PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::_pbi::ExtensionIdentifier< + ::google::protobuf::FieldOptions, ::_pbi::MessageTypeTraits< ::buf::validate::PredefinedRules >, 11, false> + predefined(kPredefinedFieldNumber, &::buf::validate::_PredefinedRules_default_instance_); +// @@protoc_insertion_point(namespace_scope) +} // namespace validate +} // namespace buf +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google +// @@protoc_insertion_point(global_scope) +PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type + _static_init2_ [[maybe_unused]] = + (::_pbi::AddDescriptors(&descriptor_table_buf_2fvalidate_2fvalidate_2eproto), + ::_pbi::ExtensionSet::RegisterMessageExtension( + &::google::protobuf::MessageOptions::default_instance(), 1159, 11, + false, false, &::buf::validate::MessageRules::default_instance(), + nullptr, ::_pbi::LazyAnnotation::kUndefined), + ::_pbi::ExtensionSet::RegisterMessageExtension( + &::google::protobuf::OneofOptions::default_instance(), 1159, 11, + false, false, &::buf::validate::OneofRules::default_instance(), + nullptr, ::_pbi::LazyAnnotation::kUndefined), + ::_pbi::ExtensionSet::RegisterMessageExtension( + &::google::protobuf::FieldOptions::default_instance(), 1159, 11, + false, false, &::buf::validate::FieldRules::default_instance(), + nullptr, ::_pbi::LazyAnnotation::kUndefined), + ::_pbi::ExtensionSet::RegisterMessageExtension( + &::google::protobuf::FieldOptions::default_instance(), 1160, 11, + false, false, &::buf::validate::PredefinedRules::default_instance(), + nullptr, ::_pbi::LazyAnnotation::kUndefined), + ::std::false_type{}); +#include "google/protobuf/port_undef.inc" diff --git a/crates/protovalidate-rs/gen/buf/validate/validate.pb.h b/crates/protovalidate-rs/gen/buf/validate/validate.pb.h new file mode 100644 index 00000000..b33a3bc5 --- /dev/null +++ b/crates/protovalidate-rs/gen/buf/validate/validate.pb.h @@ -0,0 +1,26870 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: buf/validate/validate.proto +// Protobuf C++ Version: 6.33.4 + +#ifndef buf_2fvalidate_2fvalidate_2eproto_2epb_2eh +#define buf_2fvalidate_2fvalidate_2eproto_2epb_2eh + +#include +#include +#include +#include + +#include "google/protobuf/runtime_version.h" +#if PROTOBUF_VERSION != 6033004 +#error "Protobuf C++ gencode is built with an incompatible version of" +#error "Protobuf C++ headers/runtime. See" +#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp" +#endif +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/arena.h" +#include "google/protobuf/arenastring.h" +#include "google/protobuf/generated_message_tctable_decl.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/metadata_lite.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/message.h" +#include "google/protobuf/message_lite.h" +#include "google/protobuf/repeated_field.h" // IWYU pragma: export +#include "google/protobuf/extension_set.h" // IWYU pragma: export +#include "google/protobuf/generated_enum_reflection.h" +#include "google/protobuf/unknown_field_set.h" +#include "google/protobuf/descriptor.pb.h" +#include "google/protobuf/duration.pb.h" +#include "google/protobuf/field_mask.pb.h" +#include "google/protobuf/timestamp.pb.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" + +#define PROTOBUF_INTERNAL_EXPORT_buf_2fvalidate_2fvalidate_2eproto + +namespace google { +namespace protobuf { +namespace internal { +template +::absl::string_view GetAnyMessageName(); +} // namespace internal +} // namespace protobuf +} // namespace google + +// Internal implementation detail -- do not use these members. +struct TableStruct_buf_2fvalidate_2fvalidate_2eproto { + static const ::uint32_t offsets[]; +}; +extern "C" { +extern const ::google::protobuf::internal::DescriptorTable descriptor_table_buf_2fvalidate_2fvalidate_2eproto; +} // extern "C" +namespace buf { +namespace validate { +enum Ignore : int; +extern const uint32_t Ignore_internal_data_[]; +enum KnownRegex : int; +extern const uint32_t KnownRegex_internal_data_[]; +class AnyRules; +struct AnyRulesDefaultTypeInternal; +extern AnyRulesDefaultTypeInternal _AnyRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull AnyRules_class_data_; +class BoolRules; +struct BoolRulesDefaultTypeInternal; +extern BoolRulesDefaultTypeInternal _BoolRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull BoolRules_class_data_; +class BytesRules; +struct BytesRulesDefaultTypeInternal; +extern BytesRulesDefaultTypeInternal _BytesRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull BytesRules_class_data_; +class DoubleRules; +struct DoubleRulesDefaultTypeInternal; +extern DoubleRulesDefaultTypeInternal _DoubleRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull DoubleRules_class_data_; +class DurationRules; +struct DurationRulesDefaultTypeInternal; +extern DurationRulesDefaultTypeInternal _DurationRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull DurationRules_class_data_; +class EnumRules; +struct EnumRulesDefaultTypeInternal; +extern EnumRulesDefaultTypeInternal _EnumRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull EnumRules_class_data_; +class FieldMaskRules; +struct FieldMaskRulesDefaultTypeInternal; +extern FieldMaskRulesDefaultTypeInternal _FieldMaskRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull FieldMaskRules_class_data_; +class FieldPath; +struct FieldPathDefaultTypeInternal; +extern FieldPathDefaultTypeInternal _FieldPath_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull FieldPath_class_data_; +class FieldPathElement; +struct FieldPathElementDefaultTypeInternal; +extern FieldPathElementDefaultTypeInternal _FieldPathElement_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull FieldPathElement_class_data_; +class FieldRules; +struct FieldRulesDefaultTypeInternal; +extern FieldRulesDefaultTypeInternal _FieldRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull FieldRules_class_data_; +class Fixed32Rules; +struct Fixed32RulesDefaultTypeInternal; +extern Fixed32RulesDefaultTypeInternal _Fixed32Rules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Fixed32Rules_class_data_; +class Fixed64Rules; +struct Fixed64RulesDefaultTypeInternal; +extern Fixed64RulesDefaultTypeInternal _Fixed64Rules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Fixed64Rules_class_data_; +class FloatRules; +struct FloatRulesDefaultTypeInternal; +extern FloatRulesDefaultTypeInternal _FloatRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull FloatRules_class_data_; +class Int32Rules; +struct Int32RulesDefaultTypeInternal; +extern Int32RulesDefaultTypeInternal _Int32Rules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Int32Rules_class_data_; +class Int64Rules; +struct Int64RulesDefaultTypeInternal; +extern Int64RulesDefaultTypeInternal _Int64Rules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Int64Rules_class_data_; +class MapRules; +struct MapRulesDefaultTypeInternal; +extern MapRulesDefaultTypeInternal _MapRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull MapRules_class_data_; +class MessageOneofRule; +struct MessageOneofRuleDefaultTypeInternal; +extern MessageOneofRuleDefaultTypeInternal _MessageOneofRule_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull MessageOneofRule_class_data_; +class MessageRules; +struct MessageRulesDefaultTypeInternal; +extern MessageRulesDefaultTypeInternal _MessageRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull MessageRules_class_data_; +class OneofRules; +struct OneofRulesDefaultTypeInternal; +extern OneofRulesDefaultTypeInternal _OneofRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull OneofRules_class_data_; +class PredefinedRules; +struct PredefinedRulesDefaultTypeInternal; +extern PredefinedRulesDefaultTypeInternal _PredefinedRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull PredefinedRules_class_data_; +class RepeatedRules; +struct RepeatedRulesDefaultTypeInternal; +extern RepeatedRulesDefaultTypeInternal _RepeatedRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull RepeatedRules_class_data_; +class Rule; +struct RuleDefaultTypeInternal; +extern RuleDefaultTypeInternal _Rule_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Rule_class_data_; +class SFixed32Rules; +struct SFixed32RulesDefaultTypeInternal; +extern SFixed32RulesDefaultTypeInternal _SFixed32Rules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull SFixed32Rules_class_data_; +class SFixed64Rules; +struct SFixed64RulesDefaultTypeInternal; +extern SFixed64RulesDefaultTypeInternal _SFixed64Rules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull SFixed64Rules_class_data_; +class SInt32Rules; +struct SInt32RulesDefaultTypeInternal; +extern SInt32RulesDefaultTypeInternal _SInt32Rules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull SInt32Rules_class_data_; +class SInt64Rules; +struct SInt64RulesDefaultTypeInternal; +extern SInt64RulesDefaultTypeInternal _SInt64Rules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull SInt64Rules_class_data_; +class StringRules; +struct StringRulesDefaultTypeInternal; +extern StringRulesDefaultTypeInternal _StringRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull StringRules_class_data_; +class TimestampRules; +struct TimestampRulesDefaultTypeInternal; +extern TimestampRulesDefaultTypeInternal _TimestampRules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull TimestampRules_class_data_; +class UInt32Rules; +struct UInt32RulesDefaultTypeInternal; +extern UInt32RulesDefaultTypeInternal _UInt32Rules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull UInt32Rules_class_data_; +class UInt64Rules; +struct UInt64RulesDefaultTypeInternal; +extern UInt64RulesDefaultTypeInternal _UInt64Rules_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull UInt64Rules_class_data_; +class Violation; +struct ViolationDefaultTypeInternal; +extern ViolationDefaultTypeInternal _Violation_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Violation_class_data_; +class Violations; +struct ViolationsDefaultTypeInternal; +extern ViolationsDefaultTypeInternal _Violations_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Violations_class_data_; +} // namespace validate +} // namespace buf +namespace google { +namespace protobuf { +template <> +internal::EnumTraitsT<::buf::validate::Ignore_internal_data_> + internal::EnumTraitsImpl::value<::buf::validate::Ignore>; +template <> +internal::EnumTraitsT<::buf::validate::KnownRegex_internal_data_> + internal::EnumTraitsImpl::value<::buf::validate::KnownRegex>; +} // namespace protobuf +} // namespace google + +namespace buf { +namespace validate { +enum Ignore : int { + IGNORE_UNSPECIFIED = 0, + IGNORE_IF_ZERO_VALUE = 1, + IGNORE_ALWAYS = 3, +}; + +extern const uint32_t Ignore_internal_data_[]; +inline constexpr Ignore Ignore_MIN = + static_cast(0); +inline constexpr Ignore Ignore_MAX = + static_cast(3); +inline bool Ignore_IsValid(int value) { + return 0 <= value && value <= 3 && ((11u >> value) & 1) != 0; +} +inline constexpr int Ignore_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Ignore_descriptor(); +template +const ::std::string& Ignore_Name(T value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to Ignore_Name()."); + return Ignore_Name(static_cast(value)); +} +template <> +inline const ::std::string& Ignore_Name(Ignore value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool Ignore_Parse( + ::absl::string_view name, Ignore* PROTOBUF_NONNULL value) { + return ::google::protobuf::internal::ParseNamedEnum(Ignore_descriptor(), name, + value); +} +enum KnownRegex : int { + KNOWN_REGEX_UNSPECIFIED = 0, + KNOWN_REGEX_HTTP_HEADER_NAME = 1, + KNOWN_REGEX_HTTP_HEADER_VALUE = 2, +}; + +extern const uint32_t KnownRegex_internal_data_[]; +inline constexpr KnownRegex KnownRegex_MIN = + static_cast(0); +inline constexpr KnownRegex KnownRegex_MAX = + static_cast(2); +inline bool KnownRegex_IsValid(int value) { + return 0 <= value && value <= 2; +} +inline constexpr int KnownRegex_ARRAYSIZE = 2 + 1; +const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL KnownRegex_descriptor(); +template +const ::std::string& KnownRegex_Name(T value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to KnownRegex_Name()."); + return KnownRegex_Name(static_cast(value)); +} +template <> +inline const ::std::string& KnownRegex_Name(KnownRegex value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool KnownRegex_Parse( + ::absl::string_view name, KnownRegex* PROTOBUF_NONNULL value) { + return ::google::protobuf::internal::ParseNamedEnum(KnownRegex_descriptor(), name, + value); +} + +// =================================================================== + + +// ------------------------------------------------------------------- + +class UInt64Rules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.UInt64Rules) */ { + public: + inline UInt64Rules() : UInt64Rules(nullptr) {} + ~UInt64Rules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(UInt64Rules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(UInt64Rules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR UInt64Rules(::google::protobuf::internal::ConstantInitialized); + + inline UInt64Rules(const UInt64Rules& from) : UInt64Rules(nullptr, from) {} + inline UInt64Rules(UInt64Rules&& from) noexcept + : UInt64Rules(nullptr, ::std::move(from)) {} + inline UInt64Rules& operator=(const UInt64Rules& from) { + CopyFrom(from); + return *this; + } + inline UInt64Rules& operator=(UInt64Rules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const UInt64Rules& default_instance() { + return *reinterpret_cast( + &_UInt64Rules_default_instance_); + } + enum LessThanCase { + kLt = 2, + kLte = 3, + LESS_THAN_NOT_SET = 0, + }; + enum GreaterThanCase { + kGt = 4, + kGte = 5, + GREATER_THAN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 11; + friend void swap(UInt64Rules& a, UInt64Rules& b) { a.Swap(&b); } + inline void Swap(UInt64Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(UInt64Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + UInt64Rules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const UInt64Rules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const UInt64Rules& from) { UInt64Rules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(UInt64Rules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.UInt64Rules"; } + + explicit UInt64Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + UInt64Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UInt64Rules& from); + UInt64Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UInt64Rules&& from) noexcept + : UInt64Rules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 6, + kNotInFieldNumber = 7, + kExampleFieldNumber = 8, + kConstFieldNumber = 1, + kLtFieldNumber = 2, + kLteFieldNumber = 3, + kGtFieldNumber = 4, + kGteFieldNumber = 5, + }; + // repeated uint64 in = 6 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + ::uint64_t in(int index) const; + void set_in(int index, ::uint64_t value); + void add_in(::uint64_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& in() const; + ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedField<::uint64_t>& _internal_in() const; + ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated uint64 not_in = 7 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + ::uint64_t not_in(int index) const; + void set_not_in(int index, ::uint64_t value); + void add_not_in(::uint64_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& not_in() const; + ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedField<::uint64_t>& _internal_not_in() const; + ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // repeated uint64 example = 8 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + ::uint64_t example(int index) const; + void set_example(int index, ::uint64_t value); + void add_example(::uint64_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& example() const; + ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedField<::uint64_t>& _internal_example() const; + ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // optional uint64 const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + ::uint64_t const_() const; + void set_const_(::uint64_t value); + + private: + ::uint64_t _internal_const_() const; + void _internal_set_const_(::uint64_t value); + + public: + // uint64 lt = 2 [(.buf.validate.predefined) = { + bool has_lt() const; + void clear_lt() ; + ::uint64_t lt() const; + void set_lt(::uint64_t value); + + private: + ::uint64_t _internal_lt() const; + void _internal_set_lt(::uint64_t value); + + public: + // uint64 lte = 3 [(.buf.validate.predefined) = { + bool has_lte() const; + void clear_lte() ; + ::uint64_t lte() const; + void set_lte(::uint64_t value); + + private: + ::uint64_t _internal_lte() const; + void _internal_set_lte(::uint64_t value); + + public: + // uint64 gt = 4 [(.buf.validate.predefined) = { + bool has_gt() const; + void clear_gt() ; + ::uint64_t gt() const; + void set_gt(::uint64_t value); + + private: + ::uint64_t _internal_gt() const; + void _internal_set_gt(::uint64_t value); + + public: + // uint64 gte = 5 [(.buf.validate.predefined) = { + bool has_gte() const; + void clear_gte() ; + ::uint64_t gte() const; + void set_gte(::uint64_t value); + + private: + ::uint64_t _internal_gte() const; + void _internal_set_gte(::uint64_t value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + UInt64Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + UInt64Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + UInt64Rules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_less_than(); + LessThanCase less_than_case() const; + void clear_greater_than(); + GreaterThanCase greater_than_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.UInt64Rules) + private: + class _Internal; + void set_has_lt(); + void set_has_lte(); + void set_has_gt(); + void set_has_gte(); + inline bool has_less_than() const; + inline void clear_has_less_than(); + inline bool has_greater_than() const; + inline void clear_has_greater_than(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 8, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const UInt64Rules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField<::uint64_t> in_; + ::google::protobuf::RepeatedField<::uint64_t> not_in_; + ::google::protobuf::RepeatedField<::uint64_t> example_; + ::uint64_t const__; + union LessThanUnion { + constexpr LessThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::uint64_t lt_; + ::uint64_t lte_; + } less_than_; + union GreaterThanUnion { + constexpr GreaterThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::uint64_t gt_; + ::uint64_t gte_; + } greater_than_; + ::uint32_t _oneof_case_[2]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull UInt64Rules_class_data_; +// ------------------------------------------------------------------- + +class UInt32Rules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.UInt32Rules) */ { + public: + inline UInt32Rules() : UInt32Rules(nullptr) {} + ~UInt32Rules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(UInt32Rules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(UInt32Rules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR UInt32Rules(::google::protobuf::internal::ConstantInitialized); + + inline UInt32Rules(const UInt32Rules& from) : UInt32Rules(nullptr, from) {} + inline UInt32Rules(UInt32Rules&& from) noexcept + : UInt32Rules(nullptr, ::std::move(from)) {} + inline UInt32Rules& operator=(const UInt32Rules& from) { + CopyFrom(from); + return *this; + } + inline UInt32Rules& operator=(UInt32Rules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const UInt32Rules& default_instance() { + return *reinterpret_cast( + &_UInt32Rules_default_instance_); + } + enum LessThanCase { + kLt = 2, + kLte = 3, + LESS_THAN_NOT_SET = 0, + }; + enum GreaterThanCase { + kGt = 4, + kGte = 5, + GREATER_THAN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 10; + friend void swap(UInt32Rules& a, UInt32Rules& b) { a.Swap(&b); } + inline void Swap(UInt32Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(UInt32Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + UInt32Rules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const UInt32Rules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const UInt32Rules& from) { UInt32Rules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(UInt32Rules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.UInt32Rules"; } + + explicit UInt32Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + UInt32Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UInt32Rules& from); + UInt32Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UInt32Rules&& from) noexcept + : UInt32Rules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 6, + kNotInFieldNumber = 7, + kExampleFieldNumber = 8, + kConstFieldNumber = 1, + kLtFieldNumber = 2, + kLteFieldNumber = 3, + kGtFieldNumber = 4, + kGteFieldNumber = 5, + }; + // repeated uint32 in = 6 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + ::uint32_t in(int index) const; + void set_in(int index, ::uint32_t value); + void add_in(::uint32_t value); + const ::google::protobuf::RepeatedField<::uint32_t>& in() const; + ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedField<::uint32_t>& _internal_in() const; + ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated uint32 not_in = 7 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + ::uint32_t not_in(int index) const; + void set_not_in(int index, ::uint32_t value); + void add_not_in(::uint32_t value); + const ::google::protobuf::RepeatedField<::uint32_t>& not_in() const; + ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedField<::uint32_t>& _internal_not_in() const; + ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // repeated uint32 example = 8 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + ::uint32_t example(int index) const; + void set_example(int index, ::uint32_t value); + void add_example(::uint32_t value); + const ::google::protobuf::RepeatedField<::uint32_t>& example() const; + ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedField<::uint32_t>& _internal_example() const; + ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // optional uint32 const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + ::uint32_t const_() const; + void set_const_(::uint32_t value); + + private: + ::uint32_t _internal_const_() const; + void _internal_set_const_(::uint32_t value); + + public: + // uint32 lt = 2 [(.buf.validate.predefined) = { + bool has_lt() const; + void clear_lt() ; + ::uint32_t lt() const; + void set_lt(::uint32_t value); + + private: + ::uint32_t _internal_lt() const; + void _internal_set_lt(::uint32_t value); + + public: + // uint32 lte = 3 [(.buf.validate.predefined) = { + bool has_lte() const; + void clear_lte() ; + ::uint32_t lte() const; + void set_lte(::uint32_t value); + + private: + ::uint32_t _internal_lte() const; + void _internal_set_lte(::uint32_t value); + + public: + // uint32 gt = 4 [(.buf.validate.predefined) = { + bool has_gt() const; + void clear_gt() ; + ::uint32_t gt() const; + void set_gt(::uint32_t value); + + private: + ::uint32_t _internal_gt() const; + void _internal_set_gt(::uint32_t value); + + public: + // uint32 gte = 5 [(.buf.validate.predefined) = { + bool has_gte() const; + void clear_gte() ; + ::uint32_t gte() const; + void set_gte(::uint32_t value); + + private: + ::uint32_t _internal_gte() const; + void _internal_set_gte(::uint32_t value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + UInt32Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + UInt32Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + UInt32Rules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_less_than(); + LessThanCase less_than_case() const; + void clear_greater_than(); + GreaterThanCase greater_than_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.UInt32Rules) + private: + class _Internal; + void set_has_lt(); + void set_has_lte(); + void set_has_gt(); + void set_has_gte(); + inline bool has_less_than() const; + inline void clear_has_less_than(); + inline bool has_greater_than() const; + inline void clear_has_greater_than(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 8, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const UInt32Rules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField<::uint32_t> in_; + ::google::protobuf::RepeatedField<::uint32_t> not_in_; + ::google::protobuf::RepeatedField<::uint32_t> example_; + ::uint32_t const__; + union LessThanUnion { + constexpr LessThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::uint32_t lt_; + ::uint32_t lte_; + } less_than_; + union GreaterThanUnion { + constexpr GreaterThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::uint32_t gt_; + ::uint32_t gte_; + } greater_than_; + ::uint32_t _oneof_case_[2]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull UInt32Rules_class_data_; +// ------------------------------------------------------------------- + +class StringRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.StringRules) */ { + public: + inline StringRules() : StringRules(nullptr) {} + ~StringRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(StringRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(StringRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR StringRules(::google::protobuf::internal::ConstantInitialized); + + inline StringRules(const StringRules& from) : StringRules(nullptr, from) {} + inline StringRules(StringRules&& from) noexcept + : StringRules(nullptr, ::std::move(from)) {} + inline StringRules& operator=(const StringRules& from) { + CopyFrom(from); + return *this; + } + inline StringRules& operator=(StringRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const StringRules& default_instance() { + return *reinterpret_cast( + &_StringRules_default_instance_); + } + enum WellKnownCase { + kEmail = 12, + kHostname = 13, + kIp = 14, + kIpv4 = 15, + kIpv6 = 16, + kUri = 17, + kUriRef = 18, + kAddress = 21, + kUuid = 22, + kTuuid = 33, + kIpWithPrefixlen = 26, + kIpv4WithPrefixlen = 27, + kIpv6WithPrefixlen = 28, + kIpPrefix = 29, + kIpv4Prefix = 30, + kIpv6Prefix = 31, + kHostAndPort = 32, + kUlid = 35, + kProtobufFqn = 37, + kProtobufDotFqn = 38, + kWellKnownRegex = 24, + WELL_KNOWN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 19; + friend void swap(StringRules& a, StringRules& b) { a.Swap(&b); } + inline void Swap(StringRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(StringRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + StringRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const StringRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const StringRules& from) { StringRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(StringRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.StringRules"; } + + explicit StringRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + StringRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const StringRules& from); + StringRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, StringRules&& from) noexcept + : StringRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 10, + kNotInFieldNumber = 11, + kExampleFieldNumber = 34, + kConstFieldNumber = 1, + kPatternFieldNumber = 6, + kPrefixFieldNumber = 7, + kSuffixFieldNumber = 8, + kContainsFieldNumber = 9, + kNotContainsFieldNumber = 23, + kMinLenFieldNumber = 2, + kMaxLenFieldNumber = 3, + kMinBytesFieldNumber = 4, + kMaxBytesFieldNumber = 5, + kLenFieldNumber = 19, + kLenBytesFieldNumber = 20, + kStrictFieldNumber = 25, + kEmailFieldNumber = 12, + kHostnameFieldNumber = 13, + kIpFieldNumber = 14, + kIpv4FieldNumber = 15, + kIpv6FieldNumber = 16, + kUriFieldNumber = 17, + kUriRefFieldNumber = 18, + kAddressFieldNumber = 21, + kUuidFieldNumber = 22, + kTuuidFieldNumber = 33, + kIpWithPrefixlenFieldNumber = 26, + kIpv4WithPrefixlenFieldNumber = 27, + kIpv6WithPrefixlenFieldNumber = 28, + kIpPrefixFieldNumber = 29, + kIpv4PrefixFieldNumber = 30, + kIpv6PrefixFieldNumber = 31, + kHostAndPortFieldNumber = 32, + kUlidFieldNumber = 35, + kProtobufFqnFieldNumber = 37, + kProtobufDotFqnFieldNumber = 38, + kWellKnownRegexFieldNumber = 24, + }; + // repeated string in = 10 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + const ::std::string& in(int index) const; + ::std::string* PROTOBUF_NONNULL mutable_in(int index); + template + void set_in(int index, Arg_&& value, Args_... args); + ::std::string* PROTOBUF_NONNULL add_in(); + template + void add_in(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField<::std::string>& in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated string not_in = 11 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + const ::std::string& not_in(int index) const; + ::std::string* PROTOBUF_NONNULL mutable_not_in(int index); + template + void set_not_in(int index, Arg_&& value, Args_... args); + ::std::string* PROTOBUF_NONNULL add_not_in(); + template + void add_not_in(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField<::std::string>& not_in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_not_in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // repeated string example = 34 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + const ::std::string& example(int index) const; + ::std::string* PROTOBUF_NONNULL mutable_example(int index); + template + void set_example(int index, Arg_&& value, Args_... args); + ::std::string* PROTOBUF_NONNULL add_example(); + template + void add_example(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField<::std::string>& example() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_example() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // optional string const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + const ::std::string& const_() const; + template + void set_const_(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_const_(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_const_(); + void set_allocated_const_(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_const_() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_const_(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_const_(); + + public: + // optional string pattern = 6 [(.buf.validate.predefined) = { + bool has_pattern() const; + void clear_pattern() ; + const ::std::string& pattern() const; + template + void set_pattern(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_pattern(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_pattern(); + void set_allocated_pattern(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_pattern() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_pattern(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_pattern(); + + public: + // optional string prefix = 7 [(.buf.validate.predefined) = { + bool has_prefix() const; + void clear_prefix() ; + const ::std::string& prefix() const; + template + void set_prefix(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_prefix(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_prefix(); + void set_allocated_prefix(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_prefix() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_prefix(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_prefix(); + + public: + // optional string suffix = 8 [(.buf.validate.predefined) = { + bool has_suffix() const; + void clear_suffix() ; + const ::std::string& suffix() const; + template + void set_suffix(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_suffix(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_suffix(); + void set_allocated_suffix(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_suffix() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_suffix(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_suffix(); + + public: + // optional string contains = 9 [(.buf.validate.predefined) = { + bool has_contains() const; + void clear_contains() ; + const ::std::string& contains() const; + template + void set_contains(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_contains(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_contains(); + void set_allocated_contains(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_contains() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_contains(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_contains(); + + public: + // optional string not_contains = 23 [(.buf.validate.predefined) = { + bool has_not_contains() const; + void clear_not_contains() ; + const ::std::string& not_contains() const; + template + void set_not_contains(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_not_contains(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_not_contains(); + void set_allocated_not_contains(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_not_contains() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_not_contains(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_not_contains(); + + public: + // optional uint64 min_len = 2 [(.buf.validate.predefined) = { + bool has_min_len() const; + void clear_min_len() ; + ::uint64_t min_len() const; + void set_min_len(::uint64_t value); + + private: + ::uint64_t _internal_min_len() const; + void _internal_set_min_len(::uint64_t value); + + public: + // optional uint64 max_len = 3 [(.buf.validate.predefined) = { + bool has_max_len() const; + void clear_max_len() ; + ::uint64_t max_len() const; + void set_max_len(::uint64_t value); + + private: + ::uint64_t _internal_max_len() const; + void _internal_set_max_len(::uint64_t value); + + public: + // optional uint64 min_bytes = 4 [(.buf.validate.predefined) = { + bool has_min_bytes() const; + void clear_min_bytes() ; + ::uint64_t min_bytes() const; + void set_min_bytes(::uint64_t value); + + private: + ::uint64_t _internal_min_bytes() const; + void _internal_set_min_bytes(::uint64_t value); + + public: + // optional uint64 max_bytes = 5 [(.buf.validate.predefined) = { + bool has_max_bytes() const; + void clear_max_bytes() ; + ::uint64_t max_bytes() const; + void set_max_bytes(::uint64_t value); + + private: + ::uint64_t _internal_max_bytes() const; + void _internal_set_max_bytes(::uint64_t value); + + public: + // optional uint64 len = 19 [(.buf.validate.predefined) = { + bool has_len() const; + void clear_len() ; + ::uint64_t len() const; + void set_len(::uint64_t value); + + private: + ::uint64_t _internal_len() const; + void _internal_set_len(::uint64_t value); + + public: + // optional uint64 len_bytes = 20 [(.buf.validate.predefined) = { + bool has_len_bytes() const; + void clear_len_bytes() ; + ::uint64_t len_bytes() const; + void set_len_bytes(::uint64_t value); + + private: + ::uint64_t _internal_len_bytes() const; + void _internal_set_len_bytes(::uint64_t value); + + public: + // optional bool strict = 25; + bool has_strict() const; + void clear_strict() ; + bool strict() const; + void set_strict(bool value); + + private: + bool _internal_strict() const; + void _internal_set_strict(bool value); + + public: + // bool email = 12 [(.buf.validate.predefined) = { + bool has_email() const; + void clear_email() ; + bool email() const; + void set_email(bool value); + + private: + bool _internal_email() const; + void _internal_set_email(bool value); + + public: + // bool hostname = 13 [(.buf.validate.predefined) = { + bool has_hostname() const; + void clear_hostname() ; + bool hostname() const; + void set_hostname(bool value); + + private: + bool _internal_hostname() const; + void _internal_set_hostname(bool value); + + public: + // bool ip = 14 [(.buf.validate.predefined) = { + bool has_ip() const; + void clear_ip() ; + bool ip() const; + void set_ip(bool value); + + private: + bool _internal_ip() const; + void _internal_set_ip(bool value); + + public: + // bool ipv4 = 15 [(.buf.validate.predefined) = { + bool has_ipv4() const; + void clear_ipv4() ; + bool ipv4() const; + void set_ipv4(bool value); + + private: + bool _internal_ipv4() const; + void _internal_set_ipv4(bool value); + + public: + // bool ipv6 = 16 [(.buf.validate.predefined) = { + bool has_ipv6() const; + void clear_ipv6() ; + bool ipv6() const; + void set_ipv6(bool value); + + private: + bool _internal_ipv6() const; + void _internal_set_ipv6(bool value); + + public: + // bool uri = 17 [(.buf.validate.predefined) = { + bool has_uri() const; + void clear_uri() ; + bool uri() const; + void set_uri(bool value); + + private: + bool _internal_uri() const; + void _internal_set_uri(bool value); + + public: + // bool uri_ref = 18 [(.buf.validate.predefined) = { + bool has_uri_ref() const; + void clear_uri_ref() ; + bool uri_ref() const; + void set_uri_ref(bool value); + + private: + bool _internal_uri_ref() const; + void _internal_set_uri_ref(bool value); + + public: + // bool address = 21 [(.buf.validate.predefined) = { + bool has_address() const; + void clear_address() ; + bool address() const; + void set_address(bool value); + + private: + bool _internal_address() const; + void _internal_set_address(bool value); + + public: + // bool uuid = 22 [(.buf.validate.predefined) = { + bool has_uuid() const; + void clear_uuid() ; + bool uuid() const; + void set_uuid(bool value); + + private: + bool _internal_uuid() const; + void _internal_set_uuid(bool value); + + public: + // bool tuuid = 33 [(.buf.validate.predefined) = { + bool has_tuuid() const; + void clear_tuuid() ; + bool tuuid() const; + void set_tuuid(bool value); + + private: + bool _internal_tuuid() const; + void _internal_set_tuuid(bool value); + + public: + // bool ip_with_prefixlen = 26 [(.buf.validate.predefined) = { + bool has_ip_with_prefixlen() const; + void clear_ip_with_prefixlen() ; + bool ip_with_prefixlen() const; + void set_ip_with_prefixlen(bool value); + + private: + bool _internal_ip_with_prefixlen() const; + void _internal_set_ip_with_prefixlen(bool value); + + public: + // bool ipv4_with_prefixlen = 27 [(.buf.validate.predefined) = { + bool has_ipv4_with_prefixlen() const; + void clear_ipv4_with_prefixlen() ; + bool ipv4_with_prefixlen() const; + void set_ipv4_with_prefixlen(bool value); + + private: + bool _internal_ipv4_with_prefixlen() const; + void _internal_set_ipv4_with_prefixlen(bool value); + + public: + // bool ipv6_with_prefixlen = 28 [(.buf.validate.predefined) = { + bool has_ipv6_with_prefixlen() const; + void clear_ipv6_with_prefixlen() ; + bool ipv6_with_prefixlen() const; + void set_ipv6_with_prefixlen(bool value); + + private: + bool _internal_ipv6_with_prefixlen() const; + void _internal_set_ipv6_with_prefixlen(bool value); + + public: + // bool ip_prefix = 29 [(.buf.validate.predefined) = { + bool has_ip_prefix() const; + void clear_ip_prefix() ; + bool ip_prefix() const; + void set_ip_prefix(bool value); + + private: + bool _internal_ip_prefix() const; + void _internal_set_ip_prefix(bool value); + + public: + // bool ipv4_prefix = 30 [(.buf.validate.predefined) = { + bool has_ipv4_prefix() const; + void clear_ipv4_prefix() ; + bool ipv4_prefix() const; + void set_ipv4_prefix(bool value); + + private: + bool _internal_ipv4_prefix() const; + void _internal_set_ipv4_prefix(bool value); + + public: + // bool ipv6_prefix = 31 [(.buf.validate.predefined) = { + bool has_ipv6_prefix() const; + void clear_ipv6_prefix() ; + bool ipv6_prefix() const; + void set_ipv6_prefix(bool value); + + private: + bool _internal_ipv6_prefix() const; + void _internal_set_ipv6_prefix(bool value); + + public: + // bool host_and_port = 32 [(.buf.validate.predefined) = { + bool has_host_and_port() const; + void clear_host_and_port() ; + bool host_and_port() const; + void set_host_and_port(bool value); + + private: + bool _internal_host_and_port() const; + void _internal_set_host_and_port(bool value); + + public: + // bool ulid = 35 [(.buf.validate.predefined) = { + bool has_ulid() const; + void clear_ulid() ; + bool ulid() const; + void set_ulid(bool value); + + private: + bool _internal_ulid() const; + void _internal_set_ulid(bool value); + + public: + // bool protobuf_fqn = 37 [(.buf.validate.predefined) = { + bool has_protobuf_fqn() const; + void clear_protobuf_fqn() ; + bool protobuf_fqn() const; + void set_protobuf_fqn(bool value); + + private: + bool _internal_protobuf_fqn() const; + void _internal_set_protobuf_fqn(bool value); + + public: + // bool protobuf_dot_fqn = 38 [(.buf.validate.predefined) = { + bool has_protobuf_dot_fqn() const; + void clear_protobuf_dot_fqn() ; + bool protobuf_dot_fqn() const; + void set_protobuf_dot_fqn(bool value); + + private: + bool _internal_protobuf_dot_fqn() const; + void _internal_set_protobuf_dot_fqn(bool value); + + public: + // .buf.validate.KnownRegex well_known_regex = 24 [(.buf.validate.predefined) = { + bool has_well_known_regex() const; + void clear_well_known_regex() ; + ::buf::validate::KnownRegex well_known_regex() const; + void set_well_known_regex(::buf::validate::KnownRegex value); + + private: + ::buf::validate::KnownRegex _internal_well_known_regex() const; + void _internal_set_well_known_regex(::buf::validate::KnownRegex value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + StringRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + StringRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + StringRules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_well_known(); + WellKnownCase well_known_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.StringRules) + private: + class _Internal; + void set_has_email(); + void set_has_hostname(); + void set_has_ip(); + void set_has_ipv4(); + void set_has_ipv6(); + void set_has_uri(); + void set_has_uri_ref(); + void set_has_address(); + void set_has_uuid(); + void set_has_tuuid(); + void set_has_ip_with_prefixlen(); + void set_has_ipv4_with_prefixlen(); + void set_has_ipv6_with_prefixlen(); + void set_has_ip_prefix(); + void set_has_ipv4_prefix(); + void set_has_ipv6_prefix(); + void set_has_host_and_port(); + void set_has_ulid(); + void set_has_protobuf_fqn(); + void set_has_protobuf_dot_fqn(); + void set_has_well_known_regex(); + inline bool has_well_known() const; + inline void clear_has_well_known(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<5, 37, + 1, 0, + 7> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const StringRules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField<::std::string> in_; + ::google::protobuf::RepeatedPtrField<::std::string> not_in_; + ::google::protobuf::RepeatedPtrField<::std::string> example_; + ::google::protobuf::internal::ArenaStringPtr const__; + ::google::protobuf::internal::ArenaStringPtr pattern_; + ::google::protobuf::internal::ArenaStringPtr prefix_; + ::google::protobuf::internal::ArenaStringPtr suffix_; + ::google::protobuf::internal::ArenaStringPtr contains_; + ::google::protobuf::internal::ArenaStringPtr not_contains_; + ::uint64_t min_len_; + ::uint64_t max_len_; + ::uint64_t min_bytes_; + ::uint64_t max_bytes_; + ::uint64_t len_; + ::uint64_t len_bytes_; + bool strict_; + union WellKnownUnion { + constexpr WellKnownUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + bool email_; + bool hostname_; + bool ip_; + bool ipv4_; + bool ipv6_; + bool uri_; + bool uri_ref_; + bool address_; + bool uuid_; + bool tuuid_; + bool ip_with_prefixlen_; + bool ipv4_with_prefixlen_; + bool ipv6_with_prefixlen_; + bool ip_prefix_; + bool ipv4_prefix_; + bool ipv6_prefix_; + bool host_and_port_; + bool ulid_; + bool protobuf_fqn_; + bool protobuf_dot_fqn_; + int well_known_regex_; + } well_known_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull StringRules_class_data_; +// ------------------------------------------------------------------- + +class SInt64Rules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.SInt64Rules) */ { + public: + inline SInt64Rules() : SInt64Rules(nullptr) {} + ~SInt64Rules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(SInt64Rules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(SInt64Rules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR SInt64Rules(::google::protobuf::internal::ConstantInitialized); + + inline SInt64Rules(const SInt64Rules& from) : SInt64Rules(nullptr, from) {} + inline SInt64Rules(SInt64Rules&& from) noexcept + : SInt64Rules(nullptr, ::std::move(from)) {} + inline SInt64Rules& operator=(const SInt64Rules& from) { + CopyFrom(from); + return *this; + } + inline SInt64Rules& operator=(SInt64Rules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SInt64Rules& default_instance() { + return *reinterpret_cast( + &_SInt64Rules_default_instance_); + } + enum LessThanCase { + kLt = 2, + kLte = 3, + LESS_THAN_NOT_SET = 0, + }; + enum GreaterThanCase { + kGt = 4, + kGte = 5, + GREATER_THAN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 13; + friend void swap(SInt64Rules& a, SInt64Rules& b) { a.Swap(&b); } + inline void Swap(SInt64Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SInt64Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SInt64Rules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SInt64Rules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const SInt64Rules& from) { SInt64Rules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(SInt64Rules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.SInt64Rules"; } + + explicit SInt64Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + SInt64Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SInt64Rules& from); + SInt64Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SInt64Rules&& from) noexcept + : SInt64Rules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 6, + kNotInFieldNumber = 7, + kExampleFieldNumber = 8, + kConstFieldNumber = 1, + kLtFieldNumber = 2, + kLteFieldNumber = 3, + kGtFieldNumber = 4, + kGteFieldNumber = 5, + }; + // repeated sint64 in = 6 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + ::int64_t in(int index) const; + void set_in(int index, ::int64_t value); + void add_in(::int64_t value); + const ::google::protobuf::RepeatedField<::int64_t>& in() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedField<::int64_t>& _internal_in() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated sint64 not_in = 7 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + ::int64_t not_in(int index) const; + void set_not_in(int index, ::int64_t value); + void add_not_in(::int64_t value); + const ::google::protobuf::RepeatedField<::int64_t>& not_in() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedField<::int64_t>& _internal_not_in() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // repeated sint64 example = 8 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + ::int64_t example(int index) const; + void set_example(int index, ::int64_t value); + void add_example(::int64_t value); + const ::google::protobuf::RepeatedField<::int64_t>& example() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedField<::int64_t>& _internal_example() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // optional sint64 const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + ::int64_t const_() const; + void set_const_(::int64_t value); + + private: + ::int64_t _internal_const_() const; + void _internal_set_const_(::int64_t value); + + public: + // sint64 lt = 2 [(.buf.validate.predefined) = { + bool has_lt() const; + void clear_lt() ; + ::int64_t lt() const; + void set_lt(::int64_t value); + + private: + ::int64_t _internal_lt() const; + void _internal_set_lt(::int64_t value); + + public: + // sint64 lte = 3 [(.buf.validate.predefined) = { + bool has_lte() const; + void clear_lte() ; + ::int64_t lte() const; + void set_lte(::int64_t value); + + private: + ::int64_t _internal_lte() const; + void _internal_set_lte(::int64_t value); + + public: + // sint64 gt = 4 [(.buf.validate.predefined) = { + bool has_gt() const; + void clear_gt() ; + ::int64_t gt() const; + void set_gt(::int64_t value); + + private: + ::int64_t _internal_gt() const; + void _internal_set_gt(::int64_t value); + + public: + // sint64 gte = 5 [(.buf.validate.predefined) = { + bool has_gte() const; + void clear_gte() ; + ::int64_t gte() const; + void set_gte(::int64_t value); + + private: + ::int64_t _internal_gte() const; + void _internal_set_gte(::int64_t value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + SInt64Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + SInt64Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + SInt64Rules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_less_than(); + LessThanCase less_than_case() const; + void clear_greater_than(); + GreaterThanCase greater_than_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.SInt64Rules) + private: + class _Internal; + void set_has_lt(); + void set_has_lte(); + void set_has_gt(); + void set_has_gte(); + inline bool has_less_than() const; + inline void clear_has_less_than(); + inline bool has_greater_than() const; + inline void clear_has_greater_than(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 8, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const SInt64Rules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField<::int64_t> in_; + ::google::protobuf::RepeatedField<::int64_t> not_in_; + ::google::protobuf::RepeatedField<::int64_t> example_; + ::int64_t const__; + union LessThanUnion { + constexpr LessThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::int64_t lt_; + ::int64_t lte_; + } less_than_; + union GreaterThanUnion { + constexpr GreaterThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::int64_t gt_; + ::int64_t gte_; + } greater_than_; + ::uint32_t _oneof_case_[2]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull SInt64Rules_class_data_; +// ------------------------------------------------------------------- + +class SInt32Rules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.SInt32Rules) */ { + public: + inline SInt32Rules() : SInt32Rules(nullptr) {} + ~SInt32Rules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(SInt32Rules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(SInt32Rules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR SInt32Rules(::google::protobuf::internal::ConstantInitialized); + + inline SInt32Rules(const SInt32Rules& from) : SInt32Rules(nullptr, from) {} + inline SInt32Rules(SInt32Rules&& from) noexcept + : SInt32Rules(nullptr, ::std::move(from)) {} + inline SInt32Rules& operator=(const SInt32Rules& from) { + CopyFrom(from); + return *this; + } + inline SInt32Rules& operator=(SInt32Rules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SInt32Rules& default_instance() { + return *reinterpret_cast( + &_SInt32Rules_default_instance_); + } + enum LessThanCase { + kLt = 2, + kLte = 3, + LESS_THAN_NOT_SET = 0, + }; + enum GreaterThanCase { + kGt = 4, + kGte = 5, + GREATER_THAN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 12; + friend void swap(SInt32Rules& a, SInt32Rules& b) { a.Swap(&b); } + inline void Swap(SInt32Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SInt32Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SInt32Rules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SInt32Rules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const SInt32Rules& from) { SInt32Rules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(SInt32Rules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.SInt32Rules"; } + + explicit SInt32Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + SInt32Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SInt32Rules& from); + SInt32Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SInt32Rules&& from) noexcept + : SInt32Rules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 6, + kNotInFieldNumber = 7, + kExampleFieldNumber = 8, + kConstFieldNumber = 1, + kLtFieldNumber = 2, + kLteFieldNumber = 3, + kGtFieldNumber = 4, + kGteFieldNumber = 5, + }; + // repeated sint32 in = 6 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + ::int32_t in(int index) const; + void set_in(int index, ::int32_t value); + void add_in(::int32_t value); + const ::google::protobuf::RepeatedField<::int32_t>& in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedField<::int32_t>& _internal_in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated sint32 not_in = 7 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + ::int32_t not_in(int index) const; + void set_not_in(int index, ::int32_t value); + void add_not_in(::int32_t value); + const ::google::protobuf::RepeatedField<::int32_t>& not_in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedField<::int32_t>& _internal_not_in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // repeated sint32 example = 8 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + ::int32_t example(int index) const; + void set_example(int index, ::int32_t value); + void add_example(::int32_t value); + const ::google::protobuf::RepeatedField<::int32_t>& example() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedField<::int32_t>& _internal_example() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // optional sint32 const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + ::int32_t const_() const; + void set_const_(::int32_t value); + + private: + ::int32_t _internal_const_() const; + void _internal_set_const_(::int32_t value); + + public: + // sint32 lt = 2 [(.buf.validate.predefined) = { + bool has_lt() const; + void clear_lt() ; + ::int32_t lt() const; + void set_lt(::int32_t value); + + private: + ::int32_t _internal_lt() const; + void _internal_set_lt(::int32_t value); + + public: + // sint32 lte = 3 [(.buf.validate.predefined) = { + bool has_lte() const; + void clear_lte() ; + ::int32_t lte() const; + void set_lte(::int32_t value); + + private: + ::int32_t _internal_lte() const; + void _internal_set_lte(::int32_t value); + + public: + // sint32 gt = 4 [(.buf.validate.predefined) = { + bool has_gt() const; + void clear_gt() ; + ::int32_t gt() const; + void set_gt(::int32_t value); + + private: + ::int32_t _internal_gt() const; + void _internal_set_gt(::int32_t value); + + public: + // sint32 gte = 5 [(.buf.validate.predefined) = { + bool has_gte() const; + void clear_gte() ; + ::int32_t gte() const; + void set_gte(::int32_t value); + + private: + ::int32_t _internal_gte() const; + void _internal_set_gte(::int32_t value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + SInt32Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + SInt32Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + SInt32Rules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_less_than(); + LessThanCase less_than_case() const; + void clear_greater_than(); + GreaterThanCase greater_than_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.SInt32Rules) + private: + class _Internal; + void set_has_lt(); + void set_has_lte(); + void set_has_gt(); + void set_has_gte(); + inline bool has_less_than() const; + inline void clear_has_less_than(); + inline bool has_greater_than() const; + inline void clear_has_greater_than(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 8, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const SInt32Rules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField<::int32_t> in_; + ::google::protobuf::RepeatedField<::int32_t> not_in_; + ::google::protobuf::RepeatedField<::int32_t> example_; + ::int32_t const__; + union LessThanUnion { + constexpr LessThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::int32_t lt_; + ::int32_t lte_; + } less_than_; + union GreaterThanUnion { + constexpr GreaterThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::int32_t gt_; + ::int32_t gte_; + } greater_than_; + ::uint32_t _oneof_case_[2]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull SInt32Rules_class_data_; +// ------------------------------------------------------------------- + +class SFixed64Rules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.SFixed64Rules) */ { + public: + inline SFixed64Rules() : SFixed64Rules(nullptr) {} + ~SFixed64Rules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(SFixed64Rules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(SFixed64Rules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR SFixed64Rules(::google::protobuf::internal::ConstantInitialized); + + inline SFixed64Rules(const SFixed64Rules& from) : SFixed64Rules(nullptr, from) {} + inline SFixed64Rules(SFixed64Rules&& from) noexcept + : SFixed64Rules(nullptr, ::std::move(from)) {} + inline SFixed64Rules& operator=(const SFixed64Rules& from) { + CopyFrom(from); + return *this; + } + inline SFixed64Rules& operator=(SFixed64Rules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SFixed64Rules& default_instance() { + return *reinterpret_cast( + &_SFixed64Rules_default_instance_); + } + enum LessThanCase { + kLt = 2, + kLte = 3, + LESS_THAN_NOT_SET = 0, + }; + enum GreaterThanCase { + kGt = 4, + kGte = 5, + GREATER_THAN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 17; + friend void swap(SFixed64Rules& a, SFixed64Rules& b) { a.Swap(&b); } + inline void Swap(SFixed64Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SFixed64Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SFixed64Rules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SFixed64Rules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const SFixed64Rules& from) { SFixed64Rules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(SFixed64Rules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.SFixed64Rules"; } + + explicit SFixed64Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + SFixed64Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SFixed64Rules& from); + SFixed64Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SFixed64Rules&& from) noexcept + : SFixed64Rules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 6, + kNotInFieldNumber = 7, + kExampleFieldNumber = 8, + kConstFieldNumber = 1, + kLtFieldNumber = 2, + kLteFieldNumber = 3, + kGtFieldNumber = 4, + kGteFieldNumber = 5, + }; + // repeated sfixed64 in = 6 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + ::int64_t in(int index) const; + void set_in(int index, ::int64_t value); + void add_in(::int64_t value); + const ::google::protobuf::RepeatedField<::int64_t>& in() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedField<::int64_t>& _internal_in() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated sfixed64 not_in = 7 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + ::int64_t not_in(int index) const; + void set_not_in(int index, ::int64_t value); + void add_not_in(::int64_t value); + const ::google::protobuf::RepeatedField<::int64_t>& not_in() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedField<::int64_t>& _internal_not_in() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // repeated sfixed64 example = 8 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + ::int64_t example(int index) const; + void set_example(int index, ::int64_t value); + void add_example(::int64_t value); + const ::google::protobuf::RepeatedField<::int64_t>& example() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedField<::int64_t>& _internal_example() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // optional sfixed64 const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + ::int64_t const_() const; + void set_const_(::int64_t value); + + private: + ::int64_t _internal_const_() const; + void _internal_set_const_(::int64_t value); + + public: + // sfixed64 lt = 2 [(.buf.validate.predefined) = { + bool has_lt() const; + void clear_lt() ; + ::int64_t lt() const; + void set_lt(::int64_t value); + + private: + ::int64_t _internal_lt() const; + void _internal_set_lt(::int64_t value); + + public: + // sfixed64 lte = 3 [(.buf.validate.predefined) = { + bool has_lte() const; + void clear_lte() ; + ::int64_t lte() const; + void set_lte(::int64_t value); + + private: + ::int64_t _internal_lte() const; + void _internal_set_lte(::int64_t value); + + public: + // sfixed64 gt = 4 [(.buf.validate.predefined) = { + bool has_gt() const; + void clear_gt() ; + ::int64_t gt() const; + void set_gt(::int64_t value); + + private: + ::int64_t _internal_gt() const; + void _internal_set_gt(::int64_t value); + + public: + // sfixed64 gte = 5 [(.buf.validate.predefined) = { + bool has_gte() const; + void clear_gte() ; + ::int64_t gte() const; + void set_gte(::int64_t value); + + private: + ::int64_t _internal_gte() const; + void _internal_set_gte(::int64_t value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + SFixed64Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + SFixed64Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + SFixed64Rules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_less_than(); + LessThanCase less_than_case() const; + void clear_greater_than(); + GreaterThanCase greater_than_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.SFixed64Rules) + private: + class _Internal; + void set_has_lt(); + void set_has_lte(); + void set_has_gt(); + void set_has_gte(); + inline bool has_less_than() const; + inline void clear_has_less_than(); + inline bool has_greater_than() const; + inline void clear_has_greater_than(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 8, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const SFixed64Rules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField<::int64_t> in_; + ::google::protobuf::RepeatedField<::int64_t> not_in_; + ::google::protobuf::RepeatedField<::int64_t> example_; + ::int64_t const__; + union LessThanUnion { + constexpr LessThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::int64_t lt_; + ::int64_t lte_; + } less_than_; + union GreaterThanUnion { + constexpr GreaterThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::int64_t gt_; + ::int64_t gte_; + } greater_than_; + ::uint32_t _oneof_case_[2]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull SFixed64Rules_class_data_; +// ------------------------------------------------------------------- + +class SFixed32Rules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.SFixed32Rules) */ { + public: + inline SFixed32Rules() : SFixed32Rules(nullptr) {} + ~SFixed32Rules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(SFixed32Rules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(SFixed32Rules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR SFixed32Rules(::google::protobuf::internal::ConstantInitialized); + + inline SFixed32Rules(const SFixed32Rules& from) : SFixed32Rules(nullptr, from) {} + inline SFixed32Rules(SFixed32Rules&& from) noexcept + : SFixed32Rules(nullptr, ::std::move(from)) {} + inline SFixed32Rules& operator=(const SFixed32Rules& from) { + CopyFrom(from); + return *this; + } + inline SFixed32Rules& operator=(SFixed32Rules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SFixed32Rules& default_instance() { + return *reinterpret_cast( + &_SFixed32Rules_default_instance_); + } + enum LessThanCase { + kLt = 2, + kLte = 3, + LESS_THAN_NOT_SET = 0, + }; + enum GreaterThanCase { + kGt = 4, + kGte = 5, + GREATER_THAN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 16; + friend void swap(SFixed32Rules& a, SFixed32Rules& b) { a.Swap(&b); } + inline void Swap(SFixed32Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SFixed32Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SFixed32Rules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SFixed32Rules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const SFixed32Rules& from) { SFixed32Rules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(SFixed32Rules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.SFixed32Rules"; } + + explicit SFixed32Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + SFixed32Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SFixed32Rules& from); + SFixed32Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SFixed32Rules&& from) noexcept + : SFixed32Rules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 6, + kNotInFieldNumber = 7, + kExampleFieldNumber = 8, + kConstFieldNumber = 1, + kLtFieldNumber = 2, + kLteFieldNumber = 3, + kGtFieldNumber = 4, + kGteFieldNumber = 5, + }; + // repeated sfixed32 in = 6 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + ::int32_t in(int index) const; + void set_in(int index, ::int32_t value); + void add_in(::int32_t value); + const ::google::protobuf::RepeatedField<::int32_t>& in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedField<::int32_t>& _internal_in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated sfixed32 not_in = 7 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + ::int32_t not_in(int index) const; + void set_not_in(int index, ::int32_t value); + void add_not_in(::int32_t value); + const ::google::protobuf::RepeatedField<::int32_t>& not_in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedField<::int32_t>& _internal_not_in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // repeated sfixed32 example = 8 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + ::int32_t example(int index) const; + void set_example(int index, ::int32_t value); + void add_example(::int32_t value); + const ::google::protobuf::RepeatedField<::int32_t>& example() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedField<::int32_t>& _internal_example() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // optional sfixed32 const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + ::int32_t const_() const; + void set_const_(::int32_t value); + + private: + ::int32_t _internal_const_() const; + void _internal_set_const_(::int32_t value); + + public: + // sfixed32 lt = 2 [(.buf.validate.predefined) = { + bool has_lt() const; + void clear_lt() ; + ::int32_t lt() const; + void set_lt(::int32_t value); + + private: + ::int32_t _internal_lt() const; + void _internal_set_lt(::int32_t value); + + public: + // sfixed32 lte = 3 [(.buf.validate.predefined) = { + bool has_lte() const; + void clear_lte() ; + ::int32_t lte() const; + void set_lte(::int32_t value); + + private: + ::int32_t _internal_lte() const; + void _internal_set_lte(::int32_t value); + + public: + // sfixed32 gt = 4 [(.buf.validate.predefined) = { + bool has_gt() const; + void clear_gt() ; + ::int32_t gt() const; + void set_gt(::int32_t value); + + private: + ::int32_t _internal_gt() const; + void _internal_set_gt(::int32_t value); + + public: + // sfixed32 gte = 5 [(.buf.validate.predefined) = { + bool has_gte() const; + void clear_gte() ; + ::int32_t gte() const; + void set_gte(::int32_t value); + + private: + ::int32_t _internal_gte() const; + void _internal_set_gte(::int32_t value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + SFixed32Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + SFixed32Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + SFixed32Rules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_less_than(); + LessThanCase less_than_case() const; + void clear_greater_than(); + GreaterThanCase greater_than_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.SFixed32Rules) + private: + class _Internal; + void set_has_lt(); + void set_has_lte(); + void set_has_gt(); + void set_has_gte(); + inline bool has_less_than() const; + inline void clear_has_less_than(); + inline bool has_greater_than() const; + inline void clear_has_greater_than(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 8, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const SFixed32Rules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField<::int32_t> in_; + ::google::protobuf::RepeatedField<::int32_t> not_in_; + ::google::protobuf::RepeatedField<::int32_t> example_; + ::int32_t const__; + union LessThanUnion { + constexpr LessThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::int32_t lt_; + ::int32_t lte_; + } less_than_; + union GreaterThanUnion { + constexpr GreaterThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::int32_t gt_; + ::int32_t gte_; + } greater_than_; + ::uint32_t _oneof_case_[2]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull SFixed32Rules_class_data_; +// ------------------------------------------------------------------- + +class Rule final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.Rule) */ { + public: + inline Rule() : Rule(nullptr) {} + ~Rule() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Rule* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Rule)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Rule(::google::protobuf::internal::ConstantInitialized); + + inline Rule(const Rule& from) : Rule(nullptr, from) {} + inline Rule(Rule&& from) noexcept + : Rule(nullptr, ::std::move(from)) {} + inline Rule& operator=(const Rule& from) { + CopyFrom(from); + return *this; + } + inline Rule& operator=(Rule&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Rule& default_instance() { + return *reinterpret_cast( + &_Rule_default_instance_); + } + static constexpr int kIndexInFileMessages = 0; + friend void swap(Rule& a, Rule& b) { a.Swap(&b); } + inline void Swap(Rule* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Rule* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Rule* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Rule& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Rule& from) { Rule::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Rule* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.Rule"; } + + explicit Rule(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Rule(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Rule& from); + Rule( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Rule&& from) noexcept + : Rule(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kIdFieldNumber = 1, + kMessageFieldNumber = 2, + kExpressionFieldNumber = 3, + }; + // optional string id = 1; + bool has_id() const; + void clear_id() ; + const ::std::string& id() const; + template + void set_id(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_id(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_id(); + void set_allocated_id(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_id() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_id(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_id(); + + public: + // optional string message = 2; + bool has_message() const; + void clear_message() ; + const ::std::string& message() const; + template + void set_message(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_message(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_message(); + void set_allocated_message(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_message() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_message(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_message(); + + public: + // optional string expression = 3; + bool has_expression() const; + void clear_expression() ; + const ::std::string& expression() const; + template + void set_expression(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_expression(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_expression(); + void set_allocated_expression(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_expression() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_expression(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_expression(); + + public: + // @@protoc_insertion_point(class_scope:buf.validate.Rule) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 3, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Rule& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr id_; + ::google::protobuf::internal::ArenaStringPtr message_; + ::google::protobuf::internal::ArenaStringPtr expression_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Rule_class_data_; +// ------------------------------------------------------------------- + +class OneofRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.OneofRules) */ { + public: + inline OneofRules() : OneofRules(nullptr) {} + ~OneofRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(OneofRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(OneofRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR OneofRules(::google::protobuf::internal::ConstantInitialized); + + inline OneofRules(const OneofRules& from) : OneofRules(nullptr, from) {} + inline OneofRules(OneofRules&& from) noexcept + : OneofRules(nullptr, ::std::move(from)) {} + inline OneofRules& operator=(const OneofRules& from) { + CopyFrom(from); + return *this; + } + inline OneofRules& operator=(OneofRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const OneofRules& default_instance() { + return *reinterpret_cast( + &_OneofRules_default_instance_); + } + static constexpr int kIndexInFileMessages = 3; + friend void swap(OneofRules& a, OneofRules& b) { a.Swap(&b); } + inline void Swap(OneofRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(OneofRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + OneofRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const OneofRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const OneofRules& from) { OneofRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(OneofRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.OneofRules"; } + + explicit OneofRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + OneofRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const OneofRules& from); + OneofRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, OneofRules&& from) noexcept + : OneofRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kRequiredFieldNumber = 1, + }; + // optional bool required = 1; + bool has_required() const; + void clear_required() ; + bool required() const; + void set_required(bool value); + + private: + bool _internal_required() const; + void _internal_set_required(bool value); + + public: + // @@protoc_insertion_point(class_scope:buf.validate.OneofRules) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<0, 1, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const OneofRules& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + bool required_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull OneofRules_class_data_; +// ------------------------------------------------------------------- + +class MessageOneofRule final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.MessageOneofRule) */ { + public: + inline MessageOneofRule() : MessageOneofRule(nullptr) {} + ~MessageOneofRule() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(MessageOneofRule* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(MessageOneofRule)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR MessageOneofRule(::google::protobuf::internal::ConstantInitialized); + + inline MessageOneofRule(const MessageOneofRule& from) : MessageOneofRule(nullptr, from) {} + inline MessageOneofRule(MessageOneofRule&& from) noexcept + : MessageOneofRule(nullptr, ::std::move(from)) {} + inline MessageOneofRule& operator=(const MessageOneofRule& from) { + CopyFrom(from); + return *this; + } + inline MessageOneofRule& operator=(MessageOneofRule&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MessageOneofRule& default_instance() { + return *reinterpret_cast( + &_MessageOneofRule_default_instance_); + } + static constexpr int kIndexInFileMessages = 2; + friend void swap(MessageOneofRule& a, MessageOneofRule& b) { a.Swap(&b); } + inline void Swap(MessageOneofRule* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MessageOneofRule* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + MessageOneofRule* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MessageOneofRule& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const MessageOneofRule& from) { MessageOneofRule::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(MessageOneofRule* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.MessageOneofRule"; } + + explicit MessageOneofRule(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + MessageOneofRule(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MessageOneofRule& from); + MessageOneofRule( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MessageOneofRule&& from) noexcept + : MessageOneofRule(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kFieldsFieldNumber = 1, + kRequiredFieldNumber = 2, + }; + // repeated string fields = 1; + int fields_size() const; + private: + int _internal_fields_size() const; + + public: + void clear_fields() ; + const ::std::string& fields(int index) const; + ::std::string* PROTOBUF_NONNULL mutable_fields(int index); + template + void set_fields(int index, Arg_&& value, Args_... args); + ::std::string* PROTOBUF_NONNULL add_fields(); + template + void add_fields(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField<::std::string>& fields() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_fields(); + + private: + const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_fields() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_fields(); + + public: + // optional bool required = 2; + bool has_required() const; + void clear_required() ; + bool required() const; + void set_required(bool value); + + private: + bool _internal_required() const; + void _internal_set_required(bool value); + + public: + // @@protoc_insertion_point(class_scope:buf.validate.MessageOneofRule) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const MessageOneofRule& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField<::std::string> fields_; + bool required_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull MessageOneofRule_class_data_; +// ------------------------------------------------------------------- + +class Int64Rules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.Int64Rules) */ { + public: + inline Int64Rules() : Int64Rules(nullptr) {} + ~Int64Rules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Int64Rules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Int64Rules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Int64Rules(::google::protobuf::internal::ConstantInitialized); + + inline Int64Rules(const Int64Rules& from) : Int64Rules(nullptr, from) {} + inline Int64Rules(Int64Rules&& from) noexcept + : Int64Rules(nullptr, ::std::move(from)) {} + inline Int64Rules& operator=(const Int64Rules& from) { + CopyFrom(from); + return *this; + } + inline Int64Rules& operator=(Int64Rules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Int64Rules& default_instance() { + return *reinterpret_cast( + &_Int64Rules_default_instance_); + } + enum LessThanCase { + kLt = 2, + kLte = 3, + LESS_THAN_NOT_SET = 0, + }; + enum GreaterThanCase { + kGt = 4, + kGte = 5, + GREATER_THAN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 9; + friend void swap(Int64Rules& a, Int64Rules& b) { a.Swap(&b); } + inline void Swap(Int64Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Int64Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Int64Rules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Int64Rules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Int64Rules& from) { Int64Rules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Int64Rules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.Int64Rules"; } + + explicit Int64Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Int64Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Int64Rules& from); + Int64Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Int64Rules&& from) noexcept + : Int64Rules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 6, + kNotInFieldNumber = 7, + kConstFieldNumber = 1, + kExampleFieldNumber = 9, + kLtFieldNumber = 2, + kLteFieldNumber = 3, + kGtFieldNumber = 4, + kGteFieldNumber = 5, + }; + // repeated int64 in = 6 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + ::int64_t in(int index) const; + void set_in(int index, ::int64_t value); + void add_in(::int64_t value); + const ::google::protobuf::RepeatedField<::int64_t>& in() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedField<::int64_t>& _internal_in() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated int64 not_in = 7 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + ::int64_t not_in(int index) const; + void set_not_in(int index, ::int64_t value); + void add_not_in(::int64_t value); + const ::google::protobuf::RepeatedField<::int64_t>& not_in() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedField<::int64_t>& _internal_not_in() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // optional int64 const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + ::int64_t const_() const; + void set_const_(::int64_t value); + + private: + ::int64_t _internal_const_() const; + void _internal_set_const_(::int64_t value); + + public: + // repeated int64 example = 9 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + ::int64_t example(int index) const; + void set_example(int index, ::int64_t value); + void add_example(::int64_t value); + const ::google::protobuf::RepeatedField<::int64_t>& example() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedField<::int64_t>& _internal_example() const; + ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // int64 lt = 2 [(.buf.validate.predefined) = { + bool has_lt() const; + void clear_lt() ; + ::int64_t lt() const; + void set_lt(::int64_t value); + + private: + ::int64_t _internal_lt() const; + void _internal_set_lt(::int64_t value); + + public: + // int64 lte = 3 [(.buf.validate.predefined) = { + bool has_lte() const; + void clear_lte() ; + ::int64_t lte() const; + void set_lte(::int64_t value); + + private: + ::int64_t _internal_lte() const; + void _internal_set_lte(::int64_t value); + + public: + // int64 gt = 4 [(.buf.validate.predefined) = { + bool has_gt() const; + void clear_gt() ; + ::int64_t gt() const; + void set_gt(::int64_t value); + + private: + ::int64_t _internal_gt() const; + void _internal_set_gt(::int64_t value); + + public: + // int64 gte = 5 [(.buf.validate.predefined) = { + bool has_gte() const; + void clear_gte() ; + ::int64_t gte() const; + void set_gte(::int64_t value); + + private: + ::int64_t _internal_gte() const; + void _internal_set_gte(::int64_t value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + Int64Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + Int64Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + Int64Rules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_less_than(); + LessThanCase less_than_case() const; + void clear_greater_than(); + GreaterThanCase greater_than_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.Int64Rules) + private: + class _Internal; + void set_has_lt(); + void set_has_lte(); + void set_has_gt(); + void set_has_gte(); + inline bool has_less_than() const; + inline void clear_has_less_than(); + inline bool has_greater_than() const; + inline void clear_has_greater_than(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<4, 8, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Int64Rules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField<::int64_t> in_; + ::google::protobuf::RepeatedField<::int64_t> not_in_; + ::int64_t const__; + ::google::protobuf::RepeatedField<::int64_t> example_; + union LessThanUnion { + constexpr LessThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::int64_t lt_; + ::int64_t lte_; + } less_than_; + union GreaterThanUnion { + constexpr GreaterThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::int64_t gt_; + ::int64_t gte_; + } greater_than_; + ::uint32_t _oneof_case_[2]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Int64Rules_class_data_; +// ------------------------------------------------------------------- + +class Int32Rules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.Int32Rules) */ { + public: + inline Int32Rules() : Int32Rules(nullptr) {} + ~Int32Rules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Int32Rules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Int32Rules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Int32Rules(::google::protobuf::internal::ConstantInitialized); + + inline Int32Rules(const Int32Rules& from) : Int32Rules(nullptr, from) {} + inline Int32Rules(Int32Rules&& from) noexcept + : Int32Rules(nullptr, ::std::move(from)) {} + inline Int32Rules& operator=(const Int32Rules& from) { + CopyFrom(from); + return *this; + } + inline Int32Rules& operator=(Int32Rules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Int32Rules& default_instance() { + return *reinterpret_cast( + &_Int32Rules_default_instance_); + } + enum LessThanCase { + kLt = 2, + kLte = 3, + LESS_THAN_NOT_SET = 0, + }; + enum GreaterThanCase { + kGt = 4, + kGte = 5, + GREATER_THAN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 8; + friend void swap(Int32Rules& a, Int32Rules& b) { a.Swap(&b); } + inline void Swap(Int32Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Int32Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Int32Rules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Int32Rules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Int32Rules& from) { Int32Rules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Int32Rules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.Int32Rules"; } + + explicit Int32Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Int32Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Int32Rules& from); + Int32Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Int32Rules&& from) noexcept + : Int32Rules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 6, + kNotInFieldNumber = 7, + kExampleFieldNumber = 8, + kConstFieldNumber = 1, + kLtFieldNumber = 2, + kLteFieldNumber = 3, + kGtFieldNumber = 4, + kGteFieldNumber = 5, + }; + // repeated int32 in = 6 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + ::int32_t in(int index) const; + void set_in(int index, ::int32_t value); + void add_in(::int32_t value); + const ::google::protobuf::RepeatedField<::int32_t>& in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedField<::int32_t>& _internal_in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated int32 not_in = 7 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + ::int32_t not_in(int index) const; + void set_not_in(int index, ::int32_t value); + void add_not_in(::int32_t value); + const ::google::protobuf::RepeatedField<::int32_t>& not_in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedField<::int32_t>& _internal_not_in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // repeated int32 example = 8 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + ::int32_t example(int index) const; + void set_example(int index, ::int32_t value); + void add_example(::int32_t value); + const ::google::protobuf::RepeatedField<::int32_t>& example() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedField<::int32_t>& _internal_example() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // optional int32 const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + ::int32_t const_() const; + void set_const_(::int32_t value); + + private: + ::int32_t _internal_const_() const; + void _internal_set_const_(::int32_t value); + + public: + // int32 lt = 2 [(.buf.validate.predefined) = { + bool has_lt() const; + void clear_lt() ; + ::int32_t lt() const; + void set_lt(::int32_t value); + + private: + ::int32_t _internal_lt() const; + void _internal_set_lt(::int32_t value); + + public: + // int32 lte = 3 [(.buf.validate.predefined) = { + bool has_lte() const; + void clear_lte() ; + ::int32_t lte() const; + void set_lte(::int32_t value); + + private: + ::int32_t _internal_lte() const; + void _internal_set_lte(::int32_t value); + + public: + // int32 gt = 4 [(.buf.validate.predefined) = { + bool has_gt() const; + void clear_gt() ; + ::int32_t gt() const; + void set_gt(::int32_t value); + + private: + ::int32_t _internal_gt() const; + void _internal_set_gt(::int32_t value); + + public: + // int32 gte = 5 [(.buf.validate.predefined) = { + bool has_gte() const; + void clear_gte() ; + ::int32_t gte() const; + void set_gte(::int32_t value); + + private: + ::int32_t _internal_gte() const; + void _internal_set_gte(::int32_t value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + Int32Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + Int32Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + Int32Rules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_less_than(); + LessThanCase less_than_case() const; + void clear_greater_than(); + GreaterThanCase greater_than_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.Int32Rules) + private: + class _Internal; + void set_has_lt(); + void set_has_lte(); + void set_has_gt(); + void set_has_gte(); + inline bool has_less_than() const; + inline void clear_has_less_than(); + inline bool has_greater_than() const; + inline void clear_has_greater_than(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 8, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Int32Rules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField<::int32_t> in_; + ::google::protobuf::RepeatedField<::int32_t> not_in_; + ::google::protobuf::RepeatedField<::int32_t> example_; + ::int32_t const__; + union LessThanUnion { + constexpr LessThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::int32_t lt_; + ::int32_t lte_; + } less_than_; + union GreaterThanUnion { + constexpr GreaterThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::int32_t gt_; + ::int32_t gte_; + } greater_than_; + ::uint32_t _oneof_case_[2]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Int32Rules_class_data_; +// ------------------------------------------------------------------- + +class FloatRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.FloatRules) */ { + public: + inline FloatRules() : FloatRules(nullptr) {} + ~FloatRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(FloatRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(FloatRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR FloatRules(::google::protobuf::internal::ConstantInitialized); + + inline FloatRules(const FloatRules& from) : FloatRules(nullptr, from) {} + inline FloatRules(FloatRules&& from) noexcept + : FloatRules(nullptr, ::std::move(from)) {} + inline FloatRules& operator=(const FloatRules& from) { + CopyFrom(from); + return *this; + } + inline FloatRules& operator=(FloatRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FloatRules& default_instance() { + return *reinterpret_cast( + &_FloatRules_default_instance_); + } + enum LessThanCase { + kLt = 2, + kLte = 3, + LESS_THAN_NOT_SET = 0, + }; + enum GreaterThanCase { + kGt = 4, + kGte = 5, + GREATER_THAN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 6; + friend void swap(FloatRules& a, FloatRules& b) { a.Swap(&b); } + inline void Swap(FloatRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FloatRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FloatRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const FloatRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const FloatRules& from) { FloatRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(FloatRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.FloatRules"; } + + explicit FloatRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + FloatRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FloatRules& from); + FloatRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FloatRules&& from) noexcept + : FloatRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 6, + kNotInFieldNumber = 7, + kConstFieldNumber = 1, + kFiniteFieldNumber = 8, + kExampleFieldNumber = 9, + kLtFieldNumber = 2, + kLteFieldNumber = 3, + kGtFieldNumber = 4, + kGteFieldNumber = 5, + }; + // repeated float in = 6 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + float in(int index) const; + void set_in(int index, float value); + void add_in(float value); + const ::google::protobuf::RepeatedField& in() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedField& _internal_in() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated float not_in = 7 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + float not_in(int index) const; + void set_not_in(int index, float value); + void add_not_in(float value); + const ::google::protobuf::RepeatedField& not_in() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedField& _internal_not_in() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // optional float const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + float const_() const; + void set_const_(float value); + + private: + float _internal_const_() const; + void _internal_set_const_(float value); + + public: + // optional bool finite = 8 [(.buf.validate.predefined) = { + bool has_finite() const; + void clear_finite() ; + bool finite() const; + void set_finite(bool value); + + private: + bool _internal_finite() const; + void _internal_set_finite(bool value); + + public: + // repeated float example = 9 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + float example(int index) const; + void set_example(int index, float value); + void add_example(float value); + const ::google::protobuf::RepeatedField& example() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedField& _internal_example() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // float lt = 2 [(.buf.validate.predefined) = { + bool has_lt() const; + void clear_lt() ; + float lt() const; + void set_lt(float value); + + private: + float _internal_lt() const; + void _internal_set_lt(float value); + + public: + // float lte = 3 [(.buf.validate.predefined) = { + bool has_lte() const; + void clear_lte() ; + float lte() const; + void set_lte(float value); + + private: + float _internal_lte() const; + void _internal_set_lte(float value); + + public: + // float gt = 4 [(.buf.validate.predefined) = { + bool has_gt() const; + void clear_gt() ; + float gt() const; + void set_gt(float value); + + private: + float _internal_gt() const; + void _internal_set_gt(float value); + + public: + // float gte = 5 [(.buf.validate.predefined) = { + bool has_gte() const; + void clear_gte() ; + float gte() const; + void set_gte(float value); + + private: + float _internal_gte() const; + void _internal_set_gte(float value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + FloatRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + FloatRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + FloatRules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_less_than(); + LessThanCase less_than_case() const; + void clear_greater_than(); + GreaterThanCase greater_than_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.FloatRules) + private: + class _Internal; + void set_has_lt(); + void set_has_lte(); + void set_has_gt(); + void set_has_gte(); + inline bool has_less_than() const; + inline void clear_has_less_than(); + inline bool has_greater_than() const; + inline void clear_has_greater_than(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<4, 9, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const FloatRules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField in_; + ::google::protobuf::RepeatedField not_in_; + float const__; + bool finite_; + ::google::protobuf::RepeatedField example_; + union LessThanUnion { + constexpr LessThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + float lt_; + float lte_; + } less_than_; + union GreaterThanUnion { + constexpr GreaterThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + float gt_; + float gte_; + } greater_than_; + ::uint32_t _oneof_case_[2]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull FloatRules_class_data_; +// ------------------------------------------------------------------- + +class Fixed64Rules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.Fixed64Rules) */ { + public: + inline Fixed64Rules() : Fixed64Rules(nullptr) {} + ~Fixed64Rules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Fixed64Rules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Fixed64Rules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Fixed64Rules(::google::protobuf::internal::ConstantInitialized); + + inline Fixed64Rules(const Fixed64Rules& from) : Fixed64Rules(nullptr, from) {} + inline Fixed64Rules(Fixed64Rules&& from) noexcept + : Fixed64Rules(nullptr, ::std::move(from)) {} + inline Fixed64Rules& operator=(const Fixed64Rules& from) { + CopyFrom(from); + return *this; + } + inline Fixed64Rules& operator=(Fixed64Rules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Fixed64Rules& default_instance() { + return *reinterpret_cast( + &_Fixed64Rules_default_instance_); + } + enum LessThanCase { + kLt = 2, + kLte = 3, + LESS_THAN_NOT_SET = 0, + }; + enum GreaterThanCase { + kGt = 4, + kGte = 5, + GREATER_THAN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 15; + friend void swap(Fixed64Rules& a, Fixed64Rules& b) { a.Swap(&b); } + inline void Swap(Fixed64Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Fixed64Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Fixed64Rules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Fixed64Rules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Fixed64Rules& from) { Fixed64Rules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Fixed64Rules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.Fixed64Rules"; } + + explicit Fixed64Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Fixed64Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Fixed64Rules& from); + Fixed64Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Fixed64Rules&& from) noexcept + : Fixed64Rules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 6, + kNotInFieldNumber = 7, + kExampleFieldNumber = 8, + kConstFieldNumber = 1, + kLtFieldNumber = 2, + kLteFieldNumber = 3, + kGtFieldNumber = 4, + kGteFieldNumber = 5, + }; + // repeated fixed64 in = 6 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + ::uint64_t in(int index) const; + void set_in(int index, ::uint64_t value); + void add_in(::uint64_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& in() const; + ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedField<::uint64_t>& _internal_in() const; + ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated fixed64 not_in = 7 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + ::uint64_t not_in(int index) const; + void set_not_in(int index, ::uint64_t value); + void add_not_in(::uint64_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& not_in() const; + ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedField<::uint64_t>& _internal_not_in() const; + ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // repeated fixed64 example = 8 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + ::uint64_t example(int index) const; + void set_example(int index, ::uint64_t value); + void add_example(::uint64_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& example() const; + ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedField<::uint64_t>& _internal_example() const; + ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // optional fixed64 const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + ::uint64_t const_() const; + void set_const_(::uint64_t value); + + private: + ::uint64_t _internal_const_() const; + void _internal_set_const_(::uint64_t value); + + public: + // fixed64 lt = 2 [(.buf.validate.predefined) = { + bool has_lt() const; + void clear_lt() ; + ::uint64_t lt() const; + void set_lt(::uint64_t value); + + private: + ::uint64_t _internal_lt() const; + void _internal_set_lt(::uint64_t value); + + public: + // fixed64 lte = 3 [(.buf.validate.predefined) = { + bool has_lte() const; + void clear_lte() ; + ::uint64_t lte() const; + void set_lte(::uint64_t value); + + private: + ::uint64_t _internal_lte() const; + void _internal_set_lte(::uint64_t value); + + public: + // fixed64 gt = 4 [(.buf.validate.predefined) = { + bool has_gt() const; + void clear_gt() ; + ::uint64_t gt() const; + void set_gt(::uint64_t value); + + private: + ::uint64_t _internal_gt() const; + void _internal_set_gt(::uint64_t value); + + public: + // fixed64 gte = 5 [(.buf.validate.predefined) = { + bool has_gte() const; + void clear_gte() ; + ::uint64_t gte() const; + void set_gte(::uint64_t value); + + private: + ::uint64_t _internal_gte() const; + void _internal_set_gte(::uint64_t value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + Fixed64Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + Fixed64Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + Fixed64Rules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_less_than(); + LessThanCase less_than_case() const; + void clear_greater_than(); + GreaterThanCase greater_than_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.Fixed64Rules) + private: + class _Internal; + void set_has_lt(); + void set_has_lte(); + void set_has_gt(); + void set_has_gte(); + inline bool has_less_than() const; + inline void clear_has_less_than(); + inline bool has_greater_than() const; + inline void clear_has_greater_than(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 8, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Fixed64Rules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField<::uint64_t> in_; + ::google::protobuf::RepeatedField<::uint64_t> not_in_; + ::google::protobuf::RepeatedField<::uint64_t> example_; + ::uint64_t const__; + union LessThanUnion { + constexpr LessThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::uint64_t lt_; + ::uint64_t lte_; + } less_than_; + union GreaterThanUnion { + constexpr GreaterThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::uint64_t gt_; + ::uint64_t gte_; + } greater_than_; + ::uint32_t _oneof_case_[2]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Fixed64Rules_class_data_; +// ------------------------------------------------------------------- + +class Fixed32Rules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.Fixed32Rules) */ { + public: + inline Fixed32Rules() : Fixed32Rules(nullptr) {} + ~Fixed32Rules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Fixed32Rules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Fixed32Rules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Fixed32Rules(::google::protobuf::internal::ConstantInitialized); + + inline Fixed32Rules(const Fixed32Rules& from) : Fixed32Rules(nullptr, from) {} + inline Fixed32Rules(Fixed32Rules&& from) noexcept + : Fixed32Rules(nullptr, ::std::move(from)) {} + inline Fixed32Rules& operator=(const Fixed32Rules& from) { + CopyFrom(from); + return *this; + } + inline Fixed32Rules& operator=(Fixed32Rules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Fixed32Rules& default_instance() { + return *reinterpret_cast( + &_Fixed32Rules_default_instance_); + } + enum LessThanCase { + kLt = 2, + kLte = 3, + LESS_THAN_NOT_SET = 0, + }; + enum GreaterThanCase { + kGt = 4, + kGte = 5, + GREATER_THAN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 14; + friend void swap(Fixed32Rules& a, Fixed32Rules& b) { a.Swap(&b); } + inline void Swap(Fixed32Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Fixed32Rules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Fixed32Rules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Fixed32Rules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Fixed32Rules& from) { Fixed32Rules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Fixed32Rules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.Fixed32Rules"; } + + explicit Fixed32Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Fixed32Rules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Fixed32Rules& from); + Fixed32Rules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Fixed32Rules&& from) noexcept + : Fixed32Rules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 6, + kNotInFieldNumber = 7, + kExampleFieldNumber = 8, + kConstFieldNumber = 1, + kLtFieldNumber = 2, + kLteFieldNumber = 3, + kGtFieldNumber = 4, + kGteFieldNumber = 5, + }; + // repeated fixed32 in = 6 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + ::uint32_t in(int index) const; + void set_in(int index, ::uint32_t value); + void add_in(::uint32_t value); + const ::google::protobuf::RepeatedField<::uint32_t>& in() const; + ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedField<::uint32_t>& _internal_in() const; + ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated fixed32 not_in = 7 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + ::uint32_t not_in(int index) const; + void set_not_in(int index, ::uint32_t value); + void add_not_in(::uint32_t value); + const ::google::protobuf::RepeatedField<::uint32_t>& not_in() const; + ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedField<::uint32_t>& _internal_not_in() const; + ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // repeated fixed32 example = 8 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + ::uint32_t example(int index) const; + void set_example(int index, ::uint32_t value); + void add_example(::uint32_t value); + const ::google::protobuf::RepeatedField<::uint32_t>& example() const; + ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedField<::uint32_t>& _internal_example() const; + ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // optional fixed32 const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + ::uint32_t const_() const; + void set_const_(::uint32_t value); + + private: + ::uint32_t _internal_const_() const; + void _internal_set_const_(::uint32_t value); + + public: + // fixed32 lt = 2 [(.buf.validate.predefined) = { + bool has_lt() const; + void clear_lt() ; + ::uint32_t lt() const; + void set_lt(::uint32_t value); + + private: + ::uint32_t _internal_lt() const; + void _internal_set_lt(::uint32_t value); + + public: + // fixed32 lte = 3 [(.buf.validate.predefined) = { + bool has_lte() const; + void clear_lte() ; + ::uint32_t lte() const; + void set_lte(::uint32_t value); + + private: + ::uint32_t _internal_lte() const; + void _internal_set_lte(::uint32_t value); + + public: + // fixed32 gt = 4 [(.buf.validate.predefined) = { + bool has_gt() const; + void clear_gt() ; + ::uint32_t gt() const; + void set_gt(::uint32_t value); + + private: + ::uint32_t _internal_gt() const; + void _internal_set_gt(::uint32_t value); + + public: + // fixed32 gte = 5 [(.buf.validate.predefined) = { + bool has_gte() const; + void clear_gte() ; + ::uint32_t gte() const; + void set_gte(::uint32_t value); + + private: + ::uint32_t _internal_gte() const; + void _internal_set_gte(::uint32_t value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + Fixed32Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + Fixed32Rules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + Fixed32Rules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_less_than(); + LessThanCase less_than_case() const; + void clear_greater_than(); + GreaterThanCase greater_than_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.Fixed32Rules) + private: + class _Internal; + void set_has_lt(); + void set_has_lte(); + void set_has_gt(); + void set_has_gte(); + inline bool has_less_than() const; + inline void clear_has_less_than(); + inline bool has_greater_than() const; + inline void clear_has_greater_than(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 8, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Fixed32Rules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField<::uint32_t> in_; + ::google::protobuf::RepeatedField<::uint32_t> not_in_; + ::google::protobuf::RepeatedField<::uint32_t> example_; + ::uint32_t const__; + union LessThanUnion { + constexpr LessThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::uint32_t lt_; + ::uint32_t lte_; + } less_than_; + union GreaterThanUnion { + constexpr GreaterThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::uint32_t gt_; + ::uint32_t gte_; + } greater_than_; + ::uint32_t _oneof_case_[2]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Fixed32Rules_class_data_; +// ------------------------------------------------------------------- + +class FieldPathElement final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.FieldPathElement) */ { + public: + inline FieldPathElement() : FieldPathElement(nullptr) {} + ~FieldPathElement() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(FieldPathElement* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(FieldPathElement)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR FieldPathElement(::google::protobuf::internal::ConstantInitialized); + + inline FieldPathElement(const FieldPathElement& from) : FieldPathElement(nullptr, from) {} + inline FieldPathElement(FieldPathElement&& from) noexcept + : FieldPathElement(nullptr, ::std::move(from)) {} + inline FieldPathElement& operator=(const FieldPathElement& from) { + CopyFrom(from); + return *this; + } + inline FieldPathElement& operator=(FieldPathElement&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FieldPathElement& default_instance() { + return *reinterpret_cast( + &_FieldPathElement_default_instance_); + } + enum SubscriptCase { + kIndex = 6, + kBoolKey = 7, + kIntKey = 8, + kUintKey = 9, + kStringKey = 10, + SUBSCRIPT_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 31; + friend void swap(FieldPathElement& a, FieldPathElement& b) { a.Swap(&b); } + inline void Swap(FieldPathElement* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FieldPathElement* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FieldPathElement* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const FieldPathElement& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const FieldPathElement& from) { FieldPathElement::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(FieldPathElement* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.FieldPathElement"; } + + explicit FieldPathElement(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + FieldPathElement(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FieldPathElement& from); + FieldPathElement( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FieldPathElement&& from) noexcept + : FieldPathElement(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kFieldNameFieldNumber = 2, + kFieldNumberFieldNumber = 1, + kValueTypeFieldNumber = 5, + kFieldTypeFieldNumber = 3, + kKeyTypeFieldNumber = 4, + kIndexFieldNumber = 6, + kBoolKeyFieldNumber = 7, + kIntKeyFieldNumber = 8, + kUintKeyFieldNumber = 9, + kStringKeyFieldNumber = 10, + }; + // optional string field_name = 2; + bool has_field_name() const; + void clear_field_name() ; + const ::std::string& field_name() const; + template + void set_field_name(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_field_name(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_field_name(); + void set_allocated_field_name(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_field_name() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_field_name(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_field_name(); + + public: + // optional int32 field_number = 1; + bool has_field_number() const; + void clear_field_number() ; + ::int32_t field_number() const; + void set_field_number(::int32_t value); + + private: + ::int32_t _internal_field_number() const; + void _internal_set_field_number(::int32_t value); + + public: + // optional .google.protobuf.FieldDescriptorProto.Type value_type = 5; + bool has_value_type() const; + void clear_value_type() ; + ::google::protobuf::FieldDescriptorProto_Type value_type() const; + void set_value_type(::google::protobuf::FieldDescriptorProto_Type value); + + private: + ::google::protobuf::FieldDescriptorProto_Type _internal_value_type() const; + void _internal_set_value_type(::google::protobuf::FieldDescriptorProto_Type value); + + public: + // optional .google.protobuf.FieldDescriptorProto.Type field_type = 3; + bool has_field_type() const; + void clear_field_type() ; + ::google::protobuf::FieldDescriptorProto_Type field_type() const; + void set_field_type(::google::protobuf::FieldDescriptorProto_Type value); + + private: + ::google::protobuf::FieldDescriptorProto_Type _internal_field_type() const; + void _internal_set_field_type(::google::protobuf::FieldDescriptorProto_Type value); + + public: + // optional .google.protobuf.FieldDescriptorProto.Type key_type = 4; + bool has_key_type() const; + void clear_key_type() ; + ::google::protobuf::FieldDescriptorProto_Type key_type() const; + void set_key_type(::google::protobuf::FieldDescriptorProto_Type value); + + private: + ::google::protobuf::FieldDescriptorProto_Type _internal_key_type() const; + void _internal_set_key_type(::google::protobuf::FieldDescriptorProto_Type value); + + public: + // uint64 index = 6; + bool has_index() const; + void clear_index() ; + ::uint64_t index() const; + void set_index(::uint64_t value); + + private: + ::uint64_t _internal_index() const; + void _internal_set_index(::uint64_t value); + + public: + // bool bool_key = 7; + bool has_bool_key() const; + void clear_bool_key() ; + bool bool_key() const; + void set_bool_key(bool value); + + private: + bool _internal_bool_key() const; + void _internal_set_bool_key(bool value); + + public: + // int64 int_key = 8; + bool has_int_key() const; + void clear_int_key() ; + ::int64_t int_key() const; + void set_int_key(::int64_t value); + + private: + ::int64_t _internal_int_key() const; + void _internal_set_int_key(::int64_t value); + + public: + // uint64 uint_key = 9; + bool has_uint_key() const; + void clear_uint_key() ; + ::uint64_t uint_key() const; + void set_uint_key(::uint64_t value); + + private: + ::uint64_t _internal_uint_key() const; + void _internal_set_uint_key(::uint64_t value); + + public: + // string string_key = 10; + bool has_string_key() const; + void clear_string_key() ; + const ::std::string& string_key() const; + template + void set_string_key(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_string_key(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_string_key(); + void set_allocated_string_key(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_string_key() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_string_key(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_string_key(); + + public: + void clear_subscript(); + SubscriptCase subscript_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.FieldPathElement) + private: + class _Internal; + void set_has_index(); + void set_has_bool_key(); + void set_has_int_key(); + void set_has_uint_key(); + void set_has_string_key(); + inline bool has_subscript() const; + inline void clear_has_subscript(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<3, 10, + 3, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const FieldPathElement& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr field_name_; + ::int32_t field_number_; + int value_type_; + int field_type_; + int key_type_; + union SubscriptUnion { + constexpr SubscriptUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::uint64_t index_; + bool bool_key_; + ::int64_t int_key_; + ::uint64_t uint_key_; + ::google::protobuf::internal::ArenaStringPtr string_key_; + } subscript_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull FieldPathElement_class_data_; +// ------------------------------------------------------------------- + +class EnumRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.EnumRules) */ { + public: + inline EnumRules() : EnumRules(nullptr) {} + ~EnumRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(EnumRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(EnumRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR EnumRules(::google::protobuf::internal::ConstantInitialized); + + inline EnumRules(const EnumRules& from) : EnumRules(nullptr, from) {} + inline EnumRules(EnumRules&& from) noexcept + : EnumRules(nullptr, ::std::move(from)) {} + inline EnumRules& operator=(const EnumRules& from) { + CopyFrom(from); + return *this; + } + inline EnumRules& operator=(EnumRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const EnumRules& default_instance() { + return *reinterpret_cast( + &_EnumRules_default_instance_); + } + static constexpr int kIndexInFileMessages = 21; + friend void swap(EnumRules& a, EnumRules& b) { a.Swap(&b); } + inline void Swap(EnumRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(EnumRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + EnumRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const EnumRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const EnumRules& from) { EnumRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(EnumRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.EnumRules"; } + + explicit EnumRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + EnumRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const EnumRules& from); + EnumRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, EnumRules&& from) noexcept + : EnumRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 3, + kNotInFieldNumber = 4, + kExampleFieldNumber = 5, + kConstFieldNumber = 1, + kDefinedOnlyFieldNumber = 2, + }; + // repeated int32 in = 3 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + ::int32_t in(int index) const; + void set_in(int index, ::int32_t value); + void add_in(::int32_t value); + const ::google::protobuf::RepeatedField<::int32_t>& in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedField<::int32_t>& _internal_in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated int32 not_in = 4 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + ::int32_t not_in(int index) const; + void set_not_in(int index, ::int32_t value); + void add_not_in(::int32_t value); + const ::google::protobuf::RepeatedField<::int32_t>& not_in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedField<::int32_t>& _internal_not_in() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // repeated int32 example = 5 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + ::int32_t example(int index) const; + void set_example(int index, ::int32_t value); + void add_example(::int32_t value); + const ::google::protobuf::RepeatedField<::int32_t>& example() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedField<::int32_t>& _internal_example() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // optional int32 const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + ::int32_t const_() const; + void set_const_(::int32_t value); + + private: + ::int32_t _internal_const_() const; + void _internal_set_const_(::int32_t value); + + public: + // optional bool defined_only = 2; + bool has_defined_only() const; + void clear_defined_only() ; + bool defined_only() const; + void set_defined_only(bool value); + + private: + bool _internal_defined_only() const; + void _internal_set_defined_only(bool value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + EnumRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + EnumRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + EnumRules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + // @@protoc_insertion_point(class_scope:buf.validate.EnumRules) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<3, 5, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const EnumRules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField<::int32_t> in_; + ::google::protobuf::RepeatedField<::int32_t> not_in_; + ::google::protobuf::RepeatedField<::int32_t> example_; + ::int32_t const__; + bool defined_only_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull EnumRules_class_data_; +// ------------------------------------------------------------------- + +class DoubleRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.DoubleRules) */ { + public: + inline DoubleRules() : DoubleRules(nullptr) {} + ~DoubleRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(DoubleRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(DoubleRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR DoubleRules(::google::protobuf::internal::ConstantInitialized); + + inline DoubleRules(const DoubleRules& from) : DoubleRules(nullptr, from) {} + inline DoubleRules(DoubleRules&& from) noexcept + : DoubleRules(nullptr, ::std::move(from)) {} + inline DoubleRules& operator=(const DoubleRules& from) { + CopyFrom(from); + return *this; + } + inline DoubleRules& operator=(DoubleRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const DoubleRules& default_instance() { + return *reinterpret_cast( + &_DoubleRules_default_instance_); + } + enum LessThanCase { + kLt = 2, + kLte = 3, + LESS_THAN_NOT_SET = 0, + }; + enum GreaterThanCase { + kGt = 4, + kGte = 5, + GREATER_THAN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 7; + friend void swap(DoubleRules& a, DoubleRules& b) { a.Swap(&b); } + inline void Swap(DoubleRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(DoubleRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + DoubleRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DoubleRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const DoubleRules& from) { DoubleRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(DoubleRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.DoubleRules"; } + + explicit DoubleRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + DoubleRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DoubleRules& from); + DoubleRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DoubleRules&& from) noexcept + : DoubleRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 6, + kNotInFieldNumber = 7, + kConstFieldNumber = 1, + kFiniteFieldNumber = 8, + kExampleFieldNumber = 9, + kLtFieldNumber = 2, + kLteFieldNumber = 3, + kGtFieldNumber = 4, + kGteFieldNumber = 5, + }; + // repeated double in = 6 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + double in(int index) const; + void set_in(int index, double value); + void add_in(double value); + const ::google::protobuf::RepeatedField& in() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedField& _internal_in() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated double not_in = 7 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + double not_in(int index) const; + void set_not_in(int index, double value); + void add_not_in(double value); + const ::google::protobuf::RepeatedField& not_in() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedField& _internal_not_in() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // optional double const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + double const_() const; + void set_const_(double value); + + private: + double _internal_const_() const; + void _internal_set_const_(double value); + + public: + // optional bool finite = 8 [(.buf.validate.predefined) = { + bool has_finite() const; + void clear_finite() ; + bool finite() const; + void set_finite(bool value); + + private: + bool _internal_finite() const; + void _internal_set_finite(bool value); + + public: + // repeated double example = 9 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + double example(int index) const; + void set_example(int index, double value); + void add_example(double value); + const ::google::protobuf::RepeatedField& example() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedField& _internal_example() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // double lt = 2 [(.buf.validate.predefined) = { + bool has_lt() const; + void clear_lt() ; + double lt() const; + void set_lt(double value); + + private: + double _internal_lt() const; + void _internal_set_lt(double value); + + public: + // double lte = 3 [(.buf.validate.predefined) = { + bool has_lte() const; + void clear_lte() ; + double lte() const; + void set_lte(double value); + + private: + double _internal_lte() const; + void _internal_set_lte(double value); + + public: + // double gt = 4 [(.buf.validate.predefined) = { + bool has_gt() const; + void clear_gt() ; + double gt() const; + void set_gt(double value); + + private: + double _internal_gt() const; + void _internal_set_gt(double value); + + public: + // double gte = 5 [(.buf.validate.predefined) = { + bool has_gte() const; + void clear_gte() ; + double gte() const; + void set_gte(double value); + + private: + double _internal_gte() const; + void _internal_set_gte(double value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + DoubleRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + DoubleRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + DoubleRules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_less_than(); + LessThanCase less_than_case() const; + void clear_greater_than(); + GreaterThanCase greater_than_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.DoubleRules) + private: + class _Internal; + void set_has_lt(); + void set_has_lte(); + void set_has_gt(); + void set_has_gte(); + inline bool has_less_than() const; + inline void clear_has_less_than(); + inline bool has_greater_than() const; + inline void clear_has_greater_than(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<4, 9, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const DoubleRules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField in_; + ::google::protobuf::RepeatedField not_in_; + double const__; + bool finite_; + ::google::protobuf::RepeatedField example_; + union LessThanUnion { + constexpr LessThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + double lt_; + double lte_; + } less_than_; + union GreaterThanUnion { + constexpr GreaterThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + double gt_; + double gte_; + } greater_than_; + ::uint32_t _oneof_case_[2]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull DoubleRules_class_data_; +// ------------------------------------------------------------------- + +class BytesRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.BytesRules) */ { + public: + inline BytesRules() : BytesRules(nullptr) {} + ~BytesRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(BytesRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(BytesRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR BytesRules(::google::protobuf::internal::ConstantInitialized); + + inline BytesRules(const BytesRules& from) : BytesRules(nullptr, from) {} + inline BytesRules(BytesRules&& from) noexcept + : BytesRules(nullptr, ::std::move(from)) {} + inline BytesRules& operator=(const BytesRules& from) { + CopyFrom(from); + return *this; + } + inline BytesRules& operator=(BytesRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const BytesRules& default_instance() { + return *reinterpret_cast( + &_BytesRules_default_instance_); + } + enum WellKnownCase { + kIp = 10, + kIpv4 = 11, + kIpv6 = 12, + kUuid = 15, + WELL_KNOWN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 20; + friend void swap(BytesRules& a, BytesRules& b) { a.Swap(&b); } + inline void Swap(BytesRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(BytesRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + BytesRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const BytesRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const BytesRules& from) { BytesRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(BytesRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.BytesRules"; } + + explicit BytesRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + BytesRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BytesRules& from); + BytesRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BytesRules&& from) noexcept + : BytesRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 8, + kNotInFieldNumber = 9, + kExampleFieldNumber = 14, + kConstFieldNumber = 1, + kPatternFieldNumber = 4, + kPrefixFieldNumber = 5, + kSuffixFieldNumber = 6, + kContainsFieldNumber = 7, + kMinLenFieldNumber = 2, + kMaxLenFieldNumber = 3, + kLenFieldNumber = 13, + kIpFieldNumber = 10, + kIpv4FieldNumber = 11, + kIpv6FieldNumber = 12, + kUuidFieldNumber = 15, + }; + // repeated bytes in = 8 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + const ::std::string& in(int index) const; + ::std::string* PROTOBUF_NONNULL mutable_in(int index); + template + void set_in(int index, Arg_&& value, Args_... args); + ::std::string* PROTOBUF_NONNULL add_in(); + template + void add_in(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField<::std::string>& in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated bytes not_in = 9 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + const ::std::string& not_in(int index) const; + ::std::string* PROTOBUF_NONNULL mutable_not_in(int index); + template + void set_not_in(int index, Arg_&& value, Args_... args); + ::std::string* PROTOBUF_NONNULL add_not_in(); + template + void add_not_in(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField<::std::string>& not_in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_not_in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // repeated bytes example = 14 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + const ::std::string& example(int index) const; + ::std::string* PROTOBUF_NONNULL mutable_example(int index); + template + void set_example(int index, Arg_&& value, Args_... args); + ::std::string* PROTOBUF_NONNULL add_example(); + template + void add_example(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField<::std::string>& example() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_example() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // optional bytes const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + const ::std::string& const_() const; + template + void set_const_(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_const_(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_const_(); + void set_allocated_const_(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_const_() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_const_(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_const_(); + + public: + // optional string pattern = 4 [(.buf.validate.predefined) = { + bool has_pattern() const; + void clear_pattern() ; + const ::std::string& pattern() const; + template + void set_pattern(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_pattern(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_pattern(); + void set_allocated_pattern(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_pattern() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_pattern(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_pattern(); + + public: + // optional bytes prefix = 5 [(.buf.validate.predefined) = { + bool has_prefix() const; + void clear_prefix() ; + const ::std::string& prefix() const; + template + void set_prefix(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_prefix(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_prefix(); + void set_allocated_prefix(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_prefix() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_prefix(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_prefix(); + + public: + // optional bytes suffix = 6 [(.buf.validate.predefined) = { + bool has_suffix() const; + void clear_suffix() ; + const ::std::string& suffix() const; + template + void set_suffix(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_suffix(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_suffix(); + void set_allocated_suffix(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_suffix() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_suffix(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_suffix(); + + public: + // optional bytes contains = 7 [(.buf.validate.predefined) = { + bool has_contains() const; + void clear_contains() ; + const ::std::string& contains() const; + template + void set_contains(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_contains(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_contains(); + void set_allocated_contains(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_contains() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_contains(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_contains(); + + public: + // optional uint64 min_len = 2 [(.buf.validate.predefined) = { + bool has_min_len() const; + void clear_min_len() ; + ::uint64_t min_len() const; + void set_min_len(::uint64_t value); + + private: + ::uint64_t _internal_min_len() const; + void _internal_set_min_len(::uint64_t value); + + public: + // optional uint64 max_len = 3 [(.buf.validate.predefined) = { + bool has_max_len() const; + void clear_max_len() ; + ::uint64_t max_len() const; + void set_max_len(::uint64_t value); + + private: + ::uint64_t _internal_max_len() const; + void _internal_set_max_len(::uint64_t value); + + public: + // optional uint64 len = 13 [(.buf.validate.predefined) = { + bool has_len() const; + void clear_len() ; + ::uint64_t len() const; + void set_len(::uint64_t value); + + private: + ::uint64_t _internal_len() const; + void _internal_set_len(::uint64_t value); + + public: + // bool ip = 10 [(.buf.validate.predefined) = { + bool has_ip() const; + void clear_ip() ; + bool ip() const; + void set_ip(bool value); + + private: + bool _internal_ip() const; + void _internal_set_ip(bool value); + + public: + // bool ipv4 = 11 [(.buf.validate.predefined) = { + bool has_ipv4() const; + void clear_ipv4() ; + bool ipv4() const; + void set_ipv4(bool value); + + private: + bool _internal_ipv4() const; + void _internal_set_ipv4(bool value); + + public: + // bool ipv6 = 12 [(.buf.validate.predefined) = { + bool has_ipv6() const; + void clear_ipv6() ; + bool ipv6() const; + void set_ipv6(bool value); + + private: + bool _internal_ipv6() const; + void _internal_set_ipv6(bool value); + + public: + // bool uuid = 15 [(.buf.validate.predefined) = { + bool has_uuid() const; + void clear_uuid() ; + bool uuid() const; + void set_uuid(bool value); + + private: + bool _internal_uuid() const; + void _internal_set_uuid(bool value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + BytesRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + BytesRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + BytesRules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_well_known(); + WellKnownCase well_known_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.BytesRules) + private: + class _Internal; + void set_has_ip(); + void set_has_ipv4(); + void set_has_ipv6(); + void set_has_uuid(); + inline bool has_well_known() const; + inline void clear_has_well_known(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<4, 15, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const BytesRules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField<::std::string> in_; + ::google::protobuf::RepeatedPtrField<::std::string> not_in_; + ::google::protobuf::RepeatedPtrField<::std::string> example_; + ::google::protobuf::internal::ArenaStringPtr const__; + ::google::protobuf::internal::ArenaStringPtr pattern_; + ::google::protobuf::internal::ArenaStringPtr prefix_; + ::google::protobuf::internal::ArenaStringPtr suffix_; + ::google::protobuf::internal::ArenaStringPtr contains_; + ::uint64_t min_len_; + ::uint64_t max_len_; + ::uint64_t len_; + union WellKnownUnion { + constexpr WellKnownUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + bool ip_; + bool ipv4_; + bool ipv6_; + bool uuid_; + } well_known_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull BytesRules_class_data_; +// ------------------------------------------------------------------- + +class BoolRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.BoolRules) */ { + public: + inline BoolRules() : BoolRules(nullptr) {} + ~BoolRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(BoolRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(BoolRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR BoolRules(::google::protobuf::internal::ConstantInitialized); + + inline BoolRules(const BoolRules& from) : BoolRules(nullptr, from) {} + inline BoolRules(BoolRules&& from) noexcept + : BoolRules(nullptr, ::std::move(from)) {} + inline BoolRules& operator=(const BoolRules& from) { + CopyFrom(from); + return *this; + } + inline BoolRules& operator=(BoolRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const BoolRules& default_instance() { + return *reinterpret_cast( + &_BoolRules_default_instance_); + } + static constexpr int kIndexInFileMessages = 18; + friend void swap(BoolRules& a, BoolRules& b) { a.Swap(&b); } + inline void Swap(BoolRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(BoolRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + BoolRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const BoolRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const BoolRules& from) { BoolRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(BoolRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.BoolRules"; } + + explicit BoolRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + BoolRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BoolRules& from); + BoolRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BoolRules&& from) noexcept + : BoolRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kExampleFieldNumber = 2, + kConstFieldNumber = 1, + }; + // repeated bool example = 2 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + bool example(int index) const; + void set_example(int index, bool value); + void add_example(bool value); + const ::google::protobuf::RepeatedField& example() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedField& _internal_example() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL _internal_mutable_example(); + + public: + // optional bool const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + bool const_() const; + void set_const_(bool value); + + private: + bool _internal_const_() const; + void _internal_set_const_(bool value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + BoolRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + BoolRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + BoolRules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + // @@protoc_insertion_point(class_scope:buf.validate.BoolRules) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const BoolRules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField example_; + bool const__; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull BoolRules_class_data_; +// ------------------------------------------------------------------- + +class AnyRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.AnyRules) */ { + public: + inline AnyRules() : AnyRules(nullptr) {} + ~AnyRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(AnyRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(AnyRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR AnyRules(::google::protobuf::internal::ConstantInitialized); + + inline AnyRules(const AnyRules& from) : AnyRules(nullptr, from) {} + inline AnyRules(AnyRules&& from) noexcept + : AnyRules(nullptr, ::std::move(from)) {} + inline AnyRules& operator=(const AnyRules& from) { + CopyFrom(from); + return *this; + } + inline AnyRules& operator=(AnyRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const AnyRules& default_instance() { + return *reinterpret_cast( + &_AnyRules_default_instance_); + } + static constexpr int kIndexInFileMessages = 24; + friend void swap(AnyRules& a, AnyRules& b) { a.Swap(&b); } + inline void Swap(AnyRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(AnyRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + AnyRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AnyRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const AnyRules& from) { AnyRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(AnyRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.AnyRules"; } + + explicit AnyRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + AnyRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AnyRules& from); + AnyRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AnyRules&& from) noexcept + : AnyRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 2, + kNotInFieldNumber = 3, + }; + // repeated string in = 2; + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + const ::std::string& in(int index) const; + ::std::string* PROTOBUF_NONNULL mutable_in(int index); + template + void set_in(int index, Arg_&& value, Args_... args); + ::std::string* PROTOBUF_NONNULL add_in(); + template + void add_in(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField<::std::string>& in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated string not_in = 3; + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + const ::std::string& not_in(int index) const; + ::std::string* PROTOBUF_NONNULL mutable_not_in(int index); + template + void set_not_in(int index, Arg_&& value, Args_... args); + ::std::string* PROTOBUF_NONNULL add_not_in(); + template + void add_not_in(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField<::std::string>& not_in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_not_in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // @@protoc_insertion_point(class_scope:buf.validate.AnyRules) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const AnyRules& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField<::std::string> in_; + ::google::protobuf::RepeatedPtrField<::std::string> not_in_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull AnyRules_class_data_; +// ------------------------------------------------------------------- + +class TimestampRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.TimestampRules) */ { + public: + inline TimestampRules() : TimestampRules(nullptr) {} + ~TimestampRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(TimestampRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(TimestampRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR TimestampRules(::google::protobuf::internal::ConstantInitialized); + + inline TimestampRules(const TimestampRules& from) : TimestampRules(nullptr, from) {} + inline TimestampRules(TimestampRules&& from) noexcept + : TimestampRules(nullptr, ::std::move(from)) {} + inline TimestampRules& operator=(const TimestampRules& from) { + CopyFrom(from); + return *this; + } + inline TimestampRules& operator=(TimestampRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const TimestampRules& default_instance() { + return *reinterpret_cast( + &_TimestampRules_default_instance_); + } + enum LessThanCase { + kLt = 3, + kLte = 4, + kLtNow = 7, + LESS_THAN_NOT_SET = 0, + }; + enum GreaterThanCase { + kGt = 5, + kGte = 6, + kGtNow = 8, + GREATER_THAN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 27; + friend void swap(TimestampRules& a, TimestampRules& b) { a.Swap(&b); } + inline void Swap(TimestampRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(TimestampRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + TimestampRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const TimestampRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const TimestampRules& from) { TimestampRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(TimestampRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.TimestampRules"; } + + explicit TimestampRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + TimestampRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const TimestampRules& from); + TimestampRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, TimestampRules&& from) noexcept + : TimestampRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kConstFieldNumber = 2, + kWithinFieldNumber = 9, + kExampleFieldNumber = 10, + kLtFieldNumber = 3, + kLteFieldNumber = 4, + kLtNowFieldNumber = 7, + kGtFieldNumber = 5, + kGteFieldNumber = 6, + kGtNowFieldNumber = 8, + }; + // optional .google.protobuf.Timestamp const = 2 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + const ::google::protobuf::Timestamp& const_() const; + [[nodiscard]] ::google::protobuf::Timestamp* PROTOBUF_NULLABLE release_const_(); + ::google::protobuf::Timestamp* PROTOBUF_NONNULL mutable_const_(); + void set_allocated_const_(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_const_(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value); + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE unsafe_arena_release_const_(); + + private: + const ::google::protobuf::Timestamp& _internal_const_() const; + ::google::protobuf::Timestamp* PROTOBUF_NONNULL _internal_mutable_const_(); + + public: + // optional .google.protobuf.Duration within = 9 [(.buf.validate.predefined) = { + bool has_within() const; + void clear_within() ; + const ::google::protobuf::Duration& within() const; + [[nodiscard]] ::google::protobuf::Duration* PROTOBUF_NULLABLE release_within(); + ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_within(); + void set_allocated_within(::google::protobuf::Duration* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_within(::google::protobuf::Duration* PROTOBUF_NULLABLE value); + ::google::protobuf::Duration* PROTOBUF_NULLABLE unsafe_arena_release_within(); + + private: + const ::google::protobuf::Duration& _internal_within() const; + ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_within(); + + public: + // repeated .google.protobuf.Timestamp example = 10 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + ::google::protobuf::Timestamp* PROTOBUF_NONNULL mutable_example(int index); + ::google::protobuf::RepeatedPtrField<::google::protobuf::Timestamp>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedPtrField<::google::protobuf::Timestamp>& _internal_example() const; + ::google::protobuf::RepeatedPtrField<::google::protobuf::Timestamp>* PROTOBUF_NONNULL _internal_mutable_example(); + public: + const ::google::protobuf::Timestamp& example(int index) const; + ::google::protobuf::Timestamp* PROTOBUF_NONNULL add_example(); + const ::google::protobuf::RepeatedPtrField<::google::protobuf::Timestamp>& example() const; + // .google.protobuf.Timestamp lt = 3 [(.buf.validate.predefined) = { + bool has_lt() const; + private: + bool _internal_has_lt() const; + + public: + void clear_lt() ; + const ::google::protobuf::Timestamp& lt() const; + [[nodiscard]] ::google::protobuf::Timestamp* PROTOBUF_NULLABLE release_lt(); + ::google::protobuf::Timestamp* PROTOBUF_NONNULL mutable_lt(); + void set_allocated_lt(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_lt(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value); + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE unsafe_arena_release_lt(); + + private: + const ::google::protobuf::Timestamp& _internal_lt() const; + ::google::protobuf::Timestamp* PROTOBUF_NONNULL _internal_mutable_lt(); + + public: + // .google.protobuf.Timestamp lte = 4 [(.buf.validate.predefined) = { + bool has_lte() const; + private: + bool _internal_has_lte() const; + + public: + void clear_lte() ; + const ::google::protobuf::Timestamp& lte() const; + [[nodiscard]] ::google::protobuf::Timestamp* PROTOBUF_NULLABLE release_lte(); + ::google::protobuf::Timestamp* PROTOBUF_NONNULL mutable_lte(); + void set_allocated_lte(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_lte(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value); + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE unsafe_arena_release_lte(); + + private: + const ::google::protobuf::Timestamp& _internal_lte() const; + ::google::protobuf::Timestamp* PROTOBUF_NONNULL _internal_mutable_lte(); + + public: + // bool lt_now = 7 [(.buf.validate.predefined) = { + bool has_lt_now() const; + void clear_lt_now() ; + bool lt_now() const; + void set_lt_now(bool value); + + private: + bool _internal_lt_now() const; + void _internal_set_lt_now(bool value); + + public: + // .google.protobuf.Timestamp gt = 5 [(.buf.validate.predefined) = { + bool has_gt() const; + private: + bool _internal_has_gt() const; + + public: + void clear_gt() ; + const ::google::protobuf::Timestamp& gt() const; + [[nodiscard]] ::google::protobuf::Timestamp* PROTOBUF_NULLABLE release_gt(); + ::google::protobuf::Timestamp* PROTOBUF_NONNULL mutable_gt(); + void set_allocated_gt(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_gt(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value); + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE unsafe_arena_release_gt(); + + private: + const ::google::protobuf::Timestamp& _internal_gt() const; + ::google::protobuf::Timestamp* PROTOBUF_NONNULL _internal_mutable_gt(); + + public: + // .google.protobuf.Timestamp gte = 6 [(.buf.validate.predefined) = { + bool has_gte() const; + private: + bool _internal_has_gte() const; + + public: + void clear_gte() ; + const ::google::protobuf::Timestamp& gte() const; + [[nodiscard]] ::google::protobuf::Timestamp* PROTOBUF_NULLABLE release_gte(); + ::google::protobuf::Timestamp* PROTOBUF_NONNULL mutable_gte(); + void set_allocated_gte(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_gte(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value); + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE unsafe_arena_release_gte(); + + private: + const ::google::protobuf::Timestamp& _internal_gte() const; + ::google::protobuf::Timestamp* PROTOBUF_NONNULL _internal_mutable_gte(); + + public: + // bool gt_now = 8 [(.buf.validate.predefined) = { + bool has_gt_now() const; + void clear_gt_now() ; + bool gt_now() const; + void set_gt_now(bool value); + + private: + bool _internal_gt_now() const; + void _internal_set_gt_now(bool value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + TimestampRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + TimestampRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + TimestampRules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_less_than(); + LessThanCase less_than_case() const; + void clear_greater_than(); + GreaterThanCase greater_than_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.TimestampRules) + private: + class _Internal; + void set_has_lt(); + void set_has_lte(); + void set_has_lt_now(); + void set_has_gt(); + void set_has_gte(); + void set_has_gt_now(); + inline bool has_less_than() const; + inline void clear_has_less_than(); + inline bool has_greater_than() const; + inline void clear_has_greater_than(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<4, 9, + 7, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const TimestampRules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE const__; + ::google::protobuf::Duration* PROTOBUF_NULLABLE within_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Timestamp > example_; + union LessThanUnion { + constexpr LessThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE lt_; + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE lte_; + bool lt_now_; + } less_than_; + union GreaterThanUnion { + constexpr GreaterThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE gt_; + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE gte_; + bool gt_now_; + } greater_than_; + ::uint32_t _oneof_case_[2]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull TimestampRules_class_data_; +// ------------------------------------------------------------------- + +class PredefinedRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.PredefinedRules) */ { + public: + inline PredefinedRules() : PredefinedRules(nullptr) {} + ~PredefinedRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(PredefinedRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(PredefinedRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR PredefinedRules(::google::protobuf::internal::ConstantInitialized); + + inline PredefinedRules(const PredefinedRules& from) : PredefinedRules(nullptr, from) {} + inline PredefinedRules(PredefinedRules&& from) noexcept + : PredefinedRules(nullptr, ::std::move(from)) {} + inline PredefinedRules& operator=(const PredefinedRules& from) { + CopyFrom(from); + return *this; + } + inline PredefinedRules& operator=(PredefinedRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const PredefinedRules& default_instance() { + return *reinterpret_cast( + &_PredefinedRules_default_instance_); + } + static constexpr int kIndexInFileMessages = 5; + friend void swap(PredefinedRules& a, PredefinedRules& b) { a.Swap(&b); } + inline void Swap(PredefinedRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(PredefinedRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + PredefinedRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const PredefinedRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const PredefinedRules& from) { PredefinedRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(PredefinedRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.PredefinedRules"; } + + explicit PredefinedRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + PredefinedRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PredefinedRules& from); + PredefinedRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, PredefinedRules&& from) noexcept + : PredefinedRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kCelFieldNumber = 1, + }; + // repeated .buf.validate.Rule cel = 1; + int cel_size() const; + private: + int _internal_cel_size() const; + + public: + void clear_cel() ; + ::buf::validate::Rule* PROTOBUF_NONNULL mutable_cel(int index); + ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>* PROTOBUF_NONNULL mutable_cel(); + + private: + const ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>& _internal_cel() const; + ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>* PROTOBUF_NONNULL _internal_mutable_cel(); + public: + const ::buf::validate::Rule& cel(int index) const; + ::buf::validate::Rule* PROTOBUF_NONNULL add_cel(); + const ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>& cel() const; + // @@protoc_insertion_point(class_scope:buf.validate.PredefinedRules) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<0, 1, + 1, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const PredefinedRules& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::buf::validate::Rule > cel_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull PredefinedRules_class_data_; +// ------------------------------------------------------------------- + +class MessageRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.MessageRules) */ { + public: + inline MessageRules() : MessageRules(nullptr) {} + ~MessageRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(MessageRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(MessageRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR MessageRules(::google::protobuf::internal::ConstantInitialized); + + inline MessageRules(const MessageRules& from) : MessageRules(nullptr, from) {} + inline MessageRules(MessageRules&& from) noexcept + : MessageRules(nullptr, ::std::move(from)) {} + inline MessageRules& operator=(const MessageRules& from) { + CopyFrom(from); + return *this; + } + inline MessageRules& operator=(MessageRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MessageRules& default_instance() { + return *reinterpret_cast( + &_MessageRules_default_instance_); + } + static constexpr int kIndexInFileMessages = 1; + friend void swap(MessageRules& a, MessageRules& b) { a.Swap(&b); } + inline void Swap(MessageRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MessageRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + MessageRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MessageRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const MessageRules& from) { MessageRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(MessageRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.MessageRules"; } + + explicit MessageRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + MessageRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MessageRules& from); + MessageRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MessageRules&& from) noexcept + : MessageRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kCelFieldNumber = 3, + kOneofFieldNumber = 4, + kCelExpressionFieldNumber = 5, + }; + // repeated .buf.validate.Rule cel = 3; + int cel_size() const; + private: + int _internal_cel_size() const; + + public: + void clear_cel() ; + ::buf::validate::Rule* PROTOBUF_NONNULL mutable_cel(int index); + ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>* PROTOBUF_NONNULL mutable_cel(); + + private: + const ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>& _internal_cel() const; + ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>* PROTOBUF_NONNULL _internal_mutable_cel(); + public: + const ::buf::validate::Rule& cel(int index) const; + ::buf::validate::Rule* PROTOBUF_NONNULL add_cel(); + const ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>& cel() const; + // repeated .buf.validate.MessageOneofRule oneof = 4; + int oneof_size() const; + private: + int _internal_oneof_size() const; + + public: + void clear_oneof() ; + ::buf::validate::MessageOneofRule* PROTOBUF_NONNULL mutable_oneof(int index); + ::google::protobuf::RepeatedPtrField<::buf::validate::MessageOneofRule>* PROTOBUF_NONNULL mutable_oneof(); + + private: + const ::google::protobuf::RepeatedPtrField<::buf::validate::MessageOneofRule>& _internal_oneof() const; + ::google::protobuf::RepeatedPtrField<::buf::validate::MessageOneofRule>* PROTOBUF_NONNULL _internal_mutable_oneof(); + public: + const ::buf::validate::MessageOneofRule& oneof(int index) const; + ::buf::validate::MessageOneofRule* PROTOBUF_NONNULL add_oneof(); + const ::google::protobuf::RepeatedPtrField<::buf::validate::MessageOneofRule>& oneof() const; + // repeated string cel_expression = 5; + int cel_expression_size() const; + private: + int _internal_cel_expression_size() const; + + public: + void clear_cel_expression() ; + const ::std::string& cel_expression(int index) const; + ::std::string* PROTOBUF_NONNULL mutable_cel_expression(int index); + template + void set_cel_expression(int index, Arg_&& value, Args_... args); + ::std::string* PROTOBUF_NONNULL add_cel_expression(); + template + void add_cel_expression(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField<::std::string>& cel_expression() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_cel_expression(); + + private: + const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_cel_expression() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_cel_expression(); + + public: + // @@protoc_insertion_point(class_scope:buf.validate.MessageRules) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 3, + 2, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const MessageRules& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::buf::validate::Rule > cel_; + ::google::protobuf::RepeatedPtrField< ::buf::validate::MessageOneofRule > oneof_; + ::google::protobuf::RepeatedPtrField<::std::string> cel_expression_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull MessageRules_class_data_; +// ------------------------------------------------------------------- + +class FieldPath final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.FieldPath) */ { + public: + inline FieldPath() : FieldPath(nullptr) {} + ~FieldPath() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(FieldPath* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(FieldPath)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR FieldPath(::google::protobuf::internal::ConstantInitialized); + + inline FieldPath(const FieldPath& from) : FieldPath(nullptr, from) {} + inline FieldPath(FieldPath&& from) noexcept + : FieldPath(nullptr, ::std::move(from)) {} + inline FieldPath& operator=(const FieldPath& from) { + CopyFrom(from); + return *this; + } + inline FieldPath& operator=(FieldPath&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FieldPath& default_instance() { + return *reinterpret_cast( + &_FieldPath_default_instance_); + } + static constexpr int kIndexInFileMessages = 30; + friend void swap(FieldPath& a, FieldPath& b) { a.Swap(&b); } + inline void Swap(FieldPath* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FieldPath* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FieldPath* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const FieldPath& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const FieldPath& from) { FieldPath::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(FieldPath* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.FieldPath"; } + + explicit FieldPath(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + FieldPath(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FieldPath& from); + FieldPath( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FieldPath&& from) noexcept + : FieldPath(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kElementsFieldNumber = 1, + }; + // repeated .buf.validate.FieldPathElement elements = 1; + int elements_size() const; + private: + int _internal_elements_size() const; + + public: + void clear_elements() ; + ::buf::validate::FieldPathElement* PROTOBUF_NONNULL mutable_elements(int index); + ::google::protobuf::RepeatedPtrField<::buf::validate::FieldPathElement>* PROTOBUF_NONNULL mutable_elements(); + + private: + const ::google::protobuf::RepeatedPtrField<::buf::validate::FieldPathElement>& _internal_elements() const; + ::google::protobuf::RepeatedPtrField<::buf::validate::FieldPathElement>* PROTOBUF_NONNULL _internal_mutable_elements(); + public: + const ::buf::validate::FieldPathElement& elements(int index) const; + ::buf::validate::FieldPathElement* PROTOBUF_NONNULL add_elements(); + const ::google::protobuf::RepeatedPtrField<::buf::validate::FieldPathElement>& elements() const; + // @@protoc_insertion_point(class_scope:buf.validate.FieldPath) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<0, 1, + 1, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const FieldPath& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::buf::validate::FieldPathElement > elements_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull FieldPath_class_data_; +// ------------------------------------------------------------------- + +class FieldMaskRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.FieldMaskRules) */ { + public: + inline FieldMaskRules() : FieldMaskRules(nullptr) {} + ~FieldMaskRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(FieldMaskRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(FieldMaskRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR FieldMaskRules(::google::protobuf::internal::ConstantInitialized); + + inline FieldMaskRules(const FieldMaskRules& from) : FieldMaskRules(nullptr, from) {} + inline FieldMaskRules(FieldMaskRules&& from) noexcept + : FieldMaskRules(nullptr, ::std::move(from)) {} + inline FieldMaskRules& operator=(const FieldMaskRules& from) { + CopyFrom(from); + return *this; + } + inline FieldMaskRules& operator=(FieldMaskRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FieldMaskRules& default_instance() { + return *reinterpret_cast( + &_FieldMaskRules_default_instance_); + } + static constexpr int kIndexInFileMessages = 26; + friend void swap(FieldMaskRules& a, FieldMaskRules& b) { a.Swap(&b); } + inline void Swap(FieldMaskRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FieldMaskRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FieldMaskRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const FieldMaskRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const FieldMaskRules& from) { FieldMaskRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(FieldMaskRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.FieldMaskRules"; } + + explicit FieldMaskRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + FieldMaskRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FieldMaskRules& from); + FieldMaskRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FieldMaskRules&& from) noexcept + : FieldMaskRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 2, + kNotInFieldNumber = 3, + kExampleFieldNumber = 4, + kConstFieldNumber = 1, + }; + // repeated string in = 2 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + const ::std::string& in(int index) const; + ::std::string* PROTOBUF_NONNULL mutable_in(int index); + template + void set_in(int index, Arg_&& value, Args_... args); + ::std::string* PROTOBUF_NONNULL add_in(); + template + void add_in(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField<::std::string>& in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_in(); + + public: + // repeated string not_in = 3 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + const ::std::string& not_in(int index) const; + ::std::string* PROTOBUF_NONNULL mutable_not_in(int index); + template + void set_not_in(int index, Arg_&& value, Args_... args); + ::std::string* PROTOBUF_NONNULL add_not_in(); + template + void add_not_in(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField<::std::string>& not_in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_not_in() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_not_in(); + + public: + // repeated .google.protobuf.FieldMask example = 4 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + ::google::protobuf::FieldMask* PROTOBUF_NONNULL mutable_example(int index); + ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldMask>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldMask>& _internal_example() const; + ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldMask>* PROTOBUF_NONNULL _internal_mutable_example(); + public: + const ::google::protobuf::FieldMask& example(int index) const; + ::google::protobuf::FieldMask* PROTOBUF_NONNULL add_example(); + const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldMask>& example() const; + // optional .google.protobuf.FieldMask const = 1 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + const ::google::protobuf::FieldMask& const_() const; + [[nodiscard]] ::google::protobuf::FieldMask* PROTOBUF_NULLABLE release_const_(); + ::google::protobuf::FieldMask* PROTOBUF_NONNULL mutable_const_(); + void set_allocated_const_(::google::protobuf::FieldMask* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_const_(::google::protobuf::FieldMask* PROTOBUF_NULLABLE value); + ::google::protobuf::FieldMask* PROTOBUF_NULLABLE unsafe_arena_release_const_(); + + private: + const ::google::protobuf::FieldMask& _internal_const_() const; + ::google::protobuf::FieldMask* PROTOBUF_NONNULL _internal_mutable_const_(); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + FieldMaskRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + FieldMaskRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + FieldMaskRules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + // @@protoc_insertion_point(class_scope:buf.validate.FieldMaskRules) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 4, + 2, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const FieldMaskRules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField<::std::string> in_; + ::google::protobuf::RepeatedPtrField<::std::string> not_in_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldMask > example_; + ::google::protobuf::FieldMask* PROTOBUF_NULLABLE const__; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull FieldMaskRules_class_data_; +// ------------------------------------------------------------------- + +class DurationRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.DurationRules) */ { + public: + inline DurationRules() : DurationRules(nullptr) {} + ~DurationRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(DurationRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(DurationRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR DurationRules(::google::protobuf::internal::ConstantInitialized); + + inline DurationRules(const DurationRules& from) : DurationRules(nullptr, from) {} + inline DurationRules(DurationRules&& from) noexcept + : DurationRules(nullptr, ::std::move(from)) {} + inline DurationRules& operator=(const DurationRules& from) { + CopyFrom(from); + return *this; + } + inline DurationRules& operator=(DurationRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const DurationRules& default_instance() { + return *reinterpret_cast( + &_DurationRules_default_instance_); + } + enum LessThanCase { + kLt = 3, + kLte = 4, + LESS_THAN_NOT_SET = 0, + }; + enum GreaterThanCase { + kGt = 5, + kGte = 6, + GREATER_THAN_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 25; + friend void swap(DurationRules& a, DurationRules& b) { a.Swap(&b); } + inline void Swap(DurationRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(DurationRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + DurationRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DurationRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const DurationRules& from) { DurationRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(DurationRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.DurationRules"; } + + explicit DurationRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + DurationRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DurationRules& from); + DurationRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DurationRules&& from) noexcept + : DurationRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInFieldNumber = 7, + kNotInFieldNumber = 8, + kExampleFieldNumber = 9, + kConstFieldNumber = 2, + kLtFieldNumber = 3, + kLteFieldNumber = 4, + kGtFieldNumber = 5, + kGteFieldNumber = 6, + }; + // repeated .google.protobuf.Duration in = 7 [(.buf.validate.predefined) = { + int in_size() const; + private: + int _internal_in_size() const; + + public: + void clear_in() ; + ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_in(int index); + ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>* PROTOBUF_NONNULL mutable_in(); + + private: + const ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>& _internal_in() const; + ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>* PROTOBUF_NONNULL _internal_mutable_in(); + public: + const ::google::protobuf::Duration& in(int index) const; + ::google::protobuf::Duration* PROTOBUF_NONNULL add_in(); + const ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>& in() const; + // repeated .google.protobuf.Duration not_in = 8 [(.buf.validate.predefined) = { + int not_in_size() const; + private: + int _internal_not_in_size() const; + + public: + void clear_not_in() ; + ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_not_in(int index); + ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>* PROTOBUF_NONNULL mutable_not_in(); + + private: + const ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>& _internal_not_in() const; + ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>* PROTOBUF_NONNULL _internal_mutable_not_in(); + public: + const ::google::protobuf::Duration& not_in(int index) const; + ::google::protobuf::Duration* PROTOBUF_NONNULL add_not_in(); + const ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>& not_in() const; + // repeated .google.protobuf.Duration example = 9 [(.buf.validate.predefined) = { + int example_size() const; + private: + int _internal_example_size() const; + + public: + void clear_example() ; + ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_example(int index); + ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>* PROTOBUF_NONNULL mutable_example(); + + private: + const ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>& _internal_example() const; + ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>* PROTOBUF_NONNULL _internal_mutable_example(); + public: + const ::google::protobuf::Duration& example(int index) const; + ::google::protobuf::Duration* PROTOBUF_NONNULL add_example(); + const ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>& example() const; + // optional .google.protobuf.Duration const = 2 [(.buf.validate.predefined) = { + bool has_const_() const; + void clear_const_() ; + const ::google::protobuf::Duration& const_() const; + [[nodiscard]] ::google::protobuf::Duration* PROTOBUF_NULLABLE release_const_(); + ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_const_(); + void set_allocated_const_(::google::protobuf::Duration* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_const_(::google::protobuf::Duration* PROTOBUF_NULLABLE value); + ::google::protobuf::Duration* PROTOBUF_NULLABLE unsafe_arena_release_const_(); + + private: + const ::google::protobuf::Duration& _internal_const_() const; + ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_const_(); + + public: + // .google.protobuf.Duration lt = 3 [(.buf.validate.predefined) = { + bool has_lt() const; + private: + bool _internal_has_lt() const; + + public: + void clear_lt() ; + const ::google::protobuf::Duration& lt() const; + [[nodiscard]] ::google::protobuf::Duration* PROTOBUF_NULLABLE release_lt(); + ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_lt(); + void set_allocated_lt(::google::protobuf::Duration* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_lt(::google::protobuf::Duration* PROTOBUF_NULLABLE value); + ::google::protobuf::Duration* PROTOBUF_NULLABLE unsafe_arena_release_lt(); + + private: + const ::google::protobuf::Duration& _internal_lt() const; + ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_lt(); + + public: + // .google.protobuf.Duration lte = 4 [(.buf.validate.predefined) = { + bool has_lte() const; + private: + bool _internal_has_lte() const; + + public: + void clear_lte() ; + const ::google::protobuf::Duration& lte() const; + [[nodiscard]] ::google::protobuf::Duration* PROTOBUF_NULLABLE release_lte(); + ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_lte(); + void set_allocated_lte(::google::protobuf::Duration* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_lte(::google::protobuf::Duration* PROTOBUF_NULLABLE value); + ::google::protobuf::Duration* PROTOBUF_NULLABLE unsafe_arena_release_lte(); + + private: + const ::google::protobuf::Duration& _internal_lte() const; + ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_lte(); + + public: + // .google.protobuf.Duration gt = 5 [(.buf.validate.predefined) = { + bool has_gt() const; + private: + bool _internal_has_gt() const; + + public: + void clear_gt() ; + const ::google::protobuf::Duration& gt() const; + [[nodiscard]] ::google::protobuf::Duration* PROTOBUF_NULLABLE release_gt(); + ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_gt(); + void set_allocated_gt(::google::protobuf::Duration* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_gt(::google::protobuf::Duration* PROTOBUF_NULLABLE value); + ::google::protobuf::Duration* PROTOBUF_NULLABLE unsafe_arena_release_gt(); + + private: + const ::google::protobuf::Duration& _internal_gt() const; + ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_gt(); + + public: + // .google.protobuf.Duration gte = 6 [(.buf.validate.predefined) = { + bool has_gte() const; + private: + bool _internal_has_gte() const; + + public: + void clear_gte() ; + const ::google::protobuf::Duration& gte() const; + [[nodiscard]] ::google::protobuf::Duration* PROTOBUF_NULLABLE release_gte(); + ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_gte(); + void set_allocated_gte(::google::protobuf::Duration* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_gte(::google::protobuf::Duration* PROTOBUF_NULLABLE value); + ::google::protobuf::Duration* PROTOBUF_NULLABLE unsafe_arena_release_gte(); + + private: + const ::google::protobuf::Duration& _internal_gte() const; + ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_gte(); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + DurationRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + DurationRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + DurationRules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + void clear_less_than(); + LessThanCase less_than_case() const; + void clear_greater_than(); + GreaterThanCase greater_than_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.DurationRules) + private: + class _Internal; + void set_has_lt(); + void set_has_lte(); + void set_has_gt(); + void set_has_gte(); + inline bool has_less_than() const; + inline void clear_has_less_than(); + inline bool has_greater_than() const; + inline void clear_has_greater_than(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 8, + 8, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const DurationRules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Duration > in_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Duration > not_in_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Duration > example_; + ::google::protobuf::Duration* PROTOBUF_NULLABLE const__; + union LessThanUnion { + constexpr LessThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::protobuf::Duration* PROTOBUF_NULLABLE lt_; + ::google::protobuf::Duration* PROTOBUF_NULLABLE lte_; + } less_than_; + union GreaterThanUnion { + constexpr GreaterThanUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::protobuf::Duration* PROTOBUF_NULLABLE gt_; + ::google::protobuf::Duration* PROTOBUF_NULLABLE gte_; + } greater_than_; + ::uint32_t _oneof_case_[2]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull DurationRules_class_data_; +// ------------------------------------------------------------------- + +class Violation final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.Violation) */ { + public: + inline Violation() : Violation(nullptr) {} + ~Violation() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Violation* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Violation)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Violation(::google::protobuf::internal::ConstantInitialized); + + inline Violation(const Violation& from) : Violation(nullptr, from) {} + inline Violation(Violation&& from) noexcept + : Violation(nullptr, ::std::move(from)) {} + inline Violation& operator=(const Violation& from) { + CopyFrom(from); + return *this; + } + inline Violation& operator=(Violation&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Violation& default_instance() { + return *reinterpret_cast( + &_Violation_default_instance_); + } + static constexpr int kIndexInFileMessages = 29; + friend void swap(Violation& a, Violation& b) { a.Swap(&b); } + inline void Swap(Violation* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Violation* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Violation* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Violation& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Violation& from) { Violation::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Violation* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.Violation"; } + + explicit Violation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Violation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Violation& from); + Violation( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Violation&& from) noexcept + : Violation(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kRuleIdFieldNumber = 2, + kMessageFieldNumber = 3, + kFieldFieldNumber = 5, + kRuleFieldNumber = 6, + kForKeyFieldNumber = 4, + }; + // optional string rule_id = 2; + bool has_rule_id() const; + void clear_rule_id() ; + const ::std::string& rule_id() const; + template + void set_rule_id(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_rule_id(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_rule_id(); + void set_allocated_rule_id(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_rule_id() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_rule_id(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_rule_id(); + + public: + // optional string message = 3; + bool has_message() const; + void clear_message() ; + const ::std::string& message() const; + template + void set_message(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_message(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_message(); + void set_allocated_message(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_message() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_message(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_message(); + + public: + // optional .buf.validate.FieldPath field = 5; + bool has_field() const; + void clear_field() ; + const ::buf::validate::FieldPath& field() const; + [[nodiscard]] ::buf::validate::FieldPath* PROTOBUF_NULLABLE release_field(); + ::buf::validate::FieldPath* PROTOBUF_NONNULL mutable_field(); + void set_allocated_field(::buf::validate::FieldPath* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_field(::buf::validate::FieldPath* PROTOBUF_NULLABLE value); + ::buf::validate::FieldPath* PROTOBUF_NULLABLE unsafe_arena_release_field(); + + private: + const ::buf::validate::FieldPath& _internal_field() const; + ::buf::validate::FieldPath* PROTOBUF_NONNULL _internal_mutable_field(); + + public: + // optional .buf.validate.FieldPath rule = 6; + bool has_rule() const; + void clear_rule() ; + const ::buf::validate::FieldPath& rule() const; + [[nodiscard]] ::buf::validate::FieldPath* PROTOBUF_NULLABLE release_rule(); + ::buf::validate::FieldPath* PROTOBUF_NONNULL mutable_rule(); + void set_allocated_rule(::buf::validate::FieldPath* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_rule(::buf::validate::FieldPath* PROTOBUF_NULLABLE value); + ::buf::validate::FieldPath* PROTOBUF_NULLABLE unsafe_arena_release_rule(); + + private: + const ::buf::validate::FieldPath& _internal_rule() const; + ::buf::validate::FieldPath* PROTOBUF_NONNULL _internal_mutable_rule(); + + public: + // optional bool for_key = 4; + bool has_for_key() const; + void clear_for_key() ; + bool for_key() const; + void set_for_key(bool value); + + private: + bool _internal_for_key() const; + void _internal_set_for_key(bool value); + + public: + // @@protoc_insertion_point(class_scope:buf.validate.Violation) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<3, 5, + 2, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Violation& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr rule_id_; + ::google::protobuf::internal::ArenaStringPtr message_; + ::buf::validate::FieldPath* PROTOBUF_NULLABLE field_; + ::buf::validate::FieldPath* PROTOBUF_NULLABLE rule_; + bool for_key_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Violation_class_data_; +// ------------------------------------------------------------------- + +class FieldRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.FieldRules) */ { + public: + inline FieldRules() : FieldRules(nullptr) {} + ~FieldRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(FieldRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(FieldRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR FieldRules(::google::protobuf::internal::ConstantInitialized); + + inline FieldRules(const FieldRules& from) : FieldRules(nullptr, from) {} + inline FieldRules(FieldRules&& from) noexcept + : FieldRules(nullptr, ::std::move(from)) {} + inline FieldRules& operator=(const FieldRules& from) { + CopyFrom(from); + return *this; + } + inline FieldRules& operator=(FieldRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FieldRules& default_instance() { + return *reinterpret_cast( + &_FieldRules_default_instance_); + } + enum TypeCase { + kFloat = 1, + kDouble = 2, + kInt32 = 3, + kInt64 = 4, + kUint32 = 5, + kUint64 = 6, + kSint32 = 7, + kSint64 = 8, + kFixed32 = 9, + kFixed64 = 10, + kSfixed32 = 11, + kSfixed64 = 12, + kBool = 13, + kString = 14, + kBytes = 15, + kEnum = 16, + kRepeated = 18, + kMap = 19, + kAny = 20, + kDuration = 21, + kFieldMask = 28, + kTimestamp = 22, + TYPE_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 4; + friend void swap(FieldRules& a, FieldRules& b) { a.Swap(&b); } + inline void Swap(FieldRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FieldRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FieldRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const FieldRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const FieldRules& from) { FieldRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(FieldRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.FieldRules"; } + + explicit FieldRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + FieldRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const FieldRules& from); + FieldRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, FieldRules&& from) noexcept + : FieldRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kCelFieldNumber = 23, + kCelExpressionFieldNumber = 29, + kRequiredFieldNumber = 25, + kIgnoreFieldNumber = 27, + kFloatFieldNumber = 1, + kDoubleFieldNumber = 2, + kInt32FieldNumber = 3, + kInt64FieldNumber = 4, + kUint32FieldNumber = 5, + kUint64FieldNumber = 6, + kSint32FieldNumber = 7, + kSint64FieldNumber = 8, + kFixed32FieldNumber = 9, + kFixed64FieldNumber = 10, + kSfixed32FieldNumber = 11, + kSfixed64FieldNumber = 12, + kBoolFieldNumber = 13, + kStringFieldNumber = 14, + kBytesFieldNumber = 15, + kEnumFieldNumber = 16, + kRepeatedFieldNumber = 18, + kMapFieldNumber = 19, + kAnyFieldNumber = 20, + kDurationFieldNumber = 21, + kFieldMaskFieldNumber = 28, + kTimestampFieldNumber = 22, + }; + // repeated .buf.validate.Rule cel = 23; + int cel_size() const; + private: + int _internal_cel_size() const; + + public: + void clear_cel() ; + ::buf::validate::Rule* PROTOBUF_NONNULL mutable_cel(int index); + ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>* PROTOBUF_NONNULL mutable_cel(); + + private: + const ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>& _internal_cel() const; + ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>* PROTOBUF_NONNULL _internal_mutable_cel(); + public: + const ::buf::validate::Rule& cel(int index) const; + ::buf::validate::Rule* PROTOBUF_NONNULL add_cel(); + const ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>& cel() const; + // repeated string cel_expression = 29; + int cel_expression_size() const; + private: + int _internal_cel_expression_size() const; + + public: + void clear_cel_expression() ; + const ::std::string& cel_expression(int index) const; + ::std::string* PROTOBUF_NONNULL mutable_cel_expression(int index); + template + void set_cel_expression(int index, Arg_&& value, Args_... args); + ::std::string* PROTOBUF_NONNULL add_cel_expression(); + template + void add_cel_expression(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField<::std::string>& cel_expression() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_cel_expression(); + + private: + const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_cel_expression() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_cel_expression(); + + public: + // optional bool required = 25; + bool has_required() const; + void clear_required() ; + bool required() const; + void set_required(bool value); + + private: + bool _internal_required() const; + void _internal_set_required(bool value); + + public: + // optional .buf.validate.Ignore ignore = 27; + bool has_ignore() const; + void clear_ignore() ; + ::buf::validate::Ignore ignore() const; + void set_ignore(::buf::validate::Ignore value); + + private: + ::buf::validate::Ignore _internal_ignore() const; + void _internal_set_ignore(::buf::validate::Ignore value); + + public: + // .buf.validate.FloatRules float = 1; + bool has_float_() const; + private: + bool _internal_has_float_() const; + + public: + void clear_float_() ; + const ::buf::validate::FloatRules& float_() const; + [[nodiscard]] ::buf::validate::FloatRules* PROTOBUF_NULLABLE release_float_(); + ::buf::validate::FloatRules* PROTOBUF_NONNULL mutable_float_(); + void set_allocated_float_(::buf::validate::FloatRules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_float_(::buf::validate::FloatRules* PROTOBUF_NULLABLE value); + ::buf::validate::FloatRules* PROTOBUF_NULLABLE unsafe_arena_release_float_(); + + private: + const ::buf::validate::FloatRules& _internal_float_() const; + ::buf::validate::FloatRules* PROTOBUF_NONNULL _internal_mutable_float_(); + + public: + // .buf.validate.DoubleRules double = 2; + bool has_double_() const; + private: + bool _internal_has_double_() const; + + public: + void clear_double_() ; + const ::buf::validate::DoubleRules& double_() const; + [[nodiscard]] ::buf::validate::DoubleRules* PROTOBUF_NULLABLE release_double_(); + ::buf::validate::DoubleRules* PROTOBUF_NONNULL mutable_double_(); + void set_allocated_double_(::buf::validate::DoubleRules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_double_(::buf::validate::DoubleRules* PROTOBUF_NULLABLE value); + ::buf::validate::DoubleRules* PROTOBUF_NULLABLE unsafe_arena_release_double_(); + + private: + const ::buf::validate::DoubleRules& _internal_double_() const; + ::buf::validate::DoubleRules* PROTOBUF_NONNULL _internal_mutable_double_(); + + public: + // .buf.validate.Int32Rules int32 = 3; + bool has_int32() const; + private: + bool _internal_has_int32() const; + + public: + void clear_int32() ; + const ::buf::validate::Int32Rules& int32() const; + [[nodiscard]] ::buf::validate::Int32Rules* PROTOBUF_NULLABLE release_int32(); + ::buf::validate::Int32Rules* PROTOBUF_NONNULL mutable_int32(); + void set_allocated_int32(::buf::validate::Int32Rules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_int32(::buf::validate::Int32Rules* PROTOBUF_NULLABLE value); + ::buf::validate::Int32Rules* PROTOBUF_NULLABLE unsafe_arena_release_int32(); + + private: + const ::buf::validate::Int32Rules& _internal_int32() const; + ::buf::validate::Int32Rules* PROTOBUF_NONNULL _internal_mutable_int32(); + + public: + // .buf.validate.Int64Rules int64 = 4; + bool has_int64() const; + private: + bool _internal_has_int64() const; + + public: + void clear_int64() ; + const ::buf::validate::Int64Rules& int64() const; + [[nodiscard]] ::buf::validate::Int64Rules* PROTOBUF_NULLABLE release_int64(); + ::buf::validate::Int64Rules* PROTOBUF_NONNULL mutable_int64(); + void set_allocated_int64(::buf::validate::Int64Rules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_int64(::buf::validate::Int64Rules* PROTOBUF_NULLABLE value); + ::buf::validate::Int64Rules* PROTOBUF_NULLABLE unsafe_arena_release_int64(); + + private: + const ::buf::validate::Int64Rules& _internal_int64() const; + ::buf::validate::Int64Rules* PROTOBUF_NONNULL _internal_mutable_int64(); + + public: + // .buf.validate.UInt32Rules uint32 = 5; + bool has_uint32() const; + private: + bool _internal_has_uint32() const; + + public: + void clear_uint32() ; + const ::buf::validate::UInt32Rules& uint32() const; + [[nodiscard]] ::buf::validate::UInt32Rules* PROTOBUF_NULLABLE release_uint32(); + ::buf::validate::UInt32Rules* PROTOBUF_NONNULL mutable_uint32(); + void set_allocated_uint32(::buf::validate::UInt32Rules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_uint32(::buf::validate::UInt32Rules* PROTOBUF_NULLABLE value); + ::buf::validate::UInt32Rules* PROTOBUF_NULLABLE unsafe_arena_release_uint32(); + + private: + const ::buf::validate::UInt32Rules& _internal_uint32() const; + ::buf::validate::UInt32Rules* PROTOBUF_NONNULL _internal_mutable_uint32(); + + public: + // .buf.validate.UInt64Rules uint64 = 6; + bool has_uint64() const; + private: + bool _internal_has_uint64() const; + + public: + void clear_uint64() ; + const ::buf::validate::UInt64Rules& uint64() const; + [[nodiscard]] ::buf::validate::UInt64Rules* PROTOBUF_NULLABLE release_uint64(); + ::buf::validate::UInt64Rules* PROTOBUF_NONNULL mutable_uint64(); + void set_allocated_uint64(::buf::validate::UInt64Rules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_uint64(::buf::validate::UInt64Rules* PROTOBUF_NULLABLE value); + ::buf::validate::UInt64Rules* PROTOBUF_NULLABLE unsafe_arena_release_uint64(); + + private: + const ::buf::validate::UInt64Rules& _internal_uint64() const; + ::buf::validate::UInt64Rules* PROTOBUF_NONNULL _internal_mutable_uint64(); + + public: + // .buf.validate.SInt32Rules sint32 = 7; + bool has_sint32() const; + private: + bool _internal_has_sint32() const; + + public: + void clear_sint32() ; + const ::buf::validate::SInt32Rules& sint32() const; + [[nodiscard]] ::buf::validate::SInt32Rules* PROTOBUF_NULLABLE release_sint32(); + ::buf::validate::SInt32Rules* PROTOBUF_NONNULL mutable_sint32(); + void set_allocated_sint32(::buf::validate::SInt32Rules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_sint32(::buf::validate::SInt32Rules* PROTOBUF_NULLABLE value); + ::buf::validate::SInt32Rules* PROTOBUF_NULLABLE unsafe_arena_release_sint32(); + + private: + const ::buf::validate::SInt32Rules& _internal_sint32() const; + ::buf::validate::SInt32Rules* PROTOBUF_NONNULL _internal_mutable_sint32(); + + public: + // .buf.validate.SInt64Rules sint64 = 8; + bool has_sint64() const; + private: + bool _internal_has_sint64() const; + + public: + void clear_sint64() ; + const ::buf::validate::SInt64Rules& sint64() const; + [[nodiscard]] ::buf::validate::SInt64Rules* PROTOBUF_NULLABLE release_sint64(); + ::buf::validate::SInt64Rules* PROTOBUF_NONNULL mutable_sint64(); + void set_allocated_sint64(::buf::validate::SInt64Rules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_sint64(::buf::validate::SInt64Rules* PROTOBUF_NULLABLE value); + ::buf::validate::SInt64Rules* PROTOBUF_NULLABLE unsafe_arena_release_sint64(); + + private: + const ::buf::validate::SInt64Rules& _internal_sint64() const; + ::buf::validate::SInt64Rules* PROTOBUF_NONNULL _internal_mutable_sint64(); + + public: + // .buf.validate.Fixed32Rules fixed32 = 9; + bool has_fixed32() const; + private: + bool _internal_has_fixed32() const; + + public: + void clear_fixed32() ; + const ::buf::validate::Fixed32Rules& fixed32() const; + [[nodiscard]] ::buf::validate::Fixed32Rules* PROTOBUF_NULLABLE release_fixed32(); + ::buf::validate::Fixed32Rules* PROTOBUF_NONNULL mutable_fixed32(); + void set_allocated_fixed32(::buf::validate::Fixed32Rules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_fixed32(::buf::validate::Fixed32Rules* PROTOBUF_NULLABLE value); + ::buf::validate::Fixed32Rules* PROTOBUF_NULLABLE unsafe_arena_release_fixed32(); + + private: + const ::buf::validate::Fixed32Rules& _internal_fixed32() const; + ::buf::validate::Fixed32Rules* PROTOBUF_NONNULL _internal_mutable_fixed32(); + + public: + // .buf.validate.Fixed64Rules fixed64 = 10; + bool has_fixed64() const; + private: + bool _internal_has_fixed64() const; + + public: + void clear_fixed64() ; + const ::buf::validate::Fixed64Rules& fixed64() const; + [[nodiscard]] ::buf::validate::Fixed64Rules* PROTOBUF_NULLABLE release_fixed64(); + ::buf::validate::Fixed64Rules* PROTOBUF_NONNULL mutable_fixed64(); + void set_allocated_fixed64(::buf::validate::Fixed64Rules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_fixed64(::buf::validate::Fixed64Rules* PROTOBUF_NULLABLE value); + ::buf::validate::Fixed64Rules* PROTOBUF_NULLABLE unsafe_arena_release_fixed64(); + + private: + const ::buf::validate::Fixed64Rules& _internal_fixed64() const; + ::buf::validate::Fixed64Rules* PROTOBUF_NONNULL _internal_mutable_fixed64(); + + public: + // .buf.validate.SFixed32Rules sfixed32 = 11; + bool has_sfixed32() const; + private: + bool _internal_has_sfixed32() const; + + public: + void clear_sfixed32() ; + const ::buf::validate::SFixed32Rules& sfixed32() const; + [[nodiscard]] ::buf::validate::SFixed32Rules* PROTOBUF_NULLABLE release_sfixed32(); + ::buf::validate::SFixed32Rules* PROTOBUF_NONNULL mutable_sfixed32(); + void set_allocated_sfixed32(::buf::validate::SFixed32Rules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_sfixed32(::buf::validate::SFixed32Rules* PROTOBUF_NULLABLE value); + ::buf::validate::SFixed32Rules* PROTOBUF_NULLABLE unsafe_arena_release_sfixed32(); + + private: + const ::buf::validate::SFixed32Rules& _internal_sfixed32() const; + ::buf::validate::SFixed32Rules* PROTOBUF_NONNULL _internal_mutable_sfixed32(); + + public: + // .buf.validate.SFixed64Rules sfixed64 = 12; + bool has_sfixed64() const; + private: + bool _internal_has_sfixed64() const; + + public: + void clear_sfixed64() ; + const ::buf::validate::SFixed64Rules& sfixed64() const; + [[nodiscard]] ::buf::validate::SFixed64Rules* PROTOBUF_NULLABLE release_sfixed64(); + ::buf::validate::SFixed64Rules* PROTOBUF_NONNULL mutable_sfixed64(); + void set_allocated_sfixed64(::buf::validate::SFixed64Rules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_sfixed64(::buf::validate::SFixed64Rules* PROTOBUF_NULLABLE value); + ::buf::validate::SFixed64Rules* PROTOBUF_NULLABLE unsafe_arena_release_sfixed64(); + + private: + const ::buf::validate::SFixed64Rules& _internal_sfixed64() const; + ::buf::validate::SFixed64Rules* PROTOBUF_NONNULL _internal_mutable_sfixed64(); + + public: + // .buf.validate.BoolRules bool = 13; + bool has_bool_() const; + private: + bool _internal_has_bool_() const; + + public: + void clear_bool_() ; + const ::buf::validate::BoolRules& bool_() const; + [[nodiscard]] ::buf::validate::BoolRules* PROTOBUF_NULLABLE release_bool_(); + ::buf::validate::BoolRules* PROTOBUF_NONNULL mutable_bool_(); + void set_allocated_bool_(::buf::validate::BoolRules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_bool_(::buf::validate::BoolRules* PROTOBUF_NULLABLE value); + ::buf::validate::BoolRules* PROTOBUF_NULLABLE unsafe_arena_release_bool_(); + + private: + const ::buf::validate::BoolRules& _internal_bool_() const; + ::buf::validate::BoolRules* PROTOBUF_NONNULL _internal_mutable_bool_(); + + public: + // .buf.validate.StringRules string = 14; + bool has_string() const; + private: + bool _internal_has_string() const; + + public: + void clear_string() ; + const ::buf::validate::StringRules& string() const; + [[nodiscard]] ::buf::validate::StringRules* PROTOBUF_NULLABLE release_string(); + ::buf::validate::StringRules* PROTOBUF_NONNULL mutable_string(); + void set_allocated_string(::buf::validate::StringRules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_string(::buf::validate::StringRules* PROTOBUF_NULLABLE value); + ::buf::validate::StringRules* PROTOBUF_NULLABLE unsafe_arena_release_string(); + + private: + const ::buf::validate::StringRules& _internal_string() const; + ::buf::validate::StringRules* PROTOBUF_NONNULL _internal_mutable_string(); + + public: + // .buf.validate.BytesRules bytes = 15; + bool has_bytes() const; + private: + bool _internal_has_bytes() const; + + public: + void clear_bytes() ; + const ::buf::validate::BytesRules& bytes() const; + [[nodiscard]] ::buf::validate::BytesRules* PROTOBUF_NULLABLE release_bytes(); + ::buf::validate::BytesRules* PROTOBUF_NONNULL mutable_bytes(); + void set_allocated_bytes(::buf::validate::BytesRules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_bytes(::buf::validate::BytesRules* PROTOBUF_NULLABLE value); + ::buf::validate::BytesRules* PROTOBUF_NULLABLE unsafe_arena_release_bytes(); + + private: + const ::buf::validate::BytesRules& _internal_bytes() const; + ::buf::validate::BytesRules* PROTOBUF_NONNULL _internal_mutable_bytes(); + + public: + // .buf.validate.EnumRules enum = 16; + bool has_enum_() const; + private: + bool _internal_has_enum_() const; + + public: + void clear_enum_() ; + const ::buf::validate::EnumRules& enum_() const; + [[nodiscard]] ::buf::validate::EnumRules* PROTOBUF_NULLABLE release_enum_(); + ::buf::validate::EnumRules* PROTOBUF_NONNULL mutable_enum_(); + void set_allocated_enum_(::buf::validate::EnumRules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_enum_(::buf::validate::EnumRules* PROTOBUF_NULLABLE value); + ::buf::validate::EnumRules* PROTOBUF_NULLABLE unsafe_arena_release_enum_(); + + private: + const ::buf::validate::EnumRules& _internal_enum_() const; + ::buf::validate::EnumRules* PROTOBUF_NONNULL _internal_mutable_enum_(); + + public: + // .buf.validate.RepeatedRules repeated = 18; + bool has_repeated() const; + private: + bool _internal_has_repeated() const; + + public: + void clear_repeated() ; + const ::buf::validate::RepeatedRules& repeated() const; + [[nodiscard]] ::buf::validate::RepeatedRules* PROTOBUF_NULLABLE release_repeated(); + ::buf::validate::RepeatedRules* PROTOBUF_NONNULL mutable_repeated(); + void set_allocated_repeated(::buf::validate::RepeatedRules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_repeated(::buf::validate::RepeatedRules* PROTOBUF_NULLABLE value); + ::buf::validate::RepeatedRules* PROTOBUF_NULLABLE unsafe_arena_release_repeated(); + + private: + const ::buf::validate::RepeatedRules& _internal_repeated() const; + ::buf::validate::RepeatedRules* PROTOBUF_NONNULL _internal_mutable_repeated(); + + public: + // .buf.validate.MapRules map = 19; + bool has_map() const; + private: + bool _internal_has_map() const; + + public: + void clear_map() ; + const ::buf::validate::MapRules& map() const; + [[nodiscard]] ::buf::validate::MapRules* PROTOBUF_NULLABLE release_map(); + ::buf::validate::MapRules* PROTOBUF_NONNULL mutable_map(); + void set_allocated_map(::buf::validate::MapRules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_map(::buf::validate::MapRules* PROTOBUF_NULLABLE value); + ::buf::validate::MapRules* PROTOBUF_NULLABLE unsafe_arena_release_map(); + + private: + const ::buf::validate::MapRules& _internal_map() const; + ::buf::validate::MapRules* PROTOBUF_NONNULL _internal_mutable_map(); + + public: + // .buf.validate.AnyRules any = 20; + bool has_any() const; + private: + bool _internal_has_any() const; + + public: + void clear_any() ; + const ::buf::validate::AnyRules& any() const; + [[nodiscard]] ::buf::validate::AnyRules* PROTOBUF_NULLABLE release_any(); + ::buf::validate::AnyRules* PROTOBUF_NONNULL mutable_any(); + void set_allocated_any(::buf::validate::AnyRules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_any(::buf::validate::AnyRules* PROTOBUF_NULLABLE value); + ::buf::validate::AnyRules* PROTOBUF_NULLABLE unsafe_arena_release_any(); + + private: + const ::buf::validate::AnyRules& _internal_any() const; + ::buf::validate::AnyRules* PROTOBUF_NONNULL _internal_mutable_any(); + + public: + // .buf.validate.DurationRules duration = 21; + bool has_duration() const; + private: + bool _internal_has_duration() const; + + public: + void clear_duration() ; + const ::buf::validate::DurationRules& duration() const; + [[nodiscard]] ::buf::validate::DurationRules* PROTOBUF_NULLABLE release_duration(); + ::buf::validate::DurationRules* PROTOBUF_NONNULL mutable_duration(); + void set_allocated_duration(::buf::validate::DurationRules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_duration(::buf::validate::DurationRules* PROTOBUF_NULLABLE value); + ::buf::validate::DurationRules* PROTOBUF_NULLABLE unsafe_arena_release_duration(); + + private: + const ::buf::validate::DurationRules& _internal_duration() const; + ::buf::validate::DurationRules* PROTOBUF_NONNULL _internal_mutable_duration(); + + public: + // .buf.validate.FieldMaskRules field_mask = 28; + bool has_field_mask() const; + private: + bool _internal_has_field_mask() const; + + public: + void clear_field_mask() ; + const ::buf::validate::FieldMaskRules& field_mask() const; + [[nodiscard]] ::buf::validate::FieldMaskRules* PROTOBUF_NULLABLE release_field_mask(); + ::buf::validate::FieldMaskRules* PROTOBUF_NONNULL mutable_field_mask(); + void set_allocated_field_mask(::buf::validate::FieldMaskRules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_field_mask(::buf::validate::FieldMaskRules* PROTOBUF_NULLABLE value); + ::buf::validate::FieldMaskRules* PROTOBUF_NULLABLE unsafe_arena_release_field_mask(); + + private: + const ::buf::validate::FieldMaskRules& _internal_field_mask() const; + ::buf::validate::FieldMaskRules* PROTOBUF_NONNULL _internal_mutable_field_mask(); + + public: + // .buf.validate.TimestampRules timestamp = 22; + bool has_timestamp() const; + private: + bool _internal_has_timestamp() const; + + public: + void clear_timestamp() ; + const ::buf::validate::TimestampRules& timestamp() const; + [[nodiscard]] ::buf::validate::TimestampRules* PROTOBUF_NULLABLE release_timestamp(); + ::buf::validate::TimestampRules* PROTOBUF_NONNULL mutable_timestamp(); + void set_allocated_timestamp(::buf::validate::TimestampRules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_timestamp(::buf::validate::TimestampRules* PROTOBUF_NULLABLE value); + ::buf::validate::TimestampRules* PROTOBUF_NULLABLE unsafe_arena_release_timestamp(); + + private: + const ::buf::validate::TimestampRules& _internal_timestamp() const; + ::buf::validate::TimestampRules* PROTOBUF_NONNULL _internal_mutable_timestamp(); + + public: + void clear_type(); + TypeCase type_case() const; + // @@protoc_insertion_point(class_scope:buf.validate.FieldRules) + private: + class _Internal; + void set_has_float_(); + void set_has_double_(); + void set_has_int32(); + void set_has_int64(); + void set_has_uint32(); + void set_has_uint64(); + void set_has_sint32(); + void set_has_sint64(); + void set_has_fixed32(); + void set_has_fixed64(); + void set_has_sfixed32(); + void set_has_sfixed64(); + void set_has_bool_(); + void set_has_string(); + void set_has_bytes(); + void set_has_enum_(); + void set_has_repeated(); + void set_has_map(); + void set_has_any(); + void set_has_duration(); + void set_has_field_mask(); + void set_has_timestamp(); + inline bool has_type() const; + inline void clear_has_type(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<3, 26, + 24, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const FieldRules& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::buf::validate::Rule > cel_; + ::google::protobuf::RepeatedPtrField<::std::string> cel_expression_; + bool required_; + int ignore_; + union TypeUnion { + constexpr TypeUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::protobuf::Message* PROTOBUF_NULLABLE float__; + ::google::protobuf::Message* PROTOBUF_NULLABLE double__; + ::google::protobuf::Message* PROTOBUF_NULLABLE int32_; + ::google::protobuf::Message* PROTOBUF_NULLABLE int64_; + ::google::protobuf::Message* PROTOBUF_NULLABLE uint32_; + ::google::protobuf::Message* PROTOBUF_NULLABLE uint64_; + ::google::protobuf::Message* PROTOBUF_NULLABLE sint32_; + ::google::protobuf::Message* PROTOBUF_NULLABLE sint64_; + ::google::protobuf::Message* PROTOBUF_NULLABLE fixed32_; + ::google::protobuf::Message* PROTOBUF_NULLABLE fixed64_; + ::google::protobuf::Message* PROTOBUF_NULLABLE sfixed32_; + ::google::protobuf::Message* PROTOBUF_NULLABLE sfixed64_; + ::google::protobuf::Message* PROTOBUF_NULLABLE bool__; + ::google::protobuf::Message* PROTOBUF_NULLABLE string_; + ::google::protobuf::Message* PROTOBUF_NULLABLE bytes_; + ::google::protobuf::Message* PROTOBUF_NULLABLE enum__; + ::google::protobuf::Message* PROTOBUF_NULLABLE repeated_; + ::google::protobuf::Message* PROTOBUF_NULLABLE map_; + ::google::protobuf::Message* PROTOBUF_NULLABLE any_; + ::google::protobuf::Message* PROTOBUF_NULLABLE duration_; + ::google::protobuf::Message* PROTOBUF_NULLABLE field_mask_; + ::google::protobuf::Message* PROTOBUF_NULLABLE timestamp_; + } type_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull FieldRules_class_data_; +// ------------------------------------------------------------------- + +class MapRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.MapRules) */ { + public: + inline MapRules() : MapRules(nullptr) {} + ~MapRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(MapRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(MapRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR MapRules(::google::protobuf::internal::ConstantInitialized); + + inline MapRules(const MapRules& from) : MapRules(nullptr, from) {} + inline MapRules(MapRules&& from) noexcept + : MapRules(nullptr, ::std::move(from)) {} + inline MapRules& operator=(const MapRules& from) { + CopyFrom(from); + return *this; + } + inline MapRules& operator=(MapRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MapRules& default_instance() { + return *reinterpret_cast( + &_MapRules_default_instance_); + } + static constexpr int kIndexInFileMessages = 23; + friend void swap(MapRules& a, MapRules& b) { a.Swap(&b); } + inline void Swap(MapRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MapRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + MapRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MapRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const MapRules& from) { MapRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(MapRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.MapRules"; } + + explicit MapRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + MapRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MapRules& from); + MapRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MapRules&& from) noexcept + : MapRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kKeysFieldNumber = 4, + kValuesFieldNumber = 5, + kMinPairsFieldNumber = 1, + kMaxPairsFieldNumber = 2, + }; + // optional .buf.validate.FieldRules keys = 4; + bool has_keys() const; + void clear_keys() ; + const ::buf::validate::FieldRules& keys() const; + [[nodiscard]] ::buf::validate::FieldRules* PROTOBUF_NULLABLE release_keys(); + ::buf::validate::FieldRules* PROTOBUF_NONNULL mutable_keys(); + void set_allocated_keys(::buf::validate::FieldRules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_keys(::buf::validate::FieldRules* PROTOBUF_NULLABLE value); + ::buf::validate::FieldRules* PROTOBUF_NULLABLE unsafe_arena_release_keys(); + + private: + const ::buf::validate::FieldRules& _internal_keys() const; + ::buf::validate::FieldRules* PROTOBUF_NONNULL _internal_mutable_keys(); + + public: + // optional .buf.validate.FieldRules values = 5; + bool has_values() const; + void clear_values() ; + const ::buf::validate::FieldRules& values() const; + [[nodiscard]] ::buf::validate::FieldRules* PROTOBUF_NULLABLE release_values(); + ::buf::validate::FieldRules* PROTOBUF_NONNULL mutable_values(); + void set_allocated_values(::buf::validate::FieldRules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_values(::buf::validate::FieldRules* PROTOBUF_NULLABLE value); + ::buf::validate::FieldRules* PROTOBUF_NULLABLE unsafe_arena_release_values(); + + private: + const ::buf::validate::FieldRules& _internal_values() const; + ::buf::validate::FieldRules* PROTOBUF_NONNULL _internal_mutable_values(); + + public: + // optional uint64 min_pairs = 1 [(.buf.validate.predefined) = { + bool has_min_pairs() const; + void clear_min_pairs() ; + ::uint64_t min_pairs() const; + void set_min_pairs(::uint64_t value); + + private: + ::uint64_t _internal_min_pairs() const; + void _internal_set_min_pairs(::uint64_t value); + + public: + // optional uint64 max_pairs = 2 [(.buf.validate.predefined) = { + bool has_max_pairs() const; + void clear_max_pairs() ; + ::uint64_t max_pairs() const; + void set_max_pairs(::uint64_t value); + + private: + ::uint64_t _internal_max_pairs() const; + void _internal_set_max_pairs(::uint64_t value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + MapRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + MapRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + MapRules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + // @@protoc_insertion_point(class_scope:buf.validate.MapRules) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<3, 4, + 2, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const MapRules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::buf::validate::FieldRules* PROTOBUF_NULLABLE keys_; + ::buf::validate::FieldRules* PROTOBUF_NULLABLE values_; + ::uint64_t min_pairs_; + ::uint64_t max_pairs_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull MapRules_class_data_; +// ------------------------------------------------------------------- + +class RepeatedRules final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.RepeatedRules) */ { + public: + inline RepeatedRules() : RepeatedRules(nullptr) {} + ~RepeatedRules() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(RepeatedRules* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(RepeatedRules)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR RepeatedRules(::google::protobuf::internal::ConstantInitialized); + + inline RepeatedRules(const RepeatedRules& from) : RepeatedRules(nullptr, from) {} + inline RepeatedRules(RepeatedRules&& from) noexcept + : RepeatedRules(nullptr, ::std::move(from)) {} + inline RepeatedRules& operator=(const RepeatedRules& from) { + CopyFrom(from); + return *this; + } + inline RepeatedRules& operator=(RepeatedRules&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const RepeatedRules& default_instance() { + return *reinterpret_cast( + &_RepeatedRules_default_instance_); + } + static constexpr int kIndexInFileMessages = 22; + friend void swap(RepeatedRules& a, RepeatedRules& b) { a.Swap(&b); } + inline void Swap(RepeatedRules* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(RepeatedRules* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + RepeatedRules* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RepeatedRules& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const RepeatedRules& from) { RepeatedRules::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return IsInitializedImpl(*this); + } + + private: + static bool IsInitializedImpl(const MessageLite& msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(RepeatedRules* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.RepeatedRules"; } + + explicit RepeatedRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + RepeatedRules(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RepeatedRules& from); + RepeatedRules( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RepeatedRules&& from) noexcept + : RepeatedRules(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kItemsFieldNumber = 4, + kMinItemsFieldNumber = 1, + kMaxItemsFieldNumber = 2, + kUniqueFieldNumber = 3, + }; + // optional .buf.validate.FieldRules items = 4; + bool has_items() const; + void clear_items() ; + const ::buf::validate::FieldRules& items() const; + [[nodiscard]] ::buf::validate::FieldRules* PROTOBUF_NULLABLE release_items(); + ::buf::validate::FieldRules* PROTOBUF_NONNULL mutable_items(); + void set_allocated_items(::buf::validate::FieldRules* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_items(::buf::validate::FieldRules* PROTOBUF_NULLABLE value); + ::buf::validate::FieldRules* PROTOBUF_NULLABLE unsafe_arena_release_items(); + + private: + const ::buf::validate::FieldRules& _internal_items() const; + ::buf::validate::FieldRules* PROTOBUF_NONNULL _internal_mutable_items(); + + public: + // optional uint64 min_items = 1 [(.buf.validate.predefined) = { + bool has_min_items() const; + void clear_min_items() ; + ::uint64_t min_items() const; + void set_min_items(::uint64_t value); + + private: + ::uint64_t _internal_min_items() const; + void _internal_set_min_items(::uint64_t value); + + public: + // optional uint64 max_items = 2 [(.buf.validate.predefined) = { + bool has_max_items() const; + void clear_max_items() ; + ::uint64_t max_items() const; + void set_max_items(::uint64_t value); + + private: + ::uint64_t _internal_max_items() const; + void _internal_set_max_items(::uint64_t value); + + public: + // optional bool unique = 3 [(.buf.validate.predefined) = { + bool has_unique() const; + void clear_unique() ; + bool unique() const; + void set_unique(bool value); + + private: + bool _internal_unique() const; + void _internal_set_unique(bool value); + + public: + template + PROTOBUF_FUTURE_ADD_NODISCARD inline bool HasExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.Has(id.number()); + } + + template + inline void ClearExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + _impl_._extensions_.ClearExtension(id.number()); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline int ExtensionSize( + const ::google::protobuf::internal::ExtensionIdentifier& id) const { + return _impl_._extensions_.ExtensionSize(id.number()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + RepeatedRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Singular::ConstType + GetExtension(const ::google::protobuf::internal::ExtensionIdentifier< + RepeatedRules, _proto_TypeTraits, _field_type, _is_packed>& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value()); + } + + template + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::ConstType value) { + _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_); + } + + template + inline void SetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::SetAllocated(id.number(), _field_type, value, + &_impl_._extensions_); + } + template + inline void UnsafeArenaSetAllocatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Singular::MutableType value) { + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, + value, &_impl_._extensions_); + } + template + [[nodiscard]] inline typename _proto_TypeTraits::Singular::MutableType + ReleaseExtension(const ::google::protobuf::internal::ExtensionIdentifier< + RepeatedRules, _proto_TypeTraits, _field_type, _is_packed>& id) { + return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_); + } + template + inline typename _proto_TypeTraits::Singular::MutableType + UnsafeArenaReleaseExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) { + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, + &_impl_._extensions_); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template = 0> + PROTOBUF_FUTURE_ADD_NODISCARD inline + typename _proto_TypeTraits::Repeated::ConstType + GetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_); + } + + template + inline void SetExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + int index, typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + typename _proto_TypeTraits::Repeated::MutableType to_add = + _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_); + return to_add; + } + + template + inline void AddExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id, + typename _proto_TypeTraits::Repeated::ConstType value) { + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value, + &_impl_._extensions_); + } + + template + PROTOBUF_FUTURE_ADD_NODISCARD inline const typename _proto_TypeTraits:: + Repeated::RepeatedFieldType& + GetRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_); + } + + template + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* PROTOBUF_NONNULL + MutableRepeatedExtension( + const ::google::protobuf::internal::ExtensionIdentifier& id) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, + _is_packed, &_impl_._extensions_); + } + // @@protoc_insertion_point(class_scope:buf.validate.RepeatedRules) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 4, + 1, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const RepeatedRules& from_msg); + ::google::protobuf::internal::ExtensionSet _extensions_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::buf::validate::FieldRules* PROTOBUF_NULLABLE items_; + ::uint64_t min_items_; + ::uint64_t max_items_; + bool unique_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull RepeatedRules_class_data_; +// ------------------------------------------------------------------- + +class Violations final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:buf.validate.Violations) */ { + public: + inline Violations() : Violations(nullptr) {} + ~Violations() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Violations* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Violations)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Violations(::google::protobuf::internal::ConstantInitialized); + + inline Violations(const Violations& from) : Violations(nullptr, from) {} + inline Violations(Violations&& from) noexcept + : Violations(nullptr, ::std::move(from)) {} + inline Violations& operator=(const Violations& from) { + CopyFrom(from); + return *this; + } + inline Violations& operator=(Violations&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Violations& default_instance() { + return *reinterpret_cast( + &_Violations_default_instance_); + } + static constexpr int kIndexInFileMessages = 28; + friend void swap(Violations& a, Violations& b) { a.Swap(&b); } + inline void Swap(Violations* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Violations* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Violations* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Violations& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Violations& from) { Violations::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Violations* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "buf.validate.Violations"; } + + explicit Violations(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Violations(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Violations& from); + Violations( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Violations&& from) noexcept + : Violations(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kViolationsFieldNumber = 1, + }; + // repeated .buf.validate.Violation violations = 1; + int violations_size() const; + private: + int _internal_violations_size() const; + + public: + void clear_violations() ; + ::buf::validate::Violation* PROTOBUF_NONNULL mutable_violations(int index); + ::google::protobuf::RepeatedPtrField<::buf::validate::Violation>* PROTOBUF_NONNULL mutable_violations(); + + private: + const ::google::protobuf::RepeatedPtrField<::buf::validate::Violation>& _internal_violations() const; + ::google::protobuf::RepeatedPtrField<::buf::validate::Violation>* PROTOBUF_NONNULL _internal_mutable_violations(); + public: + const ::buf::validate::Violation& violations(int index) const; + ::buf::validate::Violation* PROTOBUF_NONNULL add_violations(); + const ::google::protobuf::RepeatedPtrField<::buf::validate::Violation>& violations() const; + // @@protoc_insertion_point(class_scope:buf.validate.Violations) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<0, 1, + 1, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Violations& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::buf::validate::Violation > violations_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_buf_2fvalidate_2fvalidate_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Violations_class_data_; + +// =================================================================== + + + +inline constexpr int kMessageFieldNumber = 1159; +extern ::google::protobuf::internal::ExtensionIdentifier< + ::google::protobuf::MessageOptions, ::google::protobuf::internal::MessageTypeTraits< ::buf::validate::MessageRules >, 11, false> + message; +inline constexpr int kOneofFieldNumber = 1159; +extern ::google::protobuf::internal::ExtensionIdentifier< + ::google::protobuf::OneofOptions, ::google::protobuf::internal::MessageTypeTraits< ::buf::validate::OneofRules >, 11, false> + oneof; +inline constexpr int kFieldFieldNumber = 1159; +extern ::google::protobuf::internal::ExtensionIdentifier< + ::google::protobuf::FieldOptions, ::google::protobuf::internal::MessageTypeTraits< ::buf::validate::FieldRules >, 11, false> + field; +inline constexpr int kPredefinedFieldNumber = 1160; +extern ::google::protobuf::internal::ExtensionIdentifier< + ::google::protobuf::FieldOptions, ::google::protobuf::internal::MessageTypeTraits< ::buf::validate::PredefinedRules >, 11, false> + predefined; + +// =================================================================== + + +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// Rule + +// optional string id = 1; +inline bool Rule::has_id() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U); + return value; +} +inline void Rule::clear_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.id_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::std::string& Rule::id() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.Rule.id) + return _internal_id(); +} +template +PROTOBUF_ALWAYS_INLINE void Rule::set_id(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + _impl_.id_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.Rule.id) +} +inline ::std::string* PROTOBUF_NONNULL Rule::mutable_id() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::std::string* _s = _internal_mutable_id(); + // @@protoc_insertion_point(field_mutable:buf.validate.Rule.id) + return _s; +} +inline const ::std::string& Rule::_internal_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.id_.Get(); +} +inline void Rule::_internal_set_id(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.id_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Rule::_internal_mutable_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.id_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Rule::release_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.Rule.id) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + auto* released = _impl_.id_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.id_.Set("", GetArena()); + } + return released; +} +inline void Rule::set_allocated_id(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + _impl_.id_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.id_.IsDefault()) { + _impl_.id_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.Rule.id) +} + +// optional string message = 2; +inline bool Rule::has_message() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U); + return value; +} +inline void Rule::clear_message() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.message_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::std::string& Rule::message() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.Rule.message) + return _internal_message(); +} +template +PROTOBUF_ALWAYS_INLINE void Rule::set_message(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + _impl_.message_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.Rule.message) +} +inline ::std::string* PROTOBUF_NONNULL Rule::mutable_message() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::std::string* _s = _internal_mutable_message(); + // @@protoc_insertion_point(field_mutable:buf.validate.Rule.message) + return _s; +} +inline const ::std::string& Rule::_internal_message() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.message_.Get(); +} +inline void Rule::_internal_set_message(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.message_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Rule::_internal_mutable_message() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.message_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Rule::release_message() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.Rule.message) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + auto* released = _impl_.message_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.message_.Set("", GetArena()); + } + return released; +} +inline void Rule::set_allocated_message(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + _impl_.message_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.message_.IsDefault()) { + _impl_.message_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.Rule.message) +} + +// optional string expression = 3; +inline bool Rule::has_expression() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U); + return value; +} +inline void Rule::clear_expression() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.expression_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline const ::std::string& Rule::expression() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.Rule.expression) + return _internal_expression(); +} +template +PROTOBUF_ALWAYS_INLINE void Rule::set_expression(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + _impl_.expression_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.Rule.expression) +} +inline ::std::string* PROTOBUF_NONNULL Rule::mutable_expression() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + ::std::string* _s = _internal_mutable_expression(); + // @@protoc_insertion_point(field_mutable:buf.validate.Rule.expression) + return _s; +} +inline const ::std::string& Rule::_internal_expression() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.expression_.Get(); +} +inline void Rule::_internal_set_expression(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.expression_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Rule::_internal_mutable_expression() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.expression_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Rule::release_expression() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.Rule.expression) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + auto* released = _impl_.expression_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.expression_.Set("", GetArena()); + } + return released; +} +inline void Rule::set_allocated_expression(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + _impl_.expression_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.expression_.IsDefault()) { + _impl_.expression_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.Rule.expression) +} + +// ------------------------------------------------------------------- + +// MessageRules + +// repeated string cel_expression = 5; +inline int MessageRules::_internal_cel_expression_size() const { + return _internal_cel_expression().size(); +} +inline int MessageRules::cel_expression_size() const { + return _internal_cel_expression_size(); +} +inline void MessageRules::clear_cel_expression() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.cel_expression_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::std::string* PROTOBUF_NONNULL MessageRules::add_cel_expression() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::std::string* _s = + _internal_mutable_cel_expression()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add_mutable:buf.validate.MessageRules.cel_expression) + return _s; +} +inline const ::std::string& MessageRules::cel_expression(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.MessageRules.cel_expression) + return _internal_cel_expression().Get(index); +} +inline ::std::string* PROTOBUF_NONNULL MessageRules::mutable_cel_expression(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.MessageRules.cel_expression) + return _internal_mutable_cel_expression()->Mutable(index); +} +template +inline void MessageRules::set_cel_expression(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString(*_internal_mutable_cel_expression()->Mutable(index), ::std::forward(value), + args... ); + // @@protoc_insertion_point(field_set:buf.validate.MessageRules.cel_expression) +} +template +inline void MessageRules::add_cel_expression(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField( + ::google::protobuf::MessageLite::internal_visibility(), GetArena(), + *_internal_mutable_cel_expression(), ::std::forward(value), + args... ); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.MessageRules.cel_expression) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& MessageRules::cel_expression() + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.MessageRules.cel_expression) + return _internal_cel_expression(); +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +MessageRules::mutable_cel_expression() ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.MessageRules.cel_expression) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_cel_expression(); +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +MessageRules::_internal_cel_expression() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.cel_expression_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +MessageRules::_internal_mutable_cel_expression() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.cel_expression_; +} + +// repeated .buf.validate.Rule cel = 3; +inline int MessageRules::_internal_cel_size() const { + return _internal_cel().size(); +} +inline int MessageRules::cel_size() const { + return _internal_cel_size(); +} +inline void MessageRules::clear_cel() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.cel_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::buf::validate::Rule* PROTOBUF_NONNULL MessageRules::mutable_cel(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.MessageRules.cel) + return _internal_mutable_cel()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>* PROTOBUF_NONNULL MessageRules::mutable_cel() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.MessageRules.cel) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_cel(); +} +inline const ::buf::validate::Rule& MessageRules::cel(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.MessageRules.cel) + return _internal_cel().Get(index); +} +inline ::buf::validate::Rule* PROTOBUF_NONNULL MessageRules::add_cel() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::buf::validate::Rule* _add = + _internal_mutable_cel()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.MessageRules.cel) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>& MessageRules::cel() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.MessageRules.cel) + return _internal_cel(); +} +inline const ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>& +MessageRules::_internal_cel() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.cel_; +} +inline ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>* PROTOBUF_NONNULL +MessageRules::_internal_mutable_cel() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.cel_; +} + +// repeated .buf.validate.MessageOneofRule oneof = 4; +inline int MessageRules::_internal_oneof_size() const { + return _internal_oneof().size(); +} +inline int MessageRules::oneof_size() const { + return _internal_oneof_size(); +} +inline void MessageRules::clear_oneof() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.oneof_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::buf::validate::MessageOneofRule* PROTOBUF_NONNULL MessageRules::mutable_oneof(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.MessageRules.oneof) + return _internal_mutable_oneof()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::buf::validate::MessageOneofRule>* PROTOBUF_NONNULL MessageRules::mutable_oneof() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.MessageRules.oneof) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_oneof(); +} +inline const ::buf::validate::MessageOneofRule& MessageRules::oneof(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.MessageRules.oneof) + return _internal_oneof().Get(index); +} +inline ::buf::validate::MessageOneofRule* PROTOBUF_NONNULL MessageRules::add_oneof() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::buf::validate::MessageOneofRule* _add = + _internal_mutable_oneof()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.MessageRules.oneof) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::buf::validate::MessageOneofRule>& MessageRules::oneof() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.MessageRules.oneof) + return _internal_oneof(); +} +inline const ::google::protobuf::RepeatedPtrField<::buf::validate::MessageOneofRule>& +MessageRules::_internal_oneof() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.oneof_; +} +inline ::google::protobuf::RepeatedPtrField<::buf::validate::MessageOneofRule>* PROTOBUF_NONNULL +MessageRules::_internal_mutable_oneof() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.oneof_; +} + +// ------------------------------------------------------------------- + +// MessageOneofRule + +// repeated string fields = 1; +inline int MessageOneofRule::_internal_fields_size() const { + return _internal_fields().size(); +} +inline int MessageOneofRule::fields_size() const { + return _internal_fields_size(); +} +inline void MessageOneofRule::clear_fields() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.fields_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::std::string* PROTOBUF_NONNULL MessageOneofRule::add_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::std::string* _s = + _internal_mutable_fields()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add_mutable:buf.validate.MessageOneofRule.fields) + return _s; +} +inline const ::std::string& MessageOneofRule::fields(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.MessageOneofRule.fields) + return _internal_fields().Get(index); +} +inline ::std::string* PROTOBUF_NONNULL MessageOneofRule::mutable_fields(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.MessageOneofRule.fields) + return _internal_mutable_fields()->Mutable(index); +} +template +inline void MessageOneofRule::set_fields(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString(*_internal_mutable_fields()->Mutable(index), ::std::forward(value), + args... ); + // @@protoc_insertion_point(field_set:buf.validate.MessageOneofRule.fields) +} +template +inline void MessageOneofRule::add_fields(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField( + ::google::protobuf::MessageLite::internal_visibility(), GetArena(), + *_internal_mutable_fields(), ::std::forward(value), + args... ); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.MessageOneofRule.fields) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& MessageOneofRule::fields() + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.MessageOneofRule.fields) + return _internal_fields(); +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +MessageOneofRule::mutable_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.MessageOneofRule.fields) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_fields(); +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +MessageOneofRule::_internal_fields() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.fields_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +MessageOneofRule::_internal_mutable_fields() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.fields_; +} + +// optional bool required = 2; +inline bool MessageOneofRule::has_required() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U); + return value; +} +inline void MessageOneofRule::clear_required() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.required_ = false; + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline bool MessageOneofRule::required() const { + // @@protoc_insertion_point(field_get:buf.validate.MessageOneofRule.required) + return _internal_required(); +} +inline void MessageOneofRule::set_required(bool value) { + _internal_set_required(value); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_set:buf.validate.MessageOneofRule.required) +} +inline bool MessageOneofRule::_internal_required() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.required_; +} +inline void MessageOneofRule::_internal_set_required(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.required_ = value; +} + +// ------------------------------------------------------------------- + +// OneofRules + +// optional bool required = 1; +inline bool OneofRules::has_required() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U); + return value; +} +inline void OneofRules::clear_required() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.required_ = false; + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline bool OneofRules::required() const { + // @@protoc_insertion_point(field_get:buf.validate.OneofRules.required) + return _internal_required(); +} +inline void OneofRules::set_required(bool value) { + _internal_set_required(value); + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_set:buf.validate.OneofRules.required) +} +inline bool OneofRules::_internal_required() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.required_; +} +inline void OneofRules::_internal_set_required(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.required_ = value; +} + +// ------------------------------------------------------------------- + +// FieldRules + +// repeated string cel_expression = 29; +inline int FieldRules::_internal_cel_expression_size() const { + return _internal_cel_expression().size(); +} +inline int FieldRules::cel_expression_size() const { + return _internal_cel_expression_size(); +} +inline void FieldRules::clear_cel_expression() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.cel_expression_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::std::string* PROTOBUF_NONNULL FieldRules::add_cel_expression() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::std::string* _s = + _internal_mutable_cel_expression()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add_mutable:buf.validate.FieldRules.cel_expression) + return _s; +} +inline const ::std::string& FieldRules::cel_expression(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.cel_expression) + return _internal_cel_expression().Get(index); +} +inline ::std::string* PROTOBUF_NONNULL FieldRules::mutable_cel_expression(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.cel_expression) + return _internal_mutable_cel_expression()->Mutable(index); +} +template +inline void FieldRules::set_cel_expression(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString(*_internal_mutable_cel_expression()->Mutable(index), ::std::forward(value), + args... ); + // @@protoc_insertion_point(field_set:buf.validate.FieldRules.cel_expression) +} +template +inline void FieldRules::add_cel_expression(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField( + ::google::protobuf::MessageLite::internal_visibility(), GetArena(), + *_internal_mutable_cel_expression(), ::std::forward(value), + args... ); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.FieldRules.cel_expression) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& FieldRules::cel_expression() + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.FieldRules.cel_expression) + return _internal_cel_expression(); +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +FieldRules::mutable_cel_expression() ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.FieldRules.cel_expression) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_cel_expression(); +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +FieldRules::_internal_cel_expression() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.cel_expression_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +FieldRules::_internal_mutable_cel_expression() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.cel_expression_; +} + +// repeated .buf.validate.Rule cel = 23; +inline int FieldRules::_internal_cel_size() const { + return _internal_cel().size(); +} +inline int FieldRules::cel_size() const { + return _internal_cel_size(); +} +inline void FieldRules::clear_cel() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.cel_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::buf::validate::Rule* PROTOBUF_NONNULL FieldRules::mutable_cel(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.cel) + return _internal_mutable_cel()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>* PROTOBUF_NONNULL FieldRules::mutable_cel() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.FieldRules.cel) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_cel(); +} +inline const ::buf::validate::Rule& FieldRules::cel(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.cel) + return _internal_cel().Get(index); +} +inline ::buf::validate::Rule* PROTOBUF_NONNULL FieldRules::add_cel() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::buf::validate::Rule* _add = + _internal_mutable_cel()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.FieldRules.cel) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>& FieldRules::cel() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.FieldRules.cel) + return _internal_cel(); +} +inline const ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>& +FieldRules::_internal_cel() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.cel_; +} +inline ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>* PROTOBUF_NONNULL +FieldRules::_internal_mutable_cel() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.cel_; +} + +// optional bool required = 25; +inline bool FieldRules::has_required() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U); + return value; +} +inline void FieldRules::clear_required() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.required_ = false; + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline bool FieldRules::required() const { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.required) + return _internal_required(); +} +inline void FieldRules::set_required(bool value) { + _internal_set_required(value); + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_set:buf.validate.FieldRules.required) +} +inline bool FieldRules::_internal_required() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.required_; +} +inline void FieldRules::_internal_set_required(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.required_ = value; +} + +// optional .buf.validate.Ignore ignore = 27; +inline bool FieldRules::has_ignore() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void FieldRules::clear_ignore() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.ignore_ = 0; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline ::buf::validate::Ignore FieldRules::ignore() const { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.ignore) + return _internal_ignore(); +} +inline void FieldRules::set_ignore(::buf::validate::Ignore value) { + _internal_set_ignore(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.FieldRules.ignore) +} +inline ::buf::validate::Ignore FieldRules::_internal_ignore() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::buf::validate::Ignore>(_impl_.ignore_); +} +inline void FieldRules::_internal_set_ignore(::buf::validate::Ignore value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + + assert(::google::protobuf::internal::ValidateEnum( + value, ::buf::validate::Ignore_internal_data_)); + _impl_.ignore_ = value; +} + +// .buf.validate.FloatRules float = 1; +inline bool FieldRules::has_float_() const { + return type_case() == kFloat; +} +inline bool FieldRules::_internal_has_float_() const { + return type_case() == kFloat; +} +inline void FieldRules::set_has_float_() { + _impl_._oneof_case_[0] = kFloat; +} +inline void FieldRules::clear_float_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kFloat) { + if (GetArena() == nullptr) { + delete _impl_.type_.float__; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.float__); + } + clear_has_type(); + } +} +inline ::buf::validate::FloatRules* PROTOBUF_NULLABLE FieldRules::release_float_() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.float) + if (type_case() == kFloat) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::FloatRules*>(_impl_.type_.float__); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.float__ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::FloatRules& FieldRules::_internal_float_() const { + return type_case() == kFloat ? static_cast(*reinterpret_cast<::buf::validate::FloatRules*>(_impl_.type_.float__)) + : reinterpret_cast(::buf::validate::_FloatRules_default_instance_); +} +inline const ::buf::validate::FloatRules& FieldRules::float_() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.float) + return _internal_float_(); +} +inline ::buf::validate::FloatRules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_float_() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.float) + if (type_case() == kFloat) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::FloatRules*>(_impl_.type_.float__); + _impl_.type_.float__ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_float_( + ::buf::validate::FloatRules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_float_(); + _impl_.type_.float__ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.float) +} +inline ::buf::validate::FloatRules* PROTOBUF_NONNULL FieldRules::_internal_mutable_float_() { + if (type_case() != kFloat) { + clear_type(); + set_has_float_(); + _impl_.type_.float__ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::FloatRules>(GetArena())); + } + return reinterpret_cast<::buf::validate::FloatRules*>(_impl_.type_.float__); +} +inline ::buf::validate::FloatRules* PROTOBUF_NONNULL FieldRules::mutable_float_() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::FloatRules* _msg = _internal_mutable_float_(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.float) + return _msg; +} + +// .buf.validate.DoubleRules double = 2; +inline bool FieldRules::has_double_() const { + return type_case() == kDouble; +} +inline bool FieldRules::_internal_has_double_() const { + return type_case() == kDouble; +} +inline void FieldRules::set_has_double_() { + _impl_._oneof_case_[0] = kDouble; +} +inline void FieldRules::clear_double_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kDouble) { + if (GetArena() == nullptr) { + delete _impl_.type_.double__; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.double__); + } + clear_has_type(); + } +} +inline ::buf::validate::DoubleRules* PROTOBUF_NULLABLE FieldRules::release_double_() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.double) + if (type_case() == kDouble) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::DoubleRules*>(_impl_.type_.double__); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.double__ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::DoubleRules& FieldRules::_internal_double_() const { + return type_case() == kDouble ? static_cast(*reinterpret_cast<::buf::validate::DoubleRules*>(_impl_.type_.double__)) + : reinterpret_cast(::buf::validate::_DoubleRules_default_instance_); +} +inline const ::buf::validate::DoubleRules& FieldRules::double_() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.double) + return _internal_double_(); +} +inline ::buf::validate::DoubleRules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_double_() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.double) + if (type_case() == kDouble) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::DoubleRules*>(_impl_.type_.double__); + _impl_.type_.double__ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_double_( + ::buf::validate::DoubleRules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_double_(); + _impl_.type_.double__ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.double) +} +inline ::buf::validate::DoubleRules* PROTOBUF_NONNULL FieldRules::_internal_mutable_double_() { + if (type_case() != kDouble) { + clear_type(); + set_has_double_(); + _impl_.type_.double__ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::DoubleRules>(GetArena())); + } + return reinterpret_cast<::buf::validate::DoubleRules*>(_impl_.type_.double__); +} +inline ::buf::validate::DoubleRules* PROTOBUF_NONNULL FieldRules::mutable_double_() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::DoubleRules* _msg = _internal_mutable_double_(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.double) + return _msg; +} + +// .buf.validate.Int32Rules int32 = 3; +inline bool FieldRules::has_int32() const { + return type_case() == kInt32; +} +inline bool FieldRules::_internal_has_int32() const { + return type_case() == kInt32; +} +inline void FieldRules::set_has_int32() { + _impl_._oneof_case_[0] = kInt32; +} +inline void FieldRules::clear_int32() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kInt32) { + if (GetArena() == nullptr) { + delete _impl_.type_.int32_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.int32_); + } + clear_has_type(); + } +} +inline ::buf::validate::Int32Rules* PROTOBUF_NULLABLE FieldRules::release_int32() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.int32) + if (type_case() == kInt32) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::Int32Rules*>(_impl_.type_.int32_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.int32_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::Int32Rules& FieldRules::_internal_int32() const { + return type_case() == kInt32 ? static_cast(*reinterpret_cast<::buf::validate::Int32Rules*>(_impl_.type_.int32_)) + : reinterpret_cast(::buf::validate::_Int32Rules_default_instance_); +} +inline const ::buf::validate::Int32Rules& FieldRules::int32() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.int32) + return _internal_int32(); +} +inline ::buf::validate::Int32Rules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_int32() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.int32) + if (type_case() == kInt32) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::Int32Rules*>(_impl_.type_.int32_); + _impl_.type_.int32_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_int32( + ::buf::validate::Int32Rules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_int32(); + _impl_.type_.int32_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.int32) +} +inline ::buf::validate::Int32Rules* PROTOBUF_NONNULL FieldRules::_internal_mutable_int32() { + if (type_case() != kInt32) { + clear_type(); + set_has_int32(); + _impl_.type_.int32_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::Int32Rules>(GetArena())); + } + return reinterpret_cast<::buf::validate::Int32Rules*>(_impl_.type_.int32_); +} +inline ::buf::validate::Int32Rules* PROTOBUF_NONNULL FieldRules::mutable_int32() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::Int32Rules* _msg = _internal_mutable_int32(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.int32) + return _msg; +} + +// .buf.validate.Int64Rules int64 = 4; +inline bool FieldRules::has_int64() const { + return type_case() == kInt64; +} +inline bool FieldRules::_internal_has_int64() const { + return type_case() == kInt64; +} +inline void FieldRules::set_has_int64() { + _impl_._oneof_case_[0] = kInt64; +} +inline void FieldRules::clear_int64() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kInt64) { + if (GetArena() == nullptr) { + delete _impl_.type_.int64_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.int64_); + } + clear_has_type(); + } +} +inline ::buf::validate::Int64Rules* PROTOBUF_NULLABLE FieldRules::release_int64() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.int64) + if (type_case() == kInt64) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::Int64Rules*>(_impl_.type_.int64_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.int64_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::Int64Rules& FieldRules::_internal_int64() const { + return type_case() == kInt64 ? static_cast(*reinterpret_cast<::buf::validate::Int64Rules*>(_impl_.type_.int64_)) + : reinterpret_cast(::buf::validate::_Int64Rules_default_instance_); +} +inline const ::buf::validate::Int64Rules& FieldRules::int64() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.int64) + return _internal_int64(); +} +inline ::buf::validate::Int64Rules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_int64() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.int64) + if (type_case() == kInt64) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::Int64Rules*>(_impl_.type_.int64_); + _impl_.type_.int64_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_int64( + ::buf::validate::Int64Rules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_int64(); + _impl_.type_.int64_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.int64) +} +inline ::buf::validate::Int64Rules* PROTOBUF_NONNULL FieldRules::_internal_mutable_int64() { + if (type_case() != kInt64) { + clear_type(); + set_has_int64(); + _impl_.type_.int64_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::Int64Rules>(GetArena())); + } + return reinterpret_cast<::buf::validate::Int64Rules*>(_impl_.type_.int64_); +} +inline ::buf::validate::Int64Rules* PROTOBUF_NONNULL FieldRules::mutable_int64() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::Int64Rules* _msg = _internal_mutable_int64(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.int64) + return _msg; +} + +// .buf.validate.UInt32Rules uint32 = 5; +inline bool FieldRules::has_uint32() const { + return type_case() == kUint32; +} +inline bool FieldRules::_internal_has_uint32() const { + return type_case() == kUint32; +} +inline void FieldRules::set_has_uint32() { + _impl_._oneof_case_[0] = kUint32; +} +inline void FieldRules::clear_uint32() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kUint32) { + if (GetArena() == nullptr) { + delete _impl_.type_.uint32_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.uint32_); + } + clear_has_type(); + } +} +inline ::buf::validate::UInt32Rules* PROTOBUF_NULLABLE FieldRules::release_uint32() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.uint32) + if (type_case() == kUint32) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::UInt32Rules*>(_impl_.type_.uint32_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.uint32_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::UInt32Rules& FieldRules::_internal_uint32() const { + return type_case() == kUint32 ? static_cast(*reinterpret_cast<::buf::validate::UInt32Rules*>(_impl_.type_.uint32_)) + : reinterpret_cast(::buf::validate::_UInt32Rules_default_instance_); +} +inline const ::buf::validate::UInt32Rules& FieldRules::uint32() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.uint32) + return _internal_uint32(); +} +inline ::buf::validate::UInt32Rules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_uint32() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.uint32) + if (type_case() == kUint32) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::UInt32Rules*>(_impl_.type_.uint32_); + _impl_.type_.uint32_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_uint32( + ::buf::validate::UInt32Rules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_uint32(); + _impl_.type_.uint32_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.uint32) +} +inline ::buf::validate::UInt32Rules* PROTOBUF_NONNULL FieldRules::_internal_mutable_uint32() { + if (type_case() != kUint32) { + clear_type(); + set_has_uint32(); + _impl_.type_.uint32_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::UInt32Rules>(GetArena())); + } + return reinterpret_cast<::buf::validate::UInt32Rules*>(_impl_.type_.uint32_); +} +inline ::buf::validate::UInt32Rules* PROTOBUF_NONNULL FieldRules::mutable_uint32() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::UInt32Rules* _msg = _internal_mutable_uint32(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.uint32) + return _msg; +} + +// .buf.validate.UInt64Rules uint64 = 6; +inline bool FieldRules::has_uint64() const { + return type_case() == kUint64; +} +inline bool FieldRules::_internal_has_uint64() const { + return type_case() == kUint64; +} +inline void FieldRules::set_has_uint64() { + _impl_._oneof_case_[0] = kUint64; +} +inline void FieldRules::clear_uint64() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kUint64) { + if (GetArena() == nullptr) { + delete _impl_.type_.uint64_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.uint64_); + } + clear_has_type(); + } +} +inline ::buf::validate::UInt64Rules* PROTOBUF_NULLABLE FieldRules::release_uint64() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.uint64) + if (type_case() == kUint64) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::UInt64Rules*>(_impl_.type_.uint64_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.uint64_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::UInt64Rules& FieldRules::_internal_uint64() const { + return type_case() == kUint64 ? static_cast(*reinterpret_cast<::buf::validate::UInt64Rules*>(_impl_.type_.uint64_)) + : reinterpret_cast(::buf::validate::_UInt64Rules_default_instance_); +} +inline const ::buf::validate::UInt64Rules& FieldRules::uint64() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.uint64) + return _internal_uint64(); +} +inline ::buf::validate::UInt64Rules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_uint64() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.uint64) + if (type_case() == kUint64) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::UInt64Rules*>(_impl_.type_.uint64_); + _impl_.type_.uint64_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_uint64( + ::buf::validate::UInt64Rules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_uint64(); + _impl_.type_.uint64_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.uint64) +} +inline ::buf::validate::UInt64Rules* PROTOBUF_NONNULL FieldRules::_internal_mutable_uint64() { + if (type_case() != kUint64) { + clear_type(); + set_has_uint64(); + _impl_.type_.uint64_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::UInt64Rules>(GetArena())); + } + return reinterpret_cast<::buf::validate::UInt64Rules*>(_impl_.type_.uint64_); +} +inline ::buf::validate::UInt64Rules* PROTOBUF_NONNULL FieldRules::mutable_uint64() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::UInt64Rules* _msg = _internal_mutable_uint64(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.uint64) + return _msg; +} + +// .buf.validate.SInt32Rules sint32 = 7; +inline bool FieldRules::has_sint32() const { + return type_case() == kSint32; +} +inline bool FieldRules::_internal_has_sint32() const { + return type_case() == kSint32; +} +inline void FieldRules::set_has_sint32() { + _impl_._oneof_case_[0] = kSint32; +} +inline void FieldRules::clear_sint32() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kSint32) { + if (GetArena() == nullptr) { + delete _impl_.type_.sint32_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.sint32_); + } + clear_has_type(); + } +} +inline ::buf::validate::SInt32Rules* PROTOBUF_NULLABLE FieldRules::release_sint32() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.sint32) + if (type_case() == kSint32) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::SInt32Rules*>(_impl_.type_.sint32_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.sint32_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::SInt32Rules& FieldRules::_internal_sint32() const { + return type_case() == kSint32 ? static_cast(*reinterpret_cast<::buf::validate::SInt32Rules*>(_impl_.type_.sint32_)) + : reinterpret_cast(::buf::validate::_SInt32Rules_default_instance_); +} +inline const ::buf::validate::SInt32Rules& FieldRules::sint32() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.sint32) + return _internal_sint32(); +} +inline ::buf::validate::SInt32Rules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_sint32() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.sint32) + if (type_case() == kSint32) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::SInt32Rules*>(_impl_.type_.sint32_); + _impl_.type_.sint32_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_sint32( + ::buf::validate::SInt32Rules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_sint32(); + _impl_.type_.sint32_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.sint32) +} +inline ::buf::validate::SInt32Rules* PROTOBUF_NONNULL FieldRules::_internal_mutable_sint32() { + if (type_case() != kSint32) { + clear_type(); + set_has_sint32(); + _impl_.type_.sint32_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::SInt32Rules>(GetArena())); + } + return reinterpret_cast<::buf::validate::SInt32Rules*>(_impl_.type_.sint32_); +} +inline ::buf::validate::SInt32Rules* PROTOBUF_NONNULL FieldRules::mutable_sint32() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::SInt32Rules* _msg = _internal_mutable_sint32(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.sint32) + return _msg; +} + +// .buf.validate.SInt64Rules sint64 = 8; +inline bool FieldRules::has_sint64() const { + return type_case() == kSint64; +} +inline bool FieldRules::_internal_has_sint64() const { + return type_case() == kSint64; +} +inline void FieldRules::set_has_sint64() { + _impl_._oneof_case_[0] = kSint64; +} +inline void FieldRules::clear_sint64() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kSint64) { + if (GetArena() == nullptr) { + delete _impl_.type_.sint64_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.sint64_); + } + clear_has_type(); + } +} +inline ::buf::validate::SInt64Rules* PROTOBUF_NULLABLE FieldRules::release_sint64() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.sint64) + if (type_case() == kSint64) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::SInt64Rules*>(_impl_.type_.sint64_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.sint64_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::SInt64Rules& FieldRules::_internal_sint64() const { + return type_case() == kSint64 ? static_cast(*reinterpret_cast<::buf::validate::SInt64Rules*>(_impl_.type_.sint64_)) + : reinterpret_cast(::buf::validate::_SInt64Rules_default_instance_); +} +inline const ::buf::validate::SInt64Rules& FieldRules::sint64() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.sint64) + return _internal_sint64(); +} +inline ::buf::validate::SInt64Rules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_sint64() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.sint64) + if (type_case() == kSint64) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::SInt64Rules*>(_impl_.type_.sint64_); + _impl_.type_.sint64_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_sint64( + ::buf::validate::SInt64Rules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_sint64(); + _impl_.type_.sint64_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.sint64) +} +inline ::buf::validate::SInt64Rules* PROTOBUF_NONNULL FieldRules::_internal_mutable_sint64() { + if (type_case() != kSint64) { + clear_type(); + set_has_sint64(); + _impl_.type_.sint64_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::SInt64Rules>(GetArena())); + } + return reinterpret_cast<::buf::validate::SInt64Rules*>(_impl_.type_.sint64_); +} +inline ::buf::validate::SInt64Rules* PROTOBUF_NONNULL FieldRules::mutable_sint64() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::SInt64Rules* _msg = _internal_mutable_sint64(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.sint64) + return _msg; +} + +// .buf.validate.Fixed32Rules fixed32 = 9; +inline bool FieldRules::has_fixed32() const { + return type_case() == kFixed32; +} +inline bool FieldRules::_internal_has_fixed32() const { + return type_case() == kFixed32; +} +inline void FieldRules::set_has_fixed32() { + _impl_._oneof_case_[0] = kFixed32; +} +inline void FieldRules::clear_fixed32() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kFixed32) { + if (GetArena() == nullptr) { + delete _impl_.type_.fixed32_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.fixed32_); + } + clear_has_type(); + } +} +inline ::buf::validate::Fixed32Rules* PROTOBUF_NULLABLE FieldRules::release_fixed32() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.fixed32) + if (type_case() == kFixed32) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::Fixed32Rules*>(_impl_.type_.fixed32_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.fixed32_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::Fixed32Rules& FieldRules::_internal_fixed32() const { + return type_case() == kFixed32 ? static_cast(*reinterpret_cast<::buf::validate::Fixed32Rules*>(_impl_.type_.fixed32_)) + : reinterpret_cast(::buf::validate::_Fixed32Rules_default_instance_); +} +inline const ::buf::validate::Fixed32Rules& FieldRules::fixed32() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.fixed32) + return _internal_fixed32(); +} +inline ::buf::validate::Fixed32Rules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_fixed32() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.fixed32) + if (type_case() == kFixed32) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::Fixed32Rules*>(_impl_.type_.fixed32_); + _impl_.type_.fixed32_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_fixed32( + ::buf::validate::Fixed32Rules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_fixed32(); + _impl_.type_.fixed32_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.fixed32) +} +inline ::buf::validate::Fixed32Rules* PROTOBUF_NONNULL FieldRules::_internal_mutable_fixed32() { + if (type_case() != kFixed32) { + clear_type(); + set_has_fixed32(); + _impl_.type_.fixed32_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::Fixed32Rules>(GetArena())); + } + return reinterpret_cast<::buf::validate::Fixed32Rules*>(_impl_.type_.fixed32_); +} +inline ::buf::validate::Fixed32Rules* PROTOBUF_NONNULL FieldRules::mutable_fixed32() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::Fixed32Rules* _msg = _internal_mutable_fixed32(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.fixed32) + return _msg; +} + +// .buf.validate.Fixed64Rules fixed64 = 10; +inline bool FieldRules::has_fixed64() const { + return type_case() == kFixed64; +} +inline bool FieldRules::_internal_has_fixed64() const { + return type_case() == kFixed64; +} +inline void FieldRules::set_has_fixed64() { + _impl_._oneof_case_[0] = kFixed64; +} +inline void FieldRules::clear_fixed64() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kFixed64) { + if (GetArena() == nullptr) { + delete _impl_.type_.fixed64_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.fixed64_); + } + clear_has_type(); + } +} +inline ::buf::validate::Fixed64Rules* PROTOBUF_NULLABLE FieldRules::release_fixed64() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.fixed64) + if (type_case() == kFixed64) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::Fixed64Rules*>(_impl_.type_.fixed64_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.fixed64_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::Fixed64Rules& FieldRules::_internal_fixed64() const { + return type_case() == kFixed64 ? static_cast(*reinterpret_cast<::buf::validate::Fixed64Rules*>(_impl_.type_.fixed64_)) + : reinterpret_cast(::buf::validate::_Fixed64Rules_default_instance_); +} +inline const ::buf::validate::Fixed64Rules& FieldRules::fixed64() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.fixed64) + return _internal_fixed64(); +} +inline ::buf::validate::Fixed64Rules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_fixed64() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.fixed64) + if (type_case() == kFixed64) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::Fixed64Rules*>(_impl_.type_.fixed64_); + _impl_.type_.fixed64_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_fixed64( + ::buf::validate::Fixed64Rules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_fixed64(); + _impl_.type_.fixed64_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.fixed64) +} +inline ::buf::validate::Fixed64Rules* PROTOBUF_NONNULL FieldRules::_internal_mutable_fixed64() { + if (type_case() != kFixed64) { + clear_type(); + set_has_fixed64(); + _impl_.type_.fixed64_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::Fixed64Rules>(GetArena())); + } + return reinterpret_cast<::buf::validate::Fixed64Rules*>(_impl_.type_.fixed64_); +} +inline ::buf::validate::Fixed64Rules* PROTOBUF_NONNULL FieldRules::mutable_fixed64() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::Fixed64Rules* _msg = _internal_mutable_fixed64(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.fixed64) + return _msg; +} + +// .buf.validate.SFixed32Rules sfixed32 = 11; +inline bool FieldRules::has_sfixed32() const { + return type_case() == kSfixed32; +} +inline bool FieldRules::_internal_has_sfixed32() const { + return type_case() == kSfixed32; +} +inline void FieldRules::set_has_sfixed32() { + _impl_._oneof_case_[0] = kSfixed32; +} +inline void FieldRules::clear_sfixed32() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kSfixed32) { + if (GetArena() == nullptr) { + delete _impl_.type_.sfixed32_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.sfixed32_); + } + clear_has_type(); + } +} +inline ::buf::validate::SFixed32Rules* PROTOBUF_NULLABLE FieldRules::release_sfixed32() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.sfixed32) + if (type_case() == kSfixed32) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::SFixed32Rules*>(_impl_.type_.sfixed32_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.sfixed32_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::SFixed32Rules& FieldRules::_internal_sfixed32() const { + return type_case() == kSfixed32 ? static_cast(*reinterpret_cast<::buf::validate::SFixed32Rules*>(_impl_.type_.sfixed32_)) + : reinterpret_cast(::buf::validate::_SFixed32Rules_default_instance_); +} +inline const ::buf::validate::SFixed32Rules& FieldRules::sfixed32() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.sfixed32) + return _internal_sfixed32(); +} +inline ::buf::validate::SFixed32Rules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_sfixed32() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.sfixed32) + if (type_case() == kSfixed32) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::SFixed32Rules*>(_impl_.type_.sfixed32_); + _impl_.type_.sfixed32_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_sfixed32( + ::buf::validate::SFixed32Rules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_sfixed32(); + _impl_.type_.sfixed32_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.sfixed32) +} +inline ::buf::validate::SFixed32Rules* PROTOBUF_NONNULL FieldRules::_internal_mutable_sfixed32() { + if (type_case() != kSfixed32) { + clear_type(); + set_has_sfixed32(); + _impl_.type_.sfixed32_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::SFixed32Rules>(GetArena())); + } + return reinterpret_cast<::buf::validate::SFixed32Rules*>(_impl_.type_.sfixed32_); +} +inline ::buf::validate::SFixed32Rules* PROTOBUF_NONNULL FieldRules::mutable_sfixed32() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::SFixed32Rules* _msg = _internal_mutable_sfixed32(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.sfixed32) + return _msg; +} + +// .buf.validate.SFixed64Rules sfixed64 = 12; +inline bool FieldRules::has_sfixed64() const { + return type_case() == kSfixed64; +} +inline bool FieldRules::_internal_has_sfixed64() const { + return type_case() == kSfixed64; +} +inline void FieldRules::set_has_sfixed64() { + _impl_._oneof_case_[0] = kSfixed64; +} +inline void FieldRules::clear_sfixed64() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kSfixed64) { + if (GetArena() == nullptr) { + delete _impl_.type_.sfixed64_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.sfixed64_); + } + clear_has_type(); + } +} +inline ::buf::validate::SFixed64Rules* PROTOBUF_NULLABLE FieldRules::release_sfixed64() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.sfixed64) + if (type_case() == kSfixed64) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::SFixed64Rules*>(_impl_.type_.sfixed64_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.sfixed64_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::SFixed64Rules& FieldRules::_internal_sfixed64() const { + return type_case() == kSfixed64 ? static_cast(*reinterpret_cast<::buf::validate::SFixed64Rules*>(_impl_.type_.sfixed64_)) + : reinterpret_cast(::buf::validate::_SFixed64Rules_default_instance_); +} +inline const ::buf::validate::SFixed64Rules& FieldRules::sfixed64() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.sfixed64) + return _internal_sfixed64(); +} +inline ::buf::validate::SFixed64Rules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_sfixed64() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.sfixed64) + if (type_case() == kSfixed64) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::SFixed64Rules*>(_impl_.type_.sfixed64_); + _impl_.type_.sfixed64_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_sfixed64( + ::buf::validate::SFixed64Rules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_sfixed64(); + _impl_.type_.sfixed64_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.sfixed64) +} +inline ::buf::validate::SFixed64Rules* PROTOBUF_NONNULL FieldRules::_internal_mutable_sfixed64() { + if (type_case() != kSfixed64) { + clear_type(); + set_has_sfixed64(); + _impl_.type_.sfixed64_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::SFixed64Rules>(GetArena())); + } + return reinterpret_cast<::buf::validate::SFixed64Rules*>(_impl_.type_.sfixed64_); +} +inline ::buf::validate::SFixed64Rules* PROTOBUF_NONNULL FieldRules::mutable_sfixed64() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::SFixed64Rules* _msg = _internal_mutable_sfixed64(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.sfixed64) + return _msg; +} + +// .buf.validate.BoolRules bool = 13; +inline bool FieldRules::has_bool_() const { + return type_case() == kBool; +} +inline bool FieldRules::_internal_has_bool_() const { + return type_case() == kBool; +} +inline void FieldRules::set_has_bool_() { + _impl_._oneof_case_[0] = kBool; +} +inline void FieldRules::clear_bool_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kBool) { + if (GetArena() == nullptr) { + delete _impl_.type_.bool__; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.bool__); + } + clear_has_type(); + } +} +inline ::buf::validate::BoolRules* PROTOBUF_NULLABLE FieldRules::release_bool_() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.bool) + if (type_case() == kBool) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::BoolRules*>(_impl_.type_.bool__); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.bool__ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::BoolRules& FieldRules::_internal_bool_() const { + return type_case() == kBool ? static_cast(*reinterpret_cast<::buf::validate::BoolRules*>(_impl_.type_.bool__)) + : reinterpret_cast(::buf::validate::_BoolRules_default_instance_); +} +inline const ::buf::validate::BoolRules& FieldRules::bool_() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.bool) + return _internal_bool_(); +} +inline ::buf::validate::BoolRules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_bool_() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.bool) + if (type_case() == kBool) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::BoolRules*>(_impl_.type_.bool__); + _impl_.type_.bool__ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_bool_( + ::buf::validate::BoolRules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_bool_(); + _impl_.type_.bool__ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.bool) +} +inline ::buf::validate::BoolRules* PROTOBUF_NONNULL FieldRules::_internal_mutable_bool_() { + if (type_case() != kBool) { + clear_type(); + set_has_bool_(); + _impl_.type_.bool__ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::BoolRules>(GetArena())); + } + return reinterpret_cast<::buf::validate::BoolRules*>(_impl_.type_.bool__); +} +inline ::buf::validate::BoolRules* PROTOBUF_NONNULL FieldRules::mutable_bool_() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::BoolRules* _msg = _internal_mutable_bool_(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.bool) + return _msg; +} + +// .buf.validate.StringRules string = 14; +inline bool FieldRules::has_string() const { + return type_case() == kString; +} +inline bool FieldRules::_internal_has_string() const { + return type_case() == kString; +} +inline void FieldRules::set_has_string() { + _impl_._oneof_case_[0] = kString; +} +inline void FieldRules::clear_string() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kString) { + if (GetArena() == nullptr) { + delete _impl_.type_.string_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.string_); + } + clear_has_type(); + } +} +inline ::buf::validate::StringRules* PROTOBUF_NULLABLE FieldRules::release_string() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.string) + if (type_case() == kString) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::StringRules*>(_impl_.type_.string_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.string_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::StringRules& FieldRules::_internal_string() const { + return type_case() == kString ? static_cast(*reinterpret_cast<::buf::validate::StringRules*>(_impl_.type_.string_)) + : reinterpret_cast(::buf::validate::_StringRules_default_instance_); +} +inline const ::buf::validate::StringRules& FieldRules::string() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.string) + return _internal_string(); +} +inline ::buf::validate::StringRules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_string() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.string) + if (type_case() == kString) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::StringRules*>(_impl_.type_.string_); + _impl_.type_.string_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_string( + ::buf::validate::StringRules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_string(); + _impl_.type_.string_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.string) +} +inline ::buf::validate::StringRules* PROTOBUF_NONNULL FieldRules::_internal_mutable_string() { + if (type_case() != kString) { + clear_type(); + set_has_string(); + _impl_.type_.string_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::StringRules>(GetArena())); + } + return reinterpret_cast<::buf::validate::StringRules*>(_impl_.type_.string_); +} +inline ::buf::validate::StringRules* PROTOBUF_NONNULL FieldRules::mutable_string() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::StringRules* _msg = _internal_mutable_string(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.string) + return _msg; +} + +// .buf.validate.BytesRules bytes = 15; +inline bool FieldRules::has_bytes() const { + return type_case() == kBytes; +} +inline bool FieldRules::_internal_has_bytes() const { + return type_case() == kBytes; +} +inline void FieldRules::set_has_bytes() { + _impl_._oneof_case_[0] = kBytes; +} +inline void FieldRules::clear_bytes() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kBytes) { + if (GetArena() == nullptr) { + delete _impl_.type_.bytes_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.bytes_); + } + clear_has_type(); + } +} +inline ::buf::validate::BytesRules* PROTOBUF_NULLABLE FieldRules::release_bytes() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.bytes) + if (type_case() == kBytes) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::BytesRules*>(_impl_.type_.bytes_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.bytes_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::BytesRules& FieldRules::_internal_bytes() const { + return type_case() == kBytes ? static_cast(*reinterpret_cast<::buf::validate::BytesRules*>(_impl_.type_.bytes_)) + : reinterpret_cast(::buf::validate::_BytesRules_default_instance_); +} +inline const ::buf::validate::BytesRules& FieldRules::bytes() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.bytes) + return _internal_bytes(); +} +inline ::buf::validate::BytesRules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_bytes() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.bytes) + if (type_case() == kBytes) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::BytesRules*>(_impl_.type_.bytes_); + _impl_.type_.bytes_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_bytes( + ::buf::validate::BytesRules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_bytes(); + _impl_.type_.bytes_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.bytes) +} +inline ::buf::validate::BytesRules* PROTOBUF_NONNULL FieldRules::_internal_mutable_bytes() { + if (type_case() != kBytes) { + clear_type(); + set_has_bytes(); + _impl_.type_.bytes_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::BytesRules>(GetArena())); + } + return reinterpret_cast<::buf::validate::BytesRules*>(_impl_.type_.bytes_); +} +inline ::buf::validate::BytesRules* PROTOBUF_NONNULL FieldRules::mutable_bytes() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::BytesRules* _msg = _internal_mutable_bytes(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.bytes) + return _msg; +} + +// .buf.validate.EnumRules enum = 16; +inline bool FieldRules::has_enum_() const { + return type_case() == kEnum; +} +inline bool FieldRules::_internal_has_enum_() const { + return type_case() == kEnum; +} +inline void FieldRules::set_has_enum_() { + _impl_._oneof_case_[0] = kEnum; +} +inline void FieldRules::clear_enum_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kEnum) { + if (GetArena() == nullptr) { + delete _impl_.type_.enum__; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.enum__); + } + clear_has_type(); + } +} +inline ::buf::validate::EnumRules* PROTOBUF_NULLABLE FieldRules::release_enum_() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.enum) + if (type_case() == kEnum) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::EnumRules*>(_impl_.type_.enum__); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.enum__ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::EnumRules& FieldRules::_internal_enum_() const { + return type_case() == kEnum ? static_cast(*reinterpret_cast<::buf::validate::EnumRules*>(_impl_.type_.enum__)) + : reinterpret_cast(::buf::validate::_EnumRules_default_instance_); +} +inline const ::buf::validate::EnumRules& FieldRules::enum_() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.enum) + return _internal_enum_(); +} +inline ::buf::validate::EnumRules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_enum_() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.enum) + if (type_case() == kEnum) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::EnumRules*>(_impl_.type_.enum__); + _impl_.type_.enum__ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_enum_( + ::buf::validate::EnumRules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_enum_(); + _impl_.type_.enum__ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.enum) +} +inline ::buf::validate::EnumRules* PROTOBUF_NONNULL FieldRules::_internal_mutable_enum_() { + if (type_case() != kEnum) { + clear_type(); + set_has_enum_(); + _impl_.type_.enum__ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::EnumRules>(GetArena())); + } + return reinterpret_cast<::buf::validate::EnumRules*>(_impl_.type_.enum__); +} +inline ::buf::validate::EnumRules* PROTOBUF_NONNULL FieldRules::mutable_enum_() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::EnumRules* _msg = _internal_mutable_enum_(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.enum) + return _msg; +} + +// .buf.validate.RepeatedRules repeated = 18; +inline bool FieldRules::has_repeated() const { + return type_case() == kRepeated; +} +inline bool FieldRules::_internal_has_repeated() const { + return type_case() == kRepeated; +} +inline void FieldRules::set_has_repeated() { + _impl_._oneof_case_[0] = kRepeated; +} +inline void FieldRules::clear_repeated() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kRepeated) { + if (GetArena() == nullptr) { + delete _impl_.type_.repeated_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.repeated_); + } + clear_has_type(); + } +} +inline ::buf::validate::RepeatedRules* PROTOBUF_NULLABLE FieldRules::release_repeated() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.repeated) + if (type_case() == kRepeated) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::RepeatedRules*>(_impl_.type_.repeated_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.repeated_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::RepeatedRules& FieldRules::_internal_repeated() const { + return type_case() == kRepeated ? static_cast(*reinterpret_cast<::buf::validate::RepeatedRules*>(_impl_.type_.repeated_)) + : reinterpret_cast(::buf::validate::_RepeatedRules_default_instance_); +} +inline const ::buf::validate::RepeatedRules& FieldRules::repeated() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.repeated) + return _internal_repeated(); +} +inline ::buf::validate::RepeatedRules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_repeated() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.repeated) + if (type_case() == kRepeated) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::RepeatedRules*>(_impl_.type_.repeated_); + _impl_.type_.repeated_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_repeated( + ::buf::validate::RepeatedRules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_repeated(); + _impl_.type_.repeated_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.repeated) +} +inline ::buf::validate::RepeatedRules* PROTOBUF_NONNULL FieldRules::_internal_mutable_repeated() { + if (type_case() != kRepeated) { + clear_type(); + set_has_repeated(); + _impl_.type_.repeated_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::RepeatedRules>(GetArena())); + } + return reinterpret_cast<::buf::validate::RepeatedRules*>(_impl_.type_.repeated_); +} +inline ::buf::validate::RepeatedRules* PROTOBUF_NONNULL FieldRules::mutable_repeated() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::RepeatedRules* _msg = _internal_mutable_repeated(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.repeated) + return _msg; +} + +// .buf.validate.MapRules map = 19; +inline bool FieldRules::has_map() const { + return type_case() == kMap; +} +inline bool FieldRules::_internal_has_map() const { + return type_case() == kMap; +} +inline void FieldRules::set_has_map() { + _impl_._oneof_case_[0] = kMap; +} +inline void FieldRules::clear_map() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kMap) { + if (GetArena() == nullptr) { + delete _impl_.type_.map_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.map_); + } + clear_has_type(); + } +} +inline ::buf::validate::MapRules* PROTOBUF_NULLABLE FieldRules::release_map() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.map) + if (type_case() == kMap) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::MapRules*>(_impl_.type_.map_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.map_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::MapRules& FieldRules::_internal_map() const { + return type_case() == kMap ? static_cast(*reinterpret_cast<::buf::validate::MapRules*>(_impl_.type_.map_)) + : reinterpret_cast(::buf::validate::_MapRules_default_instance_); +} +inline const ::buf::validate::MapRules& FieldRules::map() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.map) + return _internal_map(); +} +inline ::buf::validate::MapRules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_map() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.map) + if (type_case() == kMap) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::MapRules*>(_impl_.type_.map_); + _impl_.type_.map_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_map( + ::buf::validate::MapRules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_map(); + _impl_.type_.map_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.map) +} +inline ::buf::validate::MapRules* PROTOBUF_NONNULL FieldRules::_internal_mutable_map() { + if (type_case() != kMap) { + clear_type(); + set_has_map(); + _impl_.type_.map_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::MapRules>(GetArena())); + } + return reinterpret_cast<::buf::validate::MapRules*>(_impl_.type_.map_); +} +inline ::buf::validate::MapRules* PROTOBUF_NONNULL FieldRules::mutable_map() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::MapRules* _msg = _internal_mutable_map(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.map) + return _msg; +} + +// .buf.validate.AnyRules any = 20; +inline bool FieldRules::has_any() const { + return type_case() == kAny; +} +inline bool FieldRules::_internal_has_any() const { + return type_case() == kAny; +} +inline void FieldRules::set_has_any() { + _impl_._oneof_case_[0] = kAny; +} +inline void FieldRules::clear_any() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kAny) { + if (GetArena() == nullptr) { + delete _impl_.type_.any_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.any_); + } + clear_has_type(); + } +} +inline ::buf::validate::AnyRules* PROTOBUF_NULLABLE FieldRules::release_any() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.any) + if (type_case() == kAny) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::AnyRules*>(_impl_.type_.any_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.any_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::AnyRules& FieldRules::_internal_any() const { + return type_case() == kAny ? static_cast(*reinterpret_cast<::buf::validate::AnyRules*>(_impl_.type_.any_)) + : reinterpret_cast(::buf::validate::_AnyRules_default_instance_); +} +inline const ::buf::validate::AnyRules& FieldRules::any() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.any) + return _internal_any(); +} +inline ::buf::validate::AnyRules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_any() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.any) + if (type_case() == kAny) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::AnyRules*>(_impl_.type_.any_); + _impl_.type_.any_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_any( + ::buf::validate::AnyRules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_any(); + _impl_.type_.any_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.any) +} +inline ::buf::validate::AnyRules* PROTOBUF_NONNULL FieldRules::_internal_mutable_any() { + if (type_case() != kAny) { + clear_type(); + set_has_any(); + _impl_.type_.any_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::AnyRules>(GetArena())); + } + return reinterpret_cast<::buf::validate::AnyRules*>(_impl_.type_.any_); +} +inline ::buf::validate::AnyRules* PROTOBUF_NONNULL FieldRules::mutable_any() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::AnyRules* _msg = _internal_mutable_any(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.any) + return _msg; +} + +// .buf.validate.DurationRules duration = 21; +inline bool FieldRules::has_duration() const { + return type_case() == kDuration; +} +inline bool FieldRules::_internal_has_duration() const { + return type_case() == kDuration; +} +inline void FieldRules::set_has_duration() { + _impl_._oneof_case_[0] = kDuration; +} +inline void FieldRules::clear_duration() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kDuration) { + if (GetArena() == nullptr) { + delete _impl_.type_.duration_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.duration_); + } + clear_has_type(); + } +} +inline ::buf::validate::DurationRules* PROTOBUF_NULLABLE FieldRules::release_duration() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.duration) + if (type_case() == kDuration) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::DurationRules*>(_impl_.type_.duration_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.duration_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::DurationRules& FieldRules::_internal_duration() const { + return type_case() == kDuration ? static_cast(*reinterpret_cast<::buf::validate::DurationRules*>(_impl_.type_.duration_)) + : reinterpret_cast(::buf::validate::_DurationRules_default_instance_); +} +inline const ::buf::validate::DurationRules& FieldRules::duration() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.duration) + return _internal_duration(); +} +inline ::buf::validate::DurationRules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_duration() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.duration) + if (type_case() == kDuration) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::DurationRules*>(_impl_.type_.duration_); + _impl_.type_.duration_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_duration( + ::buf::validate::DurationRules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_duration(); + _impl_.type_.duration_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.duration) +} +inline ::buf::validate::DurationRules* PROTOBUF_NONNULL FieldRules::_internal_mutable_duration() { + if (type_case() != kDuration) { + clear_type(); + set_has_duration(); + _impl_.type_.duration_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::DurationRules>(GetArena())); + } + return reinterpret_cast<::buf::validate::DurationRules*>(_impl_.type_.duration_); +} +inline ::buf::validate::DurationRules* PROTOBUF_NONNULL FieldRules::mutable_duration() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::DurationRules* _msg = _internal_mutable_duration(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.duration) + return _msg; +} + +// .buf.validate.FieldMaskRules field_mask = 28; +inline bool FieldRules::has_field_mask() const { + return type_case() == kFieldMask; +} +inline bool FieldRules::_internal_has_field_mask() const { + return type_case() == kFieldMask; +} +inline void FieldRules::set_has_field_mask() { + _impl_._oneof_case_[0] = kFieldMask; +} +inline void FieldRules::clear_field_mask() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kFieldMask) { + if (GetArena() == nullptr) { + delete _impl_.type_.field_mask_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.field_mask_); + } + clear_has_type(); + } +} +inline ::buf::validate::FieldMaskRules* PROTOBUF_NULLABLE FieldRules::release_field_mask() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.field_mask) + if (type_case() == kFieldMask) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::FieldMaskRules*>(_impl_.type_.field_mask_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.field_mask_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::FieldMaskRules& FieldRules::_internal_field_mask() const { + return type_case() == kFieldMask ? static_cast(*reinterpret_cast<::buf::validate::FieldMaskRules*>(_impl_.type_.field_mask_)) + : reinterpret_cast(::buf::validate::_FieldMaskRules_default_instance_); +} +inline const ::buf::validate::FieldMaskRules& FieldRules::field_mask() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.field_mask) + return _internal_field_mask(); +} +inline ::buf::validate::FieldMaskRules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_field_mask() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.field_mask) + if (type_case() == kFieldMask) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::FieldMaskRules*>(_impl_.type_.field_mask_); + _impl_.type_.field_mask_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_field_mask( + ::buf::validate::FieldMaskRules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_field_mask(); + _impl_.type_.field_mask_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.field_mask) +} +inline ::buf::validate::FieldMaskRules* PROTOBUF_NONNULL FieldRules::_internal_mutable_field_mask() { + if (type_case() != kFieldMask) { + clear_type(); + set_has_field_mask(); + _impl_.type_.field_mask_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::FieldMaskRules>(GetArena())); + } + return reinterpret_cast<::buf::validate::FieldMaskRules*>(_impl_.type_.field_mask_); +} +inline ::buf::validate::FieldMaskRules* PROTOBUF_NONNULL FieldRules::mutable_field_mask() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::FieldMaskRules* _msg = _internal_mutable_field_mask(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.field_mask) + return _msg; +} + +// .buf.validate.TimestampRules timestamp = 22; +inline bool FieldRules::has_timestamp() const { + return type_case() == kTimestamp; +} +inline bool FieldRules::_internal_has_timestamp() const { + return type_case() == kTimestamp; +} +inline void FieldRules::set_has_timestamp() { + _impl_._oneof_case_[0] = kTimestamp; +} +inline void FieldRules::clear_timestamp() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_case() == kTimestamp) { + if (GetArena() == nullptr) { + delete _impl_.type_.timestamp_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_.timestamp_); + } + clear_has_type(); + } +} +inline ::buf::validate::TimestampRules* PROTOBUF_NULLABLE FieldRules::release_timestamp() { + // @@protoc_insertion_point(field_release:buf.validate.FieldRules.timestamp) + if (type_case() == kTimestamp) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::TimestampRules*>(_impl_.type_.timestamp_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_.timestamp_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::buf::validate::TimestampRules& FieldRules::_internal_timestamp() const { + return type_case() == kTimestamp ? static_cast(*reinterpret_cast<::buf::validate::TimestampRules*>(_impl_.type_.timestamp_)) + : reinterpret_cast(::buf::validate::_TimestampRules_default_instance_); +} +inline const ::buf::validate::TimestampRules& FieldRules::timestamp() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldRules.timestamp) + return _internal_timestamp(); +} +inline ::buf::validate::TimestampRules* PROTOBUF_NULLABLE FieldRules::unsafe_arena_release_timestamp() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.FieldRules.timestamp) + if (type_case() == kTimestamp) { + clear_has_type(); + auto* temp = reinterpret_cast<::buf::validate::TimestampRules*>(_impl_.type_.timestamp_); + _impl_.type_.timestamp_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void FieldRules::unsafe_arena_set_allocated_timestamp( + ::buf::validate::TimestampRules* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type(); + if (value) { + set_has_timestamp(); + _impl_.type_.timestamp_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldRules.timestamp) +} +inline ::buf::validate::TimestampRules* PROTOBUF_NONNULL FieldRules::_internal_mutable_timestamp() { + if (type_case() != kTimestamp) { + clear_type(); + set_has_timestamp(); + _impl_.type_.timestamp_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::buf::validate::TimestampRules>(GetArena())); + } + return reinterpret_cast<::buf::validate::TimestampRules*>(_impl_.type_.timestamp_); +} +inline ::buf::validate::TimestampRules* PROTOBUF_NONNULL FieldRules::mutable_timestamp() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::buf::validate::TimestampRules* _msg = _internal_mutable_timestamp(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldRules.timestamp) + return _msg; +} + +inline bool FieldRules::has_type() const { + return type_case() != TYPE_NOT_SET; +} +inline void FieldRules::clear_has_type() { + _impl_._oneof_case_[0] = TYPE_NOT_SET; +} +inline FieldRules::TypeCase FieldRules::type_case() const { + return FieldRules::TypeCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// PredefinedRules + +// repeated .buf.validate.Rule cel = 1; +inline int PredefinedRules::_internal_cel_size() const { + return _internal_cel().size(); +} +inline int PredefinedRules::cel_size() const { + return _internal_cel_size(); +} +inline void PredefinedRules::clear_cel() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.cel_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::buf::validate::Rule* PROTOBUF_NONNULL PredefinedRules::mutable_cel(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.PredefinedRules.cel) + return _internal_mutable_cel()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>* PROTOBUF_NONNULL PredefinedRules::mutable_cel() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.PredefinedRules.cel) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_cel(); +} +inline const ::buf::validate::Rule& PredefinedRules::cel(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.PredefinedRules.cel) + return _internal_cel().Get(index); +} +inline ::buf::validate::Rule* PROTOBUF_NONNULL PredefinedRules::add_cel() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::buf::validate::Rule* _add = + _internal_mutable_cel()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.PredefinedRules.cel) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>& PredefinedRules::cel() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.PredefinedRules.cel) + return _internal_cel(); +} +inline const ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>& +PredefinedRules::_internal_cel() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.cel_; +} +inline ::google::protobuf::RepeatedPtrField<::buf::validate::Rule>* PROTOBUF_NONNULL +PredefinedRules::_internal_mutable_cel() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.cel_; +} + +// ------------------------------------------------------------------- + +// FloatRules + +// optional float const = 1 [(.buf.validate.predefined) = { +inline bool FloatRules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U); + return value; +} +inline void FloatRules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = 0; + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline float FloatRules::const_() const { + // @@protoc_insertion_point(field_get:buf.validate.FloatRules.const) + return _internal_const_(); +} +inline void FloatRules::set_const_(float value) { + _internal_set_const_(value); + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_set:buf.validate.FloatRules.const) +} +inline float FloatRules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__; +} +inline void FloatRules::_internal_set_const_(float value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = value; +} + +// float lt = 2 [(.buf.validate.predefined) = { +inline bool FloatRules::has_lt() const { + return less_than_case() == kLt; +} +inline void FloatRules::set_has_lt() { + _impl_._oneof_case_[0] = kLt; +} +inline void FloatRules::clear_lt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLt) { + _impl_.less_than_.lt_ = 0; + clear_has_less_than(); + } +} +inline float FloatRules::lt() const { + // @@protoc_insertion_point(field_get:buf.validate.FloatRules.lt) + return _internal_lt(); +} +inline void FloatRules::set_lt(float value) { + if (less_than_case() != kLt) { + clear_less_than(); + set_has_lt(); + } + _impl_.less_than_.lt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.FloatRules.lt) +} +inline float FloatRules::_internal_lt() const { + if (less_than_case() == kLt) { + return _impl_.less_than_.lt_; + } + return 0; +} + +// float lte = 3 [(.buf.validate.predefined) = { +inline bool FloatRules::has_lte() const { + return less_than_case() == kLte; +} +inline void FloatRules::set_has_lte() { + _impl_._oneof_case_[0] = kLte; +} +inline void FloatRules::clear_lte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLte) { + _impl_.less_than_.lte_ = 0; + clear_has_less_than(); + } +} +inline float FloatRules::lte() const { + // @@protoc_insertion_point(field_get:buf.validate.FloatRules.lte) + return _internal_lte(); +} +inline void FloatRules::set_lte(float value) { + if (less_than_case() != kLte) { + clear_less_than(); + set_has_lte(); + } + _impl_.less_than_.lte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.FloatRules.lte) +} +inline float FloatRules::_internal_lte() const { + if (less_than_case() == kLte) { + return _impl_.less_than_.lte_; + } + return 0; +} + +// float gt = 4 [(.buf.validate.predefined) = { +inline bool FloatRules::has_gt() const { + return greater_than_case() == kGt; +} +inline void FloatRules::set_has_gt() { + _impl_._oneof_case_[1] = kGt; +} +inline void FloatRules::clear_gt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGt) { + _impl_.greater_than_.gt_ = 0; + clear_has_greater_than(); + } +} +inline float FloatRules::gt() const { + // @@protoc_insertion_point(field_get:buf.validate.FloatRules.gt) + return _internal_gt(); +} +inline void FloatRules::set_gt(float value) { + if (greater_than_case() != kGt) { + clear_greater_than(); + set_has_gt(); + } + _impl_.greater_than_.gt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.FloatRules.gt) +} +inline float FloatRules::_internal_gt() const { + if (greater_than_case() == kGt) { + return _impl_.greater_than_.gt_; + } + return 0; +} + +// float gte = 5 [(.buf.validate.predefined) = { +inline bool FloatRules::has_gte() const { + return greater_than_case() == kGte; +} +inline void FloatRules::set_has_gte() { + _impl_._oneof_case_[1] = kGte; +} +inline void FloatRules::clear_gte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGte) { + _impl_.greater_than_.gte_ = 0; + clear_has_greater_than(); + } +} +inline float FloatRules::gte() const { + // @@protoc_insertion_point(field_get:buf.validate.FloatRules.gte) + return _internal_gte(); +} +inline void FloatRules::set_gte(float value) { + if (greater_than_case() != kGte) { + clear_greater_than(); + set_has_gte(); + } + _impl_.greater_than_.gte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.FloatRules.gte) +} +inline float FloatRules::_internal_gte() const { + if (greater_than_case() == kGte) { + return _impl_.greater_than_.gte_; + } + return 0; +} + +// repeated float in = 6 [(.buf.validate.predefined) = { +inline int FloatRules::_internal_in_size() const { + return _internal_in().size(); +} +inline int FloatRules::in_size() const { + return _internal_in_size(); +} +inline void FloatRules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline float FloatRules::in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.FloatRules.in) + return _internal_in().Get(index); +} +inline void FloatRules::set_in(int index, float value) { + _internal_mutable_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.FloatRules.in) +} +inline void FloatRules::add_in(float value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.FloatRules.in) +} +inline const ::google::protobuf::RepeatedField& FloatRules::in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.FloatRules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL FloatRules::mutable_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.FloatRules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedField& +FloatRules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL +FloatRules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated float not_in = 7 [(.buf.validate.predefined) = { +inline int FloatRules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int FloatRules::not_in_size() const { + return _internal_not_in_size(); +} +inline void FloatRules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline float FloatRules::not_in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.FloatRules.not_in) + return _internal_not_in().Get(index); +} +inline void FloatRules::set_not_in(int index, float value) { + _internal_mutable_not_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.FloatRules.not_in) +} +inline void FloatRules::add_not_in(float value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_not_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.FloatRules.not_in) +} +inline const ::google::protobuf::RepeatedField& FloatRules::not_in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.FloatRules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL FloatRules::mutable_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.FloatRules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedField& +FloatRules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL +FloatRules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// optional bool finite = 8 [(.buf.validate.predefined) = { +inline bool FloatRules::has_finite() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void FloatRules::clear_finite() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.finite_ = false; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline bool FloatRules::finite() const { + // @@protoc_insertion_point(field_get:buf.validate.FloatRules.finite) + return _internal_finite(); +} +inline void FloatRules::set_finite(bool value) { + _internal_set_finite(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.FloatRules.finite) +} +inline bool FloatRules::_internal_finite() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.finite_; +} +inline void FloatRules::_internal_set_finite(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.finite_ = value; +} + +// repeated float example = 9 [(.buf.validate.predefined) = { +inline int FloatRules::_internal_example_size() const { + return _internal_example().size(); +} +inline int FloatRules::example_size() const { + return _internal_example_size(); +} +inline void FloatRules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000010U); +} +inline float FloatRules::example(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.FloatRules.example) + return _internal_example().Get(index); +} +inline void FloatRules::set_example(int index, float value) { + _internal_mutable_example()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.FloatRules.example) +} +inline void FloatRules::add_example(float value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_example()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000010U); + // @@protoc_insertion_point(field_add:buf.validate.FloatRules.example) +} +inline const ::google::protobuf::RepeatedField& FloatRules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.FloatRules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL FloatRules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000010U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.FloatRules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedField& +FloatRules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL +FloatRules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool FloatRules::has_less_than() const { + return less_than_case() != LESS_THAN_NOT_SET; +} +inline void FloatRules::clear_has_less_than() { + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} +inline bool FloatRules::has_greater_than() const { + return greater_than_case() != GREATER_THAN_NOT_SET; +} +inline void FloatRules::clear_has_greater_than() { + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} +inline FloatRules::LessThanCase FloatRules::less_than_case() const { + return FloatRules::LessThanCase(_impl_._oneof_case_[0]); +} +inline FloatRules::GreaterThanCase FloatRules::greater_than_case() const { + return FloatRules::GreaterThanCase(_impl_._oneof_case_[1]); +} +// ------------------------------------------------------------------- + +// DoubleRules + +// optional double const = 1 [(.buf.validate.predefined) = { +inline bool DoubleRules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U); + return value; +} +inline void DoubleRules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = 0; + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline double DoubleRules::const_() const { + // @@protoc_insertion_point(field_get:buf.validate.DoubleRules.const) + return _internal_const_(); +} +inline void DoubleRules::set_const_(double value) { + _internal_set_const_(value); + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_set:buf.validate.DoubleRules.const) +} +inline double DoubleRules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__; +} +inline void DoubleRules::_internal_set_const_(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = value; +} + +// double lt = 2 [(.buf.validate.predefined) = { +inline bool DoubleRules::has_lt() const { + return less_than_case() == kLt; +} +inline void DoubleRules::set_has_lt() { + _impl_._oneof_case_[0] = kLt; +} +inline void DoubleRules::clear_lt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLt) { + _impl_.less_than_.lt_ = 0; + clear_has_less_than(); + } +} +inline double DoubleRules::lt() const { + // @@protoc_insertion_point(field_get:buf.validate.DoubleRules.lt) + return _internal_lt(); +} +inline void DoubleRules::set_lt(double value) { + if (less_than_case() != kLt) { + clear_less_than(); + set_has_lt(); + } + _impl_.less_than_.lt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.DoubleRules.lt) +} +inline double DoubleRules::_internal_lt() const { + if (less_than_case() == kLt) { + return _impl_.less_than_.lt_; + } + return 0; +} + +// double lte = 3 [(.buf.validate.predefined) = { +inline bool DoubleRules::has_lte() const { + return less_than_case() == kLte; +} +inline void DoubleRules::set_has_lte() { + _impl_._oneof_case_[0] = kLte; +} +inline void DoubleRules::clear_lte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLte) { + _impl_.less_than_.lte_ = 0; + clear_has_less_than(); + } +} +inline double DoubleRules::lte() const { + // @@protoc_insertion_point(field_get:buf.validate.DoubleRules.lte) + return _internal_lte(); +} +inline void DoubleRules::set_lte(double value) { + if (less_than_case() != kLte) { + clear_less_than(); + set_has_lte(); + } + _impl_.less_than_.lte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.DoubleRules.lte) +} +inline double DoubleRules::_internal_lte() const { + if (less_than_case() == kLte) { + return _impl_.less_than_.lte_; + } + return 0; +} + +// double gt = 4 [(.buf.validate.predefined) = { +inline bool DoubleRules::has_gt() const { + return greater_than_case() == kGt; +} +inline void DoubleRules::set_has_gt() { + _impl_._oneof_case_[1] = kGt; +} +inline void DoubleRules::clear_gt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGt) { + _impl_.greater_than_.gt_ = 0; + clear_has_greater_than(); + } +} +inline double DoubleRules::gt() const { + // @@protoc_insertion_point(field_get:buf.validate.DoubleRules.gt) + return _internal_gt(); +} +inline void DoubleRules::set_gt(double value) { + if (greater_than_case() != kGt) { + clear_greater_than(); + set_has_gt(); + } + _impl_.greater_than_.gt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.DoubleRules.gt) +} +inline double DoubleRules::_internal_gt() const { + if (greater_than_case() == kGt) { + return _impl_.greater_than_.gt_; + } + return 0; +} + +// double gte = 5 [(.buf.validate.predefined) = { +inline bool DoubleRules::has_gte() const { + return greater_than_case() == kGte; +} +inline void DoubleRules::set_has_gte() { + _impl_._oneof_case_[1] = kGte; +} +inline void DoubleRules::clear_gte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGte) { + _impl_.greater_than_.gte_ = 0; + clear_has_greater_than(); + } +} +inline double DoubleRules::gte() const { + // @@protoc_insertion_point(field_get:buf.validate.DoubleRules.gte) + return _internal_gte(); +} +inline void DoubleRules::set_gte(double value) { + if (greater_than_case() != kGte) { + clear_greater_than(); + set_has_gte(); + } + _impl_.greater_than_.gte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.DoubleRules.gte) +} +inline double DoubleRules::_internal_gte() const { + if (greater_than_case() == kGte) { + return _impl_.greater_than_.gte_; + } + return 0; +} + +// repeated double in = 6 [(.buf.validate.predefined) = { +inline int DoubleRules::_internal_in_size() const { + return _internal_in().size(); +} +inline int DoubleRules::in_size() const { + return _internal_in_size(); +} +inline void DoubleRules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline double DoubleRules::in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.DoubleRules.in) + return _internal_in().Get(index); +} +inline void DoubleRules::set_in(int index, double value) { + _internal_mutable_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.DoubleRules.in) +} +inline void DoubleRules::add_in(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.DoubleRules.in) +} +inline const ::google::protobuf::RepeatedField& DoubleRules::in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.DoubleRules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL DoubleRules::mutable_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.DoubleRules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedField& +DoubleRules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL +DoubleRules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated double not_in = 7 [(.buf.validate.predefined) = { +inline int DoubleRules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int DoubleRules::not_in_size() const { + return _internal_not_in_size(); +} +inline void DoubleRules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline double DoubleRules::not_in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.DoubleRules.not_in) + return _internal_not_in().Get(index); +} +inline void DoubleRules::set_not_in(int index, double value) { + _internal_mutable_not_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.DoubleRules.not_in) +} +inline void DoubleRules::add_not_in(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_not_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.DoubleRules.not_in) +} +inline const ::google::protobuf::RepeatedField& DoubleRules::not_in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.DoubleRules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL DoubleRules::mutable_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.DoubleRules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedField& +DoubleRules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL +DoubleRules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// optional bool finite = 8 [(.buf.validate.predefined) = { +inline bool DoubleRules::has_finite() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void DoubleRules::clear_finite() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.finite_ = false; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline bool DoubleRules::finite() const { + // @@protoc_insertion_point(field_get:buf.validate.DoubleRules.finite) + return _internal_finite(); +} +inline void DoubleRules::set_finite(bool value) { + _internal_set_finite(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.DoubleRules.finite) +} +inline bool DoubleRules::_internal_finite() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.finite_; +} +inline void DoubleRules::_internal_set_finite(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.finite_ = value; +} + +// repeated double example = 9 [(.buf.validate.predefined) = { +inline int DoubleRules::_internal_example_size() const { + return _internal_example().size(); +} +inline int DoubleRules::example_size() const { + return _internal_example_size(); +} +inline void DoubleRules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000010U); +} +inline double DoubleRules::example(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.DoubleRules.example) + return _internal_example().Get(index); +} +inline void DoubleRules::set_example(int index, double value) { + _internal_mutable_example()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.DoubleRules.example) +} +inline void DoubleRules::add_example(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_example()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000010U); + // @@protoc_insertion_point(field_add:buf.validate.DoubleRules.example) +} +inline const ::google::protobuf::RepeatedField& DoubleRules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.DoubleRules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL DoubleRules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000010U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.DoubleRules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedField& +DoubleRules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL +DoubleRules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool DoubleRules::has_less_than() const { + return less_than_case() != LESS_THAN_NOT_SET; +} +inline void DoubleRules::clear_has_less_than() { + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} +inline bool DoubleRules::has_greater_than() const { + return greater_than_case() != GREATER_THAN_NOT_SET; +} +inline void DoubleRules::clear_has_greater_than() { + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} +inline DoubleRules::LessThanCase DoubleRules::less_than_case() const { + return DoubleRules::LessThanCase(_impl_._oneof_case_[0]); +} +inline DoubleRules::GreaterThanCase DoubleRules::greater_than_case() const { + return DoubleRules::GreaterThanCase(_impl_._oneof_case_[1]); +} +// ------------------------------------------------------------------- + +// Int32Rules + +// optional int32 const = 1 [(.buf.validate.predefined) = { +inline bool Int32Rules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void Int32Rules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = 0; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline ::int32_t Int32Rules::const_() const { + // @@protoc_insertion_point(field_get:buf.validate.Int32Rules.const) + return _internal_const_(); +} +inline void Int32Rules::set_const_(::int32_t value) { + _internal_set_const_(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.Int32Rules.const) +} +inline ::int32_t Int32Rules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__; +} +inline void Int32Rules::_internal_set_const_(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = value; +} + +// int32 lt = 2 [(.buf.validate.predefined) = { +inline bool Int32Rules::has_lt() const { + return less_than_case() == kLt; +} +inline void Int32Rules::set_has_lt() { + _impl_._oneof_case_[0] = kLt; +} +inline void Int32Rules::clear_lt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLt) { + _impl_.less_than_.lt_ = 0; + clear_has_less_than(); + } +} +inline ::int32_t Int32Rules::lt() const { + // @@protoc_insertion_point(field_get:buf.validate.Int32Rules.lt) + return _internal_lt(); +} +inline void Int32Rules::set_lt(::int32_t value) { + if (less_than_case() != kLt) { + clear_less_than(); + set_has_lt(); + } + _impl_.less_than_.lt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Int32Rules.lt) +} +inline ::int32_t Int32Rules::_internal_lt() const { + if (less_than_case() == kLt) { + return _impl_.less_than_.lt_; + } + return 0; +} + +// int32 lte = 3 [(.buf.validate.predefined) = { +inline bool Int32Rules::has_lte() const { + return less_than_case() == kLte; +} +inline void Int32Rules::set_has_lte() { + _impl_._oneof_case_[0] = kLte; +} +inline void Int32Rules::clear_lte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLte) { + _impl_.less_than_.lte_ = 0; + clear_has_less_than(); + } +} +inline ::int32_t Int32Rules::lte() const { + // @@protoc_insertion_point(field_get:buf.validate.Int32Rules.lte) + return _internal_lte(); +} +inline void Int32Rules::set_lte(::int32_t value) { + if (less_than_case() != kLte) { + clear_less_than(); + set_has_lte(); + } + _impl_.less_than_.lte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Int32Rules.lte) +} +inline ::int32_t Int32Rules::_internal_lte() const { + if (less_than_case() == kLte) { + return _impl_.less_than_.lte_; + } + return 0; +} + +// int32 gt = 4 [(.buf.validate.predefined) = { +inline bool Int32Rules::has_gt() const { + return greater_than_case() == kGt; +} +inline void Int32Rules::set_has_gt() { + _impl_._oneof_case_[1] = kGt; +} +inline void Int32Rules::clear_gt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGt) { + _impl_.greater_than_.gt_ = 0; + clear_has_greater_than(); + } +} +inline ::int32_t Int32Rules::gt() const { + // @@protoc_insertion_point(field_get:buf.validate.Int32Rules.gt) + return _internal_gt(); +} +inline void Int32Rules::set_gt(::int32_t value) { + if (greater_than_case() != kGt) { + clear_greater_than(); + set_has_gt(); + } + _impl_.greater_than_.gt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Int32Rules.gt) +} +inline ::int32_t Int32Rules::_internal_gt() const { + if (greater_than_case() == kGt) { + return _impl_.greater_than_.gt_; + } + return 0; +} + +// int32 gte = 5 [(.buf.validate.predefined) = { +inline bool Int32Rules::has_gte() const { + return greater_than_case() == kGte; +} +inline void Int32Rules::set_has_gte() { + _impl_._oneof_case_[1] = kGte; +} +inline void Int32Rules::clear_gte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGte) { + _impl_.greater_than_.gte_ = 0; + clear_has_greater_than(); + } +} +inline ::int32_t Int32Rules::gte() const { + // @@protoc_insertion_point(field_get:buf.validate.Int32Rules.gte) + return _internal_gte(); +} +inline void Int32Rules::set_gte(::int32_t value) { + if (greater_than_case() != kGte) { + clear_greater_than(); + set_has_gte(); + } + _impl_.greater_than_.gte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Int32Rules.gte) +} +inline ::int32_t Int32Rules::_internal_gte() const { + if (greater_than_case() == kGte) { + return _impl_.greater_than_.gte_; + } + return 0; +} + +// repeated int32 in = 6 [(.buf.validate.predefined) = { +inline int Int32Rules::_internal_in_size() const { + return _internal_in().size(); +} +inline int Int32Rules::in_size() const { + return _internal_in_size(); +} +inline void Int32Rules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::int32_t Int32Rules::in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.Int32Rules.in) + return _internal_in().Get(index); +} +inline void Int32Rules::set_in(int index, ::int32_t value) { + _internal_mutable_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.Int32Rules.in) +} +inline void Int32Rules::add_in(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.Int32Rules.in) +} +inline const ::google::protobuf::RepeatedField<::int32_t>& Int32Rules::in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.Int32Rules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL Int32Rules::mutable_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.Int32Rules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedField<::int32_t>& +Int32Rules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL +Int32Rules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated int32 not_in = 7 [(.buf.validate.predefined) = { +inline int Int32Rules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int Int32Rules::not_in_size() const { + return _internal_not_in_size(); +} +inline void Int32Rules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::int32_t Int32Rules::not_in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.Int32Rules.not_in) + return _internal_not_in().Get(index); +} +inline void Int32Rules::set_not_in(int index, ::int32_t value) { + _internal_mutable_not_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.Int32Rules.not_in) +} +inline void Int32Rules::add_not_in(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_not_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.Int32Rules.not_in) +} +inline const ::google::protobuf::RepeatedField<::int32_t>& Int32Rules::not_in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.Int32Rules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL Int32Rules::mutable_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.Int32Rules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedField<::int32_t>& +Int32Rules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL +Int32Rules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// repeated int32 example = 8 [(.buf.validate.predefined) = { +inline int Int32Rules::_internal_example_size() const { + return _internal_example().size(); +} +inline int Int32Rules::example_size() const { + return _internal_example_size(); +} +inline void Int32Rules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::int32_t Int32Rules::example(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.Int32Rules.example) + return _internal_example().Get(index); +} +inline void Int32Rules::set_example(int index, ::int32_t value) { + _internal_mutable_example()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.Int32Rules.example) +} +inline void Int32Rules::add_example(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_example()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.Int32Rules.example) +} +inline const ::google::protobuf::RepeatedField<::int32_t>& Int32Rules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.Int32Rules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL Int32Rules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.Int32Rules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedField<::int32_t>& +Int32Rules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL +Int32Rules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool Int32Rules::has_less_than() const { + return less_than_case() != LESS_THAN_NOT_SET; +} +inline void Int32Rules::clear_has_less_than() { + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} +inline bool Int32Rules::has_greater_than() const { + return greater_than_case() != GREATER_THAN_NOT_SET; +} +inline void Int32Rules::clear_has_greater_than() { + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} +inline Int32Rules::LessThanCase Int32Rules::less_than_case() const { + return Int32Rules::LessThanCase(_impl_._oneof_case_[0]); +} +inline Int32Rules::GreaterThanCase Int32Rules::greater_than_case() const { + return Int32Rules::GreaterThanCase(_impl_._oneof_case_[1]); +} +// ------------------------------------------------------------------- + +// Int64Rules + +// optional int64 const = 1 [(.buf.validate.predefined) = { +inline bool Int64Rules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U); + return value; +} +inline void Int64Rules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = ::int64_t{0}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::int64_t Int64Rules::const_() const { + // @@protoc_insertion_point(field_get:buf.validate.Int64Rules.const) + return _internal_const_(); +} +inline void Int64Rules::set_const_(::int64_t value) { + _internal_set_const_(value); + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_set:buf.validate.Int64Rules.const) +} +inline ::int64_t Int64Rules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__; +} +inline void Int64Rules::_internal_set_const_(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = value; +} + +// int64 lt = 2 [(.buf.validate.predefined) = { +inline bool Int64Rules::has_lt() const { + return less_than_case() == kLt; +} +inline void Int64Rules::set_has_lt() { + _impl_._oneof_case_[0] = kLt; +} +inline void Int64Rules::clear_lt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLt) { + _impl_.less_than_.lt_ = ::int64_t{0}; + clear_has_less_than(); + } +} +inline ::int64_t Int64Rules::lt() const { + // @@protoc_insertion_point(field_get:buf.validate.Int64Rules.lt) + return _internal_lt(); +} +inline void Int64Rules::set_lt(::int64_t value) { + if (less_than_case() != kLt) { + clear_less_than(); + set_has_lt(); + } + _impl_.less_than_.lt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Int64Rules.lt) +} +inline ::int64_t Int64Rules::_internal_lt() const { + if (less_than_case() == kLt) { + return _impl_.less_than_.lt_; + } + return ::int64_t{0}; +} + +// int64 lte = 3 [(.buf.validate.predefined) = { +inline bool Int64Rules::has_lte() const { + return less_than_case() == kLte; +} +inline void Int64Rules::set_has_lte() { + _impl_._oneof_case_[0] = kLte; +} +inline void Int64Rules::clear_lte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLte) { + _impl_.less_than_.lte_ = ::int64_t{0}; + clear_has_less_than(); + } +} +inline ::int64_t Int64Rules::lte() const { + // @@protoc_insertion_point(field_get:buf.validate.Int64Rules.lte) + return _internal_lte(); +} +inline void Int64Rules::set_lte(::int64_t value) { + if (less_than_case() != kLte) { + clear_less_than(); + set_has_lte(); + } + _impl_.less_than_.lte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Int64Rules.lte) +} +inline ::int64_t Int64Rules::_internal_lte() const { + if (less_than_case() == kLte) { + return _impl_.less_than_.lte_; + } + return ::int64_t{0}; +} + +// int64 gt = 4 [(.buf.validate.predefined) = { +inline bool Int64Rules::has_gt() const { + return greater_than_case() == kGt; +} +inline void Int64Rules::set_has_gt() { + _impl_._oneof_case_[1] = kGt; +} +inline void Int64Rules::clear_gt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGt) { + _impl_.greater_than_.gt_ = ::int64_t{0}; + clear_has_greater_than(); + } +} +inline ::int64_t Int64Rules::gt() const { + // @@protoc_insertion_point(field_get:buf.validate.Int64Rules.gt) + return _internal_gt(); +} +inline void Int64Rules::set_gt(::int64_t value) { + if (greater_than_case() != kGt) { + clear_greater_than(); + set_has_gt(); + } + _impl_.greater_than_.gt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Int64Rules.gt) +} +inline ::int64_t Int64Rules::_internal_gt() const { + if (greater_than_case() == kGt) { + return _impl_.greater_than_.gt_; + } + return ::int64_t{0}; +} + +// int64 gte = 5 [(.buf.validate.predefined) = { +inline bool Int64Rules::has_gte() const { + return greater_than_case() == kGte; +} +inline void Int64Rules::set_has_gte() { + _impl_._oneof_case_[1] = kGte; +} +inline void Int64Rules::clear_gte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGte) { + _impl_.greater_than_.gte_ = ::int64_t{0}; + clear_has_greater_than(); + } +} +inline ::int64_t Int64Rules::gte() const { + // @@protoc_insertion_point(field_get:buf.validate.Int64Rules.gte) + return _internal_gte(); +} +inline void Int64Rules::set_gte(::int64_t value) { + if (greater_than_case() != kGte) { + clear_greater_than(); + set_has_gte(); + } + _impl_.greater_than_.gte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Int64Rules.gte) +} +inline ::int64_t Int64Rules::_internal_gte() const { + if (greater_than_case() == kGte) { + return _impl_.greater_than_.gte_; + } + return ::int64_t{0}; +} + +// repeated int64 in = 6 [(.buf.validate.predefined) = { +inline int Int64Rules::_internal_in_size() const { + return _internal_in().size(); +} +inline int Int64Rules::in_size() const { + return _internal_in_size(); +} +inline void Int64Rules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::int64_t Int64Rules::in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.Int64Rules.in) + return _internal_in().Get(index); +} +inline void Int64Rules::set_in(int index, ::int64_t value) { + _internal_mutable_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.Int64Rules.in) +} +inline void Int64Rules::add_in(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.Int64Rules.in) +} +inline const ::google::protobuf::RepeatedField<::int64_t>& Int64Rules::in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.Int64Rules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL Int64Rules::mutable_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.Int64Rules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedField<::int64_t>& +Int64Rules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL +Int64Rules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated int64 not_in = 7 [(.buf.validate.predefined) = { +inline int Int64Rules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int Int64Rules::not_in_size() const { + return _internal_not_in_size(); +} +inline void Int64Rules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::int64_t Int64Rules::not_in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.Int64Rules.not_in) + return _internal_not_in().Get(index); +} +inline void Int64Rules::set_not_in(int index, ::int64_t value) { + _internal_mutable_not_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.Int64Rules.not_in) +} +inline void Int64Rules::add_not_in(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_not_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.Int64Rules.not_in) +} +inline const ::google::protobuf::RepeatedField<::int64_t>& Int64Rules::not_in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.Int64Rules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL Int64Rules::mutable_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.Int64Rules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedField<::int64_t>& +Int64Rules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL +Int64Rules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// repeated int64 example = 9 [(.buf.validate.predefined) = { +inline int Int64Rules::_internal_example_size() const { + return _internal_example().size(); +} +inline int Int64Rules::example_size() const { + return _internal_example_size(); +} +inline void Int64Rules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000008U); +} +inline ::int64_t Int64Rules::example(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.Int64Rules.example) + return _internal_example().Get(index); +} +inline void Int64Rules::set_example(int index, ::int64_t value) { + _internal_mutable_example()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.Int64Rules.example) +} +inline void Int64Rules::add_example(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_example()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_add:buf.validate.Int64Rules.example) +} +inline const ::google::protobuf::RepeatedField<::int64_t>& Int64Rules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.Int64Rules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL Int64Rules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.Int64Rules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedField<::int64_t>& +Int64Rules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL +Int64Rules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool Int64Rules::has_less_than() const { + return less_than_case() != LESS_THAN_NOT_SET; +} +inline void Int64Rules::clear_has_less_than() { + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} +inline bool Int64Rules::has_greater_than() const { + return greater_than_case() != GREATER_THAN_NOT_SET; +} +inline void Int64Rules::clear_has_greater_than() { + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} +inline Int64Rules::LessThanCase Int64Rules::less_than_case() const { + return Int64Rules::LessThanCase(_impl_._oneof_case_[0]); +} +inline Int64Rules::GreaterThanCase Int64Rules::greater_than_case() const { + return Int64Rules::GreaterThanCase(_impl_._oneof_case_[1]); +} +// ------------------------------------------------------------------- + +// UInt32Rules + +// optional uint32 const = 1 [(.buf.validate.predefined) = { +inline bool UInt32Rules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void UInt32Rules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = 0u; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline ::uint32_t UInt32Rules::const_() const { + // @@protoc_insertion_point(field_get:buf.validate.UInt32Rules.const) + return _internal_const_(); +} +inline void UInt32Rules::set_const_(::uint32_t value) { + _internal_set_const_(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.UInt32Rules.const) +} +inline ::uint32_t UInt32Rules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__; +} +inline void UInt32Rules::_internal_set_const_(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = value; +} + +// uint32 lt = 2 [(.buf.validate.predefined) = { +inline bool UInt32Rules::has_lt() const { + return less_than_case() == kLt; +} +inline void UInt32Rules::set_has_lt() { + _impl_._oneof_case_[0] = kLt; +} +inline void UInt32Rules::clear_lt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLt) { + _impl_.less_than_.lt_ = 0u; + clear_has_less_than(); + } +} +inline ::uint32_t UInt32Rules::lt() const { + // @@protoc_insertion_point(field_get:buf.validate.UInt32Rules.lt) + return _internal_lt(); +} +inline void UInt32Rules::set_lt(::uint32_t value) { + if (less_than_case() != kLt) { + clear_less_than(); + set_has_lt(); + } + _impl_.less_than_.lt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.UInt32Rules.lt) +} +inline ::uint32_t UInt32Rules::_internal_lt() const { + if (less_than_case() == kLt) { + return _impl_.less_than_.lt_; + } + return 0u; +} + +// uint32 lte = 3 [(.buf.validate.predefined) = { +inline bool UInt32Rules::has_lte() const { + return less_than_case() == kLte; +} +inline void UInt32Rules::set_has_lte() { + _impl_._oneof_case_[0] = kLte; +} +inline void UInt32Rules::clear_lte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLte) { + _impl_.less_than_.lte_ = 0u; + clear_has_less_than(); + } +} +inline ::uint32_t UInt32Rules::lte() const { + // @@protoc_insertion_point(field_get:buf.validate.UInt32Rules.lte) + return _internal_lte(); +} +inline void UInt32Rules::set_lte(::uint32_t value) { + if (less_than_case() != kLte) { + clear_less_than(); + set_has_lte(); + } + _impl_.less_than_.lte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.UInt32Rules.lte) +} +inline ::uint32_t UInt32Rules::_internal_lte() const { + if (less_than_case() == kLte) { + return _impl_.less_than_.lte_; + } + return 0u; +} + +// uint32 gt = 4 [(.buf.validate.predefined) = { +inline bool UInt32Rules::has_gt() const { + return greater_than_case() == kGt; +} +inline void UInt32Rules::set_has_gt() { + _impl_._oneof_case_[1] = kGt; +} +inline void UInt32Rules::clear_gt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGt) { + _impl_.greater_than_.gt_ = 0u; + clear_has_greater_than(); + } +} +inline ::uint32_t UInt32Rules::gt() const { + // @@protoc_insertion_point(field_get:buf.validate.UInt32Rules.gt) + return _internal_gt(); +} +inline void UInt32Rules::set_gt(::uint32_t value) { + if (greater_than_case() != kGt) { + clear_greater_than(); + set_has_gt(); + } + _impl_.greater_than_.gt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.UInt32Rules.gt) +} +inline ::uint32_t UInt32Rules::_internal_gt() const { + if (greater_than_case() == kGt) { + return _impl_.greater_than_.gt_; + } + return 0u; +} + +// uint32 gte = 5 [(.buf.validate.predefined) = { +inline bool UInt32Rules::has_gte() const { + return greater_than_case() == kGte; +} +inline void UInt32Rules::set_has_gte() { + _impl_._oneof_case_[1] = kGte; +} +inline void UInt32Rules::clear_gte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGte) { + _impl_.greater_than_.gte_ = 0u; + clear_has_greater_than(); + } +} +inline ::uint32_t UInt32Rules::gte() const { + // @@protoc_insertion_point(field_get:buf.validate.UInt32Rules.gte) + return _internal_gte(); +} +inline void UInt32Rules::set_gte(::uint32_t value) { + if (greater_than_case() != kGte) { + clear_greater_than(); + set_has_gte(); + } + _impl_.greater_than_.gte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.UInt32Rules.gte) +} +inline ::uint32_t UInt32Rules::_internal_gte() const { + if (greater_than_case() == kGte) { + return _impl_.greater_than_.gte_; + } + return 0u; +} + +// repeated uint32 in = 6 [(.buf.validate.predefined) = { +inline int UInt32Rules::_internal_in_size() const { + return _internal_in().size(); +} +inline int UInt32Rules::in_size() const { + return _internal_in_size(); +} +inline void UInt32Rules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::uint32_t UInt32Rules::in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.UInt32Rules.in) + return _internal_in().Get(index); +} +inline void UInt32Rules::set_in(int index, ::uint32_t value) { + _internal_mutable_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.UInt32Rules.in) +} +inline void UInt32Rules::add_in(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.UInt32Rules.in) +} +inline const ::google::protobuf::RepeatedField<::uint32_t>& UInt32Rules::in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.UInt32Rules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL UInt32Rules::mutable_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.UInt32Rules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedField<::uint32_t>& +UInt32Rules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL +UInt32Rules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated uint32 not_in = 7 [(.buf.validate.predefined) = { +inline int UInt32Rules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int UInt32Rules::not_in_size() const { + return _internal_not_in_size(); +} +inline void UInt32Rules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::uint32_t UInt32Rules::not_in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.UInt32Rules.not_in) + return _internal_not_in().Get(index); +} +inline void UInt32Rules::set_not_in(int index, ::uint32_t value) { + _internal_mutable_not_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.UInt32Rules.not_in) +} +inline void UInt32Rules::add_not_in(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_not_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.UInt32Rules.not_in) +} +inline const ::google::protobuf::RepeatedField<::uint32_t>& UInt32Rules::not_in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.UInt32Rules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL UInt32Rules::mutable_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.UInt32Rules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedField<::uint32_t>& +UInt32Rules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL +UInt32Rules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// repeated uint32 example = 8 [(.buf.validate.predefined) = { +inline int UInt32Rules::_internal_example_size() const { + return _internal_example().size(); +} +inline int UInt32Rules::example_size() const { + return _internal_example_size(); +} +inline void UInt32Rules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::uint32_t UInt32Rules::example(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.UInt32Rules.example) + return _internal_example().Get(index); +} +inline void UInt32Rules::set_example(int index, ::uint32_t value) { + _internal_mutable_example()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.UInt32Rules.example) +} +inline void UInt32Rules::add_example(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_example()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.UInt32Rules.example) +} +inline const ::google::protobuf::RepeatedField<::uint32_t>& UInt32Rules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.UInt32Rules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL UInt32Rules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.UInt32Rules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedField<::uint32_t>& +UInt32Rules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL +UInt32Rules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool UInt32Rules::has_less_than() const { + return less_than_case() != LESS_THAN_NOT_SET; +} +inline void UInt32Rules::clear_has_less_than() { + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} +inline bool UInt32Rules::has_greater_than() const { + return greater_than_case() != GREATER_THAN_NOT_SET; +} +inline void UInt32Rules::clear_has_greater_than() { + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} +inline UInt32Rules::LessThanCase UInt32Rules::less_than_case() const { + return UInt32Rules::LessThanCase(_impl_._oneof_case_[0]); +} +inline UInt32Rules::GreaterThanCase UInt32Rules::greater_than_case() const { + return UInt32Rules::GreaterThanCase(_impl_._oneof_case_[1]); +} +// ------------------------------------------------------------------- + +// UInt64Rules + +// optional uint64 const = 1 [(.buf.validate.predefined) = { +inline bool UInt64Rules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void UInt64Rules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = ::uint64_t{0u}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline ::uint64_t UInt64Rules::const_() const { + // @@protoc_insertion_point(field_get:buf.validate.UInt64Rules.const) + return _internal_const_(); +} +inline void UInt64Rules::set_const_(::uint64_t value) { + _internal_set_const_(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.UInt64Rules.const) +} +inline ::uint64_t UInt64Rules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__; +} +inline void UInt64Rules::_internal_set_const_(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = value; +} + +// uint64 lt = 2 [(.buf.validate.predefined) = { +inline bool UInt64Rules::has_lt() const { + return less_than_case() == kLt; +} +inline void UInt64Rules::set_has_lt() { + _impl_._oneof_case_[0] = kLt; +} +inline void UInt64Rules::clear_lt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLt) { + _impl_.less_than_.lt_ = ::uint64_t{0u}; + clear_has_less_than(); + } +} +inline ::uint64_t UInt64Rules::lt() const { + // @@protoc_insertion_point(field_get:buf.validate.UInt64Rules.lt) + return _internal_lt(); +} +inline void UInt64Rules::set_lt(::uint64_t value) { + if (less_than_case() != kLt) { + clear_less_than(); + set_has_lt(); + } + _impl_.less_than_.lt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.UInt64Rules.lt) +} +inline ::uint64_t UInt64Rules::_internal_lt() const { + if (less_than_case() == kLt) { + return _impl_.less_than_.lt_; + } + return ::uint64_t{0u}; +} + +// uint64 lte = 3 [(.buf.validate.predefined) = { +inline bool UInt64Rules::has_lte() const { + return less_than_case() == kLte; +} +inline void UInt64Rules::set_has_lte() { + _impl_._oneof_case_[0] = kLte; +} +inline void UInt64Rules::clear_lte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLte) { + _impl_.less_than_.lte_ = ::uint64_t{0u}; + clear_has_less_than(); + } +} +inline ::uint64_t UInt64Rules::lte() const { + // @@protoc_insertion_point(field_get:buf.validate.UInt64Rules.lte) + return _internal_lte(); +} +inline void UInt64Rules::set_lte(::uint64_t value) { + if (less_than_case() != kLte) { + clear_less_than(); + set_has_lte(); + } + _impl_.less_than_.lte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.UInt64Rules.lte) +} +inline ::uint64_t UInt64Rules::_internal_lte() const { + if (less_than_case() == kLte) { + return _impl_.less_than_.lte_; + } + return ::uint64_t{0u}; +} + +// uint64 gt = 4 [(.buf.validate.predefined) = { +inline bool UInt64Rules::has_gt() const { + return greater_than_case() == kGt; +} +inline void UInt64Rules::set_has_gt() { + _impl_._oneof_case_[1] = kGt; +} +inline void UInt64Rules::clear_gt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGt) { + _impl_.greater_than_.gt_ = ::uint64_t{0u}; + clear_has_greater_than(); + } +} +inline ::uint64_t UInt64Rules::gt() const { + // @@protoc_insertion_point(field_get:buf.validate.UInt64Rules.gt) + return _internal_gt(); +} +inline void UInt64Rules::set_gt(::uint64_t value) { + if (greater_than_case() != kGt) { + clear_greater_than(); + set_has_gt(); + } + _impl_.greater_than_.gt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.UInt64Rules.gt) +} +inline ::uint64_t UInt64Rules::_internal_gt() const { + if (greater_than_case() == kGt) { + return _impl_.greater_than_.gt_; + } + return ::uint64_t{0u}; +} + +// uint64 gte = 5 [(.buf.validate.predefined) = { +inline bool UInt64Rules::has_gte() const { + return greater_than_case() == kGte; +} +inline void UInt64Rules::set_has_gte() { + _impl_._oneof_case_[1] = kGte; +} +inline void UInt64Rules::clear_gte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGte) { + _impl_.greater_than_.gte_ = ::uint64_t{0u}; + clear_has_greater_than(); + } +} +inline ::uint64_t UInt64Rules::gte() const { + // @@protoc_insertion_point(field_get:buf.validate.UInt64Rules.gte) + return _internal_gte(); +} +inline void UInt64Rules::set_gte(::uint64_t value) { + if (greater_than_case() != kGte) { + clear_greater_than(); + set_has_gte(); + } + _impl_.greater_than_.gte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.UInt64Rules.gte) +} +inline ::uint64_t UInt64Rules::_internal_gte() const { + if (greater_than_case() == kGte) { + return _impl_.greater_than_.gte_; + } + return ::uint64_t{0u}; +} + +// repeated uint64 in = 6 [(.buf.validate.predefined) = { +inline int UInt64Rules::_internal_in_size() const { + return _internal_in().size(); +} +inline int UInt64Rules::in_size() const { + return _internal_in_size(); +} +inline void UInt64Rules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::uint64_t UInt64Rules::in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.UInt64Rules.in) + return _internal_in().Get(index); +} +inline void UInt64Rules::set_in(int index, ::uint64_t value) { + _internal_mutable_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.UInt64Rules.in) +} +inline void UInt64Rules::add_in(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.UInt64Rules.in) +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& UInt64Rules::in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.UInt64Rules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL UInt64Rules::mutable_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.UInt64Rules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& +UInt64Rules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL +UInt64Rules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated uint64 not_in = 7 [(.buf.validate.predefined) = { +inline int UInt64Rules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int UInt64Rules::not_in_size() const { + return _internal_not_in_size(); +} +inline void UInt64Rules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::uint64_t UInt64Rules::not_in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.UInt64Rules.not_in) + return _internal_not_in().Get(index); +} +inline void UInt64Rules::set_not_in(int index, ::uint64_t value) { + _internal_mutable_not_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.UInt64Rules.not_in) +} +inline void UInt64Rules::add_not_in(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_not_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.UInt64Rules.not_in) +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& UInt64Rules::not_in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.UInt64Rules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL UInt64Rules::mutable_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.UInt64Rules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& +UInt64Rules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL +UInt64Rules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// repeated uint64 example = 8 [(.buf.validate.predefined) = { +inline int UInt64Rules::_internal_example_size() const { + return _internal_example().size(); +} +inline int UInt64Rules::example_size() const { + return _internal_example_size(); +} +inline void UInt64Rules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::uint64_t UInt64Rules::example(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.UInt64Rules.example) + return _internal_example().Get(index); +} +inline void UInt64Rules::set_example(int index, ::uint64_t value) { + _internal_mutable_example()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.UInt64Rules.example) +} +inline void UInt64Rules::add_example(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_example()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.UInt64Rules.example) +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& UInt64Rules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.UInt64Rules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL UInt64Rules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.UInt64Rules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& +UInt64Rules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL +UInt64Rules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool UInt64Rules::has_less_than() const { + return less_than_case() != LESS_THAN_NOT_SET; +} +inline void UInt64Rules::clear_has_less_than() { + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} +inline bool UInt64Rules::has_greater_than() const { + return greater_than_case() != GREATER_THAN_NOT_SET; +} +inline void UInt64Rules::clear_has_greater_than() { + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} +inline UInt64Rules::LessThanCase UInt64Rules::less_than_case() const { + return UInt64Rules::LessThanCase(_impl_._oneof_case_[0]); +} +inline UInt64Rules::GreaterThanCase UInt64Rules::greater_than_case() const { + return UInt64Rules::GreaterThanCase(_impl_._oneof_case_[1]); +} +// ------------------------------------------------------------------- + +// SInt32Rules + +// optional sint32 const = 1 [(.buf.validate.predefined) = { +inline bool SInt32Rules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void SInt32Rules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = 0; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline ::int32_t SInt32Rules::const_() const { + // @@protoc_insertion_point(field_get:buf.validate.SInt32Rules.const) + return _internal_const_(); +} +inline void SInt32Rules::set_const_(::int32_t value) { + _internal_set_const_(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.SInt32Rules.const) +} +inline ::int32_t SInt32Rules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__; +} +inline void SInt32Rules::_internal_set_const_(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = value; +} + +// sint32 lt = 2 [(.buf.validate.predefined) = { +inline bool SInt32Rules::has_lt() const { + return less_than_case() == kLt; +} +inline void SInt32Rules::set_has_lt() { + _impl_._oneof_case_[0] = kLt; +} +inline void SInt32Rules::clear_lt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLt) { + _impl_.less_than_.lt_ = 0; + clear_has_less_than(); + } +} +inline ::int32_t SInt32Rules::lt() const { + // @@protoc_insertion_point(field_get:buf.validate.SInt32Rules.lt) + return _internal_lt(); +} +inline void SInt32Rules::set_lt(::int32_t value) { + if (less_than_case() != kLt) { + clear_less_than(); + set_has_lt(); + } + _impl_.less_than_.lt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SInt32Rules.lt) +} +inline ::int32_t SInt32Rules::_internal_lt() const { + if (less_than_case() == kLt) { + return _impl_.less_than_.lt_; + } + return 0; +} + +// sint32 lte = 3 [(.buf.validate.predefined) = { +inline bool SInt32Rules::has_lte() const { + return less_than_case() == kLte; +} +inline void SInt32Rules::set_has_lte() { + _impl_._oneof_case_[0] = kLte; +} +inline void SInt32Rules::clear_lte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLte) { + _impl_.less_than_.lte_ = 0; + clear_has_less_than(); + } +} +inline ::int32_t SInt32Rules::lte() const { + // @@protoc_insertion_point(field_get:buf.validate.SInt32Rules.lte) + return _internal_lte(); +} +inline void SInt32Rules::set_lte(::int32_t value) { + if (less_than_case() != kLte) { + clear_less_than(); + set_has_lte(); + } + _impl_.less_than_.lte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SInt32Rules.lte) +} +inline ::int32_t SInt32Rules::_internal_lte() const { + if (less_than_case() == kLte) { + return _impl_.less_than_.lte_; + } + return 0; +} + +// sint32 gt = 4 [(.buf.validate.predefined) = { +inline bool SInt32Rules::has_gt() const { + return greater_than_case() == kGt; +} +inline void SInt32Rules::set_has_gt() { + _impl_._oneof_case_[1] = kGt; +} +inline void SInt32Rules::clear_gt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGt) { + _impl_.greater_than_.gt_ = 0; + clear_has_greater_than(); + } +} +inline ::int32_t SInt32Rules::gt() const { + // @@protoc_insertion_point(field_get:buf.validate.SInt32Rules.gt) + return _internal_gt(); +} +inline void SInt32Rules::set_gt(::int32_t value) { + if (greater_than_case() != kGt) { + clear_greater_than(); + set_has_gt(); + } + _impl_.greater_than_.gt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SInt32Rules.gt) +} +inline ::int32_t SInt32Rules::_internal_gt() const { + if (greater_than_case() == kGt) { + return _impl_.greater_than_.gt_; + } + return 0; +} + +// sint32 gte = 5 [(.buf.validate.predefined) = { +inline bool SInt32Rules::has_gte() const { + return greater_than_case() == kGte; +} +inline void SInt32Rules::set_has_gte() { + _impl_._oneof_case_[1] = kGte; +} +inline void SInt32Rules::clear_gte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGte) { + _impl_.greater_than_.gte_ = 0; + clear_has_greater_than(); + } +} +inline ::int32_t SInt32Rules::gte() const { + // @@protoc_insertion_point(field_get:buf.validate.SInt32Rules.gte) + return _internal_gte(); +} +inline void SInt32Rules::set_gte(::int32_t value) { + if (greater_than_case() != kGte) { + clear_greater_than(); + set_has_gte(); + } + _impl_.greater_than_.gte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SInt32Rules.gte) +} +inline ::int32_t SInt32Rules::_internal_gte() const { + if (greater_than_case() == kGte) { + return _impl_.greater_than_.gte_; + } + return 0; +} + +// repeated sint32 in = 6 [(.buf.validate.predefined) = { +inline int SInt32Rules::_internal_in_size() const { + return _internal_in().size(); +} +inline int SInt32Rules::in_size() const { + return _internal_in_size(); +} +inline void SInt32Rules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::int32_t SInt32Rules::in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.SInt32Rules.in) + return _internal_in().Get(index); +} +inline void SInt32Rules::set_in(int index, ::int32_t value) { + _internal_mutable_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.SInt32Rules.in) +} +inline void SInt32Rules::add_in(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.SInt32Rules.in) +} +inline const ::google::protobuf::RepeatedField<::int32_t>& SInt32Rules::in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.SInt32Rules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL SInt32Rules::mutable_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.SInt32Rules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedField<::int32_t>& +SInt32Rules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL +SInt32Rules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated sint32 not_in = 7 [(.buf.validate.predefined) = { +inline int SInt32Rules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int SInt32Rules::not_in_size() const { + return _internal_not_in_size(); +} +inline void SInt32Rules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::int32_t SInt32Rules::not_in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.SInt32Rules.not_in) + return _internal_not_in().Get(index); +} +inline void SInt32Rules::set_not_in(int index, ::int32_t value) { + _internal_mutable_not_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.SInt32Rules.not_in) +} +inline void SInt32Rules::add_not_in(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_not_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.SInt32Rules.not_in) +} +inline const ::google::protobuf::RepeatedField<::int32_t>& SInt32Rules::not_in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.SInt32Rules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL SInt32Rules::mutable_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.SInt32Rules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedField<::int32_t>& +SInt32Rules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL +SInt32Rules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// repeated sint32 example = 8 [(.buf.validate.predefined) = { +inline int SInt32Rules::_internal_example_size() const { + return _internal_example().size(); +} +inline int SInt32Rules::example_size() const { + return _internal_example_size(); +} +inline void SInt32Rules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::int32_t SInt32Rules::example(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.SInt32Rules.example) + return _internal_example().Get(index); +} +inline void SInt32Rules::set_example(int index, ::int32_t value) { + _internal_mutable_example()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.SInt32Rules.example) +} +inline void SInt32Rules::add_example(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_example()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.SInt32Rules.example) +} +inline const ::google::protobuf::RepeatedField<::int32_t>& SInt32Rules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.SInt32Rules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL SInt32Rules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.SInt32Rules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedField<::int32_t>& +SInt32Rules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL +SInt32Rules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool SInt32Rules::has_less_than() const { + return less_than_case() != LESS_THAN_NOT_SET; +} +inline void SInt32Rules::clear_has_less_than() { + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} +inline bool SInt32Rules::has_greater_than() const { + return greater_than_case() != GREATER_THAN_NOT_SET; +} +inline void SInt32Rules::clear_has_greater_than() { + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} +inline SInt32Rules::LessThanCase SInt32Rules::less_than_case() const { + return SInt32Rules::LessThanCase(_impl_._oneof_case_[0]); +} +inline SInt32Rules::GreaterThanCase SInt32Rules::greater_than_case() const { + return SInt32Rules::GreaterThanCase(_impl_._oneof_case_[1]); +} +// ------------------------------------------------------------------- + +// SInt64Rules + +// optional sint64 const = 1 [(.buf.validate.predefined) = { +inline bool SInt64Rules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void SInt64Rules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = ::int64_t{0}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline ::int64_t SInt64Rules::const_() const { + // @@protoc_insertion_point(field_get:buf.validate.SInt64Rules.const) + return _internal_const_(); +} +inline void SInt64Rules::set_const_(::int64_t value) { + _internal_set_const_(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.SInt64Rules.const) +} +inline ::int64_t SInt64Rules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__; +} +inline void SInt64Rules::_internal_set_const_(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = value; +} + +// sint64 lt = 2 [(.buf.validate.predefined) = { +inline bool SInt64Rules::has_lt() const { + return less_than_case() == kLt; +} +inline void SInt64Rules::set_has_lt() { + _impl_._oneof_case_[0] = kLt; +} +inline void SInt64Rules::clear_lt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLt) { + _impl_.less_than_.lt_ = ::int64_t{0}; + clear_has_less_than(); + } +} +inline ::int64_t SInt64Rules::lt() const { + // @@protoc_insertion_point(field_get:buf.validate.SInt64Rules.lt) + return _internal_lt(); +} +inline void SInt64Rules::set_lt(::int64_t value) { + if (less_than_case() != kLt) { + clear_less_than(); + set_has_lt(); + } + _impl_.less_than_.lt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SInt64Rules.lt) +} +inline ::int64_t SInt64Rules::_internal_lt() const { + if (less_than_case() == kLt) { + return _impl_.less_than_.lt_; + } + return ::int64_t{0}; +} + +// sint64 lte = 3 [(.buf.validate.predefined) = { +inline bool SInt64Rules::has_lte() const { + return less_than_case() == kLte; +} +inline void SInt64Rules::set_has_lte() { + _impl_._oneof_case_[0] = kLte; +} +inline void SInt64Rules::clear_lte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLte) { + _impl_.less_than_.lte_ = ::int64_t{0}; + clear_has_less_than(); + } +} +inline ::int64_t SInt64Rules::lte() const { + // @@protoc_insertion_point(field_get:buf.validate.SInt64Rules.lte) + return _internal_lte(); +} +inline void SInt64Rules::set_lte(::int64_t value) { + if (less_than_case() != kLte) { + clear_less_than(); + set_has_lte(); + } + _impl_.less_than_.lte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SInt64Rules.lte) +} +inline ::int64_t SInt64Rules::_internal_lte() const { + if (less_than_case() == kLte) { + return _impl_.less_than_.lte_; + } + return ::int64_t{0}; +} + +// sint64 gt = 4 [(.buf.validate.predefined) = { +inline bool SInt64Rules::has_gt() const { + return greater_than_case() == kGt; +} +inline void SInt64Rules::set_has_gt() { + _impl_._oneof_case_[1] = kGt; +} +inline void SInt64Rules::clear_gt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGt) { + _impl_.greater_than_.gt_ = ::int64_t{0}; + clear_has_greater_than(); + } +} +inline ::int64_t SInt64Rules::gt() const { + // @@protoc_insertion_point(field_get:buf.validate.SInt64Rules.gt) + return _internal_gt(); +} +inline void SInt64Rules::set_gt(::int64_t value) { + if (greater_than_case() != kGt) { + clear_greater_than(); + set_has_gt(); + } + _impl_.greater_than_.gt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SInt64Rules.gt) +} +inline ::int64_t SInt64Rules::_internal_gt() const { + if (greater_than_case() == kGt) { + return _impl_.greater_than_.gt_; + } + return ::int64_t{0}; +} + +// sint64 gte = 5 [(.buf.validate.predefined) = { +inline bool SInt64Rules::has_gte() const { + return greater_than_case() == kGte; +} +inline void SInt64Rules::set_has_gte() { + _impl_._oneof_case_[1] = kGte; +} +inline void SInt64Rules::clear_gte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGte) { + _impl_.greater_than_.gte_ = ::int64_t{0}; + clear_has_greater_than(); + } +} +inline ::int64_t SInt64Rules::gte() const { + // @@protoc_insertion_point(field_get:buf.validate.SInt64Rules.gte) + return _internal_gte(); +} +inline void SInt64Rules::set_gte(::int64_t value) { + if (greater_than_case() != kGte) { + clear_greater_than(); + set_has_gte(); + } + _impl_.greater_than_.gte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SInt64Rules.gte) +} +inline ::int64_t SInt64Rules::_internal_gte() const { + if (greater_than_case() == kGte) { + return _impl_.greater_than_.gte_; + } + return ::int64_t{0}; +} + +// repeated sint64 in = 6 [(.buf.validate.predefined) = { +inline int SInt64Rules::_internal_in_size() const { + return _internal_in().size(); +} +inline int SInt64Rules::in_size() const { + return _internal_in_size(); +} +inline void SInt64Rules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::int64_t SInt64Rules::in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.SInt64Rules.in) + return _internal_in().Get(index); +} +inline void SInt64Rules::set_in(int index, ::int64_t value) { + _internal_mutable_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.SInt64Rules.in) +} +inline void SInt64Rules::add_in(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.SInt64Rules.in) +} +inline const ::google::protobuf::RepeatedField<::int64_t>& SInt64Rules::in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.SInt64Rules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL SInt64Rules::mutable_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.SInt64Rules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedField<::int64_t>& +SInt64Rules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL +SInt64Rules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated sint64 not_in = 7 [(.buf.validate.predefined) = { +inline int SInt64Rules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int SInt64Rules::not_in_size() const { + return _internal_not_in_size(); +} +inline void SInt64Rules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::int64_t SInt64Rules::not_in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.SInt64Rules.not_in) + return _internal_not_in().Get(index); +} +inline void SInt64Rules::set_not_in(int index, ::int64_t value) { + _internal_mutable_not_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.SInt64Rules.not_in) +} +inline void SInt64Rules::add_not_in(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_not_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.SInt64Rules.not_in) +} +inline const ::google::protobuf::RepeatedField<::int64_t>& SInt64Rules::not_in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.SInt64Rules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL SInt64Rules::mutable_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.SInt64Rules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedField<::int64_t>& +SInt64Rules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL +SInt64Rules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// repeated sint64 example = 8 [(.buf.validate.predefined) = { +inline int SInt64Rules::_internal_example_size() const { + return _internal_example().size(); +} +inline int SInt64Rules::example_size() const { + return _internal_example_size(); +} +inline void SInt64Rules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::int64_t SInt64Rules::example(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.SInt64Rules.example) + return _internal_example().Get(index); +} +inline void SInt64Rules::set_example(int index, ::int64_t value) { + _internal_mutable_example()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.SInt64Rules.example) +} +inline void SInt64Rules::add_example(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_example()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.SInt64Rules.example) +} +inline const ::google::protobuf::RepeatedField<::int64_t>& SInt64Rules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.SInt64Rules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL SInt64Rules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.SInt64Rules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedField<::int64_t>& +SInt64Rules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL +SInt64Rules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool SInt64Rules::has_less_than() const { + return less_than_case() != LESS_THAN_NOT_SET; +} +inline void SInt64Rules::clear_has_less_than() { + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} +inline bool SInt64Rules::has_greater_than() const { + return greater_than_case() != GREATER_THAN_NOT_SET; +} +inline void SInt64Rules::clear_has_greater_than() { + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} +inline SInt64Rules::LessThanCase SInt64Rules::less_than_case() const { + return SInt64Rules::LessThanCase(_impl_._oneof_case_[0]); +} +inline SInt64Rules::GreaterThanCase SInt64Rules::greater_than_case() const { + return SInt64Rules::GreaterThanCase(_impl_._oneof_case_[1]); +} +// ------------------------------------------------------------------- + +// Fixed32Rules + +// optional fixed32 const = 1 [(.buf.validate.predefined) = { +inline bool Fixed32Rules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void Fixed32Rules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = 0u; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline ::uint32_t Fixed32Rules::const_() const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed32Rules.const) + return _internal_const_(); +} +inline void Fixed32Rules::set_const_(::uint32_t value) { + _internal_set_const_(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.Fixed32Rules.const) +} +inline ::uint32_t Fixed32Rules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__; +} +inline void Fixed32Rules::_internal_set_const_(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = value; +} + +// fixed32 lt = 2 [(.buf.validate.predefined) = { +inline bool Fixed32Rules::has_lt() const { + return less_than_case() == kLt; +} +inline void Fixed32Rules::set_has_lt() { + _impl_._oneof_case_[0] = kLt; +} +inline void Fixed32Rules::clear_lt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLt) { + _impl_.less_than_.lt_ = 0u; + clear_has_less_than(); + } +} +inline ::uint32_t Fixed32Rules::lt() const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed32Rules.lt) + return _internal_lt(); +} +inline void Fixed32Rules::set_lt(::uint32_t value) { + if (less_than_case() != kLt) { + clear_less_than(); + set_has_lt(); + } + _impl_.less_than_.lt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Fixed32Rules.lt) +} +inline ::uint32_t Fixed32Rules::_internal_lt() const { + if (less_than_case() == kLt) { + return _impl_.less_than_.lt_; + } + return 0u; +} + +// fixed32 lte = 3 [(.buf.validate.predefined) = { +inline bool Fixed32Rules::has_lte() const { + return less_than_case() == kLte; +} +inline void Fixed32Rules::set_has_lte() { + _impl_._oneof_case_[0] = kLte; +} +inline void Fixed32Rules::clear_lte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLte) { + _impl_.less_than_.lte_ = 0u; + clear_has_less_than(); + } +} +inline ::uint32_t Fixed32Rules::lte() const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed32Rules.lte) + return _internal_lte(); +} +inline void Fixed32Rules::set_lte(::uint32_t value) { + if (less_than_case() != kLte) { + clear_less_than(); + set_has_lte(); + } + _impl_.less_than_.lte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Fixed32Rules.lte) +} +inline ::uint32_t Fixed32Rules::_internal_lte() const { + if (less_than_case() == kLte) { + return _impl_.less_than_.lte_; + } + return 0u; +} + +// fixed32 gt = 4 [(.buf.validate.predefined) = { +inline bool Fixed32Rules::has_gt() const { + return greater_than_case() == kGt; +} +inline void Fixed32Rules::set_has_gt() { + _impl_._oneof_case_[1] = kGt; +} +inline void Fixed32Rules::clear_gt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGt) { + _impl_.greater_than_.gt_ = 0u; + clear_has_greater_than(); + } +} +inline ::uint32_t Fixed32Rules::gt() const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed32Rules.gt) + return _internal_gt(); +} +inline void Fixed32Rules::set_gt(::uint32_t value) { + if (greater_than_case() != kGt) { + clear_greater_than(); + set_has_gt(); + } + _impl_.greater_than_.gt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Fixed32Rules.gt) +} +inline ::uint32_t Fixed32Rules::_internal_gt() const { + if (greater_than_case() == kGt) { + return _impl_.greater_than_.gt_; + } + return 0u; +} + +// fixed32 gte = 5 [(.buf.validate.predefined) = { +inline bool Fixed32Rules::has_gte() const { + return greater_than_case() == kGte; +} +inline void Fixed32Rules::set_has_gte() { + _impl_._oneof_case_[1] = kGte; +} +inline void Fixed32Rules::clear_gte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGte) { + _impl_.greater_than_.gte_ = 0u; + clear_has_greater_than(); + } +} +inline ::uint32_t Fixed32Rules::gte() const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed32Rules.gte) + return _internal_gte(); +} +inline void Fixed32Rules::set_gte(::uint32_t value) { + if (greater_than_case() != kGte) { + clear_greater_than(); + set_has_gte(); + } + _impl_.greater_than_.gte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Fixed32Rules.gte) +} +inline ::uint32_t Fixed32Rules::_internal_gte() const { + if (greater_than_case() == kGte) { + return _impl_.greater_than_.gte_; + } + return 0u; +} + +// repeated fixed32 in = 6 [(.buf.validate.predefined) = { +inline int Fixed32Rules::_internal_in_size() const { + return _internal_in().size(); +} +inline int Fixed32Rules::in_size() const { + return _internal_in_size(); +} +inline void Fixed32Rules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::uint32_t Fixed32Rules::in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed32Rules.in) + return _internal_in().Get(index); +} +inline void Fixed32Rules::set_in(int index, ::uint32_t value) { + _internal_mutable_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.Fixed32Rules.in) +} +inline void Fixed32Rules::add_in(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.Fixed32Rules.in) +} +inline const ::google::protobuf::RepeatedField<::uint32_t>& Fixed32Rules::in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.Fixed32Rules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL Fixed32Rules::mutable_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.Fixed32Rules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedField<::uint32_t>& +Fixed32Rules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL +Fixed32Rules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated fixed32 not_in = 7 [(.buf.validate.predefined) = { +inline int Fixed32Rules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int Fixed32Rules::not_in_size() const { + return _internal_not_in_size(); +} +inline void Fixed32Rules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::uint32_t Fixed32Rules::not_in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed32Rules.not_in) + return _internal_not_in().Get(index); +} +inline void Fixed32Rules::set_not_in(int index, ::uint32_t value) { + _internal_mutable_not_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.Fixed32Rules.not_in) +} +inline void Fixed32Rules::add_not_in(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_not_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.Fixed32Rules.not_in) +} +inline const ::google::protobuf::RepeatedField<::uint32_t>& Fixed32Rules::not_in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.Fixed32Rules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL Fixed32Rules::mutable_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.Fixed32Rules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedField<::uint32_t>& +Fixed32Rules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL +Fixed32Rules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// repeated fixed32 example = 8 [(.buf.validate.predefined) = { +inline int Fixed32Rules::_internal_example_size() const { + return _internal_example().size(); +} +inline int Fixed32Rules::example_size() const { + return _internal_example_size(); +} +inline void Fixed32Rules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::uint32_t Fixed32Rules::example(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed32Rules.example) + return _internal_example().Get(index); +} +inline void Fixed32Rules::set_example(int index, ::uint32_t value) { + _internal_mutable_example()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.Fixed32Rules.example) +} +inline void Fixed32Rules::add_example(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_example()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.Fixed32Rules.example) +} +inline const ::google::protobuf::RepeatedField<::uint32_t>& Fixed32Rules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.Fixed32Rules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL Fixed32Rules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.Fixed32Rules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedField<::uint32_t>& +Fixed32Rules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedField<::uint32_t>* PROTOBUF_NONNULL +Fixed32Rules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool Fixed32Rules::has_less_than() const { + return less_than_case() != LESS_THAN_NOT_SET; +} +inline void Fixed32Rules::clear_has_less_than() { + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} +inline bool Fixed32Rules::has_greater_than() const { + return greater_than_case() != GREATER_THAN_NOT_SET; +} +inline void Fixed32Rules::clear_has_greater_than() { + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} +inline Fixed32Rules::LessThanCase Fixed32Rules::less_than_case() const { + return Fixed32Rules::LessThanCase(_impl_._oneof_case_[0]); +} +inline Fixed32Rules::GreaterThanCase Fixed32Rules::greater_than_case() const { + return Fixed32Rules::GreaterThanCase(_impl_._oneof_case_[1]); +} +// ------------------------------------------------------------------- + +// Fixed64Rules + +// optional fixed64 const = 1 [(.buf.validate.predefined) = { +inline bool Fixed64Rules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void Fixed64Rules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = ::uint64_t{0u}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline ::uint64_t Fixed64Rules::const_() const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed64Rules.const) + return _internal_const_(); +} +inline void Fixed64Rules::set_const_(::uint64_t value) { + _internal_set_const_(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.Fixed64Rules.const) +} +inline ::uint64_t Fixed64Rules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__; +} +inline void Fixed64Rules::_internal_set_const_(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = value; +} + +// fixed64 lt = 2 [(.buf.validate.predefined) = { +inline bool Fixed64Rules::has_lt() const { + return less_than_case() == kLt; +} +inline void Fixed64Rules::set_has_lt() { + _impl_._oneof_case_[0] = kLt; +} +inline void Fixed64Rules::clear_lt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLt) { + _impl_.less_than_.lt_ = ::uint64_t{0u}; + clear_has_less_than(); + } +} +inline ::uint64_t Fixed64Rules::lt() const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed64Rules.lt) + return _internal_lt(); +} +inline void Fixed64Rules::set_lt(::uint64_t value) { + if (less_than_case() != kLt) { + clear_less_than(); + set_has_lt(); + } + _impl_.less_than_.lt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Fixed64Rules.lt) +} +inline ::uint64_t Fixed64Rules::_internal_lt() const { + if (less_than_case() == kLt) { + return _impl_.less_than_.lt_; + } + return ::uint64_t{0u}; +} + +// fixed64 lte = 3 [(.buf.validate.predefined) = { +inline bool Fixed64Rules::has_lte() const { + return less_than_case() == kLte; +} +inline void Fixed64Rules::set_has_lte() { + _impl_._oneof_case_[0] = kLte; +} +inline void Fixed64Rules::clear_lte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLte) { + _impl_.less_than_.lte_ = ::uint64_t{0u}; + clear_has_less_than(); + } +} +inline ::uint64_t Fixed64Rules::lte() const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed64Rules.lte) + return _internal_lte(); +} +inline void Fixed64Rules::set_lte(::uint64_t value) { + if (less_than_case() != kLte) { + clear_less_than(); + set_has_lte(); + } + _impl_.less_than_.lte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Fixed64Rules.lte) +} +inline ::uint64_t Fixed64Rules::_internal_lte() const { + if (less_than_case() == kLte) { + return _impl_.less_than_.lte_; + } + return ::uint64_t{0u}; +} + +// fixed64 gt = 4 [(.buf.validate.predefined) = { +inline bool Fixed64Rules::has_gt() const { + return greater_than_case() == kGt; +} +inline void Fixed64Rules::set_has_gt() { + _impl_._oneof_case_[1] = kGt; +} +inline void Fixed64Rules::clear_gt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGt) { + _impl_.greater_than_.gt_ = ::uint64_t{0u}; + clear_has_greater_than(); + } +} +inline ::uint64_t Fixed64Rules::gt() const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed64Rules.gt) + return _internal_gt(); +} +inline void Fixed64Rules::set_gt(::uint64_t value) { + if (greater_than_case() != kGt) { + clear_greater_than(); + set_has_gt(); + } + _impl_.greater_than_.gt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Fixed64Rules.gt) +} +inline ::uint64_t Fixed64Rules::_internal_gt() const { + if (greater_than_case() == kGt) { + return _impl_.greater_than_.gt_; + } + return ::uint64_t{0u}; +} + +// fixed64 gte = 5 [(.buf.validate.predefined) = { +inline bool Fixed64Rules::has_gte() const { + return greater_than_case() == kGte; +} +inline void Fixed64Rules::set_has_gte() { + _impl_._oneof_case_[1] = kGte; +} +inline void Fixed64Rules::clear_gte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGte) { + _impl_.greater_than_.gte_ = ::uint64_t{0u}; + clear_has_greater_than(); + } +} +inline ::uint64_t Fixed64Rules::gte() const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed64Rules.gte) + return _internal_gte(); +} +inline void Fixed64Rules::set_gte(::uint64_t value) { + if (greater_than_case() != kGte) { + clear_greater_than(); + set_has_gte(); + } + _impl_.greater_than_.gte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.Fixed64Rules.gte) +} +inline ::uint64_t Fixed64Rules::_internal_gte() const { + if (greater_than_case() == kGte) { + return _impl_.greater_than_.gte_; + } + return ::uint64_t{0u}; +} + +// repeated fixed64 in = 6 [(.buf.validate.predefined) = { +inline int Fixed64Rules::_internal_in_size() const { + return _internal_in().size(); +} +inline int Fixed64Rules::in_size() const { + return _internal_in_size(); +} +inline void Fixed64Rules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::uint64_t Fixed64Rules::in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed64Rules.in) + return _internal_in().Get(index); +} +inline void Fixed64Rules::set_in(int index, ::uint64_t value) { + _internal_mutable_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.Fixed64Rules.in) +} +inline void Fixed64Rules::add_in(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.Fixed64Rules.in) +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& Fixed64Rules::in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.Fixed64Rules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL Fixed64Rules::mutable_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.Fixed64Rules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& +Fixed64Rules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL +Fixed64Rules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated fixed64 not_in = 7 [(.buf.validate.predefined) = { +inline int Fixed64Rules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int Fixed64Rules::not_in_size() const { + return _internal_not_in_size(); +} +inline void Fixed64Rules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::uint64_t Fixed64Rules::not_in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed64Rules.not_in) + return _internal_not_in().Get(index); +} +inline void Fixed64Rules::set_not_in(int index, ::uint64_t value) { + _internal_mutable_not_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.Fixed64Rules.not_in) +} +inline void Fixed64Rules::add_not_in(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_not_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.Fixed64Rules.not_in) +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& Fixed64Rules::not_in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.Fixed64Rules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL Fixed64Rules::mutable_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.Fixed64Rules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& +Fixed64Rules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL +Fixed64Rules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// repeated fixed64 example = 8 [(.buf.validate.predefined) = { +inline int Fixed64Rules::_internal_example_size() const { + return _internal_example().size(); +} +inline int Fixed64Rules::example_size() const { + return _internal_example_size(); +} +inline void Fixed64Rules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::uint64_t Fixed64Rules::example(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.Fixed64Rules.example) + return _internal_example().Get(index); +} +inline void Fixed64Rules::set_example(int index, ::uint64_t value) { + _internal_mutable_example()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.Fixed64Rules.example) +} +inline void Fixed64Rules::add_example(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_example()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.Fixed64Rules.example) +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& Fixed64Rules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.Fixed64Rules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL Fixed64Rules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.Fixed64Rules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& +Fixed64Rules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL +Fixed64Rules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool Fixed64Rules::has_less_than() const { + return less_than_case() != LESS_THAN_NOT_SET; +} +inline void Fixed64Rules::clear_has_less_than() { + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} +inline bool Fixed64Rules::has_greater_than() const { + return greater_than_case() != GREATER_THAN_NOT_SET; +} +inline void Fixed64Rules::clear_has_greater_than() { + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} +inline Fixed64Rules::LessThanCase Fixed64Rules::less_than_case() const { + return Fixed64Rules::LessThanCase(_impl_._oneof_case_[0]); +} +inline Fixed64Rules::GreaterThanCase Fixed64Rules::greater_than_case() const { + return Fixed64Rules::GreaterThanCase(_impl_._oneof_case_[1]); +} +// ------------------------------------------------------------------- + +// SFixed32Rules + +// optional sfixed32 const = 1 [(.buf.validate.predefined) = { +inline bool SFixed32Rules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void SFixed32Rules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = 0; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline ::int32_t SFixed32Rules::const_() const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed32Rules.const) + return _internal_const_(); +} +inline void SFixed32Rules::set_const_(::int32_t value) { + _internal_set_const_(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.SFixed32Rules.const) +} +inline ::int32_t SFixed32Rules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__; +} +inline void SFixed32Rules::_internal_set_const_(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = value; +} + +// sfixed32 lt = 2 [(.buf.validate.predefined) = { +inline bool SFixed32Rules::has_lt() const { + return less_than_case() == kLt; +} +inline void SFixed32Rules::set_has_lt() { + _impl_._oneof_case_[0] = kLt; +} +inline void SFixed32Rules::clear_lt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLt) { + _impl_.less_than_.lt_ = 0; + clear_has_less_than(); + } +} +inline ::int32_t SFixed32Rules::lt() const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed32Rules.lt) + return _internal_lt(); +} +inline void SFixed32Rules::set_lt(::int32_t value) { + if (less_than_case() != kLt) { + clear_less_than(); + set_has_lt(); + } + _impl_.less_than_.lt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SFixed32Rules.lt) +} +inline ::int32_t SFixed32Rules::_internal_lt() const { + if (less_than_case() == kLt) { + return _impl_.less_than_.lt_; + } + return 0; +} + +// sfixed32 lte = 3 [(.buf.validate.predefined) = { +inline bool SFixed32Rules::has_lte() const { + return less_than_case() == kLte; +} +inline void SFixed32Rules::set_has_lte() { + _impl_._oneof_case_[0] = kLte; +} +inline void SFixed32Rules::clear_lte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLte) { + _impl_.less_than_.lte_ = 0; + clear_has_less_than(); + } +} +inline ::int32_t SFixed32Rules::lte() const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed32Rules.lte) + return _internal_lte(); +} +inline void SFixed32Rules::set_lte(::int32_t value) { + if (less_than_case() != kLte) { + clear_less_than(); + set_has_lte(); + } + _impl_.less_than_.lte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SFixed32Rules.lte) +} +inline ::int32_t SFixed32Rules::_internal_lte() const { + if (less_than_case() == kLte) { + return _impl_.less_than_.lte_; + } + return 0; +} + +// sfixed32 gt = 4 [(.buf.validate.predefined) = { +inline bool SFixed32Rules::has_gt() const { + return greater_than_case() == kGt; +} +inline void SFixed32Rules::set_has_gt() { + _impl_._oneof_case_[1] = kGt; +} +inline void SFixed32Rules::clear_gt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGt) { + _impl_.greater_than_.gt_ = 0; + clear_has_greater_than(); + } +} +inline ::int32_t SFixed32Rules::gt() const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed32Rules.gt) + return _internal_gt(); +} +inline void SFixed32Rules::set_gt(::int32_t value) { + if (greater_than_case() != kGt) { + clear_greater_than(); + set_has_gt(); + } + _impl_.greater_than_.gt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SFixed32Rules.gt) +} +inline ::int32_t SFixed32Rules::_internal_gt() const { + if (greater_than_case() == kGt) { + return _impl_.greater_than_.gt_; + } + return 0; +} + +// sfixed32 gte = 5 [(.buf.validate.predefined) = { +inline bool SFixed32Rules::has_gte() const { + return greater_than_case() == kGte; +} +inline void SFixed32Rules::set_has_gte() { + _impl_._oneof_case_[1] = kGte; +} +inline void SFixed32Rules::clear_gte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGte) { + _impl_.greater_than_.gte_ = 0; + clear_has_greater_than(); + } +} +inline ::int32_t SFixed32Rules::gte() const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed32Rules.gte) + return _internal_gte(); +} +inline void SFixed32Rules::set_gte(::int32_t value) { + if (greater_than_case() != kGte) { + clear_greater_than(); + set_has_gte(); + } + _impl_.greater_than_.gte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SFixed32Rules.gte) +} +inline ::int32_t SFixed32Rules::_internal_gte() const { + if (greater_than_case() == kGte) { + return _impl_.greater_than_.gte_; + } + return 0; +} + +// repeated sfixed32 in = 6 [(.buf.validate.predefined) = { +inline int SFixed32Rules::_internal_in_size() const { + return _internal_in().size(); +} +inline int SFixed32Rules::in_size() const { + return _internal_in_size(); +} +inline void SFixed32Rules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::int32_t SFixed32Rules::in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed32Rules.in) + return _internal_in().Get(index); +} +inline void SFixed32Rules::set_in(int index, ::int32_t value) { + _internal_mutable_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.SFixed32Rules.in) +} +inline void SFixed32Rules::add_in(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.SFixed32Rules.in) +} +inline const ::google::protobuf::RepeatedField<::int32_t>& SFixed32Rules::in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.SFixed32Rules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL SFixed32Rules::mutable_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.SFixed32Rules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedField<::int32_t>& +SFixed32Rules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL +SFixed32Rules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated sfixed32 not_in = 7 [(.buf.validate.predefined) = { +inline int SFixed32Rules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int SFixed32Rules::not_in_size() const { + return _internal_not_in_size(); +} +inline void SFixed32Rules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::int32_t SFixed32Rules::not_in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed32Rules.not_in) + return _internal_not_in().Get(index); +} +inline void SFixed32Rules::set_not_in(int index, ::int32_t value) { + _internal_mutable_not_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.SFixed32Rules.not_in) +} +inline void SFixed32Rules::add_not_in(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_not_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.SFixed32Rules.not_in) +} +inline const ::google::protobuf::RepeatedField<::int32_t>& SFixed32Rules::not_in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.SFixed32Rules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL SFixed32Rules::mutable_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.SFixed32Rules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedField<::int32_t>& +SFixed32Rules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL +SFixed32Rules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// repeated sfixed32 example = 8 [(.buf.validate.predefined) = { +inline int SFixed32Rules::_internal_example_size() const { + return _internal_example().size(); +} +inline int SFixed32Rules::example_size() const { + return _internal_example_size(); +} +inline void SFixed32Rules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::int32_t SFixed32Rules::example(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed32Rules.example) + return _internal_example().Get(index); +} +inline void SFixed32Rules::set_example(int index, ::int32_t value) { + _internal_mutable_example()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.SFixed32Rules.example) +} +inline void SFixed32Rules::add_example(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_example()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.SFixed32Rules.example) +} +inline const ::google::protobuf::RepeatedField<::int32_t>& SFixed32Rules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.SFixed32Rules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL SFixed32Rules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.SFixed32Rules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedField<::int32_t>& +SFixed32Rules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL +SFixed32Rules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool SFixed32Rules::has_less_than() const { + return less_than_case() != LESS_THAN_NOT_SET; +} +inline void SFixed32Rules::clear_has_less_than() { + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} +inline bool SFixed32Rules::has_greater_than() const { + return greater_than_case() != GREATER_THAN_NOT_SET; +} +inline void SFixed32Rules::clear_has_greater_than() { + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} +inline SFixed32Rules::LessThanCase SFixed32Rules::less_than_case() const { + return SFixed32Rules::LessThanCase(_impl_._oneof_case_[0]); +} +inline SFixed32Rules::GreaterThanCase SFixed32Rules::greater_than_case() const { + return SFixed32Rules::GreaterThanCase(_impl_._oneof_case_[1]); +} +// ------------------------------------------------------------------- + +// SFixed64Rules + +// optional sfixed64 const = 1 [(.buf.validate.predefined) = { +inline bool SFixed64Rules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void SFixed64Rules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = ::int64_t{0}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline ::int64_t SFixed64Rules::const_() const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed64Rules.const) + return _internal_const_(); +} +inline void SFixed64Rules::set_const_(::int64_t value) { + _internal_set_const_(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.SFixed64Rules.const) +} +inline ::int64_t SFixed64Rules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__; +} +inline void SFixed64Rules::_internal_set_const_(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = value; +} + +// sfixed64 lt = 2 [(.buf.validate.predefined) = { +inline bool SFixed64Rules::has_lt() const { + return less_than_case() == kLt; +} +inline void SFixed64Rules::set_has_lt() { + _impl_._oneof_case_[0] = kLt; +} +inline void SFixed64Rules::clear_lt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLt) { + _impl_.less_than_.lt_ = ::int64_t{0}; + clear_has_less_than(); + } +} +inline ::int64_t SFixed64Rules::lt() const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed64Rules.lt) + return _internal_lt(); +} +inline void SFixed64Rules::set_lt(::int64_t value) { + if (less_than_case() != kLt) { + clear_less_than(); + set_has_lt(); + } + _impl_.less_than_.lt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SFixed64Rules.lt) +} +inline ::int64_t SFixed64Rules::_internal_lt() const { + if (less_than_case() == kLt) { + return _impl_.less_than_.lt_; + } + return ::int64_t{0}; +} + +// sfixed64 lte = 3 [(.buf.validate.predefined) = { +inline bool SFixed64Rules::has_lte() const { + return less_than_case() == kLte; +} +inline void SFixed64Rules::set_has_lte() { + _impl_._oneof_case_[0] = kLte; +} +inline void SFixed64Rules::clear_lte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLte) { + _impl_.less_than_.lte_ = ::int64_t{0}; + clear_has_less_than(); + } +} +inline ::int64_t SFixed64Rules::lte() const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed64Rules.lte) + return _internal_lte(); +} +inline void SFixed64Rules::set_lte(::int64_t value) { + if (less_than_case() != kLte) { + clear_less_than(); + set_has_lte(); + } + _impl_.less_than_.lte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SFixed64Rules.lte) +} +inline ::int64_t SFixed64Rules::_internal_lte() const { + if (less_than_case() == kLte) { + return _impl_.less_than_.lte_; + } + return ::int64_t{0}; +} + +// sfixed64 gt = 4 [(.buf.validate.predefined) = { +inline bool SFixed64Rules::has_gt() const { + return greater_than_case() == kGt; +} +inline void SFixed64Rules::set_has_gt() { + _impl_._oneof_case_[1] = kGt; +} +inline void SFixed64Rules::clear_gt() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGt) { + _impl_.greater_than_.gt_ = ::int64_t{0}; + clear_has_greater_than(); + } +} +inline ::int64_t SFixed64Rules::gt() const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed64Rules.gt) + return _internal_gt(); +} +inline void SFixed64Rules::set_gt(::int64_t value) { + if (greater_than_case() != kGt) { + clear_greater_than(); + set_has_gt(); + } + _impl_.greater_than_.gt_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SFixed64Rules.gt) +} +inline ::int64_t SFixed64Rules::_internal_gt() const { + if (greater_than_case() == kGt) { + return _impl_.greater_than_.gt_; + } + return ::int64_t{0}; +} + +// sfixed64 gte = 5 [(.buf.validate.predefined) = { +inline bool SFixed64Rules::has_gte() const { + return greater_than_case() == kGte; +} +inline void SFixed64Rules::set_has_gte() { + _impl_._oneof_case_[1] = kGte; +} +inline void SFixed64Rules::clear_gte() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGte) { + _impl_.greater_than_.gte_ = ::int64_t{0}; + clear_has_greater_than(); + } +} +inline ::int64_t SFixed64Rules::gte() const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed64Rules.gte) + return _internal_gte(); +} +inline void SFixed64Rules::set_gte(::int64_t value) { + if (greater_than_case() != kGte) { + clear_greater_than(); + set_has_gte(); + } + _impl_.greater_than_.gte_ = value; + // @@protoc_insertion_point(field_set:buf.validate.SFixed64Rules.gte) +} +inline ::int64_t SFixed64Rules::_internal_gte() const { + if (greater_than_case() == kGte) { + return _impl_.greater_than_.gte_; + } + return ::int64_t{0}; +} + +// repeated sfixed64 in = 6 [(.buf.validate.predefined) = { +inline int SFixed64Rules::_internal_in_size() const { + return _internal_in().size(); +} +inline int SFixed64Rules::in_size() const { + return _internal_in_size(); +} +inline void SFixed64Rules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::int64_t SFixed64Rules::in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed64Rules.in) + return _internal_in().Get(index); +} +inline void SFixed64Rules::set_in(int index, ::int64_t value) { + _internal_mutable_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.SFixed64Rules.in) +} +inline void SFixed64Rules::add_in(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.SFixed64Rules.in) +} +inline const ::google::protobuf::RepeatedField<::int64_t>& SFixed64Rules::in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.SFixed64Rules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL SFixed64Rules::mutable_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.SFixed64Rules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedField<::int64_t>& +SFixed64Rules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL +SFixed64Rules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated sfixed64 not_in = 7 [(.buf.validate.predefined) = { +inline int SFixed64Rules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int SFixed64Rules::not_in_size() const { + return _internal_not_in_size(); +} +inline void SFixed64Rules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::int64_t SFixed64Rules::not_in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed64Rules.not_in) + return _internal_not_in().Get(index); +} +inline void SFixed64Rules::set_not_in(int index, ::int64_t value) { + _internal_mutable_not_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.SFixed64Rules.not_in) +} +inline void SFixed64Rules::add_not_in(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_not_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.SFixed64Rules.not_in) +} +inline const ::google::protobuf::RepeatedField<::int64_t>& SFixed64Rules::not_in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.SFixed64Rules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL SFixed64Rules::mutable_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.SFixed64Rules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedField<::int64_t>& +SFixed64Rules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL +SFixed64Rules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// repeated sfixed64 example = 8 [(.buf.validate.predefined) = { +inline int SFixed64Rules::_internal_example_size() const { + return _internal_example().size(); +} +inline int SFixed64Rules::example_size() const { + return _internal_example_size(); +} +inline void SFixed64Rules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::int64_t SFixed64Rules::example(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.SFixed64Rules.example) + return _internal_example().Get(index); +} +inline void SFixed64Rules::set_example(int index, ::int64_t value) { + _internal_mutable_example()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.SFixed64Rules.example) +} +inline void SFixed64Rules::add_example(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_example()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.SFixed64Rules.example) +} +inline const ::google::protobuf::RepeatedField<::int64_t>& SFixed64Rules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.SFixed64Rules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL SFixed64Rules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.SFixed64Rules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedField<::int64_t>& +SFixed64Rules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL +SFixed64Rules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool SFixed64Rules::has_less_than() const { + return less_than_case() != LESS_THAN_NOT_SET; +} +inline void SFixed64Rules::clear_has_less_than() { + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} +inline bool SFixed64Rules::has_greater_than() const { + return greater_than_case() != GREATER_THAN_NOT_SET; +} +inline void SFixed64Rules::clear_has_greater_than() { + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} +inline SFixed64Rules::LessThanCase SFixed64Rules::less_than_case() const { + return SFixed64Rules::LessThanCase(_impl_._oneof_case_[0]); +} +inline SFixed64Rules::GreaterThanCase SFixed64Rules::greater_than_case() const { + return SFixed64Rules::GreaterThanCase(_impl_._oneof_case_[1]); +} +// ------------------------------------------------------------------- + +// BoolRules + +// optional bool const = 1 [(.buf.validate.predefined) = { +inline bool BoolRules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U); + return value; +} +inline void BoolRules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = false; + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline bool BoolRules::const_() const { + // @@protoc_insertion_point(field_get:buf.validate.BoolRules.const) + return _internal_const_(); +} +inline void BoolRules::set_const_(bool value) { + _internal_set_const_(value); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_set:buf.validate.BoolRules.const) +} +inline bool BoolRules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__; +} +inline void BoolRules::_internal_set_const_(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = value; +} + +// repeated bool example = 2 [(.buf.validate.predefined) = { +inline int BoolRules::_internal_example_size() const { + return _internal_example().size(); +} +inline int BoolRules::example_size() const { + return _internal_example_size(); +} +inline void BoolRules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline bool BoolRules::example(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.BoolRules.example) + return _internal_example().Get(index); +} +inline void BoolRules::set_example(int index, bool value) { + _internal_mutable_example()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.BoolRules.example) +} +inline void BoolRules::add_example(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_example()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.BoolRules.example) +} +inline const ::google::protobuf::RepeatedField& BoolRules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.BoolRules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL BoolRules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.BoolRules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedField& +BoolRules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL +BoolRules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +// ------------------------------------------------------------------- + +// StringRules + +// optional string const = 1 [(.buf.validate.predefined) = { +inline bool StringRules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void StringRules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline const ::std::string& StringRules::const_() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.const) + return _internal_const_(); +} +template +PROTOBUF_ALWAYS_INLINE void StringRules::set_const_(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + _impl_.const__.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.const) +} +inline ::std::string* PROTOBUF_NONNULL StringRules::mutable_const_() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + ::std::string* _s = _internal_mutable_const_(); + // @@protoc_insertion_point(field_mutable:buf.validate.StringRules.const) + return _s; +} +inline const ::std::string& StringRules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__.Get(); +} +inline void StringRules::_internal_set_const_(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL StringRules::_internal_mutable_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.const__.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE StringRules::release_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.StringRules.const) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000008U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + auto* released = _impl_.const__.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.const__.Set("", GetArena()); + } + return released; +} +inline void StringRules::set_allocated_const_(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + } + _impl_.const__.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.const__.IsDefault()) { + _impl_.const__.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.StringRules.const) +} + +// optional uint64 len = 19 [(.buf.validate.predefined) = { +inline bool StringRules::has_len() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00002000U); + return value; +} +inline void StringRules::clear_len() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.len_ = ::uint64_t{0u}; + ClearHasBit(_impl_._has_bits_[0], + 0x00002000U); +} +inline ::uint64_t StringRules::len() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.len) + return _internal_len(); +} +inline void StringRules::set_len(::uint64_t value) { + _internal_set_len(value); + SetHasBit(_impl_._has_bits_[0], 0x00002000U); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.len) +} +inline ::uint64_t StringRules::_internal_len() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.len_; +} +inline void StringRules::_internal_set_len(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.len_ = value; +} + +// optional uint64 min_len = 2 [(.buf.validate.predefined) = { +inline bool StringRules::has_min_len() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000200U); + return value; +} +inline void StringRules::clear_min_len() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.min_len_ = ::uint64_t{0u}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000200U); +} +inline ::uint64_t StringRules::min_len() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.min_len) + return _internal_min_len(); +} +inline void StringRules::set_min_len(::uint64_t value) { + _internal_set_min_len(value); + SetHasBit(_impl_._has_bits_[0], 0x00000200U); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.min_len) +} +inline ::uint64_t StringRules::_internal_min_len() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.min_len_; +} +inline void StringRules::_internal_set_min_len(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.min_len_ = value; +} + +// optional uint64 max_len = 3 [(.buf.validate.predefined) = { +inline bool StringRules::has_max_len() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000400U); + return value; +} +inline void StringRules::clear_max_len() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.max_len_ = ::uint64_t{0u}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000400U); +} +inline ::uint64_t StringRules::max_len() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.max_len) + return _internal_max_len(); +} +inline void StringRules::set_max_len(::uint64_t value) { + _internal_set_max_len(value); + SetHasBit(_impl_._has_bits_[0], 0x00000400U); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.max_len) +} +inline ::uint64_t StringRules::_internal_max_len() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.max_len_; +} +inline void StringRules::_internal_set_max_len(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.max_len_ = value; +} + +// optional uint64 len_bytes = 20 [(.buf.validate.predefined) = { +inline bool StringRules::has_len_bytes() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00004000U); + return value; +} +inline void StringRules::clear_len_bytes() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.len_bytes_ = ::uint64_t{0u}; + ClearHasBit(_impl_._has_bits_[0], + 0x00004000U); +} +inline ::uint64_t StringRules::len_bytes() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.len_bytes) + return _internal_len_bytes(); +} +inline void StringRules::set_len_bytes(::uint64_t value) { + _internal_set_len_bytes(value); + SetHasBit(_impl_._has_bits_[0], 0x00004000U); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.len_bytes) +} +inline ::uint64_t StringRules::_internal_len_bytes() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.len_bytes_; +} +inline void StringRules::_internal_set_len_bytes(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.len_bytes_ = value; +} + +// optional uint64 min_bytes = 4 [(.buf.validate.predefined) = { +inline bool StringRules::has_min_bytes() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000800U); + return value; +} +inline void StringRules::clear_min_bytes() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.min_bytes_ = ::uint64_t{0u}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000800U); +} +inline ::uint64_t StringRules::min_bytes() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.min_bytes) + return _internal_min_bytes(); +} +inline void StringRules::set_min_bytes(::uint64_t value) { + _internal_set_min_bytes(value); + SetHasBit(_impl_._has_bits_[0], 0x00000800U); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.min_bytes) +} +inline ::uint64_t StringRules::_internal_min_bytes() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.min_bytes_; +} +inline void StringRules::_internal_set_min_bytes(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.min_bytes_ = value; +} + +// optional uint64 max_bytes = 5 [(.buf.validate.predefined) = { +inline bool StringRules::has_max_bytes() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00001000U); + return value; +} +inline void StringRules::clear_max_bytes() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.max_bytes_ = ::uint64_t{0u}; + ClearHasBit(_impl_._has_bits_[0], + 0x00001000U); +} +inline ::uint64_t StringRules::max_bytes() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.max_bytes) + return _internal_max_bytes(); +} +inline void StringRules::set_max_bytes(::uint64_t value) { + _internal_set_max_bytes(value); + SetHasBit(_impl_._has_bits_[0], 0x00001000U); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.max_bytes) +} +inline ::uint64_t StringRules::_internal_max_bytes() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.max_bytes_; +} +inline void StringRules::_internal_set_max_bytes(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.max_bytes_ = value; +} + +// optional string pattern = 6 [(.buf.validate.predefined) = { +inline bool StringRules::has_pattern() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U); + return value; +} +inline void StringRules::clear_pattern() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.pattern_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000010U); +} +inline const ::std::string& StringRules::pattern() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.pattern) + return _internal_pattern(); +} +template +PROTOBUF_ALWAYS_INLINE void StringRules::set_pattern(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000010U); + _impl_.pattern_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.pattern) +} +inline ::std::string* PROTOBUF_NONNULL StringRules::mutable_pattern() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000010U); + ::std::string* _s = _internal_mutable_pattern(); + // @@protoc_insertion_point(field_mutable:buf.validate.StringRules.pattern) + return _s; +} +inline const ::std::string& StringRules::_internal_pattern() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.pattern_.Get(); +} +inline void StringRules::_internal_set_pattern(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.pattern_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL StringRules::_internal_mutable_pattern() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.pattern_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE StringRules::release_pattern() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.StringRules.pattern) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000010U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000010U); + auto* released = _impl_.pattern_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.pattern_.Set("", GetArena()); + } + return released; +} +inline void StringRules::set_allocated_pattern(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000010U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000010U); + } + _impl_.pattern_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.pattern_.IsDefault()) { + _impl_.pattern_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.StringRules.pattern) +} + +// optional string prefix = 7 [(.buf.validate.predefined) = { +inline bool StringRules::has_prefix() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U); + return value; +} +inline void StringRules::clear_prefix() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.prefix_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000020U); +} +inline const ::std::string& StringRules::prefix() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.prefix) + return _internal_prefix(); +} +template +PROTOBUF_ALWAYS_INLINE void StringRules::set_prefix(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000020U); + _impl_.prefix_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.prefix) +} +inline ::std::string* PROTOBUF_NONNULL StringRules::mutable_prefix() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000020U); + ::std::string* _s = _internal_mutable_prefix(); + // @@protoc_insertion_point(field_mutable:buf.validate.StringRules.prefix) + return _s; +} +inline const ::std::string& StringRules::_internal_prefix() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.prefix_.Get(); +} +inline void StringRules::_internal_set_prefix(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.prefix_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL StringRules::_internal_mutable_prefix() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.prefix_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE StringRules::release_prefix() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.StringRules.prefix) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000020U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000020U); + auto* released = _impl_.prefix_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.prefix_.Set("", GetArena()); + } + return released; +} +inline void StringRules::set_allocated_prefix(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000020U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000020U); + } + _impl_.prefix_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.prefix_.IsDefault()) { + _impl_.prefix_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.StringRules.prefix) +} + +// optional string suffix = 8 [(.buf.validate.predefined) = { +inline bool StringRules::has_suffix() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000040U); + return value; +} +inline void StringRules::clear_suffix() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.suffix_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000040U); +} +inline const ::std::string& StringRules::suffix() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.suffix) + return _internal_suffix(); +} +template +PROTOBUF_ALWAYS_INLINE void StringRules::set_suffix(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000040U); + _impl_.suffix_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.suffix) +} +inline ::std::string* PROTOBUF_NONNULL StringRules::mutable_suffix() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000040U); + ::std::string* _s = _internal_mutable_suffix(); + // @@protoc_insertion_point(field_mutable:buf.validate.StringRules.suffix) + return _s; +} +inline const ::std::string& StringRules::_internal_suffix() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.suffix_.Get(); +} +inline void StringRules::_internal_set_suffix(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.suffix_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL StringRules::_internal_mutable_suffix() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.suffix_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE StringRules::release_suffix() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.StringRules.suffix) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000040U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000040U); + auto* released = _impl_.suffix_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.suffix_.Set("", GetArena()); + } + return released; +} +inline void StringRules::set_allocated_suffix(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000040U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000040U); + } + _impl_.suffix_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.suffix_.IsDefault()) { + _impl_.suffix_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.StringRules.suffix) +} + +// optional string contains = 9 [(.buf.validate.predefined) = { +inline bool StringRules::has_contains() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000080U); + return value; +} +inline void StringRules::clear_contains() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.contains_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000080U); +} +inline const ::std::string& StringRules::contains() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.contains) + return _internal_contains(); +} +template +PROTOBUF_ALWAYS_INLINE void StringRules::set_contains(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000080U); + _impl_.contains_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.contains) +} +inline ::std::string* PROTOBUF_NONNULL StringRules::mutable_contains() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000080U); + ::std::string* _s = _internal_mutable_contains(); + // @@protoc_insertion_point(field_mutable:buf.validate.StringRules.contains) + return _s; +} +inline const ::std::string& StringRules::_internal_contains() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.contains_.Get(); +} +inline void StringRules::_internal_set_contains(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.contains_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL StringRules::_internal_mutable_contains() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.contains_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE StringRules::release_contains() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.StringRules.contains) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000080U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000080U); + auto* released = _impl_.contains_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.contains_.Set("", GetArena()); + } + return released; +} +inline void StringRules::set_allocated_contains(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000080U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000080U); + } + _impl_.contains_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.contains_.IsDefault()) { + _impl_.contains_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.StringRules.contains) +} + +// optional string not_contains = 23 [(.buf.validate.predefined) = { +inline bool StringRules::has_not_contains() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000100U); + return value; +} +inline void StringRules::clear_not_contains() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_contains_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000100U); +} +inline const ::std::string& StringRules::not_contains() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.not_contains) + return _internal_not_contains(); +} +template +PROTOBUF_ALWAYS_INLINE void StringRules::set_not_contains(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000100U); + _impl_.not_contains_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.not_contains) +} +inline ::std::string* PROTOBUF_NONNULL StringRules::mutable_not_contains() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000100U); + ::std::string* _s = _internal_mutable_not_contains(); + // @@protoc_insertion_point(field_mutable:buf.validate.StringRules.not_contains) + return _s; +} +inline const ::std::string& StringRules::_internal_not_contains() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_contains_.Get(); +} +inline void StringRules::_internal_set_not_contains(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_contains_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL StringRules::_internal_mutable_not_contains() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.not_contains_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE StringRules::release_not_contains() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.StringRules.not_contains) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000100U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000100U); + auto* released = _impl_.not_contains_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.not_contains_.Set("", GetArena()); + } + return released; +} +inline void StringRules::set_allocated_not_contains(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000100U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000100U); + } + _impl_.not_contains_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.not_contains_.IsDefault()) { + _impl_.not_contains_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.StringRules.not_contains) +} + +// repeated string in = 10 [(.buf.validate.predefined) = { +inline int StringRules::_internal_in_size() const { + return _internal_in().size(); +} +inline int StringRules::in_size() const { + return _internal_in_size(); +} +inline void StringRules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::std::string* PROTOBUF_NONNULL StringRules::add_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::std::string* _s = + _internal_mutable_in()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add_mutable:buf.validate.StringRules.in) + return _s; +} +inline const ::std::string& StringRules::in(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.in) + return _internal_in().Get(index); +} +inline ::std::string* PROTOBUF_NONNULL StringRules::mutable_in(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.StringRules.in) + return _internal_mutable_in()->Mutable(index); +} +template +inline void StringRules::set_in(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString(*_internal_mutable_in()->Mutable(index), ::std::forward(value), + args... ); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.in) +} +template +inline void StringRules::add_in(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField( + ::google::protobuf::MessageLite::internal_visibility(), GetArena(), + *_internal_mutable_in(), ::std::forward(value), + args... ); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.StringRules.in) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& StringRules::in() + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.StringRules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +StringRules::mutable_in() ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.StringRules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +StringRules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +StringRules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated string not_in = 11 [(.buf.validate.predefined) = { +inline int StringRules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int StringRules::not_in_size() const { + return _internal_not_in_size(); +} +inline void StringRules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::std::string* PROTOBUF_NONNULL StringRules::add_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::std::string* _s = + _internal_mutable_not_in()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add_mutable:buf.validate.StringRules.not_in) + return _s; +} +inline const ::std::string& StringRules::not_in(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.not_in) + return _internal_not_in().Get(index); +} +inline ::std::string* PROTOBUF_NONNULL StringRules::mutable_not_in(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.StringRules.not_in) + return _internal_mutable_not_in()->Mutable(index); +} +template +inline void StringRules::set_not_in(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString(*_internal_mutable_not_in()->Mutable(index), ::std::forward(value), + args... ); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.not_in) +} +template +inline void StringRules::add_not_in(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField( + ::google::protobuf::MessageLite::internal_visibility(), GetArena(), + *_internal_mutable_not_in(), ::std::forward(value), + args... ); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.StringRules.not_in) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& StringRules::not_in() + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.StringRules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +StringRules::mutable_not_in() ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.StringRules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +StringRules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +StringRules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// bool email = 12 [(.buf.validate.predefined) = { +inline bool StringRules::has_email() const { + return well_known_case() == kEmail; +} +inline void StringRules::set_has_email() { + _impl_._oneof_case_[0] = kEmail; +} +inline void StringRules::clear_email() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kEmail) { + _impl_.well_known_.email_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::email() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.email) + return _internal_email(); +} +inline void StringRules::set_email(bool value) { + if (well_known_case() != kEmail) { + clear_well_known(); + set_has_email(); + } + _impl_.well_known_.email_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.email) +} +inline bool StringRules::_internal_email() const { + if (well_known_case() == kEmail) { + return _impl_.well_known_.email_; + } + return false; +} + +// bool hostname = 13 [(.buf.validate.predefined) = { +inline bool StringRules::has_hostname() const { + return well_known_case() == kHostname; +} +inline void StringRules::set_has_hostname() { + _impl_._oneof_case_[0] = kHostname; +} +inline void StringRules::clear_hostname() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kHostname) { + _impl_.well_known_.hostname_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::hostname() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.hostname) + return _internal_hostname(); +} +inline void StringRules::set_hostname(bool value) { + if (well_known_case() != kHostname) { + clear_well_known(); + set_has_hostname(); + } + _impl_.well_known_.hostname_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.hostname) +} +inline bool StringRules::_internal_hostname() const { + if (well_known_case() == kHostname) { + return _impl_.well_known_.hostname_; + } + return false; +} + +// bool ip = 14 [(.buf.validate.predefined) = { +inline bool StringRules::has_ip() const { + return well_known_case() == kIp; +} +inline void StringRules::set_has_ip() { + _impl_._oneof_case_[0] = kIp; +} +inline void StringRules::clear_ip() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kIp) { + _impl_.well_known_.ip_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::ip() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.ip) + return _internal_ip(); +} +inline void StringRules::set_ip(bool value) { + if (well_known_case() != kIp) { + clear_well_known(); + set_has_ip(); + } + _impl_.well_known_.ip_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.ip) +} +inline bool StringRules::_internal_ip() const { + if (well_known_case() == kIp) { + return _impl_.well_known_.ip_; + } + return false; +} + +// bool ipv4 = 15 [(.buf.validate.predefined) = { +inline bool StringRules::has_ipv4() const { + return well_known_case() == kIpv4; +} +inline void StringRules::set_has_ipv4() { + _impl_._oneof_case_[0] = kIpv4; +} +inline void StringRules::clear_ipv4() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kIpv4) { + _impl_.well_known_.ipv4_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::ipv4() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.ipv4) + return _internal_ipv4(); +} +inline void StringRules::set_ipv4(bool value) { + if (well_known_case() != kIpv4) { + clear_well_known(); + set_has_ipv4(); + } + _impl_.well_known_.ipv4_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.ipv4) +} +inline bool StringRules::_internal_ipv4() const { + if (well_known_case() == kIpv4) { + return _impl_.well_known_.ipv4_; + } + return false; +} + +// bool ipv6 = 16 [(.buf.validate.predefined) = { +inline bool StringRules::has_ipv6() const { + return well_known_case() == kIpv6; +} +inline void StringRules::set_has_ipv6() { + _impl_._oneof_case_[0] = kIpv6; +} +inline void StringRules::clear_ipv6() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kIpv6) { + _impl_.well_known_.ipv6_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::ipv6() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.ipv6) + return _internal_ipv6(); +} +inline void StringRules::set_ipv6(bool value) { + if (well_known_case() != kIpv6) { + clear_well_known(); + set_has_ipv6(); + } + _impl_.well_known_.ipv6_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.ipv6) +} +inline bool StringRules::_internal_ipv6() const { + if (well_known_case() == kIpv6) { + return _impl_.well_known_.ipv6_; + } + return false; +} + +// bool uri = 17 [(.buf.validate.predefined) = { +inline bool StringRules::has_uri() const { + return well_known_case() == kUri; +} +inline void StringRules::set_has_uri() { + _impl_._oneof_case_[0] = kUri; +} +inline void StringRules::clear_uri() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kUri) { + _impl_.well_known_.uri_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::uri() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.uri) + return _internal_uri(); +} +inline void StringRules::set_uri(bool value) { + if (well_known_case() != kUri) { + clear_well_known(); + set_has_uri(); + } + _impl_.well_known_.uri_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.uri) +} +inline bool StringRules::_internal_uri() const { + if (well_known_case() == kUri) { + return _impl_.well_known_.uri_; + } + return false; +} + +// bool uri_ref = 18 [(.buf.validate.predefined) = { +inline bool StringRules::has_uri_ref() const { + return well_known_case() == kUriRef; +} +inline void StringRules::set_has_uri_ref() { + _impl_._oneof_case_[0] = kUriRef; +} +inline void StringRules::clear_uri_ref() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kUriRef) { + _impl_.well_known_.uri_ref_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::uri_ref() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.uri_ref) + return _internal_uri_ref(); +} +inline void StringRules::set_uri_ref(bool value) { + if (well_known_case() != kUriRef) { + clear_well_known(); + set_has_uri_ref(); + } + _impl_.well_known_.uri_ref_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.uri_ref) +} +inline bool StringRules::_internal_uri_ref() const { + if (well_known_case() == kUriRef) { + return _impl_.well_known_.uri_ref_; + } + return false; +} + +// bool address = 21 [(.buf.validate.predefined) = { +inline bool StringRules::has_address() const { + return well_known_case() == kAddress; +} +inline void StringRules::set_has_address() { + _impl_._oneof_case_[0] = kAddress; +} +inline void StringRules::clear_address() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kAddress) { + _impl_.well_known_.address_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::address() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.address) + return _internal_address(); +} +inline void StringRules::set_address(bool value) { + if (well_known_case() != kAddress) { + clear_well_known(); + set_has_address(); + } + _impl_.well_known_.address_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.address) +} +inline bool StringRules::_internal_address() const { + if (well_known_case() == kAddress) { + return _impl_.well_known_.address_; + } + return false; +} + +// bool uuid = 22 [(.buf.validate.predefined) = { +inline bool StringRules::has_uuid() const { + return well_known_case() == kUuid; +} +inline void StringRules::set_has_uuid() { + _impl_._oneof_case_[0] = kUuid; +} +inline void StringRules::clear_uuid() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kUuid) { + _impl_.well_known_.uuid_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::uuid() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.uuid) + return _internal_uuid(); +} +inline void StringRules::set_uuid(bool value) { + if (well_known_case() != kUuid) { + clear_well_known(); + set_has_uuid(); + } + _impl_.well_known_.uuid_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.uuid) +} +inline bool StringRules::_internal_uuid() const { + if (well_known_case() == kUuid) { + return _impl_.well_known_.uuid_; + } + return false; +} + +// bool tuuid = 33 [(.buf.validate.predefined) = { +inline bool StringRules::has_tuuid() const { + return well_known_case() == kTuuid; +} +inline void StringRules::set_has_tuuid() { + _impl_._oneof_case_[0] = kTuuid; +} +inline void StringRules::clear_tuuid() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kTuuid) { + _impl_.well_known_.tuuid_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::tuuid() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.tuuid) + return _internal_tuuid(); +} +inline void StringRules::set_tuuid(bool value) { + if (well_known_case() != kTuuid) { + clear_well_known(); + set_has_tuuid(); + } + _impl_.well_known_.tuuid_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.tuuid) +} +inline bool StringRules::_internal_tuuid() const { + if (well_known_case() == kTuuid) { + return _impl_.well_known_.tuuid_; + } + return false; +} + +// bool ip_with_prefixlen = 26 [(.buf.validate.predefined) = { +inline bool StringRules::has_ip_with_prefixlen() const { + return well_known_case() == kIpWithPrefixlen; +} +inline void StringRules::set_has_ip_with_prefixlen() { + _impl_._oneof_case_[0] = kIpWithPrefixlen; +} +inline void StringRules::clear_ip_with_prefixlen() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kIpWithPrefixlen) { + _impl_.well_known_.ip_with_prefixlen_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::ip_with_prefixlen() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.ip_with_prefixlen) + return _internal_ip_with_prefixlen(); +} +inline void StringRules::set_ip_with_prefixlen(bool value) { + if (well_known_case() != kIpWithPrefixlen) { + clear_well_known(); + set_has_ip_with_prefixlen(); + } + _impl_.well_known_.ip_with_prefixlen_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.ip_with_prefixlen) +} +inline bool StringRules::_internal_ip_with_prefixlen() const { + if (well_known_case() == kIpWithPrefixlen) { + return _impl_.well_known_.ip_with_prefixlen_; + } + return false; +} + +// bool ipv4_with_prefixlen = 27 [(.buf.validate.predefined) = { +inline bool StringRules::has_ipv4_with_prefixlen() const { + return well_known_case() == kIpv4WithPrefixlen; +} +inline void StringRules::set_has_ipv4_with_prefixlen() { + _impl_._oneof_case_[0] = kIpv4WithPrefixlen; +} +inline void StringRules::clear_ipv4_with_prefixlen() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kIpv4WithPrefixlen) { + _impl_.well_known_.ipv4_with_prefixlen_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::ipv4_with_prefixlen() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.ipv4_with_prefixlen) + return _internal_ipv4_with_prefixlen(); +} +inline void StringRules::set_ipv4_with_prefixlen(bool value) { + if (well_known_case() != kIpv4WithPrefixlen) { + clear_well_known(); + set_has_ipv4_with_prefixlen(); + } + _impl_.well_known_.ipv4_with_prefixlen_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.ipv4_with_prefixlen) +} +inline bool StringRules::_internal_ipv4_with_prefixlen() const { + if (well_known_case() == kIpv4WithPrefixlen) { + return _impl_.well_known_.ipv4_with_prefixlen_; + } + return false; +} + +// bool ipv6_with_prefixlen = 28 [(.buf.validate.predefined) = { +inline bool StringRules::has_ipv6_with_prefixlen() const { + return well_known_case() == kIpv6WithPrefixlen; +} +inline void StringRules::set_has_ipv6_with_prefixlen() { + _impl_._oneof_case_[0] = kIpv6WithPrefixlen; +} +inline void StringRules::clear_ipv6_with_prefixlen() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kIpv6WithPrefixlen) { + _impl_.well_known_.ipv6_with_prefixlen_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::ipv6_with_prefixlen() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.ipv6_with_prefixlen) + return _internal_ipv6_with_prefixlen(); +} +inline void StringRules::set_ipv6_with_prefixlen(bool value) { + if (well_known_case() != kIpv6WithPrefixlen) { + clear_well_known(); + set_has_ipv6_with_prefixlen(); + } + _impl_.well_known_.ipv6_with_prefixlen_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.ipv6_with_prefixlen) +} +inline bool StringRules::_internal_ipv6_with_prefixlen() const { + if (well_known_case() == kIpv6WithPrefixlen) { + return _impl_.well_known_.ipv6_with_prefixlen_; + } + return false; +} + +// bool ip_prefix = 29 [(.buf.validate.predefined) = { +inline bool StringRules::has_ip_prefix() const { + return well_known_case() == kIpPrefix; +} +inline void StringRules::set_has_ip_prefix() { + _impl_._oneof_case_[0] = kIpPrefix; +} +inline void StringRules::clear_ip_prefix() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kIpPrefix) { + _impl_.well_known_.ip_prefix_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::ip_prefix() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.ip_prefix) + return _internal_ip_prefix(); +} +inline void StringRules::set_ip_prefix(bool value) { + if (well_known_case() != kIpPrefix) { + clear_well_known(); + set_has_ip_prefix(); + } + _impl_.well_known_.ip_prefix_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.ip_prefix) +} +inline bool StringRules::_internal_ip_prefix() const { + if (well_known_case() == kIpPrefix) { + return _impl_.well_known_.ip_prefix_; + } + return false; +} + +// bool ipv4_prefix = 30 [(.buf.validate.predefined) = { +inline bool StringRules::has_ipv4_prefix() const { + return well_known_case() == kIpv4Prefix; +} +inline void StringRules::set_has_ipv4_prefix() { + _impl_._oneof_case_[0] = kIpv4Prefix; +} +inline void StringRules::clear_ipv4_prefix() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kIpv4Prefix) { + _impl_.well_known_.ipv4_prefix_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::ipv4_prefix() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.ipv4_prefix) + return _internal_ipv4_prefix(); +} +inline void StringRules::set_ipv4_prefix(bool value) { + if (well_known_case() != kIpv4Prefix) { + clear_well_known(); + set_has_ipv4_prefix(); + } + _impl_.well_known_.ipv4_prefix_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.ipv4_prefix) +} +inline bool StringRules::_internal_ipv4_prefix() const { + if (well_known_case() == kIpv4Prefix) { + return _impl_.well_known_.ipv4_prefix_; + } + return false; +} + +// bool ipv6_prefix = 31 [(.buf.validate.predefined) = { +inline bool StringRules::has_ipv6_prefix() const { + return well_known_case() == kIpv6Prefix; +} +inline void StringRules::set_has_ipv6_prefix() { + _impl_._oneof_case_[0] = kIpv6Prefix; +} +inline void StringRules::clear_ipv6_prefix() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kIpv6Prefix) { + _impl_.well_known_.ipv6_prefix_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::ipv6_prefix() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.ipv6_prefix) + return _internal_ipv6_prefix(); +} +inline void StringRules::set_ipv6_prefix(bool value) { + if (well_known_case() != kIpv6Prefix) { + clear_well_known(); + set_has_ipv6_prefix(); + } + _impl_.well_known_.ipv6_prefix_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.ipv6_prefix) +} +inline bool StringRules::_internal_ipv6_prefix() const { + if (well_known_case() == kIpv6Prefix) { + return _impl_.well_known_.ipv6_prefix_; + } + return false; +} + +// bool host_and_port = 32 [(.buf.validate.predefined) = { +inline bool StringRules::has_host_and_port() const { + return well_known_case() == kHostAndPort; +} +inline void StringRules::set_has_host_and_port() { + _impl_._oneof_case_[0] = kHostAndPort; +} +inline void StringRules::clear_host_and_port() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kHostAndPort) { + _impl_.well_known_.host_and_port_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::host_and_port() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.host_and_port) + return _internal_host_and_port(); +} +inline void StringRules::set_host_and_port(bool value) { + if (well_known_case() != kHostAndPort) { + clear_well_known(); + set_has_host_and_port(); + } + _impl_.well_known_.host_and_port_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.host_and_port) +} +inline bool StringRules::_internal_host_and_port() const { + if (well_known_case() == kHostAndPort) { + return _impl_.well_known_.host_and_port_; + } + return false; +} + +// bool ulid = 35 [(.buf.validate.predefined) = { +inline bool StringRules::has_ulid() const { + return well_known_case() == kUlid; +} +inline void StringRules::set_has_ulid() { + _impl_._oneof_case_[0] = kUlid; +} +inline void StringRules::clear_ulid() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kUlid) { + _impl_.well_known_.ulid_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::ulid() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.ulid) + return _internal_ulid(); +} +inline void StringRules::set_ulid(bool value) { + if (well_known_case() != kUlid) { + clear_well_known(); + set_has_ulid(); + } + _impl_.well_known_.ulid_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.ulid) +} +inline bool StringRules::_internal_ulid() const { + if (well_known_case() == kUlid) { + return _impl_.well_known_.ulid_; + } + return false; +} + +// bool protobuf_fqn = 37 [(.buf.validate.predefined) = { +inline bool StringRules::has_protobuf_fqn() const { + return well_known_case() == kProtobufFqn; +} +inline void StringRules::set_has_protobuf_fqn() { + _impl_._oneof_case_[0] = kProtobufFqn; +} +inline void StringRules::clear_protobuf_fqn() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kProtobufFqn) { + _impl_.well_known_.protobuf_fqn_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::protobuf_fqn() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.protobuf_fqn) + return _internal_protobuf_fqn(); +} +inline void StringRules::set_protobuf_fqn(bool value) { + if (well_known_case() != kProtobufFqn) { + clear_well_known(); + set_has_protobuf_fqn(); + } + _impl_.well_known_.protobuf_fqn_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.protobuf_fqn) +} +inline bool StringRules::_internal_protobuf_fqn() const { + if (well_known_case() == kProtobufFqn) { + return _impl_.well_known_.protobuf_fqn_; + } + return false; +} + +// bool protobuf_dot_fqn = 38 [(.buf.validate.predefined) = { +inline bool StringRules::has_protobuf_dot_fqn() const { + return well_known_case() == kProtobufDotFqn; +} +inline void StringRules::set_has_protobuf_dot_fqn() { + _impl_._oneof_case_[0] = kProtobufDotFqn; +} +inline void StringRules::clear_protobuf_dot_fqn() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kProtobufDotFqn) { + _impl_.well_known_.protobuf_dot_fqn_ = false; + clear_has_well_known(); + } +} +inline bool StringRules::protobuf_dot_fqn() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.protobuf_dot_fqn) + return _internal_protobuf_dot_fqn(); +} +inline void StringRules::set_protobuf_dot_fqn(bool value) { + if (well_known_case() != kProtobufDotFqn) { + clear_well_known(); + set_has_protobuf_dot_fqn(); + } + _impl_.well_known_.protobuf_dot_fqn_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.protobuf_dot_fqn) +} +inline bool StringRules::_internal_protobuf_dot_fqn() const { + if (well_known_case() == kProtobufDotFqn) { + return _impl_.well_known_.protobuf_dot_fqn_; + } + return false; +} + +// .buf.validate.KnownRegex well_known_regex = 24 [(.buf.validate.predefined) = { +inline bool StringRules::has_well_known_regex() const { + return well_known_case() == kWellKnownRegex; +} +inline void StringRules::set_has_well_known_regex() { + _impl_._oneof_case_[0] = kWellKnownRegex; +} +inline void StringRules::clear_well_known_regex() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kWellKnownRegex) { + _impl_.well_known_.well_known_regex_ = 0; + clear_has_well_known(); + } +} +inline ::buf::validate::KnownRegex StringRules::well_known_regex() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.well_known_regex) + return _internal_well_known_regex(); +} +inline void StringRules::set_well_known_regex(::buf::validate::KnownRegex value) { + + assert(::google::protobuf::internal::ValidateEnum( + value, ::buf::validate::KnownRegex_internal_data_)); + if (well_known_case() != kWellKnownRegex) { + clear_well_known(); + set_has_well_known_regex(); + } + _impl_.well_known_.well_known_regex_ = value; + // @@protoc_insertion_point(field_set:buf.validate.StringRules.well_known_regex) +} +inline ::buf::validate::KnownRegex StringRules::_internal_well_known_regex() const { + if (well_known_case() == kWellKnownRegex) { + return static_cast<::buf::validate::KnownRegex>(_impl_.well_known_.well_known_regex_); + } + return static_cast<::buf::validate::KnownRegex>(0); +} + +// optional bool strict = 25; +inline bool StringRules::has_strict() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00008000U); + return value; +} +inline void StringRules::clear_strict() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.strict_ = false; + ClearHasBit(_impl_._has_bits_[0], + 0x00008000U); +} +inline bool StringRules::strict() const { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.strict) + return _internal_strict(); +} +inline void StringRules::set_strict(bool value) { + _internal_set_strict(value); + SetHasBit(_impl_._has_bits_[0], 0x00008000U); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.strict) +} +inline bool StringRules::_internal_strict() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.strict_; +} +inline void StringRules::_internal_set_strict(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.strict_ = value; +} + +// repeated string example = 34 [(.buf.validate.predefined) = { +inline int StringRules::_internal_example_size() const { + return _internal_example().size(); +} +inline int StringRules::example_size() const { + return _internal_example_size(); +} +inline void StringRules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::std::string* PROTOBUF_NONNULL StringRules::add_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::std::string* _s = + _internal_mutable_example()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add_mutable:buf.validate.StringRules.example) + return _s; +} +inline const ::std::string& StringRules::example(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.StringRules.example) + return _internal_example().Get(index); +} +inline ::std::string* PROTOBUF_NONNULL StringRules::mutable_example(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.StringRules.example) + return _internal_mutable_example()->Mutable(index); +} +template +inline void StringRules::set_example(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString(*_internal_mutable_example()->Mutable(index), ::std::forward(value), + args... ); + // @@protoc_insertion_point(field_set:buf.validate.StringRules.example) +} +template +inline void StringRules::add_example(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField( + ::google::protobuf::MessageLite::internal_visibility(), GetArena(), + *_internal_mutable_example(), ::std::forward(value), + args... ); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.StringRules.example) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& StringRules::example() + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.StringRules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +StringRules::mutable_example() ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.StringRules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +StringRules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +StringRules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool StringRules::has_well_known() const { + return well_known_case() != WELL_KNOWN_NOT_SET; +} +inline void StringRules::clear_has_well_known() { + _impl_._oneof_case_[0] = WELL_KNOWN_NOT_SET; +} +inline StringRules::WellKnownCase StringRules::well_known_case() const { + return StringRules::WellKnownCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// BytesRules + +// optional bytes const = 1 [(.buf.validate.predefined) = { +inline bool BytesRules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void BytesRules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline const ::std::string& BytesRules::const_() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.BytesRules.const) + return _internal_const_(); +} +template +PROTOBUF_ALWAYS_INLINE void BytesRules::set_const_(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + _impl_.const__.SetBytes(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.BytesRules.const) +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::mutable_const_() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + ::std::string* _s = _internal_mutable_const_(); + // @@protoc_insertion_point(field_mutable:buf.validate.BytesRules.const) + return _s; +} +inline const ::std::string& BytesRules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__.Get(); +} +inline void BytesRules::_internal_set_const_(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::_internal_mutable_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.const__.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE BytesRules::release_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.BytesRules.const) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000008U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + auto* released = _impl_.const__.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.const__.Set("", GetArena()); + } + return released; +} +inline void BytesRules::set_allocated_const_(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + } + _impl_.const__.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.const__.IsDefault()) { + _impl_.const__.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.BytesRules.const) +} + +// optional uint64 len = 13 [(.buf.validate.predefined) = { +inline bool BytesRules::has_len() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000400U); + return value; +} +inline void BytesRules::clear_len() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.len_ = ::uint64_t{0u}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000400U); +} +inline ::uint64_t BytesRules::len() const { + // @@protoc_insertion_point(field_get:buf.validate.BytesRules.len) + return _internal_len(); +} +inline void BytesRules::set_len(::uint64_t value) { + _internal_set_len(value); + SetHasBit(_impl_._has_bits_[0], 0x00000400U); + // @@protoc_insertion_point(field_set:buf.validate.BytesRules.len) +} +inline ::uint64_t BytesRules::_internal_len() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.len_; +} +inline void BytesRules::_internal_set_len(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.len_ = value; +} + +// optional uint64 min_len = 2 [(.buf.validate.predefined) = { +inline bool BytesRules::has_min_len() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000100U); + return value; +} +inline void BytesRules::clear_min_len() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.min_len_ = ::uint64_t{0u}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000100U); +} +inline ::uint64_t BytesRules::min_len() const { + // @@protoc_insertion_point(field_get:buf.validate.BytesRules.min_len) + return _internal_min_len(); +} +inline void BytesRules::set_min_len(::uint64_t value) { + _internal_set_min_len(value); + SetHasBit(_impl_._has_bits_[0], 0x00000100U); + // @@protoc_insertion_point(field_set:buf.validate.BytesRules.min_len) +} +inline ::uint64_t BytesRules::_internal_min_len() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.min_len_; +} +inline void BytesRules::_internal_set_min_len(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.min_len_ = value; +} + +// optional uint64 max_len = 3 [(.buf.validate.predefined) = { +inline bool BytesRules::has_max_len() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000200U); + return value; +} +inline void BytesRules::clear_max_len() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.max_len_ = ::uint64_t{0u}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000200U); +} +inline ::uint64_t BytesRules::max_len() const { + // @@protoc_insertion_point(field_get:buf.validate.BytesRules.max_len) + return _internal_max_len(); +} +inline void BytesRules::set_max_len(::uint64_t value) { + _internal_set_max_len(value); + SetHasBit(_impl_._has_bits_[0], 0x00000200U); + // @@protoc_insertion_point(field_set:buf.validate.BytesRules.max_len) +} +inline ::uint64_t BytesRules::_internal_max_len() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.max_len_; +} +inline void BytesRules::_internal_set_max_len(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.max_len_ = value; +} + +// optional string pattern = 4 [(.buf.validate.predefined) = { +inline bool BytesRules::has_pattern() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U); + return value; +} +inline void BytesRules::clear_pattern() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.pattern_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000010U); +} +inline const ::std::string& BytesRules::pattern() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.BytesRules.pattern) + return _internal_pattern(); +} +template +PROTOBUF_ALWAYS_INLINE void BytesRules::set_pattern(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000010U); + _impl_.pattern_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.BytesRules.pattern) +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::mutable_pattern() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000010U); + ::std::string* _s = _internal_mutable_pattern(); + // @@protoc_insertion_point(field_mutable:buf.validate.BytesRules.pattern) + return _s; +} +inline const ::std::string& BytesRules::_internal_pattern() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.pattern_.Get(); +} +inline void BytesRules::_internal_set_pattern(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.pattern_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::_internal_mutable_pattern() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.pattern_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE BytesRules::release_pattern() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.BytesRules.pattern) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000010U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000010U); + auto* released = _impl_.pattern_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.pattern_.Set("", GetArena()); + } + return released; +} +inline void BytesRules::set_allocated_pattern(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000010U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000010U); + } + _impl_.pattern_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.pattern_.IsDefault()) { + _impl_.pattern_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.BytesRules.pattern) +} + +// optional bytes prefix = 5 [(.buf.validate.predefined) = { +inline bool BytesRules::has_prefix() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U); + return value; +} +inline void BytesRules::clear_prefix() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.prefix_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000020U); +} +inline const ::std::string& BytesRules::prefix() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.BytesRules.prefix) + return _internal_prefix(); +} +template +PROTOBUF_ALWAYS_INLINE void BytesRules::set_prefix(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000020U); + _impl_.prefix_.SetBytes(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.BytesRules.prefix) +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::mutable_prefix() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000020U); + ::std::string* _s = _internal_mutable_prefix(); + // @@protoc_insertion_point(field_mutable:buf.validate.BytesRules.prefix) + return _s; +} +inline const ::std::string& BytesRules::_internal_prefix() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.prefix_.Get(); +} +inline void BytesRules::_internal_set_prefix(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.prefix_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::_internal_mutable_prefix() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.prefix_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE BytesRules::release_prefix() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.BytesRules.prefix) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000020U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000020U); + auto* released = _impl_.prefix_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.prefix_.Set("", GetArena()); + } + return released; +} +inline void BytesRules::set_allocated_prefix(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000020U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000020U); + } + _impl_.prefix_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.prefix_.IsDefault()) { + _impl_.prefix_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.BytesRules.prefix) +} + +// optional bytes suffix = 6 [(.buf.validate.predefined) = { +inline bool BytesRules::has_suffix() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000040U); + return value; +} +inline void BytesRules::clear_suffix() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.suffix_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000040U); +} +inline const ::std::string& BytesRules::suffix() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.BytesRules.suffix) + return _internal_suffix(); +} +template +PROTOBUF_ALWAYS_INLINE void BytesRules::set_suffix(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000040U); + _impl_.suffix_.SetBytes(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.BytesRules.suffix) +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::mutable_suffix() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000040U); + ::std::string* _s = _internal_mutable_suffix(); + // @@protoc_insertion_point(field_mutable:buf.validate.BytesRules.suffix) + return _s; +} +inline const ::std::string& BytesRules::_internal_suffix() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.suffix_.Get(); +} +inline void BytesRules::_internal_set_suffix(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.suffix_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::_internal_mutable_suffix() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.suffix_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE BytesRules::release_suffix() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.BytesRules.suffix) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000040U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000040U); + auto* released = _impl_.suffix_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.suffix_.Set("", GetArena()); + } + return released; +} +inline void BytesRules::set_allocated_suffix(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000040U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000040U); + } + _impl_.suffix_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.suffix_.IsDefault()) { + _impl_.suffix_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.BytesRules.suffix) +} + +// optional bytes contains = 7 [(.buf.validate.predefined) = { +inline bool BytesRules::has_contains() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000080U); + return value; +} +inline void BytesRules::clear_contains() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.contains_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000080U); +} +inline const ::std::string& BytesRules::contains() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.BytesRules.contains) + return _internal_contains(); +} +template +PROTOBUF_ALWAYS_INLINE void BytesRules::set_contains(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000080U); + _impl_.contains_.SetBytes(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.BytesRules.contains) +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::mutable_contains() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000080U); + ::std::string* _s = _internal_mutable_contains(); + // @@protoc_insertion_point(field_mutable:buf.validate.BytesRules.contains) + return _s; +} +inline const ::std::string& BytesRules::_internal_contains() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.contains_.Get(); +} +inline void BytesRules::_internal_set_contains(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.contains_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::_internal_mutable_contains() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.contains_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE BytesRules::release_contains() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.BytesRules.contains) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000080U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000080U); + auto* released = _impl_.contains_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.contains_.Set("", GetArena()); + } + return released; +} +inline void BytesRules::set_allocated_contains(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000080U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000080U); + } + _impl_.contains_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.contains_.IsDefault()) { + _impl_.contains_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.BytesRules.contains) +} + +// repeated bytes in = 8 [(.buf.validate.predefined) = { +inline int BytesRules::_internal_in_size() const { + return _internal_in().size(); +} +inline int BytesRules::in_size() const { + return _internal_in_size(); +} +inline void BytesRules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::add_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::std::string* _s = + _internal_mutable_in()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add_mutable:buf.validate.BytesRules.in) + return _s; +} +inline const ::std::string& BytesRules::in(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.BytesRules.in) + return _internal_in().Get(index); +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::mutable_in(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.BytesRules.in) + return _internal_mutable_in()->Mutable(index); +} +template +inline void BytesRules::set_in(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString(*_internal_mutable_in()->Mutable(index), ::std::forward(value), + args... , ::google::protobuf::internal::BytesTag{}); + // @@protoc_insertion_point(field_set:buf.validate.BytesRules.in) +} +template +inline void BytesRules::add_in(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField( + ::google::protobuf::MessageLite::internal_visibility(), GetArena(), + *_internal_mutable_in(), ::std::forward(value), + args... , ::google::protobuf::internal::BytesTag{}); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.BytesRules.in) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& BytesRules::in() + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.BytesRules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +BytesRules::mutable_in() ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.BytesRules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +BytesRules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +BytesRules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated bytes not_in = 9 [(.buf.validate.predefined) = { +inline int BytesRules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int BytesRules::not_in_size() const { + return _internal_not_in_size(); +} +inline void BytesRules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::add_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::std::string* _s = + _internal_mutable_not_in()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add_mutable:buf.validate.BytesRules.not_in) + return _s; +} +inline const ::std::string& BytesRules::not_in(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.BytesRules.not_in) + return _internal_not_in().Get(index); +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::mutable_not_in(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.BytesRules.not_in) + return _internal_mutable_not_in()->Mutable(index); +} +template +inline void BytesRules::set_not_in(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString(*_internal_mutable_not_in()->Mutable(index), ::std::forward(value), + args... , ::google::protobuf::internal::BytesTag{}); + // @@protoc_insertion_point(field_set:buf.validate.BytesRules.not_in) +} +template +inline void BytesRules::add_not_in(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField( + ::google::protobuf::MessageLite::internal_visibility(), GetArena(), + *_internal_mutable_not_in(), ::std::forward(value), + args... , ::google::protobuf::internal::BytesTag{}); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.BytesRules.not_in) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& BytesRules::not_in() + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.BytesRules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +BytesRules::mutable_not_in() ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.BytesRules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +BytesRules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +BytesRules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// bool ip = 10 [(.buf.validate.predefined) = { +inline bool BytesRules::has_ip() const { + return well_known_case() == kIp; +} +inline void BytesRules::set_has_ip() { + _impl_._oneof_case_[0] = kIp; +} +inline void BytesRules::clear_ip() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kIp) { + _impl_.well_known_.ip_ = false; + clear_has_well_known(); + } +} +inline bool BytesRules::ip() const { + // @@protoc_insertion_point(field_get:buf.validate.BytesRules.ip) + return _internal_ip(); +} +inline void BytesRules::set_ip(bool value) { + if (well_known_case() != kIp) { + clear_well_known(); + set_has_ip(); + } + _impl_.well_known_.ip_ = value; + // @@protoc_insertion_point(field_set:buf.validate.BytesRules.ip) +} +inline bool BytesRules::_internal_ip() const { + if (well_known_case() == kIp) { + return _impl_.well_known_.ip_; + } + return false; +} + +// bool ipv4 = 11 [(.buf.validate.predefined) = { +inline bool BytesRules::has_ipv4() const { + return well_known_case() == kIpv4; +} +inline void BytesRules::set_has_ipv4() { + _impl_._oneof_case_[0] = kIpv4; +} +inline void BytesRules::clear_ipv4() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kIpv4) { + _impl_.well_known_.ipv4_ = false; + clear_has_well_known(); + } +} +inline bool BytesRules::ipv4() const { + // @@protoc_insertion_point(field_get:buf.validate.BytesRules.ipv4) + return _internal_ipv4(); +} +inline void BytesRules::set_ipv4(bool value) { + if (well_known_case() != kIpv4) { + clear_well_known(); + set_has_ipv4(); + } + _impl_.well_known_.ipv4_ = value; + // @@protoc_insertion_point(field_set:buf.validate.BytesRules.ipv4) +} +inline bool BytesRules::_internal_ipv4() const { + if (well_known_case() == kIpv4) { + return _impl_.well_known_.ipv4_; + } + return false; +} + +// bool ipv6 = 12 [(.buf.validate.predefined) = { +inline bool BytesRules::has_ipv6() const { + return well_known_case() == kIpv6; +} +inline void BytesRules::set_has_ipv6() { + _impl_._oneof_case_[0] = kIpv6; +} +inline void BytesRules::clear_ipv6() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kIpv6) { + _impl_.well_known_.ipv6_ = false; + clear_has_well_known(); + } +} +inline bool BytesRules::ipv6() const { + // @@protoc_insertion_point(field_get:buf.validate.BytesRules.ipv6) + return _internal_ipv6(); +} +inline void BytesRules::set_ipv6(bool value) { + if (well_known_case() != kIpv6) { + clear_well_known(); + set_has_ipv6(); + } + _impl_.well_known_.ipv6_ = value; + // @@protoc_insertion_point(field_set:buf.validate.BytesRules.ipv6) +} +inline bool BytesRules::_internal_ipv6() const { + if (well_known_case() == kIpv6) { + return _impl_.well_known_.ipv6_; + } + return false; +} + +// bool uuid = 15 [(.buf.validate.predefined) = { +inline bool BytesRules::has_uuid() const { + return well_known_case() == kUuid; +} +inline void BytesRules::set_has_uuid() { + _impl_._oneof_case_[0] = kUuid; +} +inline void BytesRules::clear_uuid() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (well_known_case() == kUuid) { + _impl_.well_known_.uuid_ = false; + clear_has_well_known(); + } +} +inline bool BytesRules::uuid() const { + // @@protoc_insertion_point(field_get:buf.validate.BytesRules.uuid) + return _internal_uuid(); +} +inline void BytesRules::set_uuid(bool value) { + if (well_known_case() != kUuid) { + clear_well_known(); + set_has_uuid(); + } + _impl_.well_known_.uuid_ = value; + // @@protoc_insertion_point(field_set:buf.validate.BytesRules.uuid) +} +inline bool BytesRules::_internal_uuid() const { + if (well_known_case() == kUuid) { + return _impl_.well_known_.uuid_; + } + return false; +} + +// repeated bytes example = 14 [(.buf.validate.predefined) = { +inline int BytesRules::_internal_example_size() const { + return _internal_example().size(); +} +inline int BytesRules::example_size() const { + return _internal_example_size(); +} +inline void BytesRules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::add_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::std::string* _s = + _internal_mutable_example()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add_mutable:buf.validate.BytesRules.example) + return _s; +} +inline const ::std::string& BytesRules::example(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.BytesRules.example) + return _internal_example().Get(index); +} +inline ::std::string* PROTOBUF_NONNULL BytesRules::mutable_example(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.BytesRules.example) + return _internal_mutable_example()->Mutable(index); +} +template +inline void BytesRules::set_example(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString(*_internal_mutable_example()->Mutable(index), ::std::forward(value), + args... , ::google::protobuf::internal::BytesTag{}); + // @@protoc_insertion_point(field_set:buf.validate.BytesRules.example) +} +template +inline void BytesRules::add_example(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField( + ::google::protobuf::MessageLite::internal_visibility(), GetArena(), + *_internal_mutable_example(), ::std::forward(value), + args... , ::google::protobuf::internal::BytesTag{}); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.BytesRules.example) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& BytesRules::example() + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.BytesRules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +BytesRules::mutable_example() ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.BytesRules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +BytesRules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +BytesRules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool BytesRules::has_well_known() const { + return well_known_case() != WELL_KNOWN_NOT_SET; +} +inline void BytesRules::clear_has_well_known() { + _impl_._oneof_case_[0] = WELL_KNOWN_NOT_SET; +} +inline BytesRules::WellKnownCase BytesRules::well_known_case() const { + return BytesRules::WellKnownCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// EnumRules + +// optional int32 const = 1 [(.buf.validate.predefined) = { +inline bool EnumRules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void EnumRules::clear_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = 0; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline ::int32_t EnumRules::const_() const { + // @@protoc_insertion_point(field_get:buf.validate.EnumRules.const) + return _internal_const_(); +} +inline void EnumRules::set_const_(::int32_t value) { + _internal_set_const_(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.EnumRules.const) +} +inline ::int32_t EnumRules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.const__; +} +inline void EnumRules::_internal_set_const_(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.const__ = value; +} + +// optional bool defined_only = 2; +inline bool EnumRules::has_defined_only() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U); + return value; +} +inline void EnumRules::clear_defined_only() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.defined_only_ = false; + ClearHasBit(_impl_._has_bits_[0], + 0x00000010U); +} +inline bool EnumRules::defined_only() const { + // @@protoc_insertion_point(field_get:buf.validate.EnumRules.defined_only) + return _internal_defined_only(); +} +inline void EnumRules::set_defined_only(bool value) { + _internal_set_defined_only(value); + SetHasBit(_impl_._has_bits_[0], 0x00000010U); + // @@protoc_insertion_point(field_set:buf.validate.EnumRules.defined_only) +} +inline bool EnumRules::_internal_defined_only() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.defined_only_; +} +inline void EnumRules::_internal_set_defined_only(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.defined_only_ = value; +} + +// repeated int32 in = 3 [(.buf.validate.predefined) = { +inline int EnumRules::_internal_in_size() const { + return _internal_in().size(); +} +inline int EnumRules::in_size() const { + return _internal_in_size(); +} +inline void EnumRules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::int32_t EnumRules::in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.EnumRules.in) + return _internal_in().Get(index); +} +inline void EnumRules::set_in(int index, ::int32_t value) { + _internal_mutable_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.EnumRules.in) +} +inline void EnumRules::add_in(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.EnumRules.in) +} +inline const ::google::protobuf::RepeatedField<::int32_t>& EnumRules::in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.EnumRules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL EnumRules::mutable_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.EnumRules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedField<::int32_t>& +EnumRules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL +EnumRules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated int32 not_in = 4 [(.buf.validate.predefined) = { +inline int EnumRules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int EnumRules::not_in_size() const { + return _internal_not_in_size(); +} +inline void EnumRules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::int32_t EnumRules::not_in(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.EnumRules.not_in) + return _internal_not_in().Get(index); +} +inline void EnumRules::set_not_in(int index, ::int32_t value) { + _internal_mutable_not_in()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.EnumRules.not_in) +} +inline void EnumRules::add_not_in(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_not_in()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.EnumRules.not_in) +} +inline const ::google::protobuf::RepeatedField<::int32_t>& EnumRules::not_in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.EnumRules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL EnumRules::mutable_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.EnumRules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedField<::int32_t>& +EnumRules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL +EnumRules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// repeated int32 example = 5 [(.buf.validate.predefined) = { +inline int EnumRules::_internal_example_size() const { + return _internal_example().size(); +} +inline int EnumRules::example_size() const { + return _internal_example_size(); +} +inline void EnumRules::clear_example() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.example_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::int32_t EnumRules::example(int index) const { + // @@protoc_insertion_point(field_get:buf.validate.EnumRules.example) + return _internal_example().Get(index); +} +inline void EnumRules::set_example(int index, ::int32_t value) { + _internal_mutable_example()->Set(index, value); + // @@protoc_insertion_point(field_set:buf.validate.EnumRules.example) +} +inline void EnumRules::add_example(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_example()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.EnumRules.example) +} +inline const ::google::protobuf::RepeatedField<::int32_t>& EnumRules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.EnumRules.example) + return _internal_example(); +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL EnumRules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.EnumRules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::RepeatedField<::int32_t>& +EnumRules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL +EnumRules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +// ------------------------------------------------------------------- + +// RepeatedRules + +// optional uint64 min_items = 1 [(.buf.validate.predefined) = { +inline bool RepeatedRules::has_min_items() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U); + return value; +} +inline void RepeatedRules::clear_min_items() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.min_items_ = ::uint64_t{0u}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::uint64_t RepeatedRules::min_items() const { + // @@protoc_insertion_point(field_get:buf.validate.RepeatedRules.min_items) + return _internal_min_items(); +} +inline void RepeatedRules::set_min_items(::uint64_t value) { + _internal_set_min_items(value); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_set:buf.validate.RepeatedRules.min_items) +} +inline ::uint64_t RepeatedRules::_internal_min_items() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.min_items_; +} +inline void RepeatedRules::_internal_set_min_items(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.min_items_ = value; +} + +// optional uint64 max_items = 2 [(.buf.validate.predefined) = { +inline bool RepeatedRules::has_max_items() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U); + return value; +} +inline void RepeatedRules::clear_max_items() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.max_items_ = ::uint64_t{0u}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::uint64_t RepeatedRules::max_items() const { + // @@protoc_insertion_point(field_get:buf.validate.RepeatedRules.max_items) + return _internal_max_items(); +} +inline void RepeatedRules::set_max_items(::uint64_t value) { + _internal_set_max_items(value); + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_set:buf.validate.RepeatedRules.max_items) +} +inline ::uint64_t RepeatedRules::_internal_max_items() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.max_items_; +} +inline void RepeatedRules::_internal_set_max_items(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.max_items_ = value; +} + +// optional bool unique = 3 [(.buf.validate.predefined) = { +inline bool RepeatedRules::has_unique() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void RepeatedRules::clear_unique() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.unique_ = false; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline bool RepeatedRules::unique() const { + // @@protoc_insertion_point(field_get:buf.validate.RepeatedRules.unique) + return _internal_unique(); +} +inline void RepeatedRules::set_unique(bool value) { + _internal_set_unique(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.RepeatedRules.unique) +} +inline bool RepeatedRules::_internal_unique() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.unique_; +} +inline void RepeatedRules::_internal_set_unique(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.unique_ = value; +} + +// optional .buf.validate.FieldRules items = 4; +inline bool RepeatedRules::has_items() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U); + PROTOBUF_ASSUME(!value || _impl_.items_ != nullptr); + return value; +} +inline void RepeatedRules::clear_items() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.items_ != nullptr) _impl_.items_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::buf::validate::FieldRules& RepeatedRules::_internal_items() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::buf::validate::FieldRules* p = _impl_.items_; + return p != nullptr ? *p : reinterpret_cast(::buf::validate::_FieldRules_default_instance_); +} +inline const ::buf::validate::FieldRules& RepeatedRules::items() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.RepeatedRules.items) + return _internal_items(); +} +inline void RepeatedRules::unsafe_arena_set_allocated_items( + ::buf::validate::FieldRules* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.items_); + } + _impl_.items_ = reinterpret_cast<::buf::validate::FieldRules*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.RepeatedRules.items) +} +inline ::buf::validate::FieldRules* PROTOBUF_NULLABLE RepeatedRules::release_items() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::buf::validate::FieldRules* released = _impl_.items_; + _impl_.items_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::buf::validate::FieldRules* PROTOBUF_NULLABLE RepeatedRules::unsafe_arena_release_items() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.RepeatedRules.items) + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::buf::validate::FieldRules* temp = _impl_.items_; + _impl_.items_ = nullptr; + return temp; +} +inline ::buf::validate::FieldRules* PROTOBUF_NONNULL RepeatedRules::_internal_mutable_items() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.items_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::buf::validate::FieldRules>(GetArena()); + _impl_.items_ = reinterpret_cast<::buf::validate::FieldRules*>(p); + } + return _impl_.items_; +} +inline ::buf::validate::FieldRules* PROTOBUF_NONNULL RepeatedRules::mutable_items() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::buf::validate::FieldRules* _msg = _internal_mutable_items(); + // @@protoc_insertion_point(field_mutable:buf.validate.RepeatedRules.items) + return _msg; +} +inline void RepeatedRules::set_allocated_items(::buf::validate::FieldRules* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.items_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + + _impl_.items_ = reinterpret_cast<::buf::validate::FieldRules*>(value); + // @@protoc_insertion_point(field_set_allocated:buf.validate.RepeatedRules.items) +} + +// ------------------------------------------------------------------- + +// MapRules + +// optional uint64 min_pairs = 1 [(.buf.validate.predefined) = { +inline bool MapRules::has_min_pairs() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U); + return value; +} +inline void MapRules::clear_min_pairs() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.min_pairs_ = ::uint64_t{0u}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::uint64_t MapRules::min_pairs() const { + // @@protoc_insertion_point(field_get:buf.validate.MapRules.min_pairs) + return _internal_min_pairs(); +} +inline void MapRules::set_min_pairs(::uint64_t value) { + _internal_set_min_pairs(value); + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_set:buf.validate.MapRules.min_pairs) +} +inline ::uint64_t MapRules::_internal_min_pairs() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.min_pairs_; +} +inline void MapRules::_internal_set_min_pairs(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.min_pairs_ = value; +} + +// optional uint64 max_pairs = 2 [(.buf.validate.predefined) = { +inline bool MapRules::has_max_pairs() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void MapRules::clear_max_pairs() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.max_pairs_ = ::uint64_t{0u}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline ::uint64_t MapRules::max_pairs() const { + // @@protoc_insertion_point(field_get:buf.validate.MapRules.max_pairs) + return _internal_max_pairs(); +} +inline void MapRules::set_max_pairs(::uint64_t value) { + _internal_set_max_pairs(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.MapRules.max_pairs) +} +inline ::uint64_t MapRules::_internal_max_pairs() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.max_pairs_; +} +inline void MapRules::_internal_set_max_pairs(::uint64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.max_pairs_ = value; +} + +// optional .buf.validate.FieldRules keys = 4; +inline bool MapRules::has_keys() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U); + PROTOBUF_ASSUME(!value || _impl_.keys_ != nullptr); + return value; +} +inline void MapRules::clear_keys() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.keys_ != nullptr) _impl_.keys_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::buf::validate::FieldRules& MapRules::_internal_keys() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::buf::validate::FieldRules* p = _impl_.keys_; + return p != nullptr ? *p : reinterpret_cast(::buf::validate::_FieldRules_default_instance_); +} +inline const ::buf::validate::FieldRules& MapRules::keys() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.MapRules.keys) + return _internal_keys(); +} +inline void MapRules::unsafe_arena_set_allocated_keys( + ::buf::validate::FieldRules* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.keys_); + } + _impl_.keys_ = reinterpret_cast<::buf::validate::FieldRules*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.MapRules.keys) +} +inline ::buf::validate::FieldRules* PROTOBUF_NULLABLE MapRules::release_keys() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::buf::validate::FieldRules* released = _impl_.keys_; + _impl_.keys_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::buf::validate::FieldRules* PROTOBUF_NULLABLE MapRules::unsafe_arena_release_keys() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.MapRules.keys) + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::buf::validate::FieldRules* temp = _impl_.keys_; + _impl_.keys_ = nullptr; + return temp; +} +inline ::buf::validate::FieldRules* PROTOBUF_NONNULL MapRules::_internal_mutable_keys() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.keys_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::buf::validate::FieldRules>(GetArena()); + _impl_.keys_ = reinterpret_cast<::buf::validate::FieldRules*>(p); + } + return _impl_.keys_; +} +inline ::buf::validate::FieldRules* PROTOBUF_NONNULL MapRules::mutable_keys() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::buf::validate::FieldRules* _msg = _internal_mutable_keys(); + // @@protoc_insertion_point(field_mutable:buf.validate.MapRules.keys) + return _msg; +} +inline void MapRules::set_allocated_keys(::buf::validate::FieldRules* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.keys_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + + _impl_.keys_ = reinterpret_cast<::buf::validate::FieldRules*>(value); + // @@protoc_insertion_point(field_set_allocated:buf.validate.MapRules.keys) +} + +// optional .buf.validate.FieldRules values = 5; +inline bool MapRules::has_values() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U); + PROTOBUF_ASSUME(!value || _impl_.values_ != nullptr); + return value; +} +inline void MapRules::clear_values() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.values_ != nullptr) _impl_.values_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::buf::validate::FieldRules& MapRules::_internal_values() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::buf::validate::FieldRules* p = _impl_.values_; + return p != nullptr ? *p : reinterpret_cast(::buf::validate::_FieldRules_default_instance_); +} +inline const ::buf::validate::FieldRules& MapRules::values() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.MapRules.values) + return _internal_values(); +} +inline void MapRules::unsafe_arena_set_allocated_values( + ::buf::validate::FieldRules* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.values_); + } + _impl_.values_ = reinterpret_cast<::buf::validate::FieldRules*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.MapRules.values) +} +inline ::buf::validate::FieldRules* PROTOBUF_NULLABLE MapRules::release_values() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::buf::validate::FieldRules* released = _impl_.values_; + _impl_.values_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::buf::validate::FieldRules* PROTOBUF_NULLABLE MapRules::unsafe_arena_release_values() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.MapRules.values) + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::buf::validate::FieldRules* temp = _impl_.values_; + _impl_.values_ = nullptr; + return temp; +} +inline ::buf::validate::FieldRules* PROTOBUF_NONNULL MapRules::_internal_mutable_values() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.values_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::buf::validate::FieldRules>(GetArena()); + _impl_.values_ = reinterpret_cast<::buf::validate::FieldRules*>(p); + } + return _impl_.values_; +} +inline ::buf::validate::FieldRules* PROTOBUF_NONNULL MapRules::mutable_values() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::buf::validate::FieldRules* _msg = _internal_mutable_values(); + // @@protoc_insertion_point(field_mutable:buf.validate.MapRules.values) + return _msg; +} +inline void MapRules::set_allocated_values(::buf::validate::FieldRules* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.values_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + + _impl_.values_ = reinterpret_cast<::buf::validate::FieldRules*>(value); + // @@protoc_insertion_point(field_set_allocated:buf.validate.MapRules.values) +} + +// ------------------------------------------------------------------- + +// AnyRules + +// repeated string in = 2; +inline int AnyRules::_internal_in_size() const { + return _internal_in().size(); +} +inline int AnyRules::in_size() const { + return _internal_in_size(); +} +inline void AnyRules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::std::string* PROTOBUF_NONNULL AnyRules::add_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::std::string* _s = + _internal_mutable_in()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add_mutable:buf.validate.AnyRules.in) + return _s; +} +inline const ::std::string& AnyRules::in(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.AnyRules.in) + return _internal_in().Get(index); +} +inline ::std::string* PROTOBUF_NONNULL AnyRules::mutable_in(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.AnyRules.in) + return _internal_mutable_in()->Mutable(index); +} +template +inline void AnyRules::set_in(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString(*_internal_mutable_in()->Mutable(index), ::std::forward(value), + args... ); + // @@protoc_insertion_point(field_set:buf.validate.AnyRules.in) +} +template +inline void AnyRules::add_in(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField( + ::google::protobuf::MessageLite::internal_visibility(), GetArena(), + *_internal_mutable_in(), ::std::forward(value), + args... ); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.AnyRules.in) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& AnyRules::in() + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.AnyRules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +AnyRules::mutable_in() ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.AnyRules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +AnyRules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +AnyRules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated string not_in = 3; +inline int AnyRules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int AnyRules::not_in_size() const { + return _internal_not_in_size(); +} +inline void AnyRules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::std::string* PROTOBUF_NONNULL AnyRules::add_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::std::string* _s = + _internal_mutable_not_in()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add_mutable:buf.validate.AnyRules.not_in) + return _s; +} +inline const ::std::string& AnyRules::not_in(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.AnyRules.not_in) + return _internal_not_in().Get(index); +} +inline ::std::string* PROTOBUF_NONNULL AnyRules::mutable_not_in(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.AnyRules.not_in) + return _internal_mutable_not_in()->Mutable(index); +} +template +inline void AnyRules::set_not_in(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString(*_internal_mutable_not_in()->Mutable(index), ::std::forward(value), + args... ); + // @@protoc_insertion_point(field_set:buf.validate.AnyRules.not_in) +} +template +inline void AnyRules::add_not_in(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField( + ::google::protobuf::MessageLite::internal_visibility(), GetArena(), + *_internal_mutable_not_in(), ::std::forward(value), + args... ); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.AnyRules.not_in) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& AnyRules::not_in() + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.AnyRules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +AnyRules::mutable_not_in() ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.AnyRules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +AnyRules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +AnyRules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// ------------------------------------------------------------------- + +// DurationRules + +// optional .google.protobuf.Duration const = 2 [(.buf.validate.predefined) = { +inline bool DurationRules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + PROTOBUF_ASSUME(!value || _impl_.const__ != nullptr); + return value; +} +inline const ::google::protobuf::Duration& DurationRules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::google::protobuf::Duration* p = _impl_.const__; + return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_Duration_default_instance_); +} +inline const ::google::protobuf::Duration& DurationRules::const_() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.DurationRules.const) + return _internal_const_(); +} +inline void DurationRules::unsafe_arena_set_allocated_const_( + ::google::protobuf::Duration* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.const__); + } + _impl_.const__ = reinterpret_cast<::google::protobuf::Duration*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.DurationRules.const) +} +inline ::google::protobuf::Duration* PROTOBUF_NULLABLE DurationRules::release_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + ::google::protobuf::Duration* released = _impl_.const__; + _impl_.const__ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::google::protobuf::Duration* PROTOBUF_NULLABLE DurationRules::unsafe_arena_release_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.DurationRules.const) + + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + ::google::protobuf::Duration* temp = _impl_.const__; + _impl_.const__ = nullptr; + return temp; +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::_internal_mutable_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.const__ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena()); + _impl_.const__ = reinterpret_cast<::google::protobuf::Duration*>(p); + } + return _impl_.const__; +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::mutable_const_() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + ::google::protobuf::Duration* _msg = _internal_mutable_const_(); + // @@protoc_insertion_point(field_mutable:buf.validate.DurationRules.const) + return _msg; +} +inline void DurationRules::set_allocated_const_(::google::protobuf::Duration* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.const__); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + } + + _impl_.const__ = reinterpret_cast<::google::protobuf::Duration*>(value); + // @@protoc_insertion_point(field_set_allocated:buf.validate.DurationRules.const) +} + +// .google.protobuf.Duration lt = 3 [(.buf.validate.predefined) = { +inline bool DurationRules::has_lt() const { + return less_than_case() == kLt; +} +inline bool DurationRules::_internal_has_lt() const { + return less_than_case() == kLt; +} +inline void DurationRules::set_has_lt() { + _impl_._oneof_case_[0] = kLt; +} +inline ::google::protobuf::Duration* PROTOBUF_NULLABLE DurationRules::release_lt() { + // @@protoc_insertion_point(field_release:buf.validate.DurationRules.lt) + if (less_than_case() == kLt) { + clear_has_less_than(); + auto* temp = _impl_.less_than_.lt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.less_than_.lt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::protobuf::Duration& DurationRules::_internal_lt() const { + return less_than_case() == kLt ? static_cast(*_impl_.less_than_.lt_) + : reinterpret_cast(::google::protobuf::_Duration_default_instance_); +} +inline const ::google::protobuf::Duration& DurationRules::lt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.DurationRules.lt) + return _internal_lt(); +} +inline ::google::protobuf::Duration* PROTOBUF_NULLABLE DurationRules::unsafe_arena_release_lt() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.DurationRules.lt) + if (less_than_case() == kLt) { + clear_has_less_than(); + auto* temp = _impl_.less_than_.lt_; + _impl_.less_than_.lt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void DurationRules::unsafe_arena_set_allocated_lt( + ::google::protobuf::Duration* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_less_than(); + if (value) { + set_has_lt(); + _impl_.less_than_.lt_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.DurationRules.lt) +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::_internal_mutable_lt() { + if (less_than_case() != kLt) { + clear_less_than(); + set_has_lt(); + _impl_.less_than_.lt_ = + ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena()); + } + return _impl_.less_than_.lt_; +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::mutable_lt() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Duration* _msg = _internal_mutable_lt(); + // @@protoc_insertion_point(field_mutable:buf.validate.DurationRules.lt) + return _msg; +} + +// .google.protobuf.Duration lte = 4 [(.buf.validate.predefined) = { +inline bool DurationRules::has_lte() const { + return less_than_case() == kLte; +} +inline bool DurationRules::_internal_has_lte() const { + return less_than_case() == kLte; +} +inline void DurationRules::set_has_lte() { + _impl_._oneof_case_[0] = kLte; +} +inline ::google::protobuf::Duration* PROTOBUF_NULLABLE DurationRules::release_lte() { + // @@protoc_insertion_point(field_release:buf.validate.DurationRules.lte) + if (less_than_case() == kLte) { + clear_has_less_than(); + auto* temp = _impl_.less_than_.lte_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.less_than_.lte_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::protobuf::Duration& DurationRules::_internal_lte() const { + return less_than_case() == kLte ? static_cast(*_impl_.less_than_.lte_) + : reinterpret_cast(::google::protobuf::_Duration_default_instance_); +} +inline const ::google::protobuf::Duration& DurationRules::lte() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.DurationRules.lte) + return _internal_lte(); +} +inline ::google::protobuf::Duration* PROTOBUF_NULLABLE DurationRules::unsafe_arena_release_lte() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.DurationRules.lte) + if (less_than_case() == kLte) { + clear_has_less_than(); + auto* temp = _impl_.less_than_.lte_; + _impl_.less_than_.lte_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void DurationRules::unsafe_arena_set_allocated_lte( + ::google::protobuf::Duration* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_less_than(); + if (value) { + set_has_lte(); + _impl_.less_than_.lte_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.DurationRules.lte) +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::_internal_mutable_lte() { + if (less_than_case() != kLte) { + clear_less_than(); + set_has_lte(); + _impl_.less_than_.lte_ = + ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena()); + } + return _impl_.less_than_.lte_; +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::mutable_lte() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Duration* _msg = _internal_mutable_lte(); + // @@protoc_insertion_point(field_mutable:buf.validate.DurationRules.lte) + return _msg; +} + +// .google.protobuf.Duration gt = 5 [(.buf.validate.predefined) = { +inline bool DurationRules::has_gt() const { + return greater_than_case() == kGt; +} +inline bool DurationRules::_internal_has_gt() const { + return greater_than_case() == kGt; +} +inline void DurationRules::set_has_gt() { + _impl_._oneof_case_[1] = kGt; +} +inline ::google::protobuf::Duration* PROTOBUF_NULLABLE DurationRules::release_gt() { + // @@protoc_insertion_point(field_release:buf.validate.DurationRules.gt) + if (greater_than_case() == kGt) { + clear_has_greater_than(); + auto* temp = _impl_.greater_than_.gt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.greater_than_.gt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::protobuf::Duration& DurationRules::_internal_gt() const { + return greater_than_case() == kGt ? static_cast(*_impl_.greater_than_.gt_) + : reinterpret_cast(::google::protobuf::_Duration_default_instance_); +} +inline const ::google::protobuf::Duration& DurationRules::gt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.DurationRules.gt) + return _internal_gt(); +} +inline ::google::protobuf::Duration* PROTOBUF_NULLABLE DurationRules::unsafe_arena_release_gt() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.DurationRules.gt) + if (greater_than_case() == kGt) { + clear_has_greater_than(); + auto* temp = _impl_.greater_than_.gt_; + _impl_.greater_than_.gt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void DurationRules::unsafe_arena_set_allocated_gt( + ::google::protobuf::Duration* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_greater_than(); + if (value) { + set_has_gt(); + _impl_.greater_than_.gt_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.DurationRules.gt) +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::_internal_mutable_gt() { + if (greater_than_case() != kGt) { + clear_greater_than(); + set_has_gt(); + _impl_.greater_than_.gt_ = + ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena()); + } + return _impl_.greater_than_.gt_; +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::mutable_gt() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Duration* _msg = _internal_mutable_gt(); + // @@protoc_insertion_point(field_mutable:buf.validate.DurationRules.gt) + return _msg; +} + +// .google.protobuf.Duration gte = 6 [(.buf.validate.predefined) = { +inline bool DurationRules::has_gte() const { + return greater_than_case() == kGte; +} +inline bool DurationRules::_internal_has_gte() const { + return greater_than_case() == kGte; +} +inline void DurationRules::set_has_gte() { + _impl_._oneof_case_[1] = kGte; +} +inline ::google::protobuf::Duration* PROTOBUF_NULLABLE DurationRules::release_gte() { + // @@protoc_insertion_point(field_release:buf.validate.DurationRules.gte) + if (greater_than_case() == kGte) { + clear_has_greater_than(); + auto* temp = _impl_.greater_than_.gte_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.greater_than_.gte_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::protobuf::Duration& DurationRules::_internal_gte() const { + return greater_than_case() == kGte ? static_cast(*_impl_.greater_than_.gte_) + : reinterpret_cast(::google::protobuf::_Duration_default_instance_); +} +inline const ::google::protobuf::Duration& DurationRules::gte() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.DurationRules.gte) + return _internal_gte(); +} +inline ::google::protobuf::Duration* PROTOBUF_NULLABLE DurationRules::unsafe_arena_release_gte() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.DurationRules.gte) + if (greater_than_case() == kGte) { + clear_has_greater_than(); + auto* temp = _impl_.greater_than_.gte_; + _impl_.greater_than_.gte_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void DurationRules::unsafe_arena_set_allocated_gte( + ::google::protobuf::Duration* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_greater_than(); + if (value) { + set_has_gte(); + _impl_.greater_than_.gte_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.DurationRules.gte) +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::_internal_mutable_gte() { + if (greater_than_case() != kGte) { + clear_greater_than(); + set_has_gte(); + _impl_.greater_than_.gte_ = + ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena()); + } + return _impl_.greater_than_.gte_; +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::mutable_gte() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Duration* _msg = _internal_mutable_gte(); + // @@protoc_insertion_point(field_mutable:buf.validate.DurationRules.gte) + return _msg; +} + +// repeated .google.protobuf.Duration in = 7 [(.buf.validate.predefined) = { +inline int DurationRules::_internal_in_size() const { + return _internal_in().size(); +} +inline int DurationRules::in_size() const { + return _internal_in_size(); +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::mutable_in(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.DurationRules.in) + return _internal_mutable_in()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>* PROTOBUF_NONNULL DurationRules::mutable_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.DurationRules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::Duration& DurationRules::in(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.DurationRules.in) + return _internal_in().Get(index); +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::add_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::Duration* _add = + _internal_mutable_in()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.DurationRules.in) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>& DurationRules::in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.DurationRules.in) + return _internal_in(); +} +inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>& +DurationRules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>* PROTOBUF_NONNULL +DurationRules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated .google.protobuf.Duration not_in = 8 [(.buf.validate.predefined) = { +inline int DurationRules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int DurationRules::not_in_size() const { + return _internal_not_in_size(); +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::mutable_not_in(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.DurationRules.not_in) + return _internal_mutable_not_in()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>* PROTOBUF_NONNULL DurationRules::mutable_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.DurationRules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::Duration& DurationRules::not_in(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.DurationRules.not_in) + return _internal_not_in().Get(index); +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::add_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::Duration* _add = + _internal_mutable_not_in()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.DurationRules.not_in) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>& DurationRules::not_in() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.DurationRules.not_in) + return _internal_not_in(); +} +inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>& +DurationRules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>* PROTOBUF_NONNULL +DurationRules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// repeated .google.protobuf.Duration example = 9 [(.buf.validate.predefined) = { +inline int DurationRules::_internal_example_size() const { + return _internal_example().size(); +} +inline int DurationRules::example_size() const { + return _internal_example_size(); +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::mutable_example(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.DurationRules.example) + return _internal_mutable_example()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>* PROTOBUF_NONNULL DurationRules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.DurationRules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::Duration& DurationRules::example(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.DurationRules.example) + return _internal_example().Get(index); +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL DurationRules::add_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::Duration* _add = + _internal_mutable_example()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.DurationRules.example) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>& DurationRules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.DurationRules.example) + return _internal_example(); +} +inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>& +DurationRules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedPtrField<::google::protobuf::Duration>* PROTOBUF_NONNULL +DurationRules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool DurationRules::has_less_than() const { + return less_than_case() != LESS_THAN_NOT_SET; +} +inline void DurationRules::clear_has_less_than() { + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} +inline bool DurationRules::has_greater_than() const { + return greater_than_case() != GREATER_THAN_NOT_SET; +} +inline void DurationRules::clear_has_greater_than() { + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} +inline DurationRules::LessThanCase DurationRules::less_than_case() const { + return DurationRules::LessThanCase(_impl_._oneof_case_[0]); +} +inline DurationRules::GreaterThanCase DurationRules::greater_than_case() const { + return DurationRules::GreaterThanCase(_impl_._oneof_case_[1]); +} +// ------------------------------------------------------------------- + +// FieldMaskRules + +// optional .google.protobuf.FieldMask const = 1 [(.buf.validate.predefined) = { +inline bool FieldMaskRules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + PROTOBUF_ASSUME(!value || _impl_.const__ != nullptr); + return value; +} +inline const ::google::protobuf::FieldMask& FieldMaskRules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::google::protobuf::FieldMask* p = _impl_.const__; + return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_FieldMask_default_instance_); +} +inline const ::google::protobuf::FieldMask& FieldMaskRules::const_() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldMaskRules.const) + return _internal_const_(); +} +inline void FieldMaskRules::unsafe_arena_set_allocated_const_( + ::google::protobuf::FieldMask* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.const__); + } + _impl_.const__ = reinterpret_cast<::google::protobuf::FieldMask*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.FieldMaskRules.const) +} +inline ::google::protobuf::FieldMask* PROTOBUF_NULLABLE FieldMaskRules::release_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + ::google::protobuf::FieldMask* released = _impl_.const__; + _impl_.const__ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::google::protobuf::FieldMask* PROTOBUF_NULLABLE FieldMaskRules::unsafe_arena_release_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.FieldMaskRules.const) + + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + ::google::protobuf::FieldMask* temp = _impl_.const__; + _impl_.const__ = nullptr; + return temp; +} +inline ::google::protobuf::FieldMask* PROTOBUF_NONNULL FieldMaskRules::_internal_mutable_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.const__ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FieldMask>(GetArena()); + _impl_.const__ = reinterpret_cast<::google::protobuf::FieldMask*>(p); + } + return _impl_.const__; +} +inline ::google::protobuf::FieldMask* PROTOBUF_NONNULL FieldMaskRules::mutable_const_() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + ::google::protobuf::FieldMask* _msg = _internal_mutable_const_(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldMaskRules.const) + return _msg; +} +inline void FieldMaskRules::set_allocated_const_(::google::protobuf::FieldMask* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.const__); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + } + + _impl_.const__ = reinterpret_cast<::google::protobuf::FieldMask*>(value); + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldMaskRules.const) +} + +// repeated string in = 2 [(.buf.validate.predefined) = { +inline int FieldMaskRules::_internal_in_size() const { + return _internal_in().size(); +} +inline int FieldMaskRules::in_size() const { + return _internal_in_size(); +} +inline void FieldMaskRules::clear_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::std::string* PROTOBUF_NONNULL FieldMaskRules::add_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::std::string* _s = + _internal_mutable_in()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add_mutable:buf.validate.FieldMaskRules.in) + return _s; +} +inline const ::std::string& FieldMaskRules::in(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldMaskRules.in) + return _internal_in().Get(index); +} +inline ::std::string* PROTOBUF_NONNULL FieldMaskRules::mutable_in(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.FieldMaskRules.in) + return _internal_mutable_in()->Mutable(index); +} +template +inline void FieldMaskRules::set_in(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString(*_internal_mutable_in()->Mutable(index), ::std::forward(value), + args... ); + // @@protoc_insertion_point(field_set:buf.validate.FieldMaskRules.in) +} +template +inline void FieldMaskRules::add_in(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField( + ::google::protobuf::MessageLite::internal_visibility(), GetArena(), + *_internal_mutable_in(), ::std::forward(value), + args... ); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.FieldMaskRules.in) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& FieldMaskRules::in() + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.FieldMaskRules.in) + return _internal_in(); +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +FieldMaskRules::mutable_in() ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.FieldMaskRules.in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_in(); +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +FieldMaskRules::_internal_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.in_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +FieldMaskRules::_internal_mutable_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.in_; +} + +// repeated string not_in = 3 [(.buf.validate.predefined) = { +inline int FieldMaskRules::_internal_not_in_size() const { + return _internal_not_in().size(); +} +inline int FieldMaskRules::not_in_size() const { + return _internal_not_in_size(); +} +inline void FieldMaskRules::clear_not_in() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.not_in_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::std::string* PROTOBUF_NONNULL FieldMaskRules::add_not_in() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::std::string* _s = + _internal_mutable_not_in()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add_mutable:buf.validate.FieldMaskRules.not_in) + return _s; +} +inline const ::std::string& FieldMaskRules::not_in(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldMaskRules.not_in) + return _internal_not_in().Get(index); +} +inline ::std::string* PROTOBUF_NONNULL FieldMaskRules::mutable_not_in(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.FieldMaskRules.not_in) + return _internal_mutable_not_in()->Mutable(index); +} +template +inline void FieldMaskRules::set_not_in(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString(*_internal_mutable_not_in()->Mutable(index), ::std::forward(value), + args... ); + // @@protoc_insertion_point(field_set:buf.validate.FieldMaskRules.not_in) +} +template +inline void FieldMaskRules::add_not_in(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField( + ::google::protobuf::MessageLite::internal_visibility(), GetArena(), + *_internal_mutable_not_in(), ::std::forward(value), + args... ); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:buf.validate.FieldMaskRules.not_in) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& FieldMaskRules::not_in() + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.FieldMaskRules.not_in) + return _internal_not_in(); +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +FieldMaskRules::mutable_not_in() ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.FieldMaskRules.not_in) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_not_in(); +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +FieldMaskRules::_internal_not_in() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.not_in_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +FieldMaskRules::_internal_mutable_not_in() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.not_in_; +} + +// repeated .google.protobuf.FieldMask example = 4 [(.buf.validate.predefined) = { +inline int FieldMaskRules::_internal_example_size() const { + return _internal_example().size(); +} +inline int FieldMaskRules::example_size() const { + return _internal_example_size(); +} +inline ::google::protobuf::FieldMask* PROTOBUF_NONNULL FieldMaskRules::mutable_example(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.FieldMaskRules.example) + return _internal_mutable_example()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldMask>* PROTOBUF_NONNULL FieldMaskRules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.FieldMaskRules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::FieldMask& FieldMaskRules::example(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldMaskRules.example) + return _internal_example().Get(index); +} +inline ::google::protobuf::FieldMask* PROTOBUF_NONNULL FieldMaskRules::add_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::FieldMask* _add = + _internal_mutable_example()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.FieldMaskRules.example) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldMask>& FieldMaskRules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.FieldMaskRules.example) + return _internal_example(); +} +inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldMask>& +FieldMaskRules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldMask>* PROTOBUF_NONNULL +FieldMaskRules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +// ------------------------------------------------------------------- + +// TimestampRules + +// optional .google.protobuf.Timestamp const = 2 [(.buf.validate.predefined) = { +inline bool TimestampRules::has_const_() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U); + PROTOBUF_ASSUME(!value || _impl_.const__ != nullptr); + return value; +} +inline const ::google::protobuf::Timestamp& TimestampRules::_internal_const_() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::google::protobuf::Timestamp* p = _impl_.const__; + return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_Timestamp_default_instance_); +} +inline const ::google::protobuf::Timestamp& TimestampRules::const_() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.TimestampRules.const) + return _internal_const_(); +} +inline void TimestampRules::unsafe_arena_set_allocated_const_( + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.const__); + } + _impl_.const__ = reinterpret_cast<::google::protobuf::Timestamp*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.TimestampRules.const) +} +inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE TimestampRules::release_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::google::protobuf::Timestamp* released = _impl_.const__; + _impl_.const__ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE TimestampRules::unsafe_arena_release_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.TimestampRules.const) + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::google::protobuf::Timestamp* temp = _impl_.const__; + _impl_.const__ = nullptr; + return temp; +} +inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL TimestampRules::_internal_mutable_const_() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.const__ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Timestamp>(GetArena()); + _impl_.const__ = reinterpret_cast<::google::protobuf::Timestamp*>(p); + } + return _impl_.const__; +} +inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL TimestampRules::mutable_const_() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::google::protobuf::Timestamp* _msg = _internal_mutable_const_(); + // @@protoc_insertion_point(field_mutable:buf.validate.TimestampRules.const) + return _msg; +} +inline void TimestampRules::set_allocated_const_(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.const__); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + + _impl_.const__ = reinterpret_cast<::google::protobuf::Timestamp*>(value); + // @@protoc_insertion_point(field_set_allocated:buf.validate.TimestampRules.const) +} + +// .google.protobuf.Timestamp lt = 3 [(.buf.validate.predefined) = { +inline bool TimestampRules::has_lt() const { + return less_than_case() == kLt; +} +inline bool TimestampRules::_internal_has_lt() const { + return less_than_case() == kLt; +} +inline void TimestampRules::set_has_lt() { + _impl_._oneof_case_[0] = kLt; +} +inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE TimestampRules::release_lt() { + // @@protoc_insertion_point(field_release:buf.validate.TimestampRules.lt) + if (less_than_case() == kLt) { + clear_has_less_than(); + auto* temp = _impl_.less_than_.lt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.less_than_.lt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::protobuf::Timestamp& TimestampRules::_internal_lt() const { + return less_than_case() == kLt ? static_cast(*_impl_.less_than_.lt_) + : reinterpret_cast(::google::protobuf::_Timestamp_default_instance_); +} +inline const ::google::protobuf::Timestamp& TimestampRules::lt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.TimestampRules.lt) + return _internal_lt(); +} +inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE TimestampRules::unsafe_arena_release_lt() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.TimestampRules.lt) + if (less_than_case() == kLt) { + clear_has_less_than(); + auto* temp = _impl_.less_than_.lt_; + _impl_.less_than_.lt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void TimestampRules::unsafe_arena_set_allocated_lt( + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_less_than(); + if (value) { + set_has_lt(); + _impl_.less_than_.lt_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.TimestampRules.lt) +} +inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL TimestampRules::_internal_mutable_lt() { + if (less_than_case() != kLt) { + clear_less_than(); + set_has_lt(); + _impl_.less_than_.lt_ = + ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Timestamp>(GetArena()); + } + return _impl_.less_than_.lt_; +} +inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL TimestampRules::mutable_lt() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Timestamp* _msg = _internal_mutable_lt(); + // @@protoc_insertion_point(field_mutable:buf.validate.TimestampRules.lt) + return _msg; +} + +// .google.protobuf.Timestamp lte = 4 [(.buf.validate.predefined) = { +inline bool TimestampRules::has_lte() const { + return less_than_case() == kLte; +} +inline bool TimestampRules::_internal_has_lte() const { + return less_than_case() == kLte; +} +inline void TimestampRules::set_has_lte() { + _impl_._oneof_case_[0] = kLte; +} +inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE TimestampRules::release_lte() { + // @@protoc_insertion_point(field_release:buf.validate.TimestampRules.lte) + if (less_than_case() == kLte) { + clear_has_less_than(); + auto* temp = _impl_.less_than_.lte_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.less_than_.lte_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::protobuf::Timestamp& TimestampRules::_internal_lte() const { + return less_than_case() == kLte ? static_cast(*_impl_.less_than_.lte_) + : reinterpret_cast(::google::protobuf::_Timestamp_default_instance_); +} +inline const ::google::protobuf::Timestamp& TimestampRules::lte() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.TimestampRules.lte) + return _internal_lte(); +} +inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE TimestampRules::unsafe_arena_release_lte() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.TimestampRules.lte) + if (less_than_case() == kLte) { + clear_has_less_than(); + auto* temp = _impl_.less_than_.lte_; + _impl_.less_than_.lte_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void TimestampRules::unsafe_arena_set_allocated_lte( + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_less_than(); + if (value) { + set_has_lte(); + _impl_.less_than_.lte_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.TimestampRules.lte) +} +inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL TimestampRules::_internal_mutable_lte() { + if (less_than_case() != kLte) { + clear_less_than(); + set_has_lte(); + _impl_.less_than_.lte_ = + ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Timestamp>(GetArena()); + } + return _impl_.less_than_.lte_; +} +inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL TimestampRules::mutable_lte() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Timestamp* _msg = _internal_mutable_lte(); + // @@protoc_insertion_point(field_mutable:buf.validate.TimestampRules.lte) + return _msg; +} + +// bool lt_now = 7 [(.buf.validate.predefined) = { +inline bool TimestampRules::has_lt_now() const { + return less_than_case() == kLtNow; +} +inline void TimestampRules::set_has_lt_now() { + _impl_._oneof_case_[0] = kLtNow; +} +inline void TimestampRules::clear_lt_now() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (less_than_case() == kLtNow) { + _impl_.less_than_.lt_now_ = false; + clear_has_less_than(); + } +} +inline bool TimestampRules::lt_now() const { + // @@protoc_insertion_point(field_get:buf.validate.TimestampRules.lt_now) + return _internal_lt_now(); +} +inline void TimestampRules::set_lt_now(bool value) { + if (less_than_case() != kLtNow) { + clear_less_than(); + set_has_lt_now(); + } + _impl_.less_than_.lt_now_ = value; + // @@protoc_insertion_point(field_set:buf.validate.TimestampRules.lt_now) +} +inline bool TimestampRules::_internal_lt_now() const { + if (less_than_case() == kLtNow) { + return _impl_.less_than_.lt_now_; + } + return false; +} + +// .google.protobuf.Timestamp gt = 5 [(.buf.validate.predefined) = { +inline bool TimestampRules::has_gt() const { + return greater_than_case() == kGt; +} +inline bool TimestampRules::_internal_has_gt() const { + return greater_than_case() == kGt; +} +inline void TimestampRules::set_has_gt() { + _impl_._oneof_case_[1] = kGt; +} +inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE TimestampRules::release_gt() { + // @@protoc_insertion_point(field_release:buf.validate.TimestampRules.gt) + if (greater_than_case() == kGt) { + clear_has_greater_than(); + auto* temp = _impl_.greater_than_.gt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.greater_than_.gt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::protobuf::Timestamp& TimestampRules::_internal_gt() const { + return greater_than_case() == kGt ? static_cast(*_impl_.greater_than_.gt_) + : reinterpret_cast(::google::protobuf::_Timestamp_default_instance_); +} +inline const ::google::protobuf::Timestamp& TimestampRules::gt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.TimestampRules.gt) + return _internal_gt(); +} +inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE TimestampRules::unsafe_arena_release_gt() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.TimestampRules.gt) + if (greater_than_case() == kGt) { + clear_has_greater_than(); + auto* temp = _impl_.greater_than_.gt_; + _impl_.greater_than_.gt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void TimestampRules::unsafe_arena_set_allocated_gt( + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_greater_than(); + if (value) { + set_has_gt(); + _impl_.greater_than_.gt_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.TimestampRules.gt) +} +inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL TimestampRules::_internal_mutable_gt() { + if (greater_than_case() != kGt) { + clear_greater_than(); + set_has_gt(); + _impl_.greater_than_.gt_ = + ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Timestamp>(GetArena()); + } + return _impl_.greater_than_.gt_; +} +inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL TimestampRules::mutable_gt() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Timestamp* _msg = _internal_mutable_gt(); + // @@protoc_insertion_point(field_mutable:buf.validate.TimestampRules.gt) + return _msg; +} + +// .google.protobuf.Timestamp gte = 6 [(.buf.validate.predefined) = { +inline bool TimestampRules::has_gte() const { + return greater_than_case() == kGte; +} +inline bool TimestampRules::_internal_has_gte() const { + return greater_than_case() == kGte; +} +inline void TimestampRules::set_has_gte() { + _impl_._oneof_case_[1] = kGte; +} +inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE TimestampRules::release_gte() { + // @@protoc_insertion_point(field_release:buf.validate.TimestampRules.gte) + if (greater_than_case() == kGte) { + clear_has_greater_than(); + auto* temp = _impl_.greater_than_.gte_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.greater_than_.gte_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::protobuf::Timestamp& TimestampRules::_internal_gte() const { + return greater_than_case() == kGte ? static_cast(*_impl_.greater_than_.gte_) + : reinterpret_cast(::google::protobuf::_Timestamp_default_instance_); +} +inline const ::google::protobuf::Timestamp& TimestampRules::gte() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.TimestampRules.gte) + return _internal_gte(); +} +inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE TimestampRules::unsafe_arena_release_gte() { + // @@protoc_insertion_point(field_unsafe_arena_release:buf.validate.TimestampRules.gte) + if (greater_than_case() == kGte) { + clear_has_greater_than(); + auto* temp = _impl_.greater_than_.gte_; + _impl_.greater_than_.gte_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void TimestampRules::unsafe_arena_set_allocated_gte( + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_greater_than(); + if (value) { + set_has_gte(); + _impl_.greater_than_.gte_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.TimestampRules.gte) +} +inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL TimestampRules::_internal_mutable_gte() { + if (greater_than_case() != kGte) { + clear_greater_than(); + set_has_gte(); + _impl_.greater_than_.gte_ = + ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Timestamp>(GetArena()); + } + return _impl_.greater_than_.gte_; +} +inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL TimestampRules::mutable_gte() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Timestamp* _msg = _internal_mutable_gte(); + // @@protoc_insertion_point(field_mutable:buf.validate.TimestampRules.gte) + return _msg; +} + +// bool gt_now = 8 [(.buf.validate.predefined) = { +inline bool TimestampRules::has_gt_now() const { + return greater_than_case() == kGtNow; +} +inline void TimestampRules::set_has_gt_now() { + _impl_._oneof_case_[1] = kGtNow; +} +inline void TimestampRules::clear_gt_now() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (greater_than_case() == kGtNow) { + _impl_.greater_than_.gt_now_ = false; + clear_has_greater_than(); + } +} +inline bool TimestampRules::gt_now() const { + // @@protoc_insertion_point(field_get:buf.validate.TimestampRules.gt_now) + return _internal_gt_now(); +} +inline void TimestampRules::set_gt_now(bool value) { + if (greater_than_case() != kGtNow) { + clear_greater_than(); + set_has_gt_now(); + } + _impl_.greater_than_.gt_now_ = value; + // @@protoc_insertion_point(field_set:buf.validate.TimestampRules.gt_now) +} +inline bool TimestampRules::_internal_gt_now() const { + if (greater_than_case() == kGtNow) { + return _impl_.greater_than_.gt_now_; + } + return false; +} + +// optional .google.protobuf.Duration within = 9 [(.buf.validate.predefined) = { +inline bool TimestampRules::has_within() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U); + PROTOBUF_ASSUME(!value || _impl_.within_ != nullptr); + return value; +} +inline const ::google::protobuf::Duration& TimestampRules::_internal_within() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::google::protobuf::Duration* p = _impl_.within_; + return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_Duration_default_instance_); +} +inline const ::google::protobuf::Duration& TimestampRules::within() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.TimestampRules.within) + return _internal_within(); +} +inline void TimestampRules::unsafe_arena_set_allocated_within( + ::google::protobuf::Duration* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.within_); + } + _impl_.within_ = reinterpret_cast<::google::protobuf::Duration*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.TimestampRules.within) +} +inline ::google::protobuf::Duration* PROTOBUF_NULLABLE TimestampRules::release_within() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::google::protobuf::Duration* released = _impl_.within_; + _impl_.within_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::google::protobuf::Duration* PROTOBUF_NULLABLE TimestampRules::unsafe_arena_release_within() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.TimestampRules.within) + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::google::protobuf::Duration* temp = _impl_.within_; + _impl_.within_ = nullptr; + return temp; +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL TimestampRules::_internal_mutable_within() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.within_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena()); + _impl_.within_ = reinterpret_cast<::google::protobuf::Duration*>(p); + } + return _impl_.within_; +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL TimestampRules::mutable_within() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::google::protobuf::Duration* _msg = _internal_mutable_within(); + // @@protoc_insertion_point(field_mutable:buf.validate.TimestampRules.within) + return _msg; +} +inline void TimestampRules::set_allocated_within(::google::protobuf::Duration* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.within_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + + _impl_.within_ = reinterpret_cast<::google::protobuf::Duration*>(value); + // @@protoc_insertion_point(field_set_allocated:buf.validate.TimestampRules.within) +} + +// repeated .google.protobuf.Timestamp example = 10 [(.buf.validate.predefined) = { +inline int TimestampRules::_internal_example_size() const { + return _internal_example().size(); +} +inline int TimestampRules::example_size() const { + return _internal_example_size(); +} +inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL TimestampRules::mutable_example(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.TimestampRules.example) + return _internal_mutable_example()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::google::protobuf::Timestamp>* PROTOBUF_NONNULL TimestampRules::mutable_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.TimestampRules.example) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_example(); +} +inline const ::google::protobuf::Timestamp& TimestampRules::example(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.TimestampRules.example) + return _internal_example().Get(index); +} +inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL TimestampRules::add_example() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::Timestamp* _add = + _internal_mutable_example()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_add:buf.validate.TimestampRules.example) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::Timestamp>& TimestampRules::example() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.TimestampRules.example) + return _internal_example(); +} +inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::Timestamp>& +TimestampRules::_internal_example() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.example_; +} +inline ::google::protobuf::RepeatedPtrField<::google::protobuf::Timestamp>* PROTOBUF_NONNULL +TimestampRules::_internal_mutable_example() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.example_; +} + +inline bool TimestampRules::has_less_than() const { + return less_than_case() != LESS_THAN_NOT_SET; +} +inline void TimestampRules::clear_has_less_than() { + _impl_._oneof_case_[0] = LESS_THAN_NOT_SET; +} +inline bool TimestampRules::has_greater_than() const { + return greater_than_case() != GREATER_THAN_NOT_SET; +} +inline void TimestampRules::clear_has_greater_than() { + _impl_._oneof_case_[1] = GREATER_THAN_NOT_SET; +} +inline TimestampRules::LessThanCase TimestampRules::less_than_case() const { + return TimestampRules::LessThanCase(_impl_._oneof_case_[0]); +} +inline TimestampRules::GreaterThanCase TimestampRules::greater_than_case() const { + return TimestampRules::GreaterThanCase(_impl_._oneof_case_[1]); +} +// ------------------------------------------------------------------- + +// Violations + +// repeated .buf.validate.Violation violations = 1; +inline int Violations::_internal_violations_size() const { + return _internal_violations().size(); +} +inline int Violations::violations_size() const { + return _internal_violations_size(); +} +inline void Violations::clear_violations() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.violations_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::buf::validate::Violation* PROTOBUF_NONNULL Violations::mutable_violations(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.Violations.violations) + return _internal_mutable_violations()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::buf::validate::Violation>* PROTOBUF_NONNULL Violations::mutable_violations() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.Violations.violations) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_violations(); +} +inline const ::buf::validate::Violation& Violations::violations(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.Violations.violations) + return _internal_violations().Get(index); +} +inline ::buf::validate::Violation* PROTOBUF_NONNULL Violations::add_violations() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::buf::validate::Violation* _add = + _internal_mutable_violations()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.Violations.violations) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::buf::validate::Violation>& Violations::violations() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.Violations.violations) + return _internal_violations(); +} +inline const ::google::protobuf::RepeatedPtrField<::buf::validate::Violation>& +Violations::_internal_violations() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.violations_; +} +inline ::google::protobuf::RepeatedPtrField<::buf::validate::Violation>* PROTOBUF_NONNULL +Violations::_internal_mutable_violations() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.violations_; +} + +// ------------------------------------------------------------------- + +// Violation + +// optional .buf.validate.FieldPath field = 5; +inline bool Violation::has_field() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U); + PROTOBUF_ASSUME(!value || _impl_.field_ != nullptr); + return value; +} +inline void Violation::clear_field() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.field_ != nullptr) _impl_.field_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline const ::buf::validate::FieldPath& Violation::_internal_field() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::buf::validate::FieldPath* p = _impl_.field_; + return p != nullptr ? *p : reinterpret_cast(::buf::validate::_FieldPath_default_instance_); +} +inline const ::buf::validate::FieldPath& Violation::field() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.Violation.field) + return _internal_field(); +} +inline void Violation::unsafe_arena_set_allocated_field( + ::buf::validate::FieldPath* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.field_); + } + _impl_.field_ = reinterpret_cast<::buf::validate::FieldPath*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.Violation.field) +} +inline ::buf::validate::FieldPath* PROTOBUF_NULLABLE Violation::release_field() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + ::buf::validate::FieldPath* released = _impl_.field_; + _impl_.field_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::buf::validate::FieldPath* PROTOBUF_NULLABLE Violation::unsafe_arena_release_field() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.Violation.field) + + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + ::buf::validate::FieldPath* temp = _impl_.field_; + _impl_.field_ = nullptr; + return temp; +} +inline ::buf::validate::FieldPath* PROTOBUF_NONNULL Violation::_internal_mutable_field() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.field_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::buf::validate::FieldPath>(GetArena()); + _impl_.field_ = reinterpret_cast<::buf::validate::FieldPath*>(p); + } + return _impl_.field_; +} +inline ::buf::validate::FieldPath* PROTOBUF_NONNULL Violation::mutable_field() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + ::buf::validate::FieldPath* _msg = _internal_mutable_field(); + // @@protoc_insertion_point(field_mutable:buf.validate.Violation.field) + return _msg; +} +inline void Violation::set_allocated_field(::buf::validate::FieldPath* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.field_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + + _impl_.field_ = reinterpret_cast<::buf::validate::FieldPath*>(value); + // @@protoc_insertion_point(field_set_allocated:buf.validate.Violation.field) +} + +// optional .buf.validate.FieldPath rule = 6; +inline bool Violation::has_rule() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + PROTOBUF_ASSUME(!value || _impl_.rule_ != nullptr); + return value; +} +inline void Violation::clear_rule() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.rule_ != nullptr) _impl_.rule_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline const ::buf::validate::FieldPath& Violation::_internal_rule() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::buf::validate::FieldPath* p = _impl_.rule_; + return p != nullptr ? *p : reinterpret_cast(::buf::validate::_FieldPath_default_instance_); +} +inline const ::buf::validate::FieldPath& Violation::rule() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.Violation.rule) + return _internal_rule(); +} +inline void Violation::unsafe_arena_set_allocated_rule( + ::buf::validate::FieldPath* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rule_); + } + _impl_.rule_ = reinterpret_cast<::buf::validate::FieldPath*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:buf.validate.Violation.rule) +} +inline ::buf::validate::FieldPath* PROTOBUF_NULLABLE Violation::release_rule() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + ::buf::validate::FieldPath* released = _impl_.rule_; + _impl_.rule_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::buf::validate::FieldPath* PROTOBUF_NULLABLE Violation::unsafe_arena_release_rule() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.Violation.rule) + + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + ::buf::validate::FieldPath* temp = _impl_.rule_; + _impl_.rule_ = nullptr; + return temp; +} +inline ::buf::validate::FieldPath* PROTOBUF_NONNULL Violation::_internal_mutable_rule() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.rule_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::buf::validate::FieldPath>(GetArena()); + _impl_.rule_ = reinterpret_cast<::buf::validate::FieldPath*>(p); + } + return _impl_.rule_; +} +inline ::buf::validate::FieldPath* PROTOBUF_NONNULL Violation::mutable_rule() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + ::buf::validate::FieldPath* _msg = _internal_mutable_rule(); + // @@protoc_insertion_point(field_mutable:buf.validate.Violation.rule) + return _msg; +} +inline void Violation::set_allocated_rule(::buf::validate::FieldPath* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rule_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + } + + _impl_.rule_ = reinterpret_cast<::buf::validate::FieldPath*>(value); + // @@protoc_insertion_point(field_set_allocated:buf.validate.Violation.rule) +} + +// optional string rule_id = 2; +inline bool Violation::has_rule_id() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U); + return value; +} +inline void Violation::clear_rule_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.rule_id_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::std::string& Violation::rule_id() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.Violation.rule_id) + return _internal_rule_id(); +} +template +PROTOBUF_ALWAYS_INLINE void Violation::set_rule_id(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + _impl_.rule_id_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.Violation.rule_id) +} +inline ::std::string* PROTOBUF_NONNULL Violation::mutable_rule_id() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::std::string* _s = _internal_mutable_rule_id(); + // @@protoc_insertion_point(field_mutable:buf.validate.Violation.rule_id) + return _s; +} +inline const ::std::string& Violation::_internal_rule_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.rule_id_.Get(); +} +inline void Violation::_internal_set_rule_id(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.rule_id_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Violation::_internal_mutable_rule_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.rule_id_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Violation::release_rule_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.Violation.rule_id) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + auto* released = _impl_.rule_id_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.rule_id_.Set("", GetArena()); + } + return released; +} +inline void Violation::set_allocated_rule_id(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + _impl_.rule_id_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.rule_id_.IsDefault()) { + _impl_.rule_id_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.Violation.rule_id) +} + +// optional string message = 3; +inline bool Violation::has_message() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U); + return value; +} +inline void Violation::clear_message() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.message_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::std::string& Violation::message() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.Violation.message) + return _internal_message(); +} +template +PROTOBUF_ALWAYS_INLINE void Violation::set_message(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + _impl_.message_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.Violation.message) +} +inline ::std::string* PROTOBUF_NONNULL Violation::mutable_message() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::std::string* _s = _internal_mutable_message(); + // @@protoc_insertion_point(field_mutable:buf.validate.Violation.message) + return _s; +} +inline const ::std::string& Violation::_internal_message() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.message_.Get(); +} +inline void Violation::_internal_set_message(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.message_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Violation::_internal_mutable_message() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.message_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Violation::release_message() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.Violation.message) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + auto* released = _impl_.message_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.message_.Set("", GetArena()); + } + return released; +} +inline void Violation::set_allocated_message(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + _impl_.message_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.message_.IsDefault()) { + _impl_.message_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.Violation.message) +} + +// optional bool for_key = 4; +inline bool Violation::has_for_key() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U); + return value; +} +inline void Violation::clear_for_key() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.for_key_ = false; + ClearHasBit(_impl_._has_bits_[0], + 0x00000010U); +} +inline bool Violation::for_key() const { + // @@protoc_insertion_point(field_get:buf.validate.Violation.for_key) + return _internal_for_key(); +} +inline void Violation::set_for_key(bool value) { + _internal_set_for_key(value); + SetHasBit(_impl_._has_bits_[0], 0x00000010U); + // @@protoc_insertion_point(field_set:buf.validate.Violation.for_key) +} +inline bool Violation::_internal_for_key() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.for_key_; +} +inline void Violation::_internal_set_for_key(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.for_key_ = value; +} + +// ------------------------------------------------------------------- + +// FieldPath + +// repeated .buf.validate.FieldPathElement elements = 1; +inline int FieldPath::_internal_elements_size() const { + return _internal_elements().size(); +} +inline int FieldPath::elements_size() const { + return _internal_elements_size(); +} +inline void FieldPath::clear_elements() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.elements_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::buf::validate::FieldPathElement* PROTOBUF_NONNULL FieldPath::mutable_elements(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:buf.validate.FieldPath.elements) + return _internal_mutable_elements()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::buf::validate::FieldPathElement>* PROTOBUF_NONNULL FieldPath::mutable_elements() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:buf.validate.FieldPath.elements) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_elements(); +} +inline const ::buf::validate::FieldPathElement& FieldPath::elements(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldPath.elements) + return _internal_elements().Get(index); +} +inline ::buf::validate::FieldPathElement* PROTOBUF_NONNULL FieldPath::add_elements() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::buf::validate::FieldPathElement* _add = + _internal_mutable_elements()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:buf.validate.FieldPath.elements) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::buf::validate::FieldPathElement>& FieldPath::elements() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:buf.validate.FieldPath.elements) + return _internal_elements(); +} +inline const ::google::protobuf::RepeatedPtrField<::buf::validate::FieldPathElement>& +FieldPath::_internal_elements() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.elements_; +} +inline ::google::protobuf::RepeatedPtrField<::buf::validate::FieldPathElement>* PROTOBUF_NONNULL +FieldPath::_internal_mutable_elements() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.elements_; +} + +// ------------------------------------------------------------------- + +// FieldPathElement + +// optional int32 field_number = 1; +inline bool FieldPathElement::has_field_number() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U); + return value; +} +inline void FieldPathElement::clear_field_number() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.field_number_ = 0; + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::int32_t FieldPathElement::field_number() const { + // @@protoc_insertion_point(field_get:buf.validate.FieldPathElement.field_number) + return _internal_field_number(); +} +inline void FieldPathElement::set_field_number(::int32_t value) { + _internal_set_field_number(value); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_set:buf.validate.FieldPathElement.field_number) +} +inline ::int32_t FieldPathElement::_internal_field_number() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.field_number_; +} +inline void FieldPathElement::_internal_set_field_number(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.field_number_ = value; +} + +// optional string field_name = 2; +inline bool FieldPathElement::has_field_name() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U); + return value; +} +inline void FieldPathElement::clear_field_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.field_name_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::std::string& FieldPathElement::field_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldPathElement.field_name) + return _internal_field_name(); +} +template +PROTOBUF_ALWAYS_INLINE void FieldPathElement::set_field_name(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + _impl_.field_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.FieldPathElement.field_name) +} +inline ::std::string* PROTOBUF_NONNULL FieldPathElement::mutable_field_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::std::string* _s = _internal_mutable_field_name(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldPathElement.field_name) + return _s; +} +inline const ::std::string& FieldPathElement::_internal_field_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.field_name_.Get(); +} +inline void FieldPathElement::_internal_set_field_name(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.field_name_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL FieldPathElement::_internal_mutable_field_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.field_name_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE FieldPathElement::release_field_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.FieldPathElement.field_name) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + auto* released = _impl_.field_name_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.field_name_.Set("", GetArena()); + } + return released; +} +inline void FieldPathElement::set_allocated_field_name(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + _impl_.field_name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.field_name_.IsDefault()) { + _impl_.field_name_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldPathElement.field_name) +} + +// optional .google.protobuf.FieldDescriptorProto.Type field_type = 3; +inline bool FieldPathElement::has_field_type() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + return value; +} +inline void FieldPathElement::clear_field_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.field_type_ = 1; + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline ::google::protobuf::FieldDescriptorProto_Type FieldPathElement::field_type() const { + // @@protoc_insertion_point(field_get:buf.validate.FieldPathElement.field_type) + return _internal_field_type(); +} +inline void FieldPathElement::set_field_type(::google::protobuf::FieldDescriptorProto_Type value) { + _internal_set_field_type(value); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_set:buf.validate.FieldPathElement.field_type) +} +inline ::google::protobuf::FieldDescriptorProto_Type FieldPathElement::_internal_field_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::google::protobuf::FieldDescriptorProto_Type>(_impl_.field_type_); +} +inline void FieldPathElement::_internal_set_field_type(::google::protobuf::FieldDescriptorProto_Type value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + + assert(::google::protobuf::internal::ValidateEnum( + value, ::google::protobuf::FieldDescriptorProto_Type_internal_data_)); + _impl_.field_type_ = value; +} + +// optional .google.protobuf.FieldDescriptorProto.Type key_type = 4; +inline bool FieldPathElement::has_key_type() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U); + return value; +} +inline void FieldPathElement::clear_key_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.key_type_ = 1; + ClearHasBit(_impl_._has_bits_[0], + 0x00000010U); +} +inline ::google::protobuf::FieldDescriptorProto_Type FieldPathElement::key_type() const { + // @@protoc_insertion_point(field_get:buf.validate.FieldPathElement.key_type) + return _internal_key_type(); +} +inline void FieldPathElement::set_key_type(::google::protobuf::FieldDescriptorProto_Type value) { + _internal_set_key_type(value); + SetHasBit(_impl_._has_bits_[0], 0x00000010U); + // @@protoc_insertion_point(field_set:buf.validate.FieldPathElement.key_type) +} +inline ::google::protobuf::FieldDescriptorProto_Type FieldPathElement::_internal_key_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::google::protobuf::FieldDescriptorProto_Type>(_impl_.key_type_); +} +inline void FieldPathElement::_internal_set_key_type(::google::protobuf::FieldDescriptorProto_Type value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + + assert(::google::protobuf::internal::ValidateEnum( + value, ::google::protobuf::FieldDescriptorProto_Type_internal_data_)); + _impl_.key_type_ = value; +} + +// optional .google.protobuf.FieldDescriptorProto.Type value_type = 5; +inline bool FieldPathElement::has_value_type() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U); + return value; +} +inline void FieldPathElement::clear_value_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.value_type_ = 1; + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline ::google::protobuf::FieldDescriptorProto_Type FieldPathElement::value_type() const { + // @@protoc_insertion_point(field_get:buf.validate.FieldPathElement.value_type) + return _internal_value_type(); +} +inline void FieldPathElement::set_value_type(::google::protobuf::FieldDescriptorProto_Type value) { + _internal_set_value_type(value); + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_set:buf.validate.FieldPathElement.value_type) +} +inline ::google::protobuf::FieldDescriptorProto_Type FieldPathElement::_internal_value_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::google::protobuf::FieldDescriptorProto_Type>(_impl_.value_type_); +} +inline void FieldPathElement::_internal_set_value_type(::google::protobuf::FieldDescriptorProto_Type value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + + assert(::google::protobuf::internal::ValidateEnum( + value, ::google::protobuf::FieldDescriptorProto_Type_internal_data_)); + _impl_.value_type_ = value; +} + +// uint64 index = 6; +inline bool FieldPathElement::has_index() const { + return subscript_case() == kIndex; +} +inline void FieldPathElement::set_has_index() { + _impl_._oneof_case_[0] = kIndex; +} +inline void FieldPathElement::clear_index() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (subscript_case() == kIndex) { + _impl_.subscript_.index_ = ::uint64_t{0u}; + clear_has_subscript(); + } +} +inline ::uint64_t FieldPathElement::index() const { + // @@protoc_insertion_point(field_get:buf.validate.FieldPathElement.index) + return _internal_index(); +} +inline void FieldPathElement::set_index(::uint64_t value) { + if (subscript_case() != kIndex) { + clear_subscript(); + set_has_index(); + } + _impl_.subscript_.index_ = value; + // @@protoc_insertion_point(field_set:buf.validate.FieldPathElement.index) +} +inline ::uint64_t FieldPathElement::_internal_index() const { + if (subscript_case() == kIndex) { + return _impl_.subscript_.index_; + } + return ::uint64_t{0u}; +} + +// bool bool_key = 7; +inline bool FieldPathElement::has_bool_key() const { + return subscript_case() == kBoolKey; +} +inline void FieldPathElement::set_has_bool_key() { + _impl_._oneof_case_[0] = kBoolKey; +} +inline void FieldPathElement::clear_bool_key() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (subscript_case() == kBoolKey) { + _impl_.subscript_.bool_key_ = false; + clear_has_subscript(); + } +} +inline bool FieldPathElement::bool_key() const { + // @@protoc_insertion_point(field_get:buf.validate.FieldPathElement.bool_key) + return _internal_bool_key(); +} +inline void FieldPathElement::set_bool_key(bool value) { + if (subscript_case() != kBoolKey) { + clear_subscript(); + set_has_bool_key(); + } + _impl_.subscript_.bool_key_ = value; + // @@protoc_insertion_point(field_set:buf.validate.FieldPathElement.bool_key) +} +inline bool FieldPathElement::_internal_bool_key() const { + if (subscript_case() == kBoolKey) { + return _impl_.subscript_.bool_key_; + } + return false; +} + +// int64 int_key = 8; +inline bool FieldPathElement::has_int_key() const { + return subscript_case() == kIntKey; +} +inline void FieldPathElement::set_has_int_key() { + _impl_._oneof_case_[0] = kIntKey; +} +inline void FieldPathElement::clear_int_key() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (subscript_case() == kIntKey) { + _impl_.subscript_.int_key_ = ::int64_t{0}; + clear_has_subscript(); + } +} +inline ::int64_t FieldPathElement::int_key() const { + // @@protoc_insertion_point(field_get:buf.validate.FieldPathElement.int_key) + return _internal_int_key(); +} +inline void FieldPathElement::set_int_key(::int64_t value) { + if (subscript_case() != kIntKey) { + clear_subscript(); + set_has_int_key(); + } + _impl_.subscript_.int_key_ = value; + // @@protoc_insertion_point(field_set:buf.validate.FieldPathElement.int_key) +} +inline ::int64_t FieldPathElement::_internal_int_key() const { + if (subscript_case() == kIntKey) { + return _impl_.subscript_.int_key_; + } + return ::int64_t{0}; +} + +// uint64 uint_key = 9; +inline bool FieldPathElement::has_uint_key() const { + return subscript_case() == kUintKey; +} +inline void FieldPathElement::set_has_uint_key() { + _impl_._oneof_case_[0] = kUintKey; +} +inline void FieldPathElement::clear_uint_key() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (subscript_case() == kUintKey) { + _impl_.subscript_.uint_key_ = ::uint64_t{0u}; + clear_has_subscript(); + } +} +inline ::uint64_t FieldPathElement::uint_key() const { + // @@protoc_insertion_point(field_get:buf.validate.FieldPathElement.uint_key) + return _internal_uint_key(); +} +inline void FieldPathElement::set_uint_key(::uint64_t value) { + if (subscript_case() != kUintKey) { + clear_subscript(); + set_has_uint_key(); + } + _impl_.subscript_.uint_key_ = value; + // @@protoc_insertion_point(field_set:buf.validate.FieldPathElement.uint_key) +} +inline ::uint64_t FieldPathElement::_internal_uint_key() const { + if (subscript_case() == kUintKey) { + return _impl_.subscript_.uint_key_; + } + return ::uint64_t{0u}; +} + +// string string_key = 10; +inline bool FieldPathElement::has_string_key() const { + return subscript_case() == kStringKey; +} +inline void FieldPathElement::set_has_string_key() { + _impl_._oneof_case_[0] = kStringKey; +} +inline void FieldPathElement::clear_string_key() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (subscript_case() == kStringKey) { + _impl_.subscript_.string_key_.Destroy(); + clear_has_subscript(); + } +} +inline const ::std::string& FieldPathElement::string_key() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:buf.validate.FieldPathElement.string_key) + return _internal_string_key(); +} +template +PROTOBUF_ALWAYS_INLINE void FieldPathElement::set_string_key(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (subscript_case() != kStringKey) { + clear_subscript(); + + set_has_string_key(); + _impl_.subscript_.string_key_.InitDefault(); + } + _impl_.subscript_.string_key_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:buf.validate.FieldPathElement.string_key) +} +inline ::std::string* PROTOBUF_NONNULL FieldPathElement::mutable_string_key() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + if (subscript_case() != kStringKey) { + clear_subscript(); + + set_has_string_key(); + _impl_.subscript_.string_key_.InitDefault(); + } + ::std::string* _s = _internal_mutable_string_key(); + // @@protoc_insertion_point(field_mutable:buf.validate.FieldPathElement.string_key) + return _s; +} +inline const ::std::string& FieldPathElement::_internal_string_key() const { + ::google::protobuf::internal::TSanRead(&_impl_); + if (subscript_case() != kStringKey) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); + } + return _impl_.subscript_.string_key_.Get(); +} +inline void FieldPathElement::_internal_set_string_key(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.subscript_.string_key_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL FieldPathElement::_internal_mutable_string_key() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.subscript_.string_key_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE FieldPathElement::release_string_key() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:buf.validate.FieldPathElement.string_key) + if (subscript_case() != kStringKey) { + return nullptr; + } + clear_has_subscript(); + return _impl_.subscript_.string_key_.Release(); +} +inline void FieldPathElement::set_allocated_string_key(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (has_subscript()) { + clear_subscript(); + } + if (value != nullptr) { + set_has_string_key(); + _impl_.subscript_.string_key_.InitAllocated(value, GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:buf.validate.FieldPathElement.string_key) +} + +inline bool FieldPathElement::has_subscript() const { + return subscript_case() != SUBSCRIPT_NOT_SET; +} +inline void FieldPathElement::clear_has_subscript() { + _impl_._oneof_case_[0] = SUBSCRIPT_NOT_SET; +} +inline FieldPathElement::SubscriptCase FieldPathElement::subscript_case() const { + return FieldPathElement::SubscriptCase(_impl_._oneof_case_[0]); +} +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif // __GNUC__ + +// @@protoc_insertion_point(namespace_scope) +} // namespace validate +} // namespace buf + + +namespace google { +namespace protobuf { + +template <> +struct is_proto_enum<::buf::validate::Ignore> : std::true_type {}; +template <> +inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::buf::validate::Ignore>() { + return ::buf::validate::Ignore_descriptor(); +} +template <> +struct is_proto_enum<::buf::validate::KnownRegex> : std::true_type {}; +template <> +inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::buf::validate::KnownRegex>() { + return ::buf::validate::KnownRegex_descriptor(); +} + +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) + +#include "google/protobuf/port_undef.inc" + +#endif // buf_2fvalidate_2fvalidate_2eproto_2epb_2eh diff --git a/crates/protovalidate-rs/gen/cel/expr/checked.pb.cc b/crates/protovalidate-rs/gen/cel/expr/checked.pb.cc new file mode 100644 index 00000000..2858af48 --- /dev/null +++ b/crates/protovalidate-rs/gen/cel/expr/checked.pb.cc @@ -0,0 +1,5355 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: cel/expr/checked.proto +// Protobuf C++ Version: 6.33.4 + +#include "cel/expr/checked.pb.h" + +#include +#include +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/generated_message_tctable_impl.h" +#include "google/protobuf/extension_set.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/wire_format_lite.h" +#include "google/protobuf/descriptor.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/reflection_ops.h" +#include "google/protobuf/wire_format.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" +PROTOBUF_PRAGMA_INIT_SEG +namespace _pb = ::google::protobuf; +namespace _pbi = ::google::protobuf::internal; +namespace _fl = ::google::protobuf::internal::field_layout; +namespace cel { +namespace expr { + +inline constexpr Type::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : type_kind_{}, + _cached_size_{0}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR Type::Type(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Type_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct TypeDefaultTypeInternal { + PROTOBUF_CONSTEXPR TypeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~TypeDefaultTypeInternal() {} + union { + Type _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TypeDefaultTypeInternal _Type_default_instance_; + +inline constexpr Type_AbstractType::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + parameter_types_{}, + name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()) {} + +template +PROTOBUF_CONSTEXPR Type_AbstractType::Type_AbstractType(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Type_AbstractType_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Type_AbstractTypeDefaultTypeInternal { + PROTOBUF_CONSTEXPR Type_AbstractTypeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Type_AbstractTypeDefaultTypeInternal() {} + union { + Type_AbstractType _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Type_AbstractTypeDefaultTypeInternal _Type_AbstractType_default_instance_; + +inline constexpr Type_FunctionType::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + arg_types_{}, + result_type_{nullptr} {} + +template +PROTOBUF_CONSTEXPR Type_FunctionType::Type_FunctionType(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Type_FunctionType_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Type_FunctionTypeDefaultTypeInternal { + PROTOBUF_CONSTEXPR Type_FunctionTypeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Type_FunctionTypeDefaultTypeInternal() {} + union { + Type_FunctionType _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Type_FunctionTypeDefaultTypeInternal _Type_FunctionType_default_instance_; + +inline constexpr Type_ListType::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + elem_type_{nullptr} {} + +template +PROTOBUF_CONSTEXPR Type_ListType::Type_ListType(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Type_ListType_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Type_ListTypeDefaultTypeInternal { + PROTOBUF_CONSTEXPR Type_ListTypeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Type_ListTypeDefaultTypeInternal() {} + union { + Type_ListType _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Type_ListTypeDefaultTypeInternal _Type_ListType_default_instance_; + +inline constexpr Type_MapType::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + key_type_{nullptr}, + value_type_{nullptr} {} + +template +PROTOBUF_CONSTEXPR Type_MapType::Type_MapType(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Type_MapType_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Type_MapTypeDefaultTypeInternal { + PROTOBUF_CONSTEXPR Type_MapTypeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Type_MapTypeDefaultTypeInternal() {} + union { + Type_MapType _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Type_MapTypeDefaultTypeInternal _Type_MapType_default_instance_; + +inline constexpr Reference::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + overload_id_{}, + name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + value_{nullptr} {} + +template +PROTOBUF_CONSTEXPR Reference::Reference(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Reference_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ReferenceDefaultTypeInternal { + PROTOBUF_CONSTEXPR ReferenceDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ReferenceDefaultTypeInternal() {} + union { + Reference _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ReferenceDefaultTypeInternal _Reference_default_instance_; + +inline constexpr Decl_IdentDecl::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + doc_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + type_{nullptr}, + value_{nullptr} {} + +template +PROTOBUF_CONSTEXPR Decl_IdentDecl::Decl_IdentDecl(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Decl_IdentDecl_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Decl_IdentDeclDefaultTypeInternal { + PROTOBUF_CONSTEXPR Decl_IdentDeclDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Decl_IdentDeclDefaultTypeInternal() {} + union { + Decl_IdentDecl _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Decl_IdentDeclDefaultTypeInternal _Decl_IdentDecl_default_instance_; + +inline constexpr Decl_FunctionDecl_Overload::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + params_{}, + type_params_{}, + overload_id_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + doc_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + result_type_{nullptr}, + is_instance_function_{false} {} + +template +PROTOBUF_CONSTEXPR Decl_FunctionDecl_Overload::Decl_FunctionDecl_Overload(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Decl_FunctionDecl_Overload_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Decl_FunctionDecl_OverloadDefaultTypeInternal { + PROTOBUF_CONSTEXPR Decl_FunctionDecl_OverloadDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Decl_FunctionDecl_OverloadDefaultTypeInternal() {} + union { + Decl_FunctionDecl_Overload _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Decl_FunctionDecl_OverloadDefaultTypeInternal _Decl_FunctionDecl_Overload_default_instance_; +template +PROTOBUF_CONSTEXPR CheckedExpr_TypeMapEntry_DoNotUse::CheckedExpr_TypeMapEntry_DoNotUse(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : CheckedExpr_TypeMapEntry_DoNotUse::MapEntry(CheckedExpr_TypeMapEntry_DoNotUse_class_data_.base()){} +#else // PROTOBUF_CUSTOM_VTABLE + : CheckedExpr_TypeMapEntry_DoNotUse::MapEntry() { +} +#endif // PROTOBUF_CUSTOM_VTABLE +struct CheckedExpr_TypeMapEntry_DoNotUseDefaultTypeInternal { + PROTOBUF_CONSTEXPR CheckedExpr_TypeMapEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~CheckedExpr_TypeMapEntry_DoNotUseDefaultTypeInternal() {} + union { + CheckedExpr_TypeMapEntry_DoNotUse _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CheckedExpr_TypeMapEntry_DoNotUseDefaultTypeInternal _CheckedExpr_TypeMapEntry_DoNotUse_default_instance_; + +inline constexpr Decl_FunctionDecl::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + overloads_{}, + doc_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()) {} + +template +PROTOBUF_CONSTEXPR Decl_FunctionDecl::Decl_FunctionDecl(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Decl_FunctionDecl_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Decl_FunctionDeclDefaultTypeInternal { + PROTOBUF_CONSTEXPR Decl_FunctionDeclDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Decl_FunctionDeclDefaultTypeInternal() {} + union { + Decl_FunctionDecl _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Decl_FunctionDeclDefaultTypeInternal _Decl_FunctionDecl_default_instance_; +template +PROTOBUF_CONSTEXPR CheckedExpr_ReferenceMapEntry_DoNotUse::CheckedExpr_ReferenceMapEntry_DoNotUse(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : CheckedExpr_ReferenceMapEntry_DoNotUse::MapEntry(CheckedExpr_ReferenceMapEntry_DoNotUse_class_data_.base()){} +#else // PROTOBUF_CUSTOM_VTABLE + : CheckedExpr_ReferenceMapEntry_DoNotUse::MapEntry() { +} +#endif // PROTOBUF_CUSTOM_VTABLE +struct CheckedExpr_ReferenceMapEntry_DoNotUseDefaultTypeInternal { + PROTOBUF_CONSTEXPR CheckedExpr_ReferenceMapEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~CheckedExpr_ReferenceMapEntry_DoNotUseDefaultTypeInternal() {} + union { + CheckedExpr_ReferenceMapEntry_DoNotUse _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CheckedExpr_ReferenceMapEntry_DoNotUseDefaultTypeInternal _CheckedExpr_ReferenceMapEntry_DoNotUse_default_instance_; + +inline constexpr Decl::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + decl_kind_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR Decl::Decl(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Decl_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct DeclDefaultTypeInternal { + PROTOBUF_CONSTEXPR DeclDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~DeclDefaultTypeInternal() {} + union { + Decl _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeclDefaultTypeInternal _Decl_default_instance_; + +inline constexpr CheckedExpr::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + expr_version_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + expr_{nullptr}, + source_info_{nullptr}, + reference_map_{}, + type_map_{} {} + +template +PROTOBUF_CONSTEXPR CheckedExpr::CheckedExpr(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(CheckedExpr_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct CheckedExprDefaultTypeInternal { + PROTOBUF_CONSTEXPR CheckedExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~CheckedExprDefaultTypeInternal() {} + union { + CheckedExpr _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CheckedExprDefaultTypeInternal _CheckedExpr_default_instance_; +} // namespace expr +} // namespace cel +static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL + file_level_enum_descriptors_cel_2fexpr_2fchecked_2eproto[2]; +static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE + file_level_service_descriptors_cel_2fexpr_2fchecked_2eproto = nullptr; +const ::uint32_t + TableStruct_cel_2fexpr_2fchecked_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE( + protodesc_cold) = { + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::CheckedExpr_ReferenceMapEntry_DoNotUse, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::CheckedExpr_ReferenceMapEntry_DoNotUse, _impl_.key_), + PROTOBUF_FIELD_OFFSET(::cel::expr::CheckedExpr_ReferenceMapEntry_DoNotUse, _impl_.value_), + 0, + 1, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::CheckedExpr_TypeMapEntry_DoNotUse, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::CheckedExpr_TypeMapEntry_DoNotUse, _impl_.key_), + PROTOBUF_FIELD_OFFSET(::cel::expr::CheckedExpr_TypeMapEntry_DoNotUse, _impl_.value_), + 0, + 1, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::CheckedExpr, _impl_._has_bits_), + 8, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::CheckedExpr, _impl_.reference_map_), + PROTOBUF_FIELD_OFFSET(::cel::expr::CheckedExpr, _impl_.type_map_), + PROTOBUF_FIELD_OFFSET(::cel::expr::CheckedExpr, _impl_.source_info_), + PROTOBUF_FIELD_OFFSET(::cel::expr::CheckedExpr, _impl_.expr_version_), + PROTOBUF_FIELD_OFFSET(::cel::expr::CheckedExpr, _impl_.expr_), + 3, + 4, + 2, + 0, + 1, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Type_ListType, _impl_._has_bits_), + 4, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Type_ListType, _impl_.elem_type_), + 0, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Type_MapType, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Type_MapType, _impl_.key_type_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type_MapType, _impl_.value_type_), + 0, + 1, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Type_FunctionType, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Type_FunctionType, _impl_.result_type_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type_FunctionType, _impl_.arg_types_), + 1, + 0, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Type_AbstractType, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Type_AbstractType, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type_AbstractType, _impl_.parameter_types_), + 1, + 0, + 0x004, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_._oneof_case_[0]), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_.type_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_.type_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_.type_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_.type_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_.type_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_.type_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_.type_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_.type_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_.type_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_.type_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_.type_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_.type_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_.type_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_.type_kind_), + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl_IdentDecl, _impl_._has_bits_), + 6, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl_IdentDecl, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl_IdentDecl, _impl_.value_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl_IdentDecl, _impl_.doc_), + 1, + 2, + 0, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl_FunctionDecl_Overload, _impl_._has_bits_), + 9, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl_FunctionDecl_Overload, _impl_.overload_id_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl_FunctionDecl_Overload, _impl_.params_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl_FunctionDecl_Overload, _impl_.type_params_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl_FunctionDecl_Overload, _impl_.result_type_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl_FunctionDecl_Overload, _impl_.is_instance_function_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl_FunctionDecl_Overload, _impl_.doc_), + 2, + 0, + 1, + 4, + 5, + 3, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl_FunctionDecl, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl_FunctionDecl, _impl_.overloads_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl_FunctionDecl, _impl_.doc_), + 0, + 1, + 0x085, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl, _impl_._oneof_case_[0]), + 8, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl, _impl_.decl_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl, _impl_.decl_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl, _impl_.decl_kind_), + 0, + ~0u, + ~0u, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Reference, _impl_._has_bits_), + 6, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Reference, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Reference, _impl_.overload_id_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Reference, _impl_.value_), + 1, + 0, + 2, +}; + +static const ::_pbi::MigrationSchema + schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { + {0, sizeof(::cel::expr::CheckedExpr_ReferenceMapEntry_DoNotUse)}, + {7, sizeof(::cel::expr::CheckedExpr_TypeMapEntry_DoNotUse)}, + {14, sizeof(::cel::expr::CheckedExpr)}, + {27, sizeof(::cel::expr::Type_ListType)}, + {32, sizeof(::cel::expr::Type_MapType)}, + {39, sizeof(::cel::expr::Type_FunctionType)}, + {46, sizeof(::cel::expr::Type_AbstractType)}, + {53, sizeof(::cel::expr::Type)}, + {69, sizeof(::cel::expr::Decl_IdentDecl)}, + {78, sizeof(::cel::expr::Decl_FunctionDecl_Overload)}, + {93, sizeof(::cel::expr::Decl_FunctionDecl)}, + {100, sizeof(::cel::expr::Decl)}, + {111, sizeof(::cel::expr::Reference)}, +}; +static const ::_pb::Message* PROTOBUF_NONNULL const file_default_instances[] = { + &::cel::expr::_CheckedExpr_ReferenceMapEntry_DoNotUse_default_instance_._instance, + &::cel::expr::_CheckedExpr_TypeMapEntry_DoNotUse_default_instance_._instance, + &::cel::expr::_CheckedExpr_default_instance_._instance, + &::cel::expr::_Type_ListType_default_instance_._instance, + &::cel::expr::_Type_MapType_default_instance_._instance, + &::cel::expr::_Type_FunctionType_default_instance_._instance, + &::cel::expr::_Type_AbstractType_default_instance_._instance, + &::cel::expr::_Type_default_instance_._instance, + &::cel::expr::_Decl_IdentDecl_default_instance_._instance, + &::cel::expr::_Decl_FunctionDecl_Overload_default_instance_._instance, + &::cel::expr::_Decl_FunctionDecl_default_instance_._instance, + &::cel::expr::_Decl_default_instance_._instance, + &::cel::expr::_Reference_default_instance_._instance, +}; +const char descriptor_table_protodef_cel_2fexpr_2fchecked_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE( + protodesc_cold) = { + "\n\026cel/expr/checked.proto\022\010cel.expr\032\025cel/" + "expr/syntax.proto\032\033google/protobuf/empty" + ".proto\032\034google/protobuf/struct.proto\"\354\002\n" + "\013CheckedExpr\022>\n\rreference_map\030\002 \003(\0132\'.ce" + "l.expr.CheckedExpr.ReferenceMapEntry\0224\n\010" + "type_map\030\003 \003(\0132\".cel.expr.CheckedExpr.Ty" + "peMapEntry\022)\n\013source_info\030\005 \001(\0132\024.cel.ex" + "pr.SourceInfo\022\024\n\014expr_version\030\006 \001(\t\022\034\n\004e" + "xpr\030\004 \001(\0132\016.cel.expr.Expr\032H\n\021ReferenceMa" + "pEntry\022\013\n\003key\030\001 \001(\003\022\"\n\005value\030\002 \001(\0132\023.cel" + ".expr.Reference:\0028\001\032>\n\014TypeMapEntry\022\013\n\003k" + "ey\030\001 \001(\003\022\035\n\005value\030\002 \001(\0132\016.cel.expr.Type:" + "\0028\001\"\242\010\n\004Type\022%\n\003dyn\030\001 \001(\0132\026.google.proto" + "buf.EmptyH\000\022*\n\004null\030\002 \001(\0162\032.google.proto" + "buf.NullValueH\000\0221\n\tprimitive\030\003 \001(\0162\034.cel" + ".expr.Type.PrimitiveTypeH\000\022/\n\007wrapper\030\004 " + "\001(\0162\034.cel.expr.Type.PrimitiveTypeH\000\0222\n\nw" + "ell_known\030\005 \001(\0162\034.cel.expr.Type.WellKnow" + "nTypeH\000\022,\n\tlist_type\030\006 \001(\0132\027.cel.expr.Ty" + "pe.ListTypeH\000\022*\n\010map_type\030\007 \001(\0132\026.cel.ex" + "pr.Type.MapTypeH\000\022/\n\010function\030\010 \001(\0132\033.ce" + "l.expr.Type.FunctionTypeH\000\022\026\n\014message_ty" + "pe\030\t \001(\tH\000\022\024\n\ntype_param\030\n \001(\tH\000\022\036\n\004type" + "\030\013 \001(\0132\016.cel.expr.TypeH\000\022\'\n\005error\030\014 \001(\0132" + "\026.google.protobuf.EmptyH\000\0224\n\rabstract_ty" + "pe\030\016 \001(\0132\033.cel.expr.Type.AbstractTypeH\000\032" + "-\n\010ListType\022!\n\telem_type\030\001 \001(\0132\016.cel.exp" + "r.Type\032O\n\007MapType\022 \n\010key_type\030\001 \001(\0132\016.ce" + "l.expr.Type\022\"\n\nvalue_type\030\002 \001(\0132\016.cel.ex" + "pr.Type\032V\n\014FunctionType\022#\n\013result_type\030\001" + " \001(\0132\016.cel.expr.Type\022!\n\targ_types\030\002 \003(\0132" + "\016.cel.expr.Type\032E\n\014AbstractType\022\014\n\004name\030" + "\001 \001(\t\022\'\n\017parameter_types\030\002 \003(\0132\016.cel.exp" + "r.Type\"s\n\rPrimitiveType\022\036\n\032PRIMITIVE_TYP" + "E_UNSPECIFIED\020\000\022\010\n\004BOOL\020\001\022\t\n\005INT64\020\002\022\n\n\006" + "UINT64\020\003\022\n\n\006DOUBLE\020\004\022\n\n\006STRING\020\005\022\t\n\005BYTE" + "S\020\006\"V\n\rWellKnownType\022\037\n\033WELL_KNOWN_TYPE_" + "UNSPECIFIED\020\000\022\007\n\003ANY\020\001\022\r\n\tTIMESTAMP\020\002\022\014\n" + "\010DURATION\020\003B\013\n\ttype_kind\"\326\003\n\004Decl\022\014\n\004nam" + "e\030\001 \001(\t\022)\n\005ident\030\002 \001(\0132\030.cel.expr.Decl.I" + "dentDeclH\000\022/\n\010function\030\003 \001(\0132\033.cel.expr." + "Decl.FunctionDeclH\000\032Y\n\tIdentDecl\022\034\n\004type" + "\030\001 \001(\0132\016.cel.expr.Type\022!\n\005value\030\002 \001(\0132\022." + "cel.expr.Constant\022\013\n\003doc\030\003 \001(\t\032\373\001\n\014Funct" + "ionDecl\0227\n\toverloads\030\001 \003(\0132$.cel.expr.De" + "cl.FunctionDecl.Overload\022\013\n\003doc\030\002 \001(\t\032\244\001" + "\n\010Overload\022\023\n\013overload_id\030\001 \001(\t\022\036\n\006param" + "s\030\002 \003(\0132\016.cel.expr.Type\022\023\n\013type_params\030\003" + " \003(\t\022#\n\013result_type\030\004 \001(\0132\016.cel.expr.Typ" + "e\022\034\n\024is_instance_function\030\005 \001(\010\022\013\n\003doc\030\006" + " \001(\tB\013\n\tdecl_kind\"Q\n\tReference\022\014\n\004name\030\001" + " \001(\t\022\023\n\013overload_id\030\003 \003(\t\022!\n\005value\030\004 \001(\013" + "2\022.cel.expr.ConstantB,\n\014dev.cel.exprB\tDe" + "clProtoP\001Z\014cel.dev/expr\370\001\001b\006proto3" +}; +static const ::_pbi::DescriptorTable* PROTOBUF_NONNULL const + descriptor_table_cel_2fexpr_2fchecked_2eproto_deps[3] = { + &::descriptor_table_cel_2fexpr_2fsyntax_2eproto, + &::descriptor_table_google_2fprotobuf_2fempty_2eproto, + &::descriptor_table_google_2fprotobuf_2fstruct_2eproto, +}; +static ::absl::once_flag descriptor_table_cel_2fexpr_2fchecked_2eproto_once; +PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_cel_2fexpr_2fchecked_2eproto = { + false, + false, + 2154, + descriptor_table_protodef_cel_2fexpr_2fchecked_2eproto, + "cel/expr/checked.proto", + &descriptor_table_cel_2fexpr_2fchecked_2eproto_once, + descriptor_table_cel_2fexpr_2fchecked_2eproto_deps, + 3, + 13, + schemas, + file_default_instances, + TableStruct_cel_2fexpr_2fchecked_2eproto::offsets, + file_level_enum_descriptors_cel_2fexpr_2fchecked_2eproto, + file_level_service_descriptors_cel_2fexpr_2fchecked_2eproto, +}; +namespace cel { +namespace expr { +const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Type_PrimitiveType_descriptor() { + ::google::protobuf::internal::AssignDescriptors(&descriptor_table_cel_2fexpr_2fchecked_2eproto); + return file_level_enum_descriptors_cel_2fexpr_2fchecked_2eproto[0]; +} +PROTOBUF_CONSTINIT const uint32_t Type_PrimitiveType_internal_data_[] = { + 458752u, 0u, }; +const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Type_WellKnownType_descriptor() { + ::google::protobuf::internal::AssignDescriptors(&descriptor_table_cel_2fexpr_2fchecked_2eproto); + return file_level_enum_descriptors_cel_2fexpr_2fchecked_2eproto[1]; +} +PROTOBUF_CONSTINIT const uint32_t Type_WellKnownType_internal_data_[] = { + 262144u, 0u, }; +// =================================================================== + +#if defined(PROTOBUF_CUSTOM_VTABLE) +CheckedExpr_ReferenceMapEntry_DoNotUse::CheckedExpr_ReferenceMapEntry_DoNotUse() + : SuperType(CheckedExpr_ReferenceMapEntry_DoNotUse_class_data_.base()) {} +CheckedExpr_ReferenceMapEntry_DoNotUse::CheckedExpr_ReferenceMapEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : SuperType(arena, CheckedExpr_ReferenceMapEntry_DoNotUse_class_data_.base()) {} +#else // PROTOBUF_CUSTOM_VTABLE +CheckedExpr_ReferenceMapEntry_DoNotUse::CheckedExpr_ReferenceMapEntry_DoNotUse() : SuperType() {} +CheckedExpr_ReferenceMapEntry_DoNotUse::CheckedExpr_ReferenceMapEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) : SuperType(arena) {} +#endif // PROTOBUF_CUSTOM_VTABLE +inline void* PROTOBUF_NONNULL CheckedExpr_ReferenceMapEntry_DoNotUse::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) CheckedExpr_ReferenceMapEntry_DoNotUse(arena); +} +constexpr auto CheckedExpr_ReferenceMapEntry_DoNotUse::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(CheckedExpr_ReferenceMapEntry_DoNotUse), + alignof(CheckedExpr_ReferenceMapEntry_DoNotUse)); +} +constexpr auto CheckedExpr_ReferenceMapEntry_DoNotUse::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_CheckedExpr_ReferenceMapEntry_DoNotUse_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &CheckedExpr_ReferenceMapEntry_DoNotUse::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &CheckedExpr_ReferenceMapEntry_DoNotUse::SharedDtor, + static_cast(&CheckedExpr_ReferenceMapEntry_DoNotUse::ClearImpl), + ::google::protobuf::Message::ByteSizeLongImpl, ::google::protobuf::Message::_InternalSerializeImpl + , +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(CheckedExpr_ReferenceMapEntry_DoNotUse, _impl_._cached_size_), + false, + }, + &CheckedExpr_ReferenceMapEntry_DoNotUse::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fchecked_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull CheckedExpr_ReferenceMapEntry_DoNotUse_class_data_ = + CheckedExpr_ReferenceMapEntry_DoNotUse::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +CheckedExpr_ReferenceMapEntry_DoNotUse::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&CheckedExpr_ReferenceMapEntry_DoNotUse_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(CheckedExpr_ReferenceMapEntry_DoNotUse_class_data_.tc_table); + return CheckedExpr_ReferenceMapEntry_DoNotUse_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 1, 0, 2> +CheckedExpr_ReferenceMapEntry_DoNotUse::_table_ = { + { + PROTOBUF_FIELD_OFFSET(CheckedExpr_ReferenceMapEntry_DoNotUse, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + CheckedExpr_ReferenceMapEntry_DoNotUse_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::DiscardEverythingFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::CheckedExpr_ReferenceMapEntry_DoNotUse>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // .cel.expr.Reference value = 2; + {::_pbi::TcParser::FastMtS1, + {18, 0, 0, + PROTOBUF_FIELD_OFFSET(CheckedExpr_ReferenceMapEntry_DoNotUse, _impl_.value_)}}, + // int64 key = 1; + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CheckedExpr_ReferenceMapEntry_DoNotUse, _impl_.key_), 1>(), + {8, 1, 0, + PROTOBUF_FIELD_OFFSET(CheckedExpr_ReferenceMapEntry_DoNotUse, _impl_.key_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // int64 key = 1; + {PROTOBUF_FIELD_OFFSET(CheckedExpr_ReferenceMapEntry_DoNotUse, _impl_.key_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)}, + // .cel.expr.Reference value = 2; + {PROTOBUF_FIELD_OFFSET(CheckedExpr_ReferenceMapEntry_DoNotUse, _impl_.value_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Reference>()}, + }}, + {{ + }}, +}; +// =================================================================== + +#if defined(PROTOBUF_CUSTOM_VTABLE) +CheckedExpr_TypeMapEntry_DoNotUse::CheckedExpr_TypeMapEntry_DoNotUse() + : SuperType(CheckedExpr_TypeMapEntry_DoNotUse_class_data_.base()) {} +CheckedExpr_TypeMapEntry_DoNotUse::CheckedExpr_TypeMapEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : SuperType(arena, CheckedExpr_TypeMapEntry_DoNotUse_class_data_.base()) {} +#else // PROTOBUF_CUSTOM_VTABLE +CheckedExpr_TypeMapEntry_DoNotUse::CheckedExpr_TypeMapEntry_DoNotUse() : SuperType() {} +CheckedExpr_TypeMapEntry_DoNotUse::CheckedExpr_TypeMapEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) : SuperType(arena) {} +#endif // PROTOBUF_CUSTOM_VTABLE +inline void* PROTOBUF_NONNULL CheckedExpr_TypeMapEntry_DoNotUse::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) CheckedExpr_TypeMapEntry_DoNotUse(arena); +} +constexpr auto CheckedExpr_TypeMapEntry_DoNotUse::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(CheckedExpr_TypeMapEntry_DoNotUse), + alignof(CheckedExpr_TypeMapEntry_DoNotUse)); +} +constexpr auto CheckedExpr_TypeMapEntry_DoNotUse::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_CheckedExpr_TypeMapEntry_DoNotUse_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &CheckedExpr_TypeMapEntry_DoNotUse::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &CheckedExpr_TypeMapEntry_DoNotUse::SharedDtor, + static_cast(&CheckedExpr_TypeMapEntry_DoNotUse::ClearImpl), + ::google::protobuf::Message::ByteSizeLongImpl, ::google::protobuf::Message::_InternalSerializeImpl + , +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(CheckedExpr_TypeMapEntry_DoNotUse, _impl_._cached_size_), + false, + }, + &CheckedExpr_TypeMapEntry_DoNotUse::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fchecked_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull CheckedExpr_TypeMapEntry_DoNotUse_class_data_ = + CheckedExpr_TypeMapEntry_DoNotUse::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +CheckedExpr_TypeMapEntry_DoNotUse::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&CheckedExpr_TypeMapEntry_DoNotUse_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(CheckedExpr_TypeMapEntry_DoNotUse_class_data_.tc_table); + return CheckedExpr_TypeMapEntry_DoNotUse_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 1, 0, 2> +CheckedExpr_TypeMapEntry_DoNotUse::_table_ = { + { + PROTOBUF_FIELD_OFFSET(CheckedExpr_TypeMapEntry_DoNotUse, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + CheckedExpr_TypeMapEntry_DoNotUse_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::DiscardEverythingFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::CheckedExpr_TypeMapEntry_DoNotUse>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // .cel.expr.Type value = 2; + {::_pbi::TcParser::FastMtS1, + {18, 0, 0, + PROTOBUF_FIELD_OFFSET(CheckedExpr_TypeMapEntry_DoNotUse, _impl_.value_)}}, + // int64 key = 1; + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CheckedExpr_TypeMapEntry_DoNotUse, _impl_.key_), 1>(), + {8, 1, 0, + PROTOBUF_FIELD_OFFSET(CheckedExpr_TypeMapEntry_DoNotUse, _impl_.key_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // int64 key = 1; + {PROTOBUF_FIELD_OFFSET(CheckedExpr_TypeMapEntry_DoNotUse, _impl_.key_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)}, + // .cel.expr.Type value = 2; + {PROTOBUF_FIELD_OFFSET(CheckedExpr_TypeMapEntry_DoNotUse, _impl_.value_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Type>()}, + }}, + {{ + }}, +}; +// =================================================================== + +class CheckedExpr::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(CheckedExpr, _impl_._has_bits_); +}; + +void CheckedExpr::clear_source_info() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.source_info_ != nullptr) _impl_.source_info_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +void CheckedExpr::clear_expr() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +CheckedExpr::CheckedExpr(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, CheckedExpr_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.CheckedExpr) +} +PROTOBUF_NDEBUG_INLINE CheckedExpr::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::CheckedExpr& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + expr_version_(arena, from.expr_version_), + reference_map_{visibility, arena, from.reference_map_}, + type_map_{visibility, arena, from.type_map_} {} + +CheckedExpr::CheckedExpr( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const CheckedExpr& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, CheckedExpr_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + CheckedExpr* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.expr_ = (CheckHasBit(cached_has_bits, 0x00000002U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_) + : nullptr; + _impl_.source_info_ = (CheckHasBit(cached_has_bits, 0x00000004U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.source_info_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:cel.expr.CheckedExpr) +} +PROTOBUF_NDEBUG_INLINE CheckedExpr::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + expr_version_(arena), + reference_map_{visibility, arena}, + type_map_{visibility, arena} {} + +inline void CheckedExpr::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, expr_), + 0, + offsetof(Impl_, source_info_) - + offsetof(Impl_, expr_) + + sizeof(Impl_::source_info_)); +} +CheckedExpr::~CheckedExpr() { + // @@protoc_insertion_point(destructor:cel.expr.CheckedExpr) + SharedDtor(*this); +} +inline void CheckedExpr::SharedDtor(MessageLite& self) { + CheckedExpr& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.expr_version_.Destroy(); + delete this_._impl_.expr_; + delete this_._impl_.source_info_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL CheckedExpr::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) CheckedExpr(arena); +} +constexpr auto CheckedExpr::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(CheckedExpr, _impl_.reference_map_) + + decltype(CheckedExpr::_impl_.reference_map_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(CheckedExpr, _impl_.type_map_) + + decltype(CheckedExpr::_impl_.type_map_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(CheckedExpr), alignof(CheckedExpr), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&CheckedExpr::PlacementNew_, + sizeof(CheckedExpr), + alignof(CheckedExpr)); + } +} +constexpr auto CheckedExpr::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_CheckedExpr_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &CheckedExpr::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &CheckedExpr::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &CheckedExpr::ByteSizeLong, + &CheckedExpr::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(CheckedExpr, _impl_._cached_size_), + false, + }, + &CheckedExpr::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fchecked_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull CheckedExpr_class_data_ = + CheckedExpr::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +CheckedExpr::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&CheckedExpr_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(CheckedExpr_class_data_.tc_table); + return CheckedExpr_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 5, 6, 41, 2> +CheckedExpr::_table_ = { + { + PROTOBUF_FIELD_OFFSET(CheckedExpr, _impl_._has_bits_), + 0, // no _extensions_ + 6, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967233, // skipmap + offsetof(decltype(_table_), field_entries), + 5, // num_field_entries + 6, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + CheckedExpr_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::CheckedExpr>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // .cel.expr.Expr expr = 4; + {::_pbi::TcParser::FastMtS1, + {34, 1, 0, + PROTOBUF_FIELD_OFFSET(CheckedExpr, _impl_.expr_)}}, + // .cel.expr.SourceInfo source_info = 5; + {::_pbi::TcParser::FastMtS1, + {42, 2, 1, + PROTOBUF_FIELD_OFFSET(CheckedExpr, _impl_.source_info_)}}, + // string expr_version = 6; + {::_pbi::TcParser::FastUS1, + {50, 0, 0, + PROTOBUF_FIELD_OFFSET(CheckedExpr, _impl_.expr_version_)}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // map reference_map = 2; + {PROTOBUF_FIELD_OFFSET(CheckedExpr, _impl_.reference_map_), _Internal::kHasBitsOffset + 3, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMap)}, + // map type_map = 3; + {PROTOBUF_FIELD_OFFSET(CheckedExpr, _impl_.type_map_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcRepeated | ::_fl::kMap)}, + // .cel.expr.Expr expr = 4; + {PROTOBUF_FIELD_OFFSET(CheckedExpr, _impl_.expr_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.SourceInfo source_info = 5; + {PROTOBUF_FIELD_OFFSET(CheckedExpr, _impl_.source_info_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // string expr_version = 6; + {PROTOBUF_FIELD_OFFSET(CheckedExpr, _impl_.expr_version_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Expr>()}, + {::_pbi::TcParser::GetTable<::cel::expr::SourceInfo>()}, + {::_pbi::TcParser::GetMapAuxInfo( + 0, 0, 3, 11, 0)}, + {::_pbi::TcParser::GetTable<::cel::expr::Reference>()}, + {::_pbi::TcParser::GetMapAuxInfo( + 0, 0, 3, 11, 0)}, + {::_pbi::TcParser::GetTable<::cel::expr::Type>()}, + }}, + {{ + "\24\0\0\0\0\14\0\0" + "cel.expr.CheckedExpr" + "expr_version" + }}, +}; +PROTOBUF_NOINLINE void CheckedExpr::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.CheckedExpr) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + _impl_.expr_version_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(_impl_.expr_ != nullptr); + _impl_.expr_->Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + ABSL_DCHECK(_impl_.source_info_ != nullptr); + _impl_.source_info_->Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) { + _impl_.reference_map_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + _impl_.type_map_.Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL CheckedExpr::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const CheckedExpr& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL CheckedExpr::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const CheckedExpr& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.CheckedExpr) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // map reference_map = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) { + if (!this_._internal_reference_map().empty()) { + using MapType = ::google::protobuf::Map<::int64_t, ::cel::expr::Reference>; + using WireHelper = _pbi::MapEntryFuncs<::int64_t, ::cel::expr::Reference, + _pbi::WireFormatLite::TYPE_INT64, + _pbi::WireFormatLite::TYPE_MESSAGE>; + const auto& field = this_._internal_reference_map(); + + if (stream->IsSerializationDeterministic() && field.size() > 1) { + for (const auto& entry : ::google::protobuf::internal::MapSorterFlat(field)) { + target = WireHelper::InternalSerialize( + 2, entry.first, entry.second, target, stream); + } + } else { + for (const auto& entry : field) { + target = WireHelper::InternalSerialize( + 2, entry.first, entry.second, target, stream); + } + } + } + } + + // map type_map = 3; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + if (!this_._internal_type_map().empty()) { + using MapType = ::google::protobuf::Map<::int64_t, ::cel::expr::Type>; + using WireHelper = _pbi::MapEntryFuncs<::int64_t, ::cel::expr::Type, + _pbi::WireFormatLite::TYPE_INT64, + _pbi::WireFormatLite::TYPE_MESSAGE>; + const auto& field = this_._internal_type_map(); + + if (stream->IsSerializationDeterministic() && field.size() > 1) { + for (const auto& entry : ::google::protobuf::internal::MapSorterFlat(field)) { + target = WireHelper::InternalSerialize( + 3, entry.first, entry.second, target, stream); + } + } else { + for (const auto& entry : field) { + target = WireHelper::InternalSerialize( + 3, entry.first, entry.second, target, stream); + } + } + } + } + + // .cel.expr.Expr expr = 4; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, *this_._impl_.expr_, this_._impl_.expr_->GetCachedSize(), target, + stream); + } + + // .cel.expr.SourceInfo source_info = 5; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 5, *this_._impl_.source_info_, this_._impl_.source_info_->GetCachedSize(), target, + stream); + } + + // string expr_version = 6; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!this_._internal_expr_version().empty()) { + const ::std::string& _s = this_._internal_expr_version(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.CheckedExpr.expr_version"); + target = stream->WriteStringMaybeAliased(6, _s, target); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.CheckedExpr) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t CheckedExpr::ByteSizeLong(const MessageLite& base) { + const CheckedExpr& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t CheckedExpr::ByteSizeLong() const { + const CheckedExpr& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.CheckedExpr) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) { + // string expr_version = 6; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!this_._internal_expr_version().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_expr_version()); + } + } + // .cel.expr.Expr expr = 4; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.expr_); + } + // .cel.expr.SourceInfo source_info = 5; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.source_info_); + } + // map reference_map = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_reference_map_size()); + for (const auto& entry : this_._internal_reference_map()) { + total_size += _pbi::MapEntryFuncs<::int64_t, ::cel::expr::Reference, + _pbi::WireFormatLite::TYPE_INT64, + _pbi::WireFormatLite::TYPE_MESSAGE>::ByteSizeLong(entry.first, entry.second); + } + } + // map type_map = 3; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_type_map_size()); + for (const auto& entry : this_._internal_type_map()) { + total_size += _pbi::MapEntryFuncs<::int64_t, ::cel::expr::Type, + _pbi::WireFormatLite::TYPE_INT64, + _pbi::WireFormatLite::TYPE_MESSAGE>::ByteSizeLong(entry.first, entry.second); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void CheckedExpr::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.CheckedExpr) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!from._internal_expr_version().empty()) { + _this->_internal_set_expr_version(from._internal_expr_version()); + } else { + if (_this->_impl_.expr_version_.IsDefault()) { + _this->_internal_set_expr_version(""); + } + } + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(from._impl_.expr_ != nullptr); + if (_this->_impl_.expr_ == nullptr) { + _this->_impl_.expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_); + } else { + _this->_impl_.expr_->MergeFrom(*from._impl_.expr_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + ABSL_DCHECK(from._impl_.source_info_ != nullptr); + if (_this->_impl_.source_info_ == nullptr) { + _this->_impl_.source_info_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.source_info_); + } else { + _this->_impl_.source_info_->MergeFrom(*from._impl_.source_info_); + } + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) { + _this->_impl_.reference_map_.MergeFrom(from._impl_.reference_map_); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + _this->_impl_.type_map_.MergeFrom(from._impl_.type_map_); + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void CheckedExpr::CopyFrom(const CheckedExpr& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.CheckedExpr) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void CheckedExpr::InternalSwap(CheckedExpr* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.expr_version_, &other->_impl_.expr_version_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(CheckedExpr, _impl_.source_info_) + + sizeof(CheckedExpr::_impl_.source_info_) + - PROTOBUF_FIELD_OFFSET(CheckedExpr, _impl_.expr_)>( + reinterpret_cast(&_impl_.expr_), + reinterpret_cast(&other->_impl_.expr_)); + _impl_.reference_map_.InternalSwap(&other->_impl_.reference_map_); + _impl_.type_map_.InternalSwap(&other->_impl_.type_map_); +} + +::google::protobuf::Metadata CheckedExpr::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Type_ListType::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Type_ListType, _impl_._has_bits_); +}; + +Type_ListType::Type_ListType(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Type_ListType_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Type.ListType) +} +PROTOBUF_NDEBUG_INLINE Type_ListType::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Type_ListType& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0} {} + +Type_ListType::Type_ListType( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Type_ListType& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Type_ListType_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Type_ListType* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.elem_type_ = (CheckHasBit(cached_has_bits, 0x00000001U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.elem_type_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:cel.expr.Type.ListType) +} +PROTOBUF_NDEBUG_INLINE Type_ListType::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0} {} + +inline void Type_ListType::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.elem_type_ = {}; +} +Type_ListType::~Type_ListType() { + // @@protoc_insertion_point(destructor:cel.expr.Type.ListType) + SharedDtor(*this); +} +inline void Type_ListType::SharedDtor(MessageLite& self) { + Type_ListType& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + delete this_._impl_.elem_type_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Type_ListType::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Type_ListType(arena); +} +constexpr auto Type_ListType::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Type_ListType), + alignof(Type_ListType)); +} +constexpr auto Type_ListType::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Type_ListType_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Type_ListType::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Type_ListType::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Type_ListType::ByteSizeLong, + &Type_ListType::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Type_ListType, _impl_._cached_size_), + false, + }, + &Type_ListType::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fchecked_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Type_ListType_class_data_ = + Type_ListType::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Type_ListType::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Type_ListType_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Type_ListType_class_data_.tc_table); + return Type_ListType_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 1, 0, 2> +Type_ListType::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Type_ListType, _impl_._has_bits_), + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Type_ListType_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Type_ListType>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // .cel.expr.Type elem_type = 1; + {::_pbi::TcParser::FastMtS1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(Type_ListType, _impl_.elem_type_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // .cel.expr.Type elem_type = 1; + {PROTOBUF_FIELD_OFFSET(Type_ListType, _impl_.elem_type_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Type>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void Type_ListType::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Type.ListType) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(_impl_.elem_type_ != nullptr); + _impl_.elem_type_->Clear(); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Type_ListType::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Type_ListType& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Type_ListType::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Type_ListType& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Type.ListType) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // .cel.expr.Type elem_type = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, *this_._impl_.elem_type_, this_._impl_.elem_type_->GetCachedSize(), target, + stream); + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Type.ListType) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Type_ListType::ByteSizeLong(const MessageLite& base) { + const Type_ListType& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Type_ListType::ByteSizeLong() const { + const Type_ListType& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Type.ListType) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + { + // .cel.expr.Type elem_type = 1; + cached_has_bits = this_._impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.elem_type_); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Type_ListType::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Type.ListType) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(from._impl_.elem_type_ != nullptr); + if (_this->_impl_.elem_type_ == nullptr) { + _this->_impl_.elem_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.elem_type_); + } else { + _this->_impl_.elem_type_->MergeFrom(*from._impl_.elem_type_); + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Type_ListType::CopyFrom(const Type_ListType& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Type.ListType) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Type_ListType::InternalSwap(Type_ListType* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + swap(_impl_.elem_type_, other->_impl_.elem_type_); +} + +::google::protobuf::Metadata Type_ListType::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Type_MapType::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Type_MapType, _impl_._has_bits_); +}; + +Type_MapType::Type_MapType(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Type_MapType_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Type.MapType) +} +PROTOBUF_NDEBUG_INLINE Type_MapType::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Type_MapType& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0} {} + +Type_MapType::Type_MapType( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Type_MapType& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Type_MapType_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Type_MapType* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.key_type_ = (CheckHasBit(cached_has_bits, 0x00000001U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.key_type_) + : nullptr; + _impl_.value_type_ = (CheckHasBit(cached_has_bits, 0x00000002U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_type_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:cel.expr.Type.MapType) +} +PROTOBUF_NDEBUG_INLINE Type_MapType::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0} {} + +inline void Type_MapType::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, key_type_), + 0, + offsetof(Impl_, value_type_) - + offsetof(Impl_, key_type_) + + sizeof(Impl_::value_type_)); +} +Type_MapType::~Type_MapType() { + // @@protoc_insertion_point(destructor:cel.expr.Type.MapType) + SharedDtor(*this); +} +inline void Type_MapType::SharedDtor(MessageLite& self) { + Type_MapType& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + delete this_._impl_.key_type_; + delete this_._impl_.value_type_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Type_MapType::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Type_MapType(arena); +} +constexpr auto Type_MapType::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Type_MapType), + alignof(Type_MapType)); +} +constexpr auto Type_MapType::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Type_MapType_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Type_MapType::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Type_MapType::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Type_MapType::ByteSizeLong, + &Type_MapType::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Type_MapType, _impl_._cached_size_), + false, + }, + &Type_MapType::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fchecked_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Type_MapType_class_data_ = + Type_MapType::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Type_MapType::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Type_MapType_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Type_MapType_class_data_.tc_table); + return Type_MapType_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 2, 0, 2> +Type_MapType::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Type_MapType, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Type_MapType_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Type_MapType>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // .cel.expr.Type value_type = 2; + {::_pbi::TcParser::FastMtS1, + {18, 1, 1, + PROTOBUF_FIELD_OFFSET(Type_MapType, _impl_.value_type_)}}, + // .cel.expr.Type key_type = 1; + {::_pbi::TcParser::FastMtS1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(Type_MapType, _impl_.key_type_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // .cel.expr.Type key_type = 1; + {PROTOBUF_FIELD_OFFSET(Type_MapType, _impl_.key_type_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Type value_type = 2; + {PROTOBUF_FIELD_OFFSET(Type_MapType, _impl_.value_type_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Type>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Type>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void Type_MapType::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Type.MapType) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(_impl_.key_type_ != nullptr); + _impl_.key_type_->Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(_impl_.value_type_ != nullptr); + _impl_.value_type_->Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Type_MapType::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Type_MapType& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Type_MapType::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Type_MapType& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Type.MapType) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // .cel.expr.Type key_type = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, *this_._impl_.key_type_, this_._impl_.key_type_->GetCachedSize(), target, + stream); + } + + // .cel.expr.Type value_type = 2; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, *this_._impl_.value_type_, this_._impl_.value_type_->GetCachedSize(), target, + stream); + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Type.MapType) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Type_MapType::ByteSizeLong(const MessageLite& base) { + const Type_MapType& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Type_MapType::ByteSizeLong() const { + const Type_MapType& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Type.MapType) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + // .cel.expr.Type key_type = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.key_type_); + } + // .cel.expr.Type value_type = 2; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_type_); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Type_MapType::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Type.MapType) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(from._impl_.key_type_ != nullptr); + if (_this->_impl_.key_type_ == nullptr) { + _this->_impl_.key_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.key_type_); + } else { + _this->_impl_.key_type_->MergeFrom(*from._impl_.key_type_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(from._impl_.value_type_ != nullptr); + if (_this->_impl_.value_type_ == nullptr) { + _this->_impl_.value_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_type_); + } else { + _this->_impl_.value_type_->MergeFrom(*from._impl_.value_type_); + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Type_MapType::CopyFrom(const Type_MapType& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Type.MapType) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Type_MapType::InternalSwap(Type_MapType* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(Type_MapType, _impl_.value_type_) + + sizeof(Type_MapType::_impl_.value_type_) + - PROTOBUF_FIELD_OFFSET(Type_MapType, _impl_.key_type_)>( + reinterpret_cast(&_impl_.key_type_), + reinterpret_cast(&other->_impl_.key_type_)); +} + +::google::protobuf::Metadata Type_MapType::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Type_FunctionType::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Type_FunctionType, _impl_._has_bits_); +}; + +Type_FunctionType::Type_FunctionType(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Type_FunctionType_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Type.FunctionType) +} +PROTOBUF_NDEBUG_INLINE Type_FunctionType::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Type_FunctionType& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + arg_types_{visibility, arena, from.arg_types_} {} + +Type_FunctionType::Type_FunctionType( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Type_FunctionType& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Type_FunctionType_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Type_FunctionType* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.result_type_ = (CheckHasBit(cached_has_bits, 0x00000002U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.result_type_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:cel.expr.Type.FunctionType) +} +PROTOBUF_NDEBUG_INLINE Type_FunctionType::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + arg_types_{visibility, arena} {} + +inline void Type_FunctionType::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.result_type_ = {}; +} +Type_FunctionType::~Type_FunctionType() { + // @@protoc_insertion_point(destructor:cel.expr.Type.FunctionType) + SharedDtor(*this); +} +inline void Type_FunctionType::SharedDtor(MessageLite& self) { + Type_FunctionType& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + delete this_._impl_.result_type_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Type_FunctionType::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Type_FunctionType(arena); +} +constexpr auto Type_FunctionType::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(Type_FunctionType, _impl_.arg_types_) + + decltype(Type_FunctionType::_impl_.arg_types_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(Type_FunctionType), alignof(Type_FunctionType), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&Type_FunctionType::PlacementNew_, + sizeof(Type_FunctionType), + alignof(Type_FunctionType)); + } +} +constexpr auto Type_FunctionType::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Type_FunctionType_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Type_FunctionType::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Type_FunctionType::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Type_FunctionType::ByteSizeLong, + &Type_FunctionType::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Type_FunctionType, _impl_._cached_size_), + false, + }, + &Type_FunctionType::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fchecked_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Type_FunctionType_class_data_ = + Type_FunctionType::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Type_FunctionType::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Type_FunctionType_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Type_FunctionType_class_data_.tc_table); + return Type_FunctionType_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 2, 0, 2> +Type_FunctionType::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Type_FunctionType, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Type_FunctionType_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Type_FunctionType>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .cel.expr.Type arg_types = 2; + {::_pbi::TcParser::FastMtR1, + {18, 0, 1, + PROTOBUF_FIELD_OFFSET(Type_FunctionType, _impl_.arg_types_)}}, + // .cel.expr.Type result_type = 1; + {::_pbi::TcParser::FastMtS1, + {10, 1, 0, + PROTOBUF_FIELD_OFFSET(Type_FunctionType, _impl_.result_type_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // .cel.expr.Type result_type = 1; + {PROTOBUF_FIELD_OFFSET(Type_FunctionType, _impl_.result_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // repeated .cel.expr.Type arg_types = 2; + {PROTOBUF_FIELD_OFFSET(Type_FunctionType, _impl_.arg_types_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Type>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Type>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void Type_FunctionType::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Type.FunctionType) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.arg_types_.Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(_impl_.result_type_ != nullptr); + _impl_.result_type_->Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Type_FunctionType::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Type_FunctionType& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Type_FunctionType::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Type_FunctionType& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Type.FunctionType) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // .cel.expr.Type result_type = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, *this_._impl_.result_type_, this_._impl_.result_type_->GetCachedSize(), target, + stream); + } + + // repeated .cel.expr.Type arg_types = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_arg_types_size()); + i < n; i++) { + const auto& repfield = this_._internal_arg_types().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Type.FunctionType) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Type_FunctionType::ByteSizeLong(const MessageLite& base) { + const Type_FunctionType& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Type_FunctionType::ByteSizeLong() const { + const Type_FunctionType& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Type.FunctionType) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + // repeated .cel.expr.Type arg_types = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += 1UL * this_._internal_arg_types_size(); + for (const auto& msg : this_._internal_arg_types()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // .cel.expr.Type result_type = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.result_type_); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Type_FunctionType::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Type.FunctionType) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_arg_types()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_arg_types()); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(from._impl_.result_type_ != nullptr); + if (_this->_impl_.result_type_ == nullptr) { + _this->_impl_.result_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.result_type_); + } else { + _this->_impl_.result_type_->MergeFrom(*from._impl_.result_type_); + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Type_FunctionType::CopyFrom(const Type_FunctionType& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Type.FunctionType) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Type_FunctionType::InternalSwap(Type_FunctionType* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.arg_types_.InternalSwap(&other->_impl_.arg_types_); + swap(_impl_.result_type_, other->_impl_.result_type_); +} + +::google::protobuf::Metadata Type_FunctionType::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Type_AbstractType::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Type_AbstractType, _impl_._has_bits_); +}; + +Type_AbstractType::Type_AbstractType(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Type_AbstractType_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Type.AbstractType) +} +PROTOBUF_NDEBUG_INLINE Type_AbstractType::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Type_AbstractType& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + parameter_types_{visibility, arena, from.parameter_types_}, + name_(arena, from.name_) {} + +Type_AbstractType::Type_AbstractType( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Type_AbstractType& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Type_AbstractType_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Type_AbstractType* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:cel.expr.Type.AbstractType) +} +PROTOBUF_NDEBUG_INLINE Type_AbstractType::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + parameter_types_{visibility, arena}, + name_(arena) {} + +inline void Type_AbstractType::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +Type_AbstractType::~Type_AbstractType() { + // @@protoc_insertion_point(destructor:cel.expr.Type.AbstractType) + SharedDtor(*this); +} +inline void Type_AbstractType::SharedDtor(MessageLite& self) { + Type_AbstractType& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.name_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Type_AbstractType::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Type_AbstractType(arena); +} +constexpr auto Type_AbstractType::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(Type_AbstractType, _impl_.parameter_types_) + + decltype(Type_AbstractType::_impl_.parameter_types_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(Type_AbstractType), alignof(Type_AbstractType), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&Type_AbstractType::PlacementNew_, + sizeof(Type_AbstractType), + alignof(Type_AbstractType)); + } +} +constexpr auto Type_AbstractType::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Type_AbstractType_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Type_AbstractType::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Type_AbstractType::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Type_AbstractType::ByteSizeLong, + &Type_AbstractType::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Type_AbstractType, _impl_._cached_size_), + false, + }, + &Type_AbstractType::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fchecked_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Type_AbstractType_class_data_ = + Type_AbstractType::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Type_AbstractType::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Type_AbstractType_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Type_AbstractType_class_data_.tc_table); + return Type_AbstractType_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 1, 39, 2> +Type_AbstractType::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Type_AbstractType, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Type_AbstractType_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Type_AbstractType>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .cel.expr.Type parameter_types = 2; + {::_pbi::TcParser::FastMtR1, + {18, 0, 0, + PROTOBUF_FIELD_OFFSET(Type_AbstractType, _impl_.parameter_types_)}}, + // string name = 1; + {::_pbi::TcParser::FastUS1, + {10, 1, 0, + PROTOBUF_FIELD_OFFSET(Type_AbstractType, _impl_.name_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string name = 1; + {PROTOBUF_FIELD_OFFSET(Type_AbstractType, _impl_.name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // repeated .cel.expr.Type parameter_types = 2; + {PROTOBUF_FIELD_OFFSET(Type_AbstractType, _impl_.parameter_types_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Type>()}, + }}, + {{ + "\32\4\0\0\0\0\0\0" + "cel.expr.Type.AbstractType" + "name" + }}, +}; +PROTOBUF_NOINLINE void Type_AbstractType::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Type.AbstractType) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.parameter_types_.Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + _impl_.name_.ClearNonDefaultToEmpty(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Type_AbstractType::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Type_AbstractType& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Type_AbstractType::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Type_AbstractType& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Type.AbstractType) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // string name = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!this_._internal_name().empty()) { + const ::std::string& _s = this_._internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Type.AbstractType.name"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + } + + // repeated .cel.expr.Type parameter_types = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_parameter_types_size()); + i < n; i++) { + const auto& repfield = this_._internal_parameter_types().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Type.AbstractType) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Type_AbstractType::ByteSizeLong(const MessageLite& base) { + const Type_AbstractType& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Type_AbstractType::ByteSizeLong() const { + const Type_AbstractType& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Type.AbstractType) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + // repeated .cel.expr.Type parameter_types = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += 1UL * this_._internal_parameter_types_size(); + for (const auto& msg : this_._internal_parameter_types()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // string name = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!this_._internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_name()); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Type_AbstractType::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Type.AbstractType) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_parameter_types()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_parameter_types()); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } else { + if (_this->_impl_.name_.IsDefault()) { + _this->_internal_set_name(""); + } + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Type_AbstractType::CopyFrom(const Type_AbstractType& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Type.AbstractType) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Type_AbstractType::InternalSwap(Type_AbstractType* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.parameter_types_.InternalSwap(&other->_impl_.parameter_types_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); +} + +::google::protobuf::Metadata Type_AbstractType::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Type::_Internal { + public: + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::cel::expr::Type, _impl_._oneof_case_); +}; + +void Type::set_allocated_dyn(::google::protobuf::Empty* PROTOBUF_NULLABLE dyn) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type_kind(); + if (dyn) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(dyn)->GetArena(); + if (message_arena != submessage_arena) { + dyn = ::google::protobuf::internal::GetOwnedMessage(message_arena, dyn, submessage_arena); + } + set_has_dyn(); + _impl_.type_kind_.dyn_ = dyn; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Type.dyn) +} +void Type::clear_dyn() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_kind_case() == kDyn) { + if (GetArena() == nullptr) { + delete _impl_.type_kind_.dyn_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_kind_.dyn_); + } + clear_has_type_kind(); + } +} +void Type::set_allocated_list_type(::cel::expr::Type_ListType* PROTOBUF_NULLABLE list_type) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type_kind(); + if (list_type) { + ::google::protobuf::Arena* submessage_arena = list_type->GetArena(); + if (message_arena != submessage_arena) { + list_type = ::google::protobuf::internal::GetOwnedMessage(message_arena, list_type, submessage_arena); + } + set_has_list_type(); + _impl_.type_kind_.list_type_ = list_type; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Type.list_type) +} +void Type::set_allocated_map_type(::cel::expr::Type_MapType* PROTOBUF_NULLABLE map_type) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type_kind(); + if (map_type) { + ::google::protobuf::Arena* submessage_arena = map_type->GetArena(); + if (message_arena != submessage_arena) { + map_type = ::google::protobuf::internal::GetOwnedMessage(message_arena, map_type, submessage_arena); + } + set_has_map_type(); + _impl_.type_kind_.map_type_ = map_type; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Type.map_type) +} +void Type::set_allocated_function(::cel::expr::Type_FunctionType* PROTOBUF_NULLABLE function) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type_kind(); + if (function) { + ::google::protobuf::Arena* submessage_arena = function->GetArena(); + if (message_arena != submessage_arena) { + function = ::google::protobuf::internal::GetOwnedMessage(message_arena, function, submessage_arena); + } + set_has_function(); + _impl_.type_kind_.function_ = function; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Type.function) +} +void Type::set_allocated_type(::cel::expr::Type* PROTOBUF_NULLABLE type) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type_kind(); + if (type) { + ::google::protobuf::Arena* submessage_arena = type->GetArena(); + if (message_arena != submessage_arena) { + type = ::google::protobuf::internal::GetOwnedMessage(message_arena, type, submessage_arena); + } + set_has_type(); + _impl_.type_kind_.type_ = type; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Type.type) +} +void Type::set_allocated_error(::google::protobuf::Empty* PROTOBUF_NULLABLE error) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type_kind(); + if (error) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(error)->GetArena(); + if (message_arena != submessage_arena) { + error = ::google::protobuf::internal::GetOwnedMessage(message_arena, error, submessage_arena); + } + set_has_error(); + _impl_.type_kind_.error_ = error; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Type.error) +} +void Type::clear_error() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_kind_case() == kError) { + if (GetArena() == nullptr) { + delete _impl_.type_kind_.error_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_kind_.error_); + } + clear_has_type_kind(); + } +} +void Type::set_allocated_abstract_type(::cel::expr::Type_AbstractType* PROTOBUF_NULLABLE abstract_type) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_type_kind(); + if (abstract_type) { + ::google::protobuf::Arena* submessage_arena = abstract_type->GetArena(); + if (message_arena != submessage_arena) { + abstract_type = ::google::protobuf::internal::GetOwnedMessage(message_arena, abstract_type, submessage_arena); + } + set_has_abstract_type(); + _impl_.type_kind_.abstract_type_ = abstract_type; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Type.abstract_type) +} +Type::Type(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Type_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Type) +} +PROTOBUF_NDEBUG_INLINE Type::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Type& from_msg) + : type_kind_{}, + _cached_size_{0}, + _oneof_case_{from._oneof_case_[0]} {} + +Type::Type( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Type& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Type_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Type* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + switch (type_kind_case()) { + case TYPE_KIND_NOT_SET: + break; + case kDyn: + _impl_.type_kind_.dyn_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_kind_.dyn_); + break; + case kNull: + _impl_.type_kind_.null_ = from._impl_.type_kind_.null_; + break; + case kPrimitive: + _impl_.type_kind_.primitive_ = from._impl_.type_kind_.primitive_; + break; + case kWrapper: + _impl_.type_kind_.wrapper_ = from._impl_.type_kind_.wrapper_; + break; + case kWellKnown: + _impl_.type_kind_.well_known_ = from._impl_.type_kind_.well_known_; + break; + case kListType: + _impl_.type_kind_.list_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_kind_.list_type_); + break; + case kMapType: + _impl_.type_kind_.map_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_kind_.map_type_); + break; + case kFunction: + _impl_.type_kind_.function_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_kind_.function_); + break; + case kMessageType: + new (&_impl_.type_kind_.message_type_) decltype(_impl_.type_kind_.message_type_){arena, from._impl_.type_kind_.message_type_}; + break; + case kTypeParam: + new (&_impl_.type_kind_.type_param_) decltype(_impl_.type_kind_.type_param_){arena, from._impl_.type_kind_.type_param_}; + break; + case kType: + _impl_.type_kind_.type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_kind_.type_); + break; + case kError: + _impl_.type_kind_.error_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_kind_.error_); + break; + case kAbstractType: + _impl_.type_kind_.abstract_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_kind_.abstract_type_); + break; + } + + // @@protoc_insertion_point(copy_constructor:cel.expr.Type) +} +PROTOBUF_NDEBUG_INLINE Type::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : type_kind_{}, + _cached_size_{0}, + _oneof_case_{} {} + +inline void Type::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +Type::~Type() { + // @@protoc_insertion_point(destructor:cel.expr.Type) + SharedDtor(*this); +} +inline void Type::SharedDtor(MessageLite& self) { + Type& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_type_kind()) { + this_.clear_type_kind(); + } + this_._impl_.~Impl_(); +} + +void Type::clear_type_kind() { +// @@protoc_insertion_point(one_of_clear_start:cel.expr.Type) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (type_kind_case()) { + case kDyn: { + if (GetArena() == nullptr) { + delete _impl_.type_kind_.dyn_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_kind_.dyn_); + } + break; + } + case kNull: { + // No need to clear + break; + } + case kPrimitive: { + // No need to clear + break; + } + case kWrapper: { + // No need to clear + break; + } + case kWellKnown: { + // No need to clear + break; + } + case kListType: { + if (GetArena() == nullptr) { + delete _impl_.type_kind_.list_type_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_kind_.list_type_); + } + break; + } + case kMapType: { + if (GetArena() == nullptr) { + delete _impl_.type_kind_.map_type_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_kind_.map_type_); + } + break; + } + case kFunction: { + if (GetArena() == nullptr) { + delete _impl_.type_kind_.function_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_kind_.function_); + } + break; + } + case kMessageType: { + _impl_.type_kind_.message_type_.Destroy(); + break; + } + case kTypeParam: { + _impl_.type_kind_.type_param_.Destroy(); + break; + } + case kType: { + if (GetArena() == nullptr) { + delete _impl_.type_kind_.type_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_kind_.type_); + } + break; + } + case kError: { + if (GetArena() == nullptr) { + delete _impl_.type_kind_.error_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_kind_.error_); + } + break; + } + case kAbstractType: { + if (GetArena() == nullptr) { + delete _impl_.type_kind_.abstract_type_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_kind_.abstract_type_); + } + break; + } + case TYPE_KIND_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = TYPE_KIND_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL Type::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Type(arena); +} +constexpr auto Type::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Type), + alignof(Type)); +} +constexpr auto Type::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Type_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Type::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Type::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Type::ByteSizeLong, + &Type::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Type, _impl_._cached_size_), + false, + }, + &Type::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fchecked_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Type_class_data_ = + Type::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Type::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Type_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Type_class_data_.tc_table); + return Type_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 13, 7, 52, 2> +Type::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 14, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294955008, // skipmap + offsetof(decltype(_table_), field_entries), + 13, // num_field_entries + 7, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Type_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Type>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // .google.protobuf.Empty dyn = 1; + {PROTOBUF_FIELD_OFFSET(Type, _impl_.type_kind_.dyn_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.protobuf.NullValue null = 2; + {PROTOBUF_FIELD_OFFSET(Type, _impl_.type_kind_.null_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kOpenEnum)}, + // .cel.expr.Type.PrimitiveType primitive = 3; + {PROTOBUF_FIELD_OFFSET(Type, _impl_.type_kind_.primitive_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kOpenEnum)}, + // .cel.expr.Type.PrimitiveType wrapper = 4; + {PROTOBUF_FIELD_OFFSET(Type, _impl_.type_kind_.wrapper_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kOpenEnum)}, + // .cel.expr.Type.WellKnownType well_known = 5; + {PROTOBUF_FIELD_OFFSET(Type, _impl_.type_kind_.well_known_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kOpenEnum)}, + // .cel.expr.Type.ListType list_type = 6; + {PROTOBUF_FIELD_OFFSET(Type, _impl_.type_kind_.list_type_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Type.MapType map_type = 7; + {PROTOBUF_FIELD_OFFSET(Type, _impl_.type_kind_.map_type_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Type.FunctionType function = 8; + {PROTOBUF_FIELD_OFFSET(Type, _impl_.type_kind_.function_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // string message_type = 9; + {PROTOBUF_FIELD_OFFSET(Type, _impl_.type_kind_.message_type_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // string type_param = 10; + {PROTOBUF_FIELD_OFFSET(Type, _impl_.type_kind_.type_param_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // .cel.expr.Type type = 11; + {PROTOBUF_FIELD_OFFSET(Type, _impl_.type_kind_.type_), _Internal::kOneofCaseOffset + 0, 4, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.protobuf.Empty error = 12; + {PROTOBUF_FIELD_OFFSET(Type, _impl_.type_kind_.error_), _Internal::kOneofCaseOffset + 0, 5, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Type.AbstractType abstract_type = 14; + {PROTOBUF_FIELD_OFFSET(Type, _impl_.type_kind_.abstract_type_), _Internal::kOneofCaseOffset + 0, 6, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::google::protobuf::Empty>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Type_ListType>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Type_MapType>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Type_FunctionType>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Type>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Empty>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Type_AbstractType>()}, + }}, + {{ + "\15\0\0\0\0\0\0\0\0\14\12\0\0\0\0\0" + "cel.expr.Type" + "message_type" + "type_param" + }}, +}; +PROTOBUF_NOINLINE void Type::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Type) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_type_kind(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Type::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Type& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Type::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Type& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Type) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + switch (this_.type_kind_case()) { + case kDyn: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, *this_._impl_.type_kind_.dyn_, this_._impl_.type_kind_.dyn_->GetCachedSize(), target, + stream); + break; + } + case kNull: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 2, this_._internal_null(), target); + break; + } + case kPrimitive: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 3, this_._internal_primitive(), target); + break; + } + case kWrapper: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 4, this_._internal_wrapper(), target); + break; + } + case kWellKnown: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 5, this_._internal_well_known(), target); + break; + } + case kListType: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 6, *this_._impl_.type_kind_.list_type_, this_._impl_.type_kind_.list_type_->GetCachedSize(), target, + stream); + break; + } + case kMapType: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 7, *this_._impl_.type_kind_.map_type_, this_._impl_.type_kind_.map_type_->GetCachedSize(), target, + stream); + break; + } + case kFunction: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 8, *this_._impl_.type_kind_.function_, this_._impl_.type_kind_.function_->GetCachedSize(), target, + stream); + break; + } + case kMessageType: { + const ::std::string& _s = this_._internal_message_type(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Type.message_type"); + target = stream->WriteStringMaybeAliased(9, _s, target); + break; + } + case kTypeParam: { + const ::std::string& _s = this_._internal_type_param(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Type.type_param"); + target = stream->WriteStringMaybeAliased(10, _s, target); + break; + } + case kType: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 11, *this_._impl_.type_kind_.type_, this_._impl_.type_kind_.type_->GetCachedSize(), target, + stream); + break; + } + case kError: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 12, *this_._impl_.type_kind_.error_, this_._impl_.type_kind_.error_->GetCachedSize(), target, + stream); + break; + } + case kAbstractType: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 14, *this_._impl_.type_kind_.abstract_type_, this_._impl_.type_kind_.abstract_type_->GetCachedSize(), target, + stream); + break; + } + default: + break; + } + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Type) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Type::ByteSizeLong(const MessageLite& base) { + const Type& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Type::ByteSizeLong() const { + const Type& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Type) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + switch (this_.type_kind_case()) { + // .google.protobuf.Empty dyn = 1; + case kDyn: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_kind_.dyn_); + break; + } + // .google.protobuf.NullValue null = 2; + case kNull: { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_null()); + break; + } + // .cel.expr.Type.PrimitiveType primitive = 3; + case kPrimitive: { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_primitive()); + break; + } + // .cel.expr.Type.PrimitiveType wrapper = 4; + case kWrapper: { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_wrapper()); + break; + } + // .cel.expr.Type.WellKnownType well_known = 5; + case kWellKnown: { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_well_known()); + break; + } + // .cel.expr.Type.ListType list_type = 6; + case kListType: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_kind_.list_type_); + break; + } + // .cel.expr.Type.MapType map_type = 7; + case kMapType: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_kind_.map_type_); + break; + } + // .cel.expr.Type.FunctionType function = 8; + case kFunction: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_kind_.function_); + break; + } + // string message_type = 9; + case kMessageType: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_message_type()); + break; + } + // string type_param = 10; + case kTypeParam: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_type_param()); + break; + } + // .cel.expr.Type type = 11; + case kType: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_kind_.type_); + break; + } + // .google.protobuf.Empty error = 12; + case kError: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_kind_.error_); + break; + } + // .cel.expr.Type.AbstractType abstract_type = 14; + case kAbstractType: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_kind_.abstract_type_); + break; + } + case TYPE_KIND_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Type::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Type) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_type_kind(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kDyn: { + if (oneof_needs_init) { + _this->_impl_.type_kind_.dyn_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_kind_.dyn_); + } else { + _this->_impl_.type_kind_.dyn_->MergeFrom(*from._impl_.type_kind_.dyn_); + } + break; + } + case kNull: { + _this->_impl_.type_kind_.null_ = from._impl_.type_kind_.null_; + break; + } + case kPrimitive: { + _this->_impl_.type_kind_.primitive_ = from._impl_.type_kind_.primitive_; + break; + } + case kWrapper: { + _this->_impl_.type_kind_.wrapper_ = from._impl_.type_kind_.wrapper_; + break; + } + case kWellKnown: { + _this->_impl_.type_kind_.well_known_ = from._impl_.type_kind_.well_known_; + break; + } + case kListType: { + if (oneof_needs_init) { + _this->_impl_.type_kind_.list_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_kind_.list_type_); + } else { + _this->_impl_.type_kind_.list_type_->MergeFrom(*from._impl_.type_kind_.list_type_); + } + break; + } + case kMapType: { + if (oneof_needs_init) { + _this->_impl_.type_kind_.map_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_kind_.map_type_); + } else { + _this->_impl_.type_kind_.map_type_->MergeFrom(*from._impl_.type_kind_.map_type_); + } + break; + } + case kFunction: { + if (oneof_needs_init) { + _this->_impl_.type_kind_.function_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_kind_.function_); + } else { + _this->_impl_.type_kind_.function_->MergeFrom(*from._impl_.type_kind_.function_); + } + break; + } + case kMessageType: { + if (oneof_needs_init) { + _this->_impl_.type_kind_.message_type_.InitDefault(); + } + _this->_impl_.type_kind_.message_type_.Set(from._internal_message_type(), arena); + break; + } + case kTypeParam: { + if (oneof_needs_init) { + _this->_impl_.type_kind_.type_param_.InitDefault(); + } + _this->_impl_.type_kind_.type_param_.Set(from._internal_type_param(), arena); + break; + } + case kType: { + if (oneof_needs_init) { + _this->_impl_.type_kind_.type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_kind_.type_); + } else { + _this->_impl_.type_kind_.type_->MergeFrom(*from._impl_.type_kind_.type_); + } + break; + } + case kError: { + if (oneof_needs_init) { + _this->_impl_.type_kind_.error_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_kind_.error_); + } else { + _this->_impl_.type_kind_.error_->MergeFrom(*from._impl_.type_kind_.error_); + } + break; + } + case kAbstractType: { + if (oneof_needs_init) { + _this->_impl_.type_kind_.abstract_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_kind_.abstract_type_); + } else { + _this->_impl_.type_kind_.abstract_type_->MergeFrom(*from._impl_.type_kind_.abstract_type_); + } + break; + } + case TYPE_KIND_NOT_SET: + break; + } + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Type::CopyFrom(const Type& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Type) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Type::InternalSwap(Type* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_.type_kind_, other->_impl_.type_kind_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::google::protobuf::Metadata Type::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Decl_IdentDecl::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Decl_IdentDecl, _impl_._has_bits_); +}; + +void Decl_IdentDecl::clear_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.value_ != nullptr) _impl_.value_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +Decl_IdentDecl::Decl_IdentDecl(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Decl_IdentDecl_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Decl.IdentDecl) +} +PROTOBUF_NDEBUG_INLINE Decl_IdentDecl::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Decl_IdentDecl& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + doc_(arena, from.doc_) {} + +Decl_IdentDecl::Decl_IdentDecl( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Decl_IdentDecl& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Decl_IdentDecl_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Decl_IdentDecl* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.type_ = (CheckHasBit(cached_has_bits, 0x00000002U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_) + : nullptr; + _impl_.value_ = (CheckHasBit(cached_has_bits, 0x00000004U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:cel.expr.Decl.IdentDecl) +} +PROTOBUF_NDEBUG_INLINE Decl_IdentDecl::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + doc_(arena) {} + +inline void Decl_IdentDecl::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, type_), + 0, + offsetof(Impl_, value_) - + offsetof(Impl_, type_) + + sizeof(Impl_::value_)); +} +Decl_IdentDecl::~Decl_IdentDecl() { + // @@protoc_insertion_point(destructor:cel.expr.Decl.IdentDecl) + SharedDtor(*this); +} +inline void Decl_IdentDecl::SharedDtor(MessageLite& self) { + Decl_IdentDecl& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.doc_.Destroy(); + delete this_._impl_.type_; + delete this_._impl_.value_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Decl_IdentDecl::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Decl_IdentDecl(arena); +} +constexpr auto Decl_IdentDecl::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Decl_IdentDecl), + alignof(Decl_IdentDecl)); +} +constexpr auto Decl_IdentDecl::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Decl_IdentDecl_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Decl_IdentDecl::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Decl_IdentDecl::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Decl_IdentDecl::ByteSizeLong, + &Decl_IdentDecl::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Decl_IdentDecl, _impl_._cached_size_), + false, + }, + &Decl_IdentDecl::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fchecked_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Decl_IdentDecl_class_data_ = + Decl_IdentDecl::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Decl_IdentDecl::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Decl_IdentDecl_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Decl_IdentDecl_class_data_.tc_table); + return Decl_IdentDecl_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 3, 2, 35, 2> +Decl_IdentDecl::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Decl_IdentDecl, _impl_._has_bits_), + 0, // no _extensions_ + 3, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967288, // skipmap + offsetof(decltype(_table_), field_entries), + 3, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Decl_IdentDecl_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Decl_IdentDecl>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // .cel.expr.Type type = 1; + {::_pbi::TcParser::FastMtS1, + {10, 1, 0, + PROTOBUF_FIELD_OFFSET(Decl_IdentDecl, _impl_.type_)}}, + // .cel.expr.Constant value = 2; + {::_pbi::TcParser::FastMtS1, + {18, 2, 1, + PROTOBUF_FIELD_OFFSET(Decl_IdentDecl, _impl_.value_)}}, + // string doc = 3; + {::_pbi::TcParser::FastUS1, + {26, 0, 0, + PROTOBUF_FIELD_OFFSET(Decl_IdentDecl, _impl_.doc_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // .cel.expr.Type type = 1; + {PROTOBUF_FIELD_OFFSET(Decl_IdentDecl, _impl_.type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Constant value = 2; + {PROTOBUF_FIELD_OFFSET(Decl_IdentDecl, _impl_.value_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // string doc = 3; + {PROTOBUF_FIELD_OFFSET(Decl_IdentDecl, _impl_.doc_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Type>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Constant>()}, + }}, + {{ + "\27\0\0\3\0\0\0\0" + "cel.expr.Decl.IdentDecl" + "doc" + }}, +}; +PROTOBUF_NOINLINE void Decl_IdentDecl::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Decl.IdentDecl) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + _impl_.doc_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(_impl_.type_ != nullptr); + _impl_.type_->Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + ABSL_DCHECK(_impl_.value_ != nullptr); + _impl_.value_->Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Decl_IdentDecl::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Decl_IdentDecl& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Decl_IdentDecl::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Decl_IdentDecl& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Decl.IdentDecl) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // .cel.expr.Type type = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, *this_._impl_.type_, this_._impl_.type_->GetCachedSize(), target, + stream); + } + + // .cel.expr.Constant value = 2; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, *this_._impl_.value_, this_._impl_.value_->GetCachedSize(), target, + stream); + } + + // string doc = 3; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!this_._internal_doc().empty()) { + const ::std::string& _s = this_._internal_doc(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Decl.IdentDecl.doc"); + target = stream->WriteStringMaybeAliased(3, _s, target); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Decl.IdentDecl) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Decl_IdentDecl::ByteSizeLong(const MessageLite& base) { + const Decl_IdentDecl& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Decl_IdentDecl::ByteSizeLong() const { + const Decl_IdentDecl& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Decl.IdentDecl) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + // string doc = 3; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!this_._internal_doc().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_doc()); + } + } + // .cel.expr.Type type = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.type_); + } + // .cel.expr.Constant value = 2; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Decl_IdentDecl::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Decl.IdentDecl) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!from._internal_doc().empty()) { + _this->_internal_set_doc(from._internal_doc()); + } else { + if (_this->_impl_.doc_.IsDefault()) { + _this->_internal_set_doc(""); + } + } + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(from._impl_.type_ != nullptr); + if (_this->_impl_.type_ == nullptr) { + _this->_impl_.type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.type_); + } else { + _this->_impl_.type_->MergeFrom(*from._impl_.type_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + ABSL_DCHECK(from._impl_.value_ != nullptr); + if (_this->_impl_.value_ == nullptr) { + _this->_impl_.value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_); + } else { + _this->_impl_.value_->MergeFrom(*from._impl_.value_); + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Decl_IdentDecl::CopyFrom(const Decl_IdentDecl& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Decl.IdentDecl) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Decl_IdentDecl::InternalSwap(Decl_IdentDecl* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doc_, &other->_impl_.doc_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(Decl_IdentDecl, _impl_.value_) + + sizeof(Decl_IdentDecl::_impl_.value_) + - PROTOBUF_FIELD_OFFSET(Decl_IdentDecl, _impl_.type_)>( + reinterpret_cast(&_impl_.type_), + reinterpret_cast(&other->_impl_.type_)); +} + +::google::protobuf::Metadata Decl_IdentDecl::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Decl_FunctionDecl_Overload::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_._has_bits_); +}; + +Decl_FunctionDecl_Overload::Decl_FunctionDecl_Overload(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Decl_FunctionDecl_Overload_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Decl.FunctionDecl.Overload) +} +PROTOBUF_NDEBUG_INLINE Decl_FunctionDecl_Overload::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Decl_FunctionDecl_Overload& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + params_{visibility, arena, from.params_}, + type_params_{visibility, arena, from.type_params_}, + overload_id_(arena, from.overload_id_), + doc_(arena, from.doc_) {} + +Decl_FunctionDecl_Overload::Decl_FunctionDecl_Overload( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Decl_FunctionDecl_Overload& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Decl_FunctionDecl_Overload_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Decl_FunctionDecl_Overload* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.result_type_ = (CheckHasBit(cached_has_bits, 0x00000010U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.result_type_) + : nullptr; + _impl_.is_instance_function_ = from._impl_.is_instance_function_; + + // @@protoc_insertion_point(copy_constructor:cel.expr.Decl.FunctionDecl.Overload) +} +PROTOBUF_NDEBUG_INLINE Decl_FunctionDecl_Overload::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + params_{visibility, arena}, + type_params_{visibility, arena}, + overload_id_(arena), + doc_(arena) {} + +inline void Decl_FunctionDecl_Overload::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, result_type_), + 0, + offsetof(Impl_, is_instance_function_) - + offsetof(Impl_, result_type_) + + sizeof(Impl_::is_instance_function_)); +} +Decl_FunctionDecl_Overload::~Decl_FunctionDecl_Overload() { + // @@protoc_insertion_point(destructor:cel.expr.Decl.FunctionDecl.Overload) + SharedDtor(*this); +} +inline void Decl_FunctionDecl_Overload::SharedDtor(MessageLite& self) { + Decl_FunctionDecl_Overload& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.overload_id_.Destroy(); + this_._impl_.doc_.Destroy(); + delete this_._impl_.result_type_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Decl_FunctionDecl_Overload::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Decl_FunctionDecl_Overload(arena); +} +constexpr auto Decl_FunctionDecl_Overload::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.params_) + + decltype(Decl_FunctionDecl_Overload::_impl_.params_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.type_params_) + + decltype(Decl_FunctionDecl_Overload::_impl_.type_params_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(Decl_FunctionDecl_Overload), alignof(Decl_FunctionDecl_Overload), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&Decl_FunctionDecl_Overload::PlacementNew_, + sizeof(Decl_FunctionDecl_Overload), + alignof(Decl_FunctionDecl_Overload)); + } +} +constexpr auto Decl_FunctionDecl_Overload::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Decl_FunctionDecl_Overload_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Decl_FunctionDecl_Overload::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Decl_FunctionDecl_Overload::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Decl_FunctionDecl_Overload::ByteSizeLong, + &Decl_FunctionDecl_Overload::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_._cached_size_), + false, + }, + &Decl_FunctionDecl_Overload::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fchecked_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Decl_FunctionDecl_Overload_class_data_ = + Decl_FunctionDecl_Overload::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Decl_FunctionDecl_Overload::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Decl_FunctionDecl_Overload_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Decl_FunctionDecl_Overload_class_data_.tc_table); + return Decl_FunctionDecl_Overload_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 6, 2, 69, 2> +Decl_FunctionDecl_Overload::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_._has_bits_), + 0, // no _extensions_ + 6, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967232, // skipmap + offsetof(decltype(_table_), field_entries), + 6, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Decl_FunctionDecl_Overload_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Decl_FunctionDecl_Overload>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // string overload_id = 1; + {::_pbi::TcParser::FastUS1, + {10, 2, 0, + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.overload_id_)}}, + // repeated .cel.expr.Type params = 2; + {::_pbi::TcParser::FastMtR1, + {18, 0, 0, + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.params_)}}, + // repeated string type_params = 3; + {::_pbi::TcParser::FastUR1, + {26, 1, 0, + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.type_params_)}}, + // .cel.expr.Type result_type = 4; + {::_pbi::TcParser::FastMtS1, + {34, 4, 1, + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.result_type_)}}, + // bool is_instance_function = 5; + {::_pbi::TcParser::SingularVarintNoZag1(), + {40, 5, 0, + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.is_instance_function_)}}, + // string doc = 6; + {::_pbi::TcParser::FastUS1, + {50, 3, 0, + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.doc_)}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // string overload_id = 1; + {PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.overload_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // repeated .cel.expr.Type params = 2; + {PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.params_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + // repeated string type_params = 3; + {PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.type_params_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)}, + // .cel.expr.Type result_type = 4; + {PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.result_type_), _Internal::kHasBitsOffset + 4, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // bool is_instance_function = 5; + {PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.is_instance_function_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, + // string doc = 6; + {PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.doc_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Type>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Type>()}, + }}, + {{ + "\43\13\0\13\0\0\3\0" + "cel.expr.Decl.FunctionDecl.Overload" + "overload_id" + "type_params" + "doc" + }}, +}; +PROTOBUF_NOINLINE void Decl_FunctionDecl_Overload::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Decl.FunctionDecl.Overload) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.params_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.type_params_.Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + _impl_.overload_id_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _impl_.doc_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + ABSL_DCHECK(_impl_.result_type_ != nullptr); + _impl_.result_type_->Clear(); + } + } + _impl_.is_instance_function_ = false; + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Decl_FunctionDecl_Overload::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Decl_FunctionDecl_Overload& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Decl_FunctionDecl_Overload::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Decl_FunctionDecl_Overload& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Decl.FunctionDecl.Overload) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // string overload_id = 1; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + if (!this_._internal_overload_id().empty()) { + const ::std::string& _s = this_._internal_overload_id(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Decl.FunctionDecl.Overload.overload_id"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + } + + // repeated .cel.expr.Type params = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_params_size()); + i < n; i++) { + const auto& repfield = this_._internal_params().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + // repeated string type_params = 3; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (int i = 0, n = this_._internal_type_params_size(); i < n; ++i) { + const auto& s = this_._internal_type_params().Get(i); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Decl.FunctionDecl.Overload.type_params"); + target = stream->WriteString(3, s, target); + } + } + + // .cel.expr.Type result_type = 4; + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, *this_._impl_.result_type_, this_._impl_.result_type_->GetCachedSize(), target, + stream); + } + + // bool is_instance_function = 5; + if (CheckHasBit(cached_has_bits, 0x00000020U)) { + if (this_._internal_is_instance_function() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 5, this_._internal_is_instance_function(), target); + } + } + + // string doc = 6; + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + if (!this_._internal_doc().empty()) { + const ::std::string& _s = this_._internal_doc(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Decl.FunctionDecl.Overload.doc"); + target = stream->WriteStringMaybeAliased(6, _s, target); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Decl.FunctionDecl.Overload) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Decl_FunctionDecl_Overload::ByteSizeLong(const MessageLite& base) { + const Decl_FunctionDecl_Overload& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Decl_FunctionDecl_Overload::ByteSizeLong() const { + const Decl_FunctionDecl_Overload& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Decl.FunctionDecl.Overload) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) { + // repeated .cel.expr.Type params = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += 1UL * this_._internal_params_size(); + for (const auto& msg : this_._internal_params()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // repeated string type_params = 3; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_type_params().size()); + for (int i = 0, n = this_._internal_type_params().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_type_params().Get(i)); + } + } + // string overload_id = 1; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + if (!this_._internal_overload_id().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_overload_id()); + } + } + // string doc = 6; + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + if (!this_._internal_doc().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_doc()); + } + } + // .cel.expr.Type result_type = 4; + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.result_type_); + } + // bool is_instance_function = 5; + if (CheckHasBit(cached_has_bits, 0x00000020U)) { + if (this_._internal_is_instance_function() != 0) { + total_size += 2; + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Decl_FunctionDecl_Overload::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Decl.FunctionDecl.Overload) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_params()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_params()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_type_params()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_type_params()); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + if (!from._internal_overload_id().empty()) { + _this->_internal_set_overload_id(from._internal_overload_id()); + } else { + if (_this->_impl_.overload_id_.IsDefault()) { + _this->_internal_set_overload_id(""); + } + } + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + if (!from._internal_doc().empty()) { + _this->_internal_set_doc(from._internal_doc()); + } else { + if (_this->_impl_.doc_.IsDefault()) { + _this->_internal_set_doc(""); + } + } + } + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + ABSL_DCHECK(from._impl_.result_type_ != nullptr); + if (_this->_impl_.result_type_ == nullptr) { + _this->_impl_.result_type_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.result_type_); + } else { + _this->_impl_.result_type_->MergeFrom(*from._impl_.result_type_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000020U)) { + if (from._internal_is_instance_function() != 0) { + _this->_impl_.is_instance_function_ = from._impl_.is_instance_function_; + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Decl_FunctionDecl_Overload::CopyFrom(const Decl_FunctionDecl_Overload& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Decl.FunctionDecl.Overload) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Decl_FunctionDecl_Overload::InternalSwap(Decl_FunctionDecl_Overload* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.params_.InternalSwap(&other->_impl_.params_); + _impl_.type_params_.InternalSwap(&other->_impl_.type_params_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.overload_id_, &other->_impl_.overload_id_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doc_, &other->_impl_.doc_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.is_instance_function_) + + sizeof(Decl_FunctionDecl_Overload::_impl_.is_instance_function_) + - PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl_Overload, _impl_.result_type_)>( + reinterpret_cast(&_impl_.result_type_), + reinterpret_cast(&other->_impl_.result_type_)); +} + +::google::protobuf::Metadata Decl_FunctionDecl_Overload::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Decl_FunctionDecl::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl, _impl_._has_bits_); +}; + +Decl_FunctionDecl::Decl_FunctionDecl(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Decl_FunctionDecl_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Decl.FunctionDecl) +} +PROTOBUF_NDEBUG_INLINE Decl_FunctionDecl::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Decl_FunctionDecl& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + overloads_{visibility, arena, from.overloads_}, + doc_(arena, from.doc_) {} + +Decl_FunctionDecl::Decl_FunctionDecl( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Decl_FunctionDecl& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Decl_FunctionDecl_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Decl_FunctionDecl* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:cel.expr.Decl.FunctionDecl) +} +PROTOBUF_NDEBUG_INLINE Decl_FunctionDecl::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + overloads_{visibility, arena}, + doc_(arena) {} + +inline void Decl_FunctionDecl::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +Decl_FunctionDecl::~Decl_FunctionDecl() { + // @@protoc_insertion_point(destructor:cel.expr.Decl.FunctionDecl) + SharedDtor(*this); +} +inline void Decl_FunctionDecl::SharedDtor(MessageLite& self) { + Decl_FunctionDecl& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.doc_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Decl_FunctionDecl::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Decl_FunctionDecl(arena); +} +constexpr auto Decl_FunctionDecl::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl, _impl_.overloads_) + + decltype(Decl_FunctionDecl::_impl_.overloads_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(Decl_FunctionDecl), alignof(Decl_FunctionDecl), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&Decl_FunctionDecl::PlacementNew_, + sizeof(Decl_FunctionDecl), + alignof(Decl_FunctionDecl)); + } +} +constexpr auto Decl_FunctionDecl::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Decl_FunctionDecl_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Decl_FunctionDecl::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Decl_FunctionDecl::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Decl_FunctionDecl::ByteSizeLong, + &Decl_FunctionDecl::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl, _impl_._cached_size_), + false, + }, + &Decl_FunctionDecl::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fchecked_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Decl_FunctionDecl_class_data_ = + Decl_FunctionDecl::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Decl_FunctionDecl::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Decl_FunctionDecl_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Decl_FunctionDecl_class_data_.tc_table); + return Decl_FunctionDecl_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 1, 38, 2> +Decl_FunctionDecl::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Decl_FunctionDecl_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Decl_FunctionDecl>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // string doc = 2; + {::_pbi::TcParser::FastUS1, + {18, 1, 0, + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl, _impl_.doc_)}}, + // repeated .cel.expr.Decl.FunctionDecl.Overload overloads = 1; + {::_pbi::TcParser::FastMtR1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl, _impl_.overloads_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // repeated .cel.expr.Decl.FunctionDecl.Overload overloads = 1; + {PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl, _impl_.overloads_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + // string doc = 2; + {PROTOBUF_FIELD_OFFSET(Decl_FunctionDecl, _impl_.doc_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Decl_FunctionDecl_Overload>()}, + }}, + {{ + "\32\0\3\0\0\0\0\0" + "cel.expr.Decl.FunctionDecl" + "doc" + }}, +}; +PROTOBUF_NOINLINE void Decl_FunctionDecl::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Decl.FunctionDecl) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.overloads_.Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + _impl_.doc_.ClearNonDefaultToEmpty(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Decl_FunctionDecl::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Decl_FunctionDecl& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Decl_FunctionDecl::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Decl_FunctionDecl& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Decl.FunctionDecl) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // repeated .cel.expr.Decl.FunctionDecl.Overload overloads = 1; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_overloads_size()); + i < n; i++) { + const auto& repfield = this_._internal_overloads().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + // string doc = 2; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!this_._internal_doc().empty()) { + const ::std::string& _s = this_._internal_doc(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Decl.FunctionDecl.doc"); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Decl.FunctionDecl) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Decl_FunctionDecl::ByteSizeLong(const MessageLite& base) { + const Decl_FunctionDecl& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Decl_FunctionDecl::ByteSizeLong() const { + const Decl_FunctionDecl& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Decl.FunctionDecl) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + // repeated .cel.expr.Decl.FunctionDecl.Overload overloads = 1; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += 1UL * this_._internal_overloads_size(); + for (const auto& msg : this_._internal_overloads()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // string doc = 2; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!this_._internal_doc().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_doc()); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Decl_FunctionDecl::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Decl.FunctionDecl) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_overloads()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_overloads()); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!from._internal_doc().empty()) { + _this->_internal_set_doc(from._internal_doc()); + } else { + if (_this->_impl_.doc_.IsDefault()) { + _this->_internal_set_doc(""); + } + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Decl_FunctionDecl::CopyFrom(const Decl_FunctionDecl& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Decl.FunctionDecl) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Decl_FunctionDecl::InternalSwap(Decl_FunctionDecl* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.overloads_.InternalSwap(&other->_impl_.overloads_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doc_, &other->_impl_.doc_, arena); +} + +::google::protobuf::Metadata Decl_FunctionDecl::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Decl::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Decl, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::cel::expr::Decl, _impl_._oneof_case_); +}; + +void Decl::set_allocated_ident(::cel::expr::Decl_IdentDecl* PROTOBUF_NULLABLE ident) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_decl_kind(); + if (ident) { + ::google::protobuf::Arena* submessage_arena = ident->GetArena(); + if (message_arena != submessage_arena) { + ident = ::google::protobuf::internal::GetOwnedMessage(message_arena, ident, submessage_arena); + } + set_has_ident(); + _impl_.decl_kind_.ident_ = ident; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Decl.ident) +} +void Decl::set_allocated_function(::cel::expr::Decl_FunctionDecl* PROTOBUF_NULLABLE function) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_decl_kind(); + if (function) { + ::google::protobuf::Arena* submessage_arena = function->GetArena(); + if (message_arena != submessage_arena) { + function = ::google::protobuf::internal::GetOwnedMessage(message_arena, function, submessage_arena); + } + set_has_function(); + _impl_.decl_kind_.function_ = function; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Decl.function) +} +Decl::Decl(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Decl_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Decl) +} +PROTOBUF_NDEBUG_INLINE Decl::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Decl& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + name_(arena, from.name_), + decl_kind_{}, + _oneof_case_{from._oneof_case_[0]} {} + +Decl::Decl( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Decl& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Decl_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Decl* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + switch (decl_kind_case()) { + case DECL_KIND_NOT_SET: + break; + case kIdent: + _impl_.decl_kind_.ident_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.decl_kind_.ident_); + break; + case kFunction: + _impl_.decl_kind_.function_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.decl_kind_.function_); + break; + } + + // @@protoc_insertion_point(copy_constructor:cel.expr.Decl) +} +PROTOBUF_NDEBUG_INLINE Decl::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + name_(arena), + decl_kind_{}, + _oneof_case_{} {} + +inline void Decl::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +Decl::~Decl() { + // @@protoc_insertion_point(destructor:cel.expr.Decl) + SharedDtor(*this); +} +inline void Decl::SharedDtor(MessageLite& self) { + Decl& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.name_.Destroy(); + if (this_.has_decl_kind()) { + this_.clear_decl_kind(); + } + this_._impl_.~Impl_(); +} + +void Decl::clear_decl_kind() { +// @@protoc_insertion_point(one_of_clear_start:cel.expr.Decl) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (decl_kind_case()) { + case kIdent: { + if (GetArena() == nullptr) { + delete _impl_.decl_kind_.ident_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.decl_kind_.ident_); + } + break; + } + case kFunction: { + if (GetArena() == nullptr) { + delete _impl_.decl_kind_.function_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.decl_kind_.function_); + } + break; + } + case DECL_KIND_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = DECL_KIND_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL Decl::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Decl(arena); +} +constexpr auto Decl::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Decl), + alignof(Decl)); +} +constexpr auto Decl::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Decl_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Decl::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Decl::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Decl::ByteSizeLong, + &Decl::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Decl, _impl_._cached_size_), + false, + }, + &Decl::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fchecked_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Decl_class_data_ = + Decl::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Decl::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Decl_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Decl_class_data_.tc_table); + return Decl_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 3, 2, 26, 2> +Decl::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Decl, _impl_._has_bits_), + 0, // no _extensions_ + 3, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967288, // skipmap + offsetof(decltype(_table_), field_entries), + 3, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Decl_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Decl>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // string name = 1; + {::_pbi::TcParser::FastUS1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(Decl, _impl_.name_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string name = 1; + {PROTOBUF_FIELD_OFFSET(Decl, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // .cel.expr.Decl.IdentDecl ident = 2; + {PROTOBUF_FIELD_OFFSET(Decl, _impl_.decl_kind_.ident_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Decl.FunctionDecl function = 3; + {PROTOBUF_FIELD_OFFSET(Decl, _impl_.decl_kind_.function_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Decl_IdentDecl>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Decl_FunctionDecl>()}, + }}, + {{ + "\15\4\0\0\0\0\0\0" + "cel.expr.Decl" + "name" + }}, +}; +PROTOBUF_NOINLINE void Decl::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Decl) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + _impl_.name_.ClearNonDefaultToEmpty(); + } + clear_decl_kind(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Decl::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Decl& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Decl::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Decl& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Decl) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // string name = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!this_._internal_name().empty()) { + const ::std::string& _s = this_._internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Decl.name"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + } + + switch (this_.decl_kind_case()) { + case kIdent: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, *this_._impl_.decl_kind_.ident_, this_._impl_.decl_kind_.ident_->GetCachedSize(), target, + stream); + break; + } + case kFunction: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, *this_._impl_.decl_kind_.function_, this_._impl_.decl_kind_.function_->GetCachedSize(), target, + stream); + break; + } + default: + break; + } + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Decl) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Decl::ByteSizeLong(const MessageLite& base) { + const Decl& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Decl::ByteSizeLong() const { + const Decl& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Decl) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + { + // string name = 1; + cached_has_bits = this_._impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!this_._internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_name()); + } + } + } + switch (this_.decl_kind_case()) { + // .cel.expr.Decl.IdentDecl ident = 2; + case kIdent: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.decl_kind_.ident_); + break; + } + // .cel.expr.Decl.FunctionDecl function = 3; + case kFunction: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.decl_kind_.function_); + break; + } + case DECL_KIND_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Decl::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Decl) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } else { + if (_this->_impl_.name_.IsDefault()) { + _this->_internal_set_name(""); + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_decl_kind(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kIdent: { + if (oneof_needs_init) { + _this->_impl_.decl_kind_.ident_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.decl_kind_.ident_); + } else { + _this->_impl_.decl_kind_.ident_->MergeFrom(*from._impl_.decl_kind_.ident_); + } + break; + } + case kFunction: { + if (oneof_needs_init) { + _this->_impl_.decl_kind_.function_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.decl_kind_.function_); + } else { + _this->_impl_.decl_kind_.function_->MergeFrom(*from._impl_.decl_kind_.function_); + } + break; + } + case DECL_KIND_NOT_SET: + break; + } + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Decl::CopyFrom(const Decl& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Decl) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Decl::InternalSwap(Decl* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); + swap(_impl_.decl_kind_, other->_impl_.decl_kind_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::google::protobuf::Metadata Decl::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Reference::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Reference, _impl_._has_bits_); +}; + +void Reference::clear_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.value_ != nullptr) _impl_.value_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +Reference::Reference(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Reference_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Reference) +} +PROTOBUF_NDEBUG_INLINE Reference::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Reference& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + overload_id_{visibility, arena, from.overload_id_}, + name_(arena, from.name_) {} + +Reference::Reference( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Reference& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Reference_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Reference* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.value_ = (CheckHasBit(cached_has_bits, 0x00000004U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:cel.expr.Reference) +} +PROTOBUF_NDEBUG_INLINE Reference::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + overload_id_{visibility, arena}, + name_(arena) {} + +inline void Reference::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.value_ = {}; +} +Reference::~Reference() { + // @@protoc_insertion_point(destructor:cel.expr.Reference) + SharedDtor(*this); +} +inline void Reference::SharedDtor(MessageLite& self) { + Reference& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.name_.Destroy(); + delete this_._impl_.value_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Reference::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Reference(arena); +} +constexpr auto Reference::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(Reference, _impl_.overload_id_) + + decltype(Reference::_impl_.overload_id_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(Reference), alignof(Reference), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&Reference::PlacementNew_, + sizeof(Reference), + alignof(Reference)); + } +} +constexpr auto Reference::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Reference_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Reference::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Reference::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Reference::ByteSizeLong, + &Reference::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Reference, _impl_._cached_size_), + false, + }, + &Reference::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fchecked_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Reference_class_data_ = + Reference::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Reference::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Reference_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Reference_class_data_.tc_table); + return Reference_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 3, 1, 42, 2> +Reference::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Reference, _impl_._has_bits_), + 0, // no _extensions_ + 4, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967282, // skipmap + offsetof(decltype(_table_), field_entries), + 3, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Reference_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Reference>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // .cel.expr.Constant value = 4; + {::_pbi::TcParser::FastMtS1, + {34, 2, 0, + PROTOBUF_FIELD_OFFSET(Reference, _impl_.value_)}}, + // string name = 1; + {::_pbi::TcParser::FastUS1, + {10, 1, 0, + PROTOBUF_FIELD_OFFSET(Reference, _impl_.name_)}}, + {::_pbi::TcParser::MiniParse, {}}, + // repeated string overload_id = 3; + {::_pbi::TcParser::FastUR1, + {26, 0, 0, + PROTOBUF_FIELD_OFFSET(Reference, _impl_.overload_id_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string name = 1; + {PROTOBUF_FIELD_OFFSET(Reference, _impl_.name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // repeated string overload_id = 3; + {PROTOBUF_FIELD_OFFSET(Reference, _impl_.overload_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)}, + // .cel.expr.Constant value = 4; + {PROTOBUF_FIELD_OFFSET(Reference, _impl_.value_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Constant>()}, + }}, + {{ + "\22\4\13\0\0\0\0\0" + "cel.expr.Reference" + "name" + "overload_id" + }}, +}; +PROTOBUF_NOINLINE void Reference::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Reference) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.overload_id_.Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + _impl_.name_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + ABSL_DCHECK(_impl_.value_ != nullptr); + _impl_.value_->Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Reference::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Reference& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Reference::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Reference& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Reference) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // string name = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!this_._internal_name().empty()) { + const ::std::string& _s = this_._internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Reference.name"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + } + + // repeated string overload_id = 3; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (int i = 0, n = this_._internal_overload_id_size(); i < n; ++i) { + const auto& s = this_._internal_overload_id().Get(i); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Reference.overload_id"); + target = stream->WriteString(3, s, target); + } + } + + // .cel.expr.Constant value = 4; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, *this_._impl_.value_, this_._impl_.value_->GetCachedSize(), target, + stream); + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Reference) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Reference::ByteSizeLong(const MessageLite& base) { + const Reference& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Reference::ByteSizeLong() const { + const Reference& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Reference) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + // repeated string overload_id = 3; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_overload_id().size()); + for (int i = 0, n = this_._internal_overload_id().size(); i < n; ++i) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_overload_id().Get(i)); + } + } + // string name = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!this_._internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_name()); + } + } + // .cel.expr.Constant value = 4; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Reference::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Reference) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_overload_id()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_overload_id()); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } else { + if (_this->_impl_.name_.IsDefault()) { + _this->_internal_set_name(""); + } + } + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + ABSL_DCHECK(from._impl_.value_ != nullptr); + if (_this->_impl_.value_ == nullptr) { + _this->_impl_.value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_); + } else { + _this->_impl_.value_->MergeFrom(*from._impl_.value_); + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Reference::CopyFrom(const Reference& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Reference) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Reference::InternalSwap(Reference* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.overload_id_.InternalSwap(&other->_impl_.overload_id_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); + swap(_impl_.value_, other->_impl_.value_); +} + +::google::protobuf::Metadata Reference::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// @@protoc_insertion_point(namespace_scope) +} // namespace expr +} // namespace cel +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google +// @@protoc_insertion_point(global_scope) +PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type + _static_init2_ [[maybe_unused]] = + (::_pbi::AddDescriptors(&descriptor_table_cel_2fexpr_2fchecked_2eproto), + ::std::false_type{}); +#include "google/protobuf/port_undef.inc" diff --git a/crates/protovalidate-rs/gen/cel/expr/checked.pb.h b/crates/protovalidate-rs/gen/cel/expr/checked.pb.h new file mode 100644 index 00000000..90077a86 --- /dev/null +++ b/crates/protovalidate-rs/gen/cel/expr/checked.pb.h @@ -0,0 +1,6181 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: cel/expr/checked.proto +// Protobuf C++ Version: 6.33.4 + +#ifndef cel_2fexpr_2fchecked_2eproto_2epb_2eh +#define cel_2fexpr_2fchecked_2eproto_2epb_2eh + +#include +#include +#include +#include + +#include "google/protobuf/runtime_version.h" +#if PROTOBUF_VERSION != 6033004 +#error "Protobuf C++ gencode is built with an incompatible version of" +#error "Protobuf C++ headers/runtime. See" +#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp" +#endif +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/arena.h" +#include "google/protobuf/arenastring.h" +#include "google/protobuf/generated_message_tctable_decl.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/metadata_lite.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/message.h" +#include "google/protobuf/message_lite.h" +#include "google/protobuf/repeated_field.h" // IWYU pragma: export +#include "google/protobuf/extension_set.h" // IWYU pragma: export +#include "google/protobuf/map.h" // IWYU pragma: export +#include "google/protobuf/map_type_handler.h" // IWYU pragma: export +#include "google/protobuf/map_entry.h" +#include "google/protobuf/map_field.h" +#include "google/protobuf/generated_enum_reflection.h" +#include "google/protobuf/unknown_field_set.h" +#include "cel/expr/syntax.pb.h" +#include "google/protobuf/empty.pb.h" +#include "google/protobuf/struct.pb.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" + +#define PROTOBUF_INTERNAL_EXPORT_cel_2fexpr_2fchecked_2eproto + +namespace google { +namespace protobuf { +namespace internal { +template +::absl::string_view GetAnyMessageName(); +} // namespace internal +} // namespace protobuf +} // namespace google + +// Internal implementation detail -- do not use these members. +struct TableStruct_cel_2fexpr_2fchecked_2eproto { + static const ::uint32_t offsets[]; +}; +extern "C" { +extern const ::google::protobuf::internal::DescriptorTable descriptor_table_cel_2fexpr_2fchecked_2eproto; +} // extern "C" +namespace cel { +namespace expr { +enum Type_PrimitiveType : int; +extern const uint32_t Type_PrimitiveType_internal_data_[]; +enum Type_WellKnownType : int; +extern const uint32_t Type_WellKnownType_internal_data_[]; +class CheckedExpr; +struct CheckedExprDefaultTypeInternal; +extern CheckedExprDefaultTypeInternal _CheckedExpr_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull CheckedExpr_class_data_; +class CheckedExpr_ReferenceMapEntry_DoNotUse; +struct CheckedExpr_ReferenceMapEntry_DoNotUseDefaultTypeInternal; +extern CheckedExpr_ReferenceMapEntry_DoNotUseDefaultTypeInternal _CheckedExpr_ReferenceMapEntry_DoNotUse_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull CheckedExpr_ReferenceMapEntry_DoNotUse_class_data_; +class CheckedExpr_TypeMapEntry_DoNotUse; +struct CheckedExpr_TypeMapEntry_DoNotUseDefaultTypeInternal; +extern CheckedExpr_TypeMapEntry_DoNotUseDefaultTypeInternal _CheckedExpr_TypeMapEntry_DoNotUse_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull CheckedExpr_TypeMapEntry_DoNotUse_class_data_; +class Decl; +struct DeclDefaultTypeInternal; +extern DeclDefaultTypeInternal _Decl_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Decl_class_data_; +class Decl_FunctionDecl; +struct Decl_FunctionDeclDefaultTypeInternal; +extern Decl_FunctionDeclDefaultTypeInternal _Decl_FunctionDecl_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Decl_FunctionDecl_class_data_; +class Decl_FunctionDecl_Overload; +struct Decl_FunctionDecl_OverloadDefaultTypeInternal; +extern Decl_FunctionDecl_OverloadDefaultTypeInternal _Decl_FunctionDecl_Overload_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Decl_FunctionDecl_Overload_class_data_; +class Decl_IdentDecl; +struct Decl_IdentDeclDefaultTypeInternal; +extern Decl_IdentDeclDefaultTypeInternal _Decl_IdentDecl_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Decl_IdentDecl_class_data_; +class Reference; +struct ReferenceDefaultTypeInternal; +extern ReferenceDefaultTypeInternal _Reference_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Reference_class_data_; +class Type; +struct TypeDefaultTypeInternal; +extern TypeDefaultTypeInternal _Type_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Type_class_data_; +class Type_AbstractType; +struct Type_AbstractTypeDefaultTypeInternal; +extern Type_AbstractTypeDefaultTypeInternal _Type_AbstractType_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Type_AbstractType_class_data_; +class Type_FunctionType; +struct Type_FunctionTypeDefaultTypeInternal; +extern Type_FunctionTypeDefaultTypeInternal _Type_FunctionType_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Type_FunctionType_class_data_; +class Type_ListType; +struct Type_ListTypeDefaultTypeInternal; +extern Type_ListTypeDefaultTypeInternal _Type_ListType_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Type_ListType_class_data_; +class Type_MapType; +struct Type_MapTypeDefaultTypeInternal; +extern Type_MapTypeDefaultTypeInternal _Type_MapType_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Type_MapType_class_data_; +} // namespace expr +} // namespace cel +namespace google { +namespace protobuf { +template <> +internal::EnumTraitsT<::cel::expr::Type_PrimitiveType_internal_data_> + internal::EnumTraitsImpl::value<::cel::expr::Type_PrimitiveType>; +template <> +internal::EnumTraitsT<::cel::expr::Type_WellKnownType_internal_data_> + internal::EnumTraitsImpl::value<::cel::expr::Type_WellKnownType>; +} // namespace protobuf +} // namespace google + +namespace cel { +namespace expr { +enum Type_PrimitiveType : int { + Type_PrimitiveType_PRIMITIVE_TYPE_UNSPECIFIED = 0, + Type_PrimitiveType_BOOL = 1, + Type_PrimitiveType_INT64 = 2, + Type_PrimitiveType_UINT64 = 3, + Type_PrimitiveType_DOUBLE = 4, + Type_PrimitiveType_STRING = 5, + Type_PrimitiveType_BYTES = 6, + Type_PrimitiveType_Type_PrimitiveType_INT_MIN_SENTINEL_DO_NOT_USE_ = + ::std::numeric_limits<::int32_t>::min(), + Type_PrimitiveType_Type_PrimitiveType_INT_MAX_SENTINEL_DO_NOT_USE_ = + ::std::numeric_limits<::int32_t>::max(), +}; + +extern const uint32_t Type_PrimitiveType_internal_data_[]; +inline constexpr Type_PrimitiveType Type_PrimitiveType_PrimitiveType_MIN = + static_cast(0); +inline constexpr Type_PrimitiveType Type_PrimitiveType_PrimitiveType_MAX = + static_cast(6); +inline bool Type_PrimitiveType_IsValid(int value) { + return 0 <= value && value <= 6; +} +inline constexpr int Type_PrimitiveType_PrimitiveType_ARRAYSIZE = 6 + 1; +const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Type_PrimitiveType_descriptor(); +template +const ::std::string& Type_PrimitiveType_Name(T value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to PrimitiveType_Name()."); + return Type_PrimitiveType_Name(static_cast(value)); +} +template <> +inline const ::std::string& Type_PrimitiveType_Name(Type_PrimitiveType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool Type_PrimitiveType_Parse( + ::absl::string_view name, Type_PrimitiveType* PROTOBUF_NONNULL value) { + return ::google::protobuf::internal::ParseNamedEnum(Type_PrimitiveType_descriptor(), name, + value); +} +enum Type_WellKnownType : int { + Type_WellKnownType_WELL_KNOWN_TYPE_UNSPECIFIED = 0, + Type_WellKnownType_ANY = 1, + Type_WellKnownType_TIMESTAMP = 2, + Type_WellKnownType_DURATION = 3, + Type_WellKnownType_Type_WellKnownType_INT_MIN_SENTINEL_DO_NOT_USE_ = + ::std::numeric_limits<::int32_t>::min(), + Type_WellKnownType_Type_WellKnownType_INT_MAX_SENTINEL_DO_NOT_USE_ = + ::std::numeric_limits<::int32_t>::max(), +}; + +extern const uint32_t Type_WellKnownType_internal_data_[]; +inline constexpr Type_WellKnownType Type_WellKnownType_WellKnownType_MIN = + static_cast(0); +inline constexpr Type_WellKnownType Type_WellKnownType_WellKnownType_MAX = + static_cast(3); +inline bool Type_WellKnownType_IsValid(int value) { + return 0 <= value && value <= 3; +} +inline constexpr int Type_WellKnownType_WellKnownType_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Type_WellKnownType_descriptor(); +template +const ::std::string& Type_WellKnownType_Name(T value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to WellKnownType_Name()."); + return Type_WellKnownType_Name(static_cast(value)); +} +template <> +inline const ::std::string& Type_WellKnownType_Name(Type_WellKnownType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool Type_WellKnownType_Parse( + ::absl::string_view name, Type_WellKnownType* PROTOBUF_NONNULL value) { + return ::google::protobuf::internal::ParseNamedEnum(Type_WellKnownType_descriptor(), name, + value); +} + +// =================================================================== + + +// ------------------------------------------------------------------- + +class Type final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Type) */ { + public: + inline Type() : Type(nullptr) {} + ~Type() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Type* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Type)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Type(::google::protobuf::internal::ConstantInitialized); + + inline Type(const Type& from) : Type(nullptr, from) {} + inline Type(Type&& from) noexcept + : Type(nullptr, ::std::move(from)) {} + inline Type& operator=(const Type& from) { + CopyFrom(from); + return *this; + } + inline Type& operator=(Type&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Type& default_instance() { + return *reinterpret_cast( + &_Type_default_instance_); + } + enum TypeKindCase { + kDyn = 1, + kNull = 2, + kPrimitive = 3, + kWrapper = 4, + kWellKnown = 5, + kListType = 6, + kMapType = 7, + kFunction = 8, + kMessageType = 9, + kTypeParam = 10, + kType = 11, + kError = 12, + kAbstractType = 14, + TYPE_KIND_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 7; + friend void swap(Type& a, Type& b) { a.Swap(&b); } + inline void Swap(Type* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Type* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Type* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Type& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Type& from) { Type::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Type* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Type"; } + + explicit Type(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Type(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Type& from); + Type( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Type&& from) noexcept + : Type(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + using ListType = Type_ListType; + using MapType = Type_MapType; + using FunctionType = Type_FunctionType; + using AbstractType = Type_AbstractType; + using PrimitiveType = Type_PrimitiveType; + static constexpr PrimitiveType PRIMITIVE_TYPE_UNSPECIFIED = Type_PrimitiveType_PRIMITIVE_TYPE_UNSPECIFIED; + static constexpr PrimitiveType BOOL = Type_PrimitiveType_BOOL; + static constexpr PrimitiveType INT64 = Type_PrimitiveType_INT64; + static constexpr PrimitiveType UINT64 = Type_PrimitiveType_UINT64; + static constexpr PrimitiveType DOUBLE = Type_PrimitiveType_DOUBLE; + static constexpr PrimitiveType STRING = Type_PrimitiveType_STRING; + static constexpr PrimitiveType BYTES = Type_PrimitiveType_BYTES; + static inline bool PrimitiveType_IsValid(int value) { + return Type_PrimitiveType_IsValid(value); + } + static constexpr PrimitiveType PrimitiveType_MIN = Type_PrimitiveType_PrimitiveType_MIN; + static constexpr PrimitiveType PrimitiveType_MAX = Type_PrimitiveType_PrimitiveType_MAX; + static constexpr int PrimitiveType_ARRAYSIZE = Type_PrimitiveType_PrimitiveType_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL PrimitiveType_descriptor() { + return Type_PrimitiveType_descriptor(); + } + template + static inline const ::std::string& PrimitiveType_Name(T value) { + return Type_PrimitiveType_Name(value); + } + static inline bool PrimitiveType_Parse( + ::absl::string_view name, PrimitiveType* PROTOBUF_NONNULL value) { + return Type_PrimitiveType_Parse(name, value); + } + using WellKnownType = Type_WellKnownType; + static constexpr WellKnownType WELL_KNOWN_TYPE_UNSPECIFIED = Type_WellKnownType_WELL_KNOWN_TYPE_UNSPECIFIED; + static constexpr WellKnownType ANY = Type_WellKnownType_ANY; + static constexpr WellKnownType TIMESTAMP = Type_WellKnownType_TIMESTAMP; + static constexpr WellKnownType DURATION = Type_WellKnownType_DURATION; + static inline bool WellKnownType_IsValid(int value) { + return Type_WellKnownType_IsValid(value); + } + static constexpr WellKnownType WellKnownType_MIN = Type_WellKnownType_WellKnownType_MIN; + static constexpr WellKnownType WellKnownType_MAX = Type_WellKnownType_WellKnownType_MAX; + static constexpr int WellKnownType_ARRAYSIZE = Type_WellKnownType_WellKnownType_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL WellKnownType_descriptor() { + return Type_WellKnownType_descriptor(); + } + template + static inline const ::std::string& WellKnownType_Name(T value) { + return Type_WellKnownType_Name(value); + } + static inline bool WellKnownType_Parse( + ::absl::string_view name, WellKnownType* PROTOBUF_NONNULL value) { + return Type_WellKnownType_Parse(name, value); + } + + // accessors ------------------------------------------------------- + enum : int { + kDynFieldNumber = 1, + kNullFieldNumber = 2, + kPrimitiveFieldNumber = 3, + kWrapperFieldNumber = 4, + kWellKnownFieldNumber = 5, + kListTypeFieldNumber = 6, + kMapTypeFieldNumber = 7, + kFunctionFieldNumber = 8, + kMessageTypeFieldNumber = 9, + kTypeParamFieldNumber = 10, + kTypeFieldNumber = 11, + kErrorFieldNumber = 12, + kAbstractTypeFieldNumber = 14, + }; + // .google.protobuf.Empty dyn = 1; + bool has_dyn() const; + private: + bool _internal_has_dyn() const; + + public: + void clear_dyn() ; + const ::google::protobuf::Empty& dyn() const; + [[nodiscard]] ::google::protobuf::Empty* PROTOBUF_NULLABLE release_dyn(); + ::google::protobuf::Empty* PROTOBUF_NONNULL mutable_dyn(); + void set_allocated_dyn(::google::protobuf::Empty* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_dyn(::google::protobuf::Empty* PROTOBUF_NULLABLE value); + ::google::protobuf::Empty* PROTOBUF_NULLABLE unsafe_arena_release_dyn(); + + private: + const ::google::protobuf::Empty& _internal_dyn() const; + ::google::protobuf::Empty* PROTOBUF_NONNULL _internal_mutable_dyn(); + + public: + // .google.protobuf.NullValue null = 2; + bool has_null() const; + void clear_null() ; + ::google::protobuf::NullValue null() const; + void set_null(::google::protobuf::NullValue value); + + private: + ::google::protobuf::NullValue _internal_null() const; + void _internal_set_null(::google::protobuf::NullValue value); + + public: + // .cel.expr.Type.PrimitiveType primitive = 3; + bool has_primitive() const; + void clear_primitive() ; + ::cel::expr::Type_PrimitiveType primitive() const; + void set_primitive(::cel::expr::Type_PrimitiveType value); + + private: + ::cel::expr::Type_PrimitiveType _internal_primitive() const; + void _internal_set_primitive(::cel::expr::Type_PrimitiveType value); + + public: + // .cel.expr.Type.PrimitiveType wrapper = 4; + bool has_wrapper() const; + void clear_wrapper() ; + ::cel::expr::Type_PrimitiveType wrapper() const; + void set_wrapper(::cel::expr::Type_PrimitiveType value); + + private: + ::cel::expr::Type_PrimitiveType _internal_wrapper() const; + void _internal_set_wrapper(::cel::expr::Type_PrimitiveType value); + + public: + // .cel.expr.Type.WellKnownType well_known = 5; + bool has_well_known() const; + void clear_well_known() ; + ::cel::expr::Type_WellKnownType well_known() const; + void set_well_known(::cel::expr::Type_WellKnownType value); + + private: + ::cel::expr::Type_WellKnownType _internal_well_known() const; + void _internal_set_well_known(::cel::expr::Type_WellKnownType value); + + public: + // .cel.expr.Type.ListType list_type = 6; + bool has_list_type() const; + private: + bool _internal_has_list_type() const; + + public: + void clear_list_type() ; + const ::cel::expr::Type_ListType& list_type() const; + [[nodiscard]] ::cel::expr::Type_ListType* PROTOBUF_NULLABLE release_list_type(); + ::cel::expr::Type_ListType* PROTOBUF_NONNULL mutable_list_type(); + void set_allocated_list_type(::cel::expr::Type_ListType* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_list_type(::cel::expr::Type_ListType* PROTOBUF_NULLABLE value); + ::cel::expr::Type_ListType* PROTOBUF_NULLABLE unsafe_arena_release_list_type(); + + private: + const ::cel::expr::Type_ListType& _internal_list_type() const; + ::cel::expr::Type_ListType* PROTOBUF_NONNULL _internal_mutable_list_type(); + + public: + // .cel.expr.Type.MapType map_type = 7; + bool has_map_type() const; + private: + bool _internal_has_map_type() const; + + public: + void clear_map_type() ; + const ::cel::expr::Type_MapType& map_type() const; + [[nodiscard]] ::cel::expr::Type_MapType* PROTOBUF_NULLABLE release_map_type(); + ::cel::expr::Type_MapType* PROTOBUF_NONNULL mutable_map_type(); + void set_allocated_map_type(::cel::expr::Type_MapType* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_map_type(::cel::expr::Type_MapType* PROTOBUF_NULLABLE value); + ::cel::expr::Type_MapType* PROTOBUF_NULLABLE unsafe_arena_release_map_type(); + + private: + const ::cel::expr::Type_MapType& _internal_map_type() const; + ::cel::expr::Type_MapType* PROTOBUF_NONNULL _internal_mutable_map_type(); + + public: + // .cel.expr.Type.FunctionType function = 8; + bool has_function() const; + private: + bool _internal_has_function() const; + + public: + void clear_function() ; + const ::cel::expr::Type_FunctionType& function() const; + [[nodiscard]] ::cel::expr::Type_FunctionType* PROTOBUF_NULLABLE release_function(); + ::cel::expr::Type_FunctionType* PROTOBUF_NONNULL mutable_function(); + void set_allocated_function(::cel::expr::Type_FunctionType* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_function(::cel::expr::Type_FunctionType* PROTOBUF_NULLABLE value); + ::cel::expr::Type_FunctionType* PROTOBUF_NULLABLE unsafe_arena_release_function(); + + private: + const ::cel::expr::Type_FunctionType& _internal_function() const; + ::cel::expr::Type_FunctionType* PROTOBUF_NONNULL _internal_mutable_function(); + + public: + // string message_type = 9; + bool has_message_type() const; + void clear_message_type() ; + const ::std::string& message_type() const; + template + void set_message_type(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_message_type(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_message_type(); + void set_allocated_message_type(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_message_type() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_message_type(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_message_type(); + + public: + // string type_param = 10; + bool has_type_param() const; + void clear_type_param() ; + const ::std::string& type_param() const; + template + void set_type_param(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_type_param(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_type_param(); + void set_allocated_type_param(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_type_param() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_type_param(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_type_param(); + + public: + // .cel.expr.Type type = 11; + bool has_type() const; + private: + bool _internal_has_type() const; + + public: + void clear_type() ; + const ::cel::expr::Type& type() const; + [[nodiscard]] ::cel::expr::Type* PROTOBUF_NULLABLE release_type(); + ::cel::expr::Type* PROTOBUF_NONNULL mutable_type(); + void set_allocated_type(::cel::expr::Type* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_type(::cel::expr::Type* PROTOBUF_NULLABLE value); + ::cel::expr::Type* PROTOBUF_NULLABLE unsafe_arena_release_type(); + + private: + const ::cel::expr::Type& _internal_type() const; + ::cel::expr::Type* PROTOBUF_NONNULL _internal_mutable_type(); + + public: + // .google.protobuf.Empty error = 12; + bool has_error() const; + private: + bool _internal_has_error() const; + + public: + void clear_error() ; + const ::google::protobuf::Empty& error() const; + [[nodiscard]] ::google::protobuf::Empty* PROTOBUF_NULLABLE release_error(); + ::google::protobuf::Empty* PROTOBUF_NONNULL mutable_error(); + void set_allocated_error(::google::protobuf::Empty* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_error(::google::protobuf::Empty* PROTOBUF_NULLABLE value); + ::google::protobuf::Empty* PROTOBUF_NULLABLE unsafe_arena_release_error(); + + private: + const ::google::protobuf::Empty& _internal_error() const; + ::google::protobuf::Empty* PROTOBUF_NONNULL _internal_mutable_error(); + + public: + // .cel.expr.Type.AbstractType abstract_type = 14; + bool has_abstract_type() const; + private: + bool _internal_has_abstract_type() const; + + public: + void clear_abstract_type() ; + const ::cel::expr::Type_AbstractType& abstract_type() const; + [[nodiscard]] ::cel::expr::Type_AbstractType* PROTOBUF_NULLABLE release_abstract_type(); + ::cel::expr::Type_AbstractType* PROTOBUF_NONNULL mutable_abstract_type(); + void set_allocated_abstract_type(::cel::expr::Type_AbstractType* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_abstract_type(::cel::expr::Type_AbstractType* PROTOBUF_NULLABLE value); + ::cel::expr::Type_AbstractType* PROTOBUF_NULLABLE unsafe_arena_release_abstract_type(); + + private: + const ::cel::expr::Type_AbstractType& _internal_abstract_type() const; + ::cel::expr::Type_AbstractType* PROTOBUF_NONNULL _internal_mutable_abstract_type(); + + public: + void clear_type_kind(); + TypeKindCase type_kind_case() const; + // @@protoc_insertion_point(class_scope:cel.expr.Type) + private: + class _Internal; + void set_has_dyn(); + void set_has_null(); + void set_has_primitive(); + void set_has_wrapper(); + void set_has_well_known(); + void set_has_list_type(); + void set_has_map_type(); + void set_has_function(); + void set_has_message_type(); + void set_has_type_param(); + void set_has_type(); + void set_has_error(); + void set_has_abstract_type(); + inline bool has_type_kind() const; + inline void clear_has_type_kind(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<0, 13, + 7, 52, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Type& from_msg); + union TypeKindUnion { + constexpr TypeKindUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::protobuf::Message* PROTOBUF_NULLABLE dyn_; + int null_; + int primitive_; + int wrapper_; + int well_known_; + ::google::protobuf::Message* PROTOBUF_NULLABLE list_type_; + ::google::protobuf::Message* PROTOBUF_NULLABLE map_type_; + ::google::protobuf::Message* PROTOBUF_NULLABLE function_; + ::google::protobuf::internal::ArenaStringPtr message_type_; + ::google::protobuf::internal::ArenaStringPtr type_param_; + ::google::protobuf::Message* PROTOBUF_NULLABLE type_; + ::google::protobuf::Message* PROTOBUF_NULLABLE error_; + ::google::protobuf::Message* PROTOBUF_NULLABLE abstract_type_; + } type_kind_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fchecked_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Type_class_data_; +// ------------------------------------------------------------------- + +class Type_AbstractType final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Type.AbstractType) */ { + public: + inline Type_AbstractType() : Type_AbstractType(nullptr) {} + ~Type_AbstractType() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Type_AbstractType* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Type_AbstractType)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Type_AbstractType(::google::protobuf::internal::ConstantInitialized); + + inline Type_AbstractType(const Type_AbstractType& from) : Type_AbstractType(nullptr, from) {} + inline Type_AbstractType(Type_AbstractType&& from) noexcept + : Type_AbstractType(nullptr, ::std::move(from)) {} + inline Type_AbstractType& operator=(const Type_AbstractType& from) { + CopyFrom(from); + return *this; + } + inline Type_AbstractType& operator=(Type_AbstractType&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Type_AbstractType& default_instance() { + return *reinterpret_cast( + &_Type_AbstractType_default_instance_); + } + static constexpr int kIndexInFileMessages = 6; + friend void swap(Type_AbstractType& a, Type_AbstractType& b) { a.Swap(&b); } + inline void Swap(Type_AbstractType* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Type_AbstractType* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Type_AbstractType* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Type_AbstractType& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Type_AbstractType& from) { Type_AbstractType::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Type_AbstractType* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Type.AbstractType"; } + + explicit Type_AbstractType(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Type_AbstractType(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Type_AbstractType& from); + Type_AbstractType( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Type_AbstractType&& from) noexcept + : Type_AbstractType(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kParameterTypesFieldNumber = 2, + kNameFieldNumber = 1, + }; + // repeated .cel.expr.Type parameter_types = 2; + int parameter_types_size() const; + private: + int _internal_parameter_types_size() const; + + public: + void clear_parameter_types() ; + ::cel::expr::Type* PROTOBUF_NONNULL mutable_parameter_types(int index); + ::google::protobuf::RepeatedPtrField<::cel::expr::Type>* PROTOBUF_NONNULL mutable_parameter_types(); + + private: + const ::google::protobuf::RepeatedPtrField<::cel::expr::Type>& _internal_parameter_types() const; + ::google::protobuf::RepeatedPtrField<::cel::expr::Type>* PROTOBUF_NONNULL _internal_mutable_parameter_types(); + public: + const ::cel::expr::Type& parameter_types(int index) const; + ::cel::expr::Type* PROTOBUF_NONNULL add_parameter_types(); + const ::google::protobuf::RepeatedPtrField<::cel::expr::Type>& parameter_types() const; + // string name = 1; + void clear_name() ; + const ::std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_name(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name(); + void set_allocated_name(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_name() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_name(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.Type.AbstractType) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 1, 39, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Type_AbstractType& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::cel::expr::Type > parameter_types_; + ::google::protobuf::internal::ArenaStringPtr name_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fchecked_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Type_AbstractType_class_data_; +// ------------------------------------------------------------------- + +class Type_FunctionType final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Type.FunctionType) */ { + public: + inline Type_FunctionType() : Type_FunctionType(nullptr) {} + ~Type_FunctionType() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Type_FunctionType* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Type_FunctionType)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Type_FunctionType(::google::protobuf::internal::ConstantInitialized); + + inline Type_FunctionType(const Type_FunctionType& from) : Type_FunctionType(nullptr, from) {} + inline Type_FunctionType(Type_FunctionType&& from) noexcept + : Type_FunctionType(nullptr, ::std::move(from)) {} + inline Type_FunctionType& operator=(const Type_FunctionType& from) { + CopyFrom(from); + return *this; + } + inline Type_FunctionType& operator=(Type_FunctionType&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Type_FunctionType& default_instance() { + return *reinterpret_cast( + &_Type_FunctionType_default_instance_); + } + static constexpr int kIndexInFileMessages = 5; + friend void swap(Type_FunctionType& a, Type_FunctionType& b) { a.Swap(&b); } + inline void Swap(Type_FunctionType* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Type_FunctionType* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Type_FunctionType* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Type_FunctionType& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Type_FunctionType& from) { Type_FunctionType::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Type_FunctionType* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Type.FunctionType"; } + + explicit Type_FunctionType(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Type_FunctionType(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Type_FunctionType& from); + Type_FunctionType( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Type_FunctionType&& from) noexcept + : Type_FunctionType(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kArgTypesFieldNumber = 2, + kResultTypeFieldNumber = 1, + }; + // repeated .cel.expr.Type arg_types = 2; + int arg_types_size() const; + private: + int _internal_arg_types_size() const; + + public: + void clear_arg_types() ; + ::cel::expr::Type* PROTOBUF_NONNULL mutable_arg_types(int index); + ::google::protobuf::RepeatedPtrField<::cel::expr::Type>* PROTOBUF_NONNULL mutable_arg_types(); + + private: + const ::google::protobuf::RepeatedPtrField<::cel::expr::Type>& _internal_arg_types() const; + ::google::protobuf::RepeatedPtrField<::cel::expr::Type>* PROTOBUF_NONNULL _internal_mutable_arg_types(); + public: + const ::cel::expr::Type& arg_types(int index) const; + ::cel::expr::Type* PROTOBUF_NONNULL add_arg_types(); + const ::google::protobuf::RepeatedPtrField<::cel::expr::Type>& arg_types() const; + // .cel.expr.Type result_type = 1; + bool has_result_type() const; + void clear_result_type() ; + const ::cel::expr::Type& result_type() const; + [[nodiscard]] ::cel::expr::Type* PROTOBUF_NULLABLE release_result_type(); + ::cel::expr::Type* PROTOBUF_NONNULL mutable_result_type(); + void set_allocated_result_type(::cel::expr::Type* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_result_type(::cel::expr::Type* PROTOBUF_NULLABLE value); + ::cel::expr::Type* PROTOBUF_NULLABLE unsafe_arena_release_result_type(); + + private: + const ::cel::expr::Type& _internal_result_type() const; + ::cel::expr::Type* PROTOBUF_NONNULL _internal_mutable_result_type(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.Type.FunctionType) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 2, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Type_FunctionType& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::cel::expr::Type > arg_types_; + ::cel::expr::Type* PROTOBUF_NULLABLE result_type_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fchecked_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Type_FunctionType_class_data_; +// ------------------------------------------------------------------- + +class Type_ListType final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Type.ListType) */ { + public: + inline Type_ListType() : Type_ListType(nullptr) {} + ~Type_ListType() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Type_ListType* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Type_ListType)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Type_ListType(::google::protobuf::internal::ConstantInitialized); + + inline Type_ListType(const Type_ListType& from) : Type_ListType(nullptr, from) {} + inline Type_ListType(Type_ListType&& from) noexcept + : Type_ListType(nullptr, ::std::move(from)) {} + inline Type_ListType& operator=(const Type_ListType& from) { + CopyFrom(from); + return *this; + } + inline Type_ListType& operator=(Type_ListType&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Type_ListType& default_instance() { + return *reinterpret_cast( + &_Type_ListType_default_instance_); + } + static constexpr int kIndexInFileMessages = 3; + friend void swap(Type_ListType& a, Type_ListType& b) { a.Swap(&b); } + inline void Swap(Type_ListType* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Type_ListType* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Type_ListType* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Type_ListType& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Type_ListType& from) { Type_ListType::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Type_ListType* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Type.ListType"; } + + explicit Type_ListType(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Type_ListType(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Type_ListType& from); + Type_ListType( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Type_ListType&& from) noexcept + : Type_ListType(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kElemTypeFieldNumber = 1, + }; + // .cel.expr.Type elem_type = 1; + bool has_elem_type() const; + void clear_elem_type() ; + const ::cel::expr::Type& elem_type() const; + [[nodiscard]] ::cel::expr::Type* PROTOBUF_NULLABLE release_elem_type(); + ::cel::expr::Type* PROTOBUF_NONNULL mutable_elem_type(); + void set_allocated_elem_type(::cel::expr::Type* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_elem_type(::cel::expr::Type* PROTOBUF_NULLABLE value); + ::cel::expr::Type* PROTOBUF_NULLABLE unsafe_arena_release_elem_type(); + + private: + const ::cel::expr::Type& _internal_elem_type() const; + ::cel::expr::Type* PROTOBUF_NONNULL _internal_mutable_elem_type(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.Type.ListType) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<0, 1, + 1, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Type_ListType& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::cel::expr::Type* PROTOBUF_NULLABLE elem_type_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fchecked_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Type_ListType_class_data_; +// ------------------------------------------------------------------- + +class Type_MapType final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Type.MapType) */ { + public: + inline Type_MapType() : Type_MapType(nullptr) {} + ~Type_MapType() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Type_MapType* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Type_MapType)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Type_MapType(::google::protobuf::internal::ConstantInitialized); + + inline Type_MapType(const Type_MapType& from) : Type_MapType(nullptr, from) {} + inline Type_MapType(Type_MapType&& from) noexcept + : Type_MapType(nullptr, ::std::move(from)) {} + inline Type_MapType& operator=(const Type_MapType& from) { + CopyFrom(from); + return *this; + } + inline Type_MapType& operator=(Type_MapType&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Type_MapType& default_instance() { + return *reinterpret_cast( + &_Type_MapType_default_instance_); + } + static constexpr int kIndexInFileMessages = 4; + friend void swap(Type_MapType& a, Type_MapType& b) { a.Swap(&b); } + inline void Swap(Type_MapType* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Type_MapType* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Type_MapType* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Type_MapType& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Type_MapType& from) { Type_MapType::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Type_MapType* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Type.MapType"; } + + explicit Type_MapType(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Type_MapType(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Type_MapType& from); + Type_MapType( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Type_MapType&& from) noexcept + : Type_MapType(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kKeyTypeFieldNumber = 1, + kValueTypeFieldNumber = 2, + }; + // .cel.expr.Type key_type = 1; + bool has_key_type() const; + void clear_key_type() ; + const ::cel::expr::Type& key_type() const; + [[nodiscard]] ::cel::expr::Type* PROTOBUF_NULLABLE release_key_type(); + ::cel::expr::Type* PROTOBUF_NONNULL mutable_key_type(); + void set_allocated_key_type(::cel::expr::Type* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_key_type(::cel::expr::Type* PROTOBUF_NULLABLE value); + ::cel::expr::Type* PROTOBUF_NULLABLE unsafe_arena_release_key_type(); + + private: + const ::cel::expr::Type& _internal_key_type() const; + ::cel::expr::Type* PROTOBUF_NONNULL _internal_mutable_key_type(); + + public: + // .cel.expr.Type value_type = 2; + bool has_value_type() const; + void clear_value_type() ; + const ::cel::expr::Type& value_type() const; + [[nodiscard]] ::cel::expr::Type* PROTOBUF_NULLABLE release_value_type(); + ::cel::expr::Type* PROTOBUF_NONNULL mutable_value_type(); + void set_allocated_value_type(::cel::expr::Type* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_value_type(::cel::expr::Type* PROTOBUF_NULLABLE value); + ::cel::expr::Type* PROTOBUF_NULLABLE unsafe_arena_release_value_type(); + + private: + const ::cel::expr::Type& _internal_value_type() const; + ::cel::expr::Type* PROTOBUF_NONNULL _internal_mutable_value_type(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.Type.MapType) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 2, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Type_MapType& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::cel::expr::Type* PROTOBUF_NULLABLE key_type_; + ::cel::expr::Type* PROTOBUF_NULLABLE value_type_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fchecked_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Type_MapType_class_data_; +// ------------------------------------------------------------------- + +class Reference final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Reference) */ { + public: + inline Reference() : Reference(nullptr) {} + ~Reference() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Reference* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Reference)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Reference(::google::protobuf::internal::ConstantInitialized); + + inline Reference(const Reference& from) : Reference(nullptr, from) {} + inline Reference(Reference&& from) noexcept + : Reference(nullptr, ::std::move(from)) {} + inline Reference& operator=(const Reference& from) { + CopyFrom(from); + return *this; + } + inline Reference& operator=(Reference&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Reference& default_instance() { + return *reinterpret_cast( + &_Reference_default_instance_); + } + static constexpr int kIndexInFileMessages = 12; + friend void swap(Reference& a, Reference& b) { a.Swap(&b); } + inline void Swap(Reference* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Reference* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Reference* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Reference& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Reference& from) { Reference::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Reference* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Reference"; } + + explicit Reference(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Reference(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Reference& from); + Reference( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Reference&& from) noexcept + : Reference(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kOverloadIdFieldNumber = 3, + kNameFieldNumber = 1, + kValueFieldNumber = 4, + }; + // repeated string overload_id = 3; + int overload_id_size() const; + private: + int _internal_overload_id_size() const; + + public: + void clear_overload_id() ; + const ::std::string& overload_id(int index) const; + ::std::string* PROTOBUF_NONNULL mutable_overload_id(int index); + template + void set_overload_id(int index, Arg_&& value, Args_... args); + ::std::string* PROTOBUF_NONNULL add_overload_id(); + template + void add_overload_id(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField<::std::string>& overload_id() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_overload_id(); + + private: + const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_overload_id() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_overload_id(); + + public: + // string name = 1; + void clear_name() ; + const ::std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_name(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name(); + void set_allocated_name(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_name() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_name(); + + public: + // .cel.expr.Constant value = 4; + bool has_value() const; + void clear_value() ; + const ::cel::expr::Constant& value() const; + [[nodiscard]] ::cel::expr::Constant* PROTOBUF_NULLABLE release_value(); + ::cel::expr::Constant* PROTOBUF_NONNULL mutable_value(); + void set_allocated_value(::cel::expr::Constant* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_value(::cel::expr::Constant* PROTOBUF_NULLABLE value); + ::cel::expr::Constant* PROTOBUF_NULLABLE unsafe_arena_release_value(); + + private: + const ::cel::expr::Constant& _internal_value() const; + ::cel::expr::Constant* PROTOBUF_NONNULL _internal_mutable_value(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.Reference) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 3, + 1, 42, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Reference& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField<::std::string> overload_id_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::cel::expr::Constant* PROTOBUF_NULLABLE value_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fchecked_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Reference_class_data_; +// ------------------------------------------------------------------- + +class Decl_IdentDecl final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Decl.IdentDecl) */ { + public: + inline Decl_IdentDecl() : Decl_IdentDecl(nullptr) {} + ~Decl_IdentDecl() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Decl_IdentDecl* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Decl_IdentDecl)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Decl_IdentDecl(::google::protobuf::internal::ConstantInitialized); + + inline Decl_IdentDecl(const Decl_IdentDecl& from) : Decl_IdentDecl(nullptr, from) {} + inline Decl_IdentDecl(Decl_IdentDecl&& from) noexcept + : Decl_IdentDecl(nullptr, ::std::move(from)) {} + inline Decl_IdentDecl& operator=(const Decl_IdentDecl& from) { + CopyFrom(from); + return *this; + } + inline Decl_IdentDecl& operator=(Decl_IdentDecl&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Decl_IdentDecl& default_instance() { + return *reinterpret_cast( + &_Decl_IdentDecl_default_instance_); + } + static constexpr int kIndexInFileMessages = 8; + friend void swap(Decl_IdentDecl& a, Decl_IdentDecl& b) { a.Swap(&b); } + inline void Swap(Decl_IdentDecl* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Decl_IdentDecl* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Decl_IdentDecl* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Decl_IdentDecl& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Decl_IdentDecl& from) { Decl_IdentDecl::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Decl_IdentDecl* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Decl.IdentDecl"; } + + explicit Decl_IdentDecl(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Decl_IdentDecl(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Decl_IdentDecl& from); + Decl_IdentDecl( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Decl_IdentDecl&& from) noexcept + : Decl_IdentDecl(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kDocFieldNumber = 3, + kTypeFieldNumber = 1, + kValueFieldNumber = 2, + }; + // string doc = 3; + void clear_doc() ; + const ::std::string& doc() const; + template + void set_doc(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_doc(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_doc(); + void set_allocated_doc(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_doc() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_doc(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_doc(); + + public: + // .cel.expr.Type type = 1; + bool has_type() const; + void clear_type() ; + const ::cel::expr::Type& type() const; + [[nodiscard]] ::cel::expr::Type* PROTOBUF_NULLABLE release_type(); + ::cel::expr::Type* PROTOBUF_NONNULL mutable_type(); + void set_allocated_type(::cel::expr::Type* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_type(::cel::expr::Type* PROTOBUF_NULLABLE value); + ::cel::expr::Type* PROTOBUF_NULLABLE unsafe_arena_release_type(); + + private: + const ::cel::expr::Type& _internal_type() const; + ::cel::expr::Type* PROTOBUF_NONNULL _internal_mutable_type(); + + public: + // .cel.expr.Constant value = 2; + bool has_value() const; + void clear_value() ; + const ::cel::expr::Constant& value() const; + [[nodiscard]] ::cel::expr::Constant* PROTOBUF_NULLABLE release_value(); + ::cel::expr::Constant* PROTOBUF_NONNULL mutable_value(); + void set_allocated_value(::cel::expr::Constant* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_value(::cel::expr::Constant* PROTOBUF_NULLABLE value); + ::cel::expr::Constant* PROTOBUF_NULLABLE unsafe_arena_release_value(); + + private: + const ::cel::expr::Constant& _internal_value() const; + ::cel::expr::Constant* PROTOBUF_NONNULL _internal_mutable_value(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.Decl.IdentDecl) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 3, + 2, 35, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Decl_IdentDecl& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr doc_; + ::cel::expr::Type* PROTOBUF_NULLABLE type_; + ::cel::expr::Constant* PROTOBUF_NULLABLE value_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fchecked_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Decl_IdentDecl_class_data_; +// ------------------------------------------------------------------- + +class Decl_FunctionDecl_Overload final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Decl.FunctionDecl.Overload) */ { + public: + inline Decl_FunctionDecl_Overload() : Decl_FunctionDecl_Overload(nullptr) {} + ~Decl_FunctionDecl_Overload() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Decl_FunctionDecl_Overload* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Decl_FunctionDecl_Overload)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Decl_FunctionDecl_Overload(::google::protobuf::internal::ConstantInitialized); + + inline Decl_FunctionDecl_Overload(const Decl_FunctionDecl_Overload& from) : Decl_FunctionDecl_Overload(nullptr, from) {} + inline Decl_FunctionDecl_Overload(Decl_FunctionDecl_Overload&& from) noexcept + : Decl_FunctionDecl_Overload(nullptr, ::std::move(from)) {} + inline Decl_FunctionDecl_Overload& operator=(const Decl_FunctionDecl_Overload& from) { + CopyFrom(from); + return *this; + } + inline Decl_FunctionDecl_Overload& operator=(Decl_FunctionDecl_Overload&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Decl_FunctionDecl_Overload& default_instance() { + return *reinterpret_cast( + &_Decl_FunctionDecl_Overload_default_instance_); + } + static constexpr int kIndexInFileMessages = 9; + friend void swap(Decl_FunctionDecl_Overload& a, Decl_FunctionDecl_Overload& b) { a.Swap(&b); } + inline void Swap(Decl_FunctionDecl_Overload* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Decl_FunctionDecl_Overload* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Decl_FunctionDecl_Overload* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Decl_FunctionDecl_Overload& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Decl_FunctionDecl_Overload& from) { Decl_FunctionDecl_Overload::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Decl_FunctionDecl_Overload* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Decl.FunctionDecl.Overload"; } + + explicit Decl_FunctionDecl_Overload(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Decl_FunctionDecl_Overload(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Decl_FunctionDecl_Overload& from); + Decl_FunctionDecl_Overload( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Decl_FunctionDecl_Overload&& from) noexcept + : Decl_FunctionDecl_Overload(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kParamsFieldNumber = 2, + kTypeParamsFieldNumber = 3, + kOverloadIdFieldNumber = 1, + kDocFieldNumber = 6, + kResultTypeFieldNumber = 4, + kIsInstanceFunctionFieldNumber = 5, + }; + // repeated .cel.expr.Type params = 2; + int params_size() const; + private: + int _internal_params_size() const; + + public: + void clear_params() ; + ::cel::expr::Type* PROTOBUF_NONNULL mutable_params(int index); + ::google::protobuf::RepeatedPtrField<::cel::expr::Type>* PROTOBUF_NONNULL mutable_params(); + + private: + const ::google::protobuf::RepeatedPtrField<::cel::expr::Type>& _internal_params() const; + ::google::protobuf::RepeatedPtrField<::cel::expr::Type>* PROTOBUF_NONNULL _internal_mutable_params(); + public: + const ::cel::expr::Type& params(int index) const; + ::cel::expr::Type* PROTOBUF_NONNULL add_params(); + const ::google::protobuf::RepeatedPtrField<::cel::expr::Type>& params() const; + // repeated string type_params = 3; + int type_params_size() const; + private: + int _internal_type_params_size() const; + + public: + void clear_type_params() ; + const ::std::string& type_params(int index) const; + ::std::string* PROTOBUF_NONNULL mutable_type_params(int index); + template + void set_type_params(int index, Arg_&& value, Args_... args); + ::std::string* PROTOBUF_NONNULL add_type_params(); + template + void add_type_params(Arg_&& value, Args_... args); + const ::google::protobuf::RepeatedPtrField<::std::string>& type_params() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_type_params(); + + private: + const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_type_params() const; + ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_type_params(); + + public: + // string overload_id = 1; + void clear_overload_id() ; + const ::std::string& overload_id() const; + template + void set_overload_id(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_overload_id(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_overload_id(); + void set_allocated_overload_id(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_overload_id() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_overload_id(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_overload_id(); + + public: + // string doc = 6; + void clear_doc() ; + const ::std::string& doc() const; + template + void set_doc(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_doc(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_doc(); + void set_allocated_doc(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_doc() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_doc(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_doc(); + + public: + // .cel.expr.Type result_type = 4; + bool has_result_type() const; + void clear_result_type() ; + const ::cel::expr::Type& result_type() const; + [[nodiscard]] ::cel::expr::Type* PROTOBUF_NULLABLE release_result_type(); + ::cel::expr::Type* PROTOBUF_NONNULL mutable_result_type(); + void set_allocated_result_type(::cel::expr::Type* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_result_type(::cel::expr::Type* PROTOBUF_NULLABLE value); + ::cel::expr::Type* PROTOBUF_NULLABLE unsafe_arena_release_result_type(); + + private: + const ::cel::expr::Type& _internal_result_type() const; + ::cel::expr::Type* PROTOBUF_NONNULL _internal_mutable_result_type(); + + public: + // bool is_instance_function = 5; + void clear_is_instance_function() ; + bool is_instance_function() const; + void set_is_instance_function(bool value); + + private: + bool _internal_is_instance_function() const; + void _internal_set_is_instance_function(bool value); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.Decl.FunctionDecl.Overload) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<3, 6, + 2, 69, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Decl_FunctionDecl_Overload& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::cel::expr::Type > params_; + ::google::protobuf::RepeatedPtrField<::std::string> type_params_; + ::google::protobuf::internal::ArenaStringPtr overload_id_; + ::google::protobuf::internal::ArenaStringPtr doc_; + ::cel::expr::Type* PROTOBUF_NULLABLE result_type_; + bool is_instance_function_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fchecked_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Decl_FunctionDecl_Overload_class_data_; +// ------------------------------------------------------------------- + +class CheckedExpr_TypeMapEntry_DoNotUse final + : public ::google::protobuf::internal::MapEntry<::int64_t, ::google::protobuf::Message, + ::google::protobuf::internal::WireFormatLite::TYPE_INT64, + ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> { + public: + using SuperType = + ::google::protobuf::internal::MapEntry<::int64_t, ::google::protobuf::Message, + ::google::protobuf::internal::WireFormatLite::TYPE_INT64, + ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>; + CheckedExpr_TypeMapEntry_DoNotUse(); + template + explicit PROTOBUF_CONSTEXPR CheckedExpr_TypeMapEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized); + explicit CheckedExpr_TypeMapEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr const void* PROTOBUF_NONNULL internal_default_instance() { + return &_CheckedExpr_TypeMapEntry_DoNotUse_default_instance_; + } + + + static constexpr auto InternalGenerateClassData_(); + + private: + friend class ::google::protobuf::MessageLite; + friend struct ::TableStruct_cel_2fexpr_2fchecked_2eproto; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 1, 0, + 2> + _table_; + + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); +}; +extern const ::google::protobuf::internal::ClassDataFull CheckedExpr_TypeMapEntry_DoNotUse_class_data_; +// ------------------------------------------------------------------- + +class Decl_FunctionDecl final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Decl.FunctionDecl) */ { + public: + inline Decl_FunctionDecl() : Decl_FunctionDecl(nullptr) {} + ~Decl_FunctionDecl() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Decl_FunctionDecl* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Decl_FunctionDecl)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Decl_FunctionDecl(::google::protobuf::internal::ConstantInitialized); + + inline Decl_FunctionDecl(const Decl_FunctionDecl& from) : Decl_FunctionDecl(nullptr, from) {} + inline Decl_FunctionDecl(Decl_FunctionDecl&& from) noexcept + : Decl_FunctionDecl(nullptr, ::std::move(from)) {} + inline Decl_FunctionDecl& operator=(const Decl_FunctionDecl& from) { + CopyFrom(from); + return *this; + } + inline Decl_FunctionDecl& operator=(Decl_FunctionDecl&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Decl_FunctionDecl& default_instance() { + return *reinterpret_cast( + &_Decl_FunctionDecl_default_instance_); + } + static constexpr int kIndexInFileMessages = 10; + friend void swap(Decl_FunctionDecl& a, Decl_FunctionDecl& b) { a.Swap(&b); } + inline void Swap(Decl_FunctionDecl* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Decl_FunctionDecl* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Decl_FunctionDecl* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Decl_FunctionDecl& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Decl_FunctionDecl& from) { Decl_FunctionDecl::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Decl_FunctionDecl* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Decl.FunctionDecl"; } + + explicit Decl_FunctionDecl(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Decl_FunctionDecl(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Decl_FunctionDecl& from); + Decl_FunctionDecl( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Decl_FunctionDecl&& from) noexcept + : Decl_FunctionDecl(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + using Overload = Decl_FunctionDecl_Overload; + + // accessors ------------------------------------------------------- + enum : int { + kOverloadsFieldNumber = 1, + kDocFieldNumber = 2, + }; + // repeated .cel.expr.Decl.FunctionDecl.Overload overloads = 1; + int overloads_size() const; + private: + int _internal_overloads_size() const; + + public: + void clear_overloads() ; + ::cel::expr::Decl_FunctionDecl_Overload* PROTOBUF_NONNULL mutable_overloads(int index); + ::google::protobuf::RepeatedPtrField<::cel::expr::Decl_FunctionDecl_Overload>* PROTOBUF_NONNULL mutable_overloads(); + + private: + const ::google::protobuf::RepeatedPtrField<::cel::expr::Decl_FunctionDecl_Overload>& _internal_overloads() const; + ::google::protobuf::RepeatedPtrField<::cel::expr::Decl_FunctionDecl_Overload>* PROTOBUF_NONNULL _internal_mutable_overloads(); + public: + const ::cel::expr::Decl_FunctionDecl_Overload& overloads(int index) const; + ::cel::expr::Decl_FunctionDecl_Overload* PROTOBUF_NONNULL add_overloads(); + const ::google::protobuf::RepeatedPtrField<::cel::expr::Decl_FunctionDecl_Overload>& overloads() const; + // string doc = 2; + void clear_doc() ; + const ::std::string& doc() const; + template + void set_doc(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_doc(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_doc(); + void set_allocated_doc(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_doc() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_doc(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_doc(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.Decl.FunctionDecl) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 1, 38, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Decl_FunctionDecl& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::cel::expr::Decl_FunctionDecl_Overload > overloads_; + ::google::protobuf::internal::ArenaStringPtr doc_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fchecked_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Decl_FunctionDecl_class_data_; +// ------------------------------------------------------------------- + +class CheckedExpr_ReferenceMapEntry_DoNotUse final + : public ::google::protobuf::internal::MapEntry<::int64_t, ::google::protobuf::Message, + ::google::protobuf::internal::WireFormatLite::TYPE_INT64, + ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> { + public: + using SuperType = + ::google::protobuf::internal::MapEntry<::int64_t, ::google::protobuf::Message, + ::google::protobuf::internal::WireFormatLite::TYPE_INT64, + ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>; + CheckedExpr_ReferenceMapEntry_DoNotUse(); + template + explicit PROTOBUF_CONSTEXPR CheckedExpr_ReferenceMapEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized); + explicit CheckedExpr_ReferenceMapEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr const void* PROTOBUF_NONNULL internal_default_instance() { + return &_CheckedExpr_ReferenceMapEntry_DoNotUse_default_instance_; + } + + + static constexpr auto InternalGenerateClassData_(); + + private: + friend class ::google::protobuf::MessageLite; + friend struct ::TableStruct_cel_2fexpr_2fchecked_2eproto; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 1, 0, + 2> + _table_; + + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); +}; +extern const ::google::protobuf::internal::ClassDataFull CheckedExpr_ReferenceMapEntry_DoNotUse_class_data_; +// ------------------------------------------------------------------- + +class Decl final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Decl) */ { + public: + inline Decl() : Decl(nullptr) {} + ~Decl() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Decl* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Decl)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Decl(::google::protobuf::internal::ConstantInitialized); + + inline Decl(const Decl& from) : Decl(nullptr, from) {} + inline Decl(Decl&& from) noexcept + : Decl(nullptr, ::std::move(from)) {} + inline Decl& operator=(const Decl& from) { + CopyFrom(from); + return *this; + } + inline Decl& operator=(Decl&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Decl& default_instance() { + return *reinterpret_cast( + &_Decl_default_instance_); + } + enum DeclKindCase { + kIdent = 2, + kFunction = 3, + DECL_KIND_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 11; + friend void swap(Decl& a, Decl& b) { a.Swap(&b); } + inline void Swap(Decl* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Decl* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Decl* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Decl& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Decl& from) { Decl::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Decl* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Decl"; } + + explicit Decl(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Decl(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Decl& from); + Decl( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Decl&& from) noexcept + : Decl(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + using IdentDecl = Decl_IdentDecl; + using FunctionDecl = Decl_FunctionDecl; + + // accessors ------------------------------------------------------- + enum : int { + kNameFieldNumber = 1, + kIdentFieldNumber = 2, + kFunctionFieldNumber = 3, + }; + // string name = 1; + void clear_name() ; + const ::std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_name(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name(); + void set_allocated_name(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_name() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_name(); + + public: + // .cel.expr.Decl.IdentDecl ident = 2; + bool has_ident() const; + private: + bool _internal_has_ident() const; + + public: + void clear_ident() ; + const ::cel::expr::Decl_IdentDecl& ident() const; + [[nodiscard]] ::cel::expr::Decl_IdentDecl* PROTOBUF_NULLABLE release_ident(); + ::cel::expr::Decl_IdentDecl* PROTOBUF_NONNULL mutable_ident(); + void set_allocated_ident(::cel::expr::Decl_IdentDecl* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_ident(::cel::expr::Decl_IdentDecl* PROTOBUF_NULLABLE value); + ::cel::expr::Decl_IdentDecl* PROTOBUF_NULLABLE unsafe_arena_release_ident(); + + private: + const ::cel::expr::Decl_IdentDecl& _internal_ident() const; + ::cel::expr::Decl_IdentDecl* PROTOBUF_NONNULL _internal_mutable_ident(); + + public: + // .cel.expr.Decl.FunctionDecl function = 3; + bool has_function() const; + private: + bool _internal_has_function() const; + + public: + void clear_function() ; + const ::cel::expr::Decl_FunctionDecl& function() const; + [[nodiscard]] ::cel::expr::Decl_FunctionDecl* PROTOBUF_NULLABLE release_function(); + ::cel::expr::Decl_FunctionDecl* PROTOBUF_NONNULL mutable_function(); + void set_allocated_function(::cel::expr::Decl_FunctionDecl* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_function(::cel::expr::Decl_FunctionDecl* PROTOBUF_NULLABLE value); + ::cel::expr::Decl_FunctionDecl* PROTOBUF_NULLABLE unsafe_arena_release_function(); + + private: + const ::cel::expr::Decl_FunctionDecl& _internal_function() const; + ::cel::expr::Decl_FunctionDecl* PROTOBUF_NONNULL _internal_mutable_function(); + + public: + void clear_decl_kind(); + DeclKindCase decl_kind_case() const; + // @@protoc_insertion_point(class_scope:cel.expr.Decl) + private: + class _Internal; + void set_has_ident(); + void set_has_function(); + inline bool has_decl_kind() const; + inline void clear_has_decl_kind(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<0, 3, + 2, 26, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Decl& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + union DeclKindUnion { + constexpr DeclKindUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::cel::expr::Decl_IdentDecl* PROTOBUF_NULLABLE ident_; + ::cel::expr::Decl_FunctionDecl* PROTOBUF_NULLABLE function_; + } decl_kind_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fchecked_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Decl_class_data_; +// ------------------------------------------------------------------- + +class CheckedExpr final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.CheckedExpr) */ { + public: + inline CheckedExpr() : CheckedExpr(nullptr) {} + ~CheckedExpr() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(CheckedExpr* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(CheckedExpr)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR CheckedExpr(::google::protobuf::internal::ConstantInitialized); + + inline CheckedExpr(const CheckedExpr& from) : CheckedExpr(nullptr, from) {} + inline CheckedExpr(CheckedExpr&& from) noexcept + : CheckedExpr(nullptr, ::std::move(from)) {} + inline CheckedExpr& operator=(const CheckedExpr& from) { + CopyFrom(from); + return *this; + } + inline CheckedExpr& operator=(CheckedExpr&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const CheckedExpr& default_instance() { + return *reinterpret_cast( + &_CheckedExpr_default_instance_); + } + static constexpr int kIndexInFileMessages = 2; + friend void swap(CheckedExpr& a, CheckedExpr& b) { a.Swap(&b); } + inline void Swap(CheckedExpr* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(CheckedExpr* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + CheckedExpr* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CheckedExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const CheckedExpr& from) { CheckedExpr::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(CheckedExpr* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.CheckedExpr"; } + + explicit CheckedExpr(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + CheckedExpr(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CheckedExpr& from); + CheckedExpr( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CheckedExpr&& from) noexcept + : CheckedExpr(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kExprVersionFieldNumber = 6, + kExprFieldNumber = 4, + kSourceInfoFieldNumber = 5, + kReferenceMapFieldNumber = 2, + kTypeMapFieldNumber = 3, + }; + // string expr_version = 6; + void clear_expr_version() ; + const ::std::string& expr_version() const; + template + void set_expr_version(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_expr_version(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_expr_version(); + void set_allocated_expr_version(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_expr_version() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_expr_version(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_expr_version(); + + public: + // .cel.expr.Expr expr = 4; + bool has_expr() const; + void clear_expr() ; + const ::cel::expr::Expr& expr() const; + [[nodiscard]] ::cel::expr::Expr* PROTOBUF_NULLABLE release_expr(); + ::cel::expr::Expr* PROTOBUF_NONNULL mutable_expr(); + void set_allocated_expr(::cel::expr::Expr* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_expr(::cel::expr::Expr* PROTOBUF_NULLABLE value); + ::cel::expr::Expr* PROTOBUF_NULLABLE unsafe_arena_release_expr(); + + private: + const ::cel::expr::Expr& _internal_expr() const; + ::cel::expr::Expr* PROTOBUF_NONNULL _internal_mutable_expr(); + + public: + // .cel.expr.SourceInfo source_info = 5; + bool has_source_info() const; + void clear_source_info() ; + const ::cel::expr::SourceInfo& source_info() const; + [[nodiscard]] ::cel::expr::SourceInfo* PROTOBUF_NULLABLE release_source_info(); + ::cel::expr::SourceInfo* PROTOBUF_NONNULL mutable_source_info(); + void set_allocated_source_info(::cel::expr::SourceInfo* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_source_info(::cel::expr::SourceInfo* PROTOBUF_NULLABLE value); + ::cel::expr::SourceInfo* PROTOBUF_NULLABLE unsafe_arena_release_source_info(); + + private: + const ::cel::expr::SourceInfo& _internal_source_info() const; + ::cel::expr::SourceInfo* PROTOBUF_NONNULL _internal_mutable_source_info(); + + public: + // map reference_map = 2; + int reference_map_size() const; + private: + int _internal_reference_map_size() const; + + public: + void clear_reference_map() ; + const ::google::protobuf::Map<::int64_t, ::cel::expr::Reference>& reference_map() const; + ::google::protobuf::Map<::int64_t, ::cel::expr::Reference>* PROTOBUF_NONNULL mutable_reference_map(); + + private: + const ::google::protobuf::Map<::int64_t, ::cel::expr::Reference>& _internal_reference_map() const; + ::google::protobuf::Map<::int64_t, ::cel::expr::Reference>* PROTOBUF_NONNULL _internal_mutable_reference_map(); + + public: + // map type_map = 3; + int type_map_size() const; + private: + int _internal_type_map_size() const; + + public: + void clear_type_map() ; + const ::google::protobuf::Map<::int64_t, ::cel::expr::Type>& type_map() const; + ::google::protobuf::Map<::int64_t, ::cel::expr::Type>* PROTOBUF_NONNULL mutable_type_map(); + + private: + const ::google::protobuf::Map<::int64_t, ::cel::expr::Type>& _internal_type_map() const; + ::google::protobuf::Map<::int64_t, ::cel::expr::Type>* PROTOBUF_NONNULL _internal_mutable_type_map(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.CheckedExpr) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 5, + 6, 41, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const CheckedExpr& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr expr_version_; + ::cel::expr::Expr* PROTOBUF_NULLABLE expr_; + ::cel::expr::SourceInfo* PROTOBUF_NULLABLE source_info_; + ::google::protobuf::internal::MapField + reference_map_; + ::google::protobuf::internal::MapField + type_map_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fchecked_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull CheckedExpr_class_data_; + +// =================================================================== + + + + +// =================================================================== + + +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// CheckedExpr + +// map reference_map = 2; +inline int CheckedExpr::_internal_reference_map_size() const { + return _internal_reference_map().size(); +} +inline int CheckedExpr::reference_map_size() const { + return _internal_reference_map_size(); +} +inline void CheckedExpr::clear_reference_map() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.reference_map_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000008U); +} +inline const ::google::protobuf::Map<::int64_t, ::cel::expr::Reference>& CheckedExpr::_internal_reference_map() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.reference_map_.GetMap(); +} +inline const ::google::protobuf::Map<::int64_t, ::cel::expr::Reference>& CheckedExpr::reference_map() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_map:cel.expr.CheckedExpr.reference_map) + return _internal_reference_map(); +} +inline ::google::protobuf::Map<::int64_t, ::cel::expr::Reference>* PROTOBUF_NONNULL CheckedExpr::_internal_mutable_reference_map() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.reference_map_.MutableMap(); +} +inline ::google::protobuf::Map<::int64_t, ::cel::expr::Reference>* PROTOBUF_NONNULL CheckedExpr::mutable_reference_map() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U); + // @@protoc_insertion_point(field_mutable_map:cel.expr.CheckedExpr.reference_map) + return _internal_mutable_reference_map(); +} + +// map type_map = 3; +inline int CheckedExpr::_internal_type_map_size() const { + return _internal_type_map().size(); +} +inline int CheckedExpr::type_map_size() const { + return _internal_type_map_size(); +} +inline void CheckedExpr::clear_type_map() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_map_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000010U); +} +inline const ::google::protobuf::Map<::int64_t, ::cel::expr::Type>& CheckedExpr::_internal_type_map() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.type_map_.GetMap(); +} +inline const ::google::protobuf::Map<::int64_t, ::cel::expr::Type>& CheckedExpr::type_map() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_map:cel.expr.CheckedExpr.type_map) + return _internal_type_map(); +} +inline ::google::protobuf::Map<::int64_t, ::cel::expr::Type>* PROTOBUF_NONNULL CheckedExpr::_internal_mutable_type_map() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.type_map_.MutableMap(); +} +inline ::google::protobuf::Map<::int64_t, ::cel::expr::Type>* PROTOBUF_NONNULL CheckedExpr::mutable_type_map() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000010U); + // @@protoc_insertion_point(field_mutable_map:cel.expr.CheckedExpr.type_map) + return _internal_mutable_type_map(); +} + +// .cel.expr.SourceInfo source_info = 5; +inline bool CheckedExpr::has_source_info() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U); + PROTOBUF_ASSUME(!value || _impl_.source_info_ != nullptr); + return value; +} +inline const ::cel::expr::SourceInfo& CheckedExpr::_internal_source_info() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::SourceInfo* p = _impl_.source_info_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_SourceInfo_default_instance_); +} +inline const ::cel::expr::SourceInfo& CheckedExpr::source_info() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.CheckedExpr.source_info) + return _internal_source_info(); +} +inline void CheckedExpr::unsafe_arena_set_allocated_source_info( + ::cel::expr::SourceInfo* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_info_); + } + _impl_.source_info_ = reinterpret_cast<::cel::expr::SourceInfo*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.CheckedExpr.source_info) +} +inline ::cel::expr::SourceInfo* PROTOBUF_NULLABLE CheckedExpr::release_source_info() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + ::cel::expr::SourceInfo* released = _impl_.source_info_; + _impl_.source_info_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::SourceInfo* PROTOBUF_NULLABLE CheckedExpr::unsafe_arena_release_source_info() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.CheckedExpr.source_info) + + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + ::cel::expr::SourceInfo* temp = _impl_.source_info_; + _impl_.source_info_ = nullptr; + return temp; +} +inline ::cel::expr::SourceInfo* PROTOBUF_NONNULL CheckedExpr::_internal_mutable_source_info() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.source_info_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::SourceInfo>(GetArena()); + _impl_.source_info_ = reinterpret_cast<::cel::expr::SourceInfo*>(p); + } + return _impl_.source_info_; +} +inline ::cel::expr::SourceInfo* PROTOBUF_NONNULL CheckedExpr::mutable_source_info() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + ::cel::expr::SourceInfo* _msg = _internal_mutable_source_info(); + // @@protoc_insertion_point(field_mutable:cel.expr.CheckedExpr.source_info) + return _msg; +} +inline void CheckedExpr::set_allocated_source_info(::cel::expr::SourceInfo* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_info_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + + _impl_.source_info_ = reinterpret_cast<::cel::expr::SourceInfo*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.CheckedExpr.source_info) +} + +// string expr_version = 6; +inline void CheckedExpr::clear_expr_version() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.expr_version_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::std::string& CheckedExpr::expr_version() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.CheckedExpr.expr_version) + return _internal_expr_version(); +} +template +PROTOBUF_ALWAYS_INLINE void CheckedExpr::set_expr_version(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + _impl_.expr_version_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.CheckedExpr.expr_version) +} +inline ::std::string* PROTOBUF_NONNULL CheckedExpr::mutable_expr_version() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::std::string* _s = _internal_mutable_expr_version(); + // @@protoc_insertion_point(field_mutable:cel.expr.CheckedExpr.expr_version) + return _s; +} +inline const ::std::string& CheckedExpr::_internal_expr_version() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.expr_version_.Get(); +} +inline void CheckedExpr::_internal_set_expr_version(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.expr_version_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL CheckedExpr::_internal_mutable_expr_version() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.expr_version_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE CheckedExpr::release_expr_version() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.CheckedExpr.expr_version) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + auto* released = _impl_.expr_version_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.expr_version_.Set("", GetArena()); + } + return released; +} +inline void CheckedExpr::set_allocated_expr_version(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + _impl_.expr_version_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.expr_version_.IsDefault()) { + _impl_.expr_version_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.CheckedExpr.expr_version) +} + +// .cel.expr.Expr expr = 4; +inline bool CheckedExpr::has_expr() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U); + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; +} +inline const ::cel::expr::Expr& CheckedExpr::_internal_expr() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Expr* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Expr_default_instance_); +} +inline const ::cel::expr::Expr& CheckedExpr::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.CheckedExpr.expr) + return _internal_expr(); +} +inline void CheckedExpr::unsafe_arena_set_allocated_expr( + ::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + } + _impl_.expr_ = reinterpret_cast<::cel::expr::Expr*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.CheckedExpr.expr) +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE CheckedExpr::release_expr() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Expr* released = _impl_.expr_; + _impl_.expr_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE CheckedExpr::unsafe_arena_release_expr() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.CheckedExpr.expr) + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Expr* temp = _impl_.expr_; + _impl_.expr_ = nullptr; + return temp; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL CheckedExpr::_internal_mutable_expr() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.expr_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr>(GetArena()); + _impl_.expr_ = reinterpret_cast<::cel::expr::Expr*>(p); + } + return _impl_.expr_; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL CheckedExpr::mutable_expr() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Expr* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:cel.expr.CheckedExpr.expr) + return _msg; +} +inline void CheckedExpr::set_allocated_expr(::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + + _impl_.expr_ = reinterpret_cast<::cel::expr::Expr*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.CheckedExpr.expr) +} + +// ------------------------------------------------------------------- + +// Type_ListType + +// .cel.expr.Type elem_type = 1; +inline bool Type_ListType::has_elem_type() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U); + PROTOBUF_ASSUME(!value || _impl_.elem_type_ != nullptr); + return value; +} +inline void Type_ListType::clear_elem_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.elem_type_ != nullptr) _impl_.elem_type_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::cel::expr::Type& Type_ListType::_internal_elem_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Type* p = _impl_.elem_type_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Type_default_instance_); +} +inline const ::cel::expr::Type& Type_ListType::elem_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.ListType.elem_type) + return _internal_elem_type(); +} +inline void Type_ListType::unsafe_arena_set_allocated_elem_type( + ::cel::expr::Type* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.elem_type_); + } + _impl_.elem_type_ = reinterpret_cast<::cel::expr::Type*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Type.ListType.elem_type) +} +inline ::cel::expr::Type* PROTOBUF_NULLABLE Type_ListType::release_elem_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::cel::expr::Type* released = _impl_.elem_type_; + _impl_.elem_type_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Type* PROTOBUF_NULLABLE Type_ListType::unsafe_arena_release_elem_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Type.ListType.elem_type) + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::cel::expr::Type* temp = _impl_.elem_type_; + _impl_.elem_type_ = nullptr; + return temp; +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Type_ListType::_internal_mutable_elem_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.elem_type_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Type>(GetArena()); + _impl_.elem_type_ = reinterpret_cast<::cel::expr::Type*>(p); + } + return _impl_.elem_type_; +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Type_ListType::mutable_elem_type() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::cel::expr::Type* _msg = _internal_mutable_elem_type(); + // @@protoc_insertion_point(field_mutable:cel.expr.Type.ListType.elem_type) + return _msg; +} +inline void Type_ListType::set_allocated_elem_type(::cel::expr::Type* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.elem_type_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + + _impl_.elem_type_ = reinterpret_cast<::cel::expr::Type*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Type.ListType.elem_type) +} + +// ------------------------------------------------------------------- + +// Type_MapType + +// .cel.expr.Type key_type = 1; +inline bool Type_MapType::has_key_type() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U); + PROTOBUF_ASSUME(!value || _impl_.key_type_ != nullptr); + return value; +} +inline void Type_MapType::clear_key_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.key_type_ != nullptr) _impl_.key_type_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::cel::expr::Type& Type_MapType::_internal_key_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Type* p = _impl_.key_type_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Type_default_instance_); +} +inline const ::cel::expr::Type& Type_MapType::key_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.MapType.key_type) + return _internal_key_type(); +} +inline void Type_MapType::unsafe_arena_set_allocated_key_type( + ::cel::expr::Type* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.key_type_); + } + _impl_.key_type_ = reinterpret_cast<::cel::expr::Type*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Type.MapType.key_type) +} +inline ::cel::expr::Type* PROTOBUF_NULLABLE Type_MapType::release_key_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::cel::expr::Type* released = _impl_.key_type_; + _impl_.key_type_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Type* PROTOBUF_NULLABLE Type_MapType::unsafe_arena_release_key_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Type.MapType.key_type) + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::cel::expr::Type* temp = _impl_.key_type_; + _impl_.key_type_ = nullptr; + return temp; +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Type_MapType::_internal_mutable_key_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.key_type_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Type>(GetArena()); + _impl_.key_type_ = reinterpret_cast<::cel::expr::Type*>(p); + } + return _impl_.key_type_; +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Type_MapType::mutable_key_type() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::cel::expr::Type* _msg = _internal_mutable_key_type(); + // @@protoc_insertion_point(field_mutable:cel.expr.Type.MapType.key_type) + return _msg; +} +inline void Type_MapType::set_allocated_key_type(::cel::expr::Type* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.key_type_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + + _impl_.key_type_ = reinterpret_cast<::cel::expr::Type*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Type.MapType.key_type) +} + +// .cel.expr.Type value_type = 2; +inline bool Type_MapType::has_value_type() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U); + PROTOBUF_ASSUME(!value || _impl_.value_type_ != nullptr); + return value; +} +inline void Type_MapType::clear_value_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.value_type_ != nullptr) _impl_.value_type_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::cel::expr::Type& Type_MapType::_internal_value_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Type* p = _impl_.value_type_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Type_default_instance_); +} +inline const ::cel::expr::Type& Type_MapType::value_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.MapType.value_type) + return _internal_value_type(); +} +inline void Type_MapType::unsafe_arena_set_allocated_value_type( + ::cel::expr::Type* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_type_); + } + _impl_.value_type_ = reinterpret_cast<::cel::expr::Type*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Type.MapType.value_type) +} +inline ::cel::expr::Type* PROTOBUF_NULLABLE Type_MapType::release_value_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Type* released = _impl_.value_type_; + _impl_.value_type_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Type* PROTOBUF_NULLABLE Type_MapType::unsafe_arena_release_value_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Type.MapType.value_type) + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Type* temp = _impl_.value_type_; + _impl_.value_type_ = nullptr; + return temp; +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Type_MapType::_internal_mutable_value_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.value_type_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Type>(GetArena()); + _impl_.value_type_ = reinterpret_cast<::cel::expr::Type*>(p); + } + return _impl_.value_type_; +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Type_MapType::mutable_value_type() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Type* _msg = _internal_mutable_value_type(); + // @@protoc_insertion_point(field_mutable:cel.expr.Type.MapType.value_type) + return _msg; +} +inline void Type_MapType::set_allocated_value_type(::cel::expr::Type* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_type_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + + _impl_.value_type_ = reinterpret_cast<::cel::expr::Type*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Type.MapType.value_type) +} + +// ------------------------------------------------------------------- + +// Type_FunctionType + +// .cel.expr.Type result_type = 1; +inline bool Type_FunctionType::has_result_type() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U); + PROTOBUF_ASSUME(!value || _impl_.result_type_ != nullptr); + return value; +} +inline void Type_FunctionType::clear_result_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.result_type_ != nullptr) _impl_.result_type_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::cel::expr::Type& Type_FunctionType::_internal_result_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Type* p = _impl_.result_type_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Type_default_instance_); +} +inline const ::cel::expr::Type& Type_FunctionType::result_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.FunctionType.result_type) + return _internal_result_type(); +} +inline void Type_FunctionType::unsafe_arena_set_allocated_result_type( + ::cel::expr::Type* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.result_type_); + } + _impl_.result_type_ = reinterpret_cast<::cel::expr::Type*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Type.FunctionType.result_type) +} +inline ::cel::expr::Type* PROTOBUF_NULLABLE Type_FunctionType::release_result_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Type* released = _impl_.result_type_; + _impl_.result_type_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Type* PROTOBUF_NULLABLE Type_FunctionType::unsafe_arena_release_result_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Type.FunctionType.result_type) + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Type* temp = _impl_.result_type_; + _impl_.result_type_ = nullptr; + return temp; +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Type_FunctionType::_internal_mutable_result_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.result_type_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Type>(GetArena()); + _impl_.result_type_ = reinterpret_cast<::cel::expr::Type*>(p); + } + return _impl_.result_type_; +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Type_FunctionType::mutable_result_type() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Type* _msg = _internal_mutable_result_type(); + // @@protoc_insertion_point(field_mutable:cel.expr.Type.FunctionType.result_type) + return _msg; +} +inline void Type_FunctionType::set_allocated_result_type(::cel::expr::Type* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.result_type_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + + _impl_.result_type_ = reinterpret_cast<::cel::expr::Type*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Type.FunctionType.result_type) +} + +// repeated .cel.expr.Type arg_types = 2; +inline int Type_FunctionType::_internal_arg_types_size() const { + return _internal_arg_types().size(); +} +inline int Type_FunctionType::arg_types_size() const { + return _internal_arg_types_size(); +} +inline void Type_FunctionType::clear_arg_types() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.arg_types_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Type_FunctionType::mutable_arg_types(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:cel.expr.Type.FunctionType.arg_types) + return _internal_mutable_arg_types()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Type>* PROTOBUF_NONNULL Type_FunctionType::mutable_arg_types() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:cel.expr.Type.FunctionType.arg_types) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_arg_types(); +} +inline const ::cel::expr::Type& Type_FunctionType::arg_types(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.FunctionType.arg_types) + return _internal_arg_types().Get(index); +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Type_FunctionType::add_arg_types() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::cel::expr::Type* _add = + _internal_mutable_arg_types()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:cel.expr.Type.FunctionType.arg_types) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Type>& Type_FunctionType::arg_types() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:cel.expr.Type.FunctionType.arg_types) + return _internal_arg_types(); +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Type>& +Type_FunctionType::_internal_arg_types() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.arg_types_; +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Type>* PROTOBUF_NONNULL +Type_FunctionType::_internal_mutable_arg_types() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.arg_types_; +} + +// ------------------------------------------------------------------- + +// Type_AbstractType + +// string name = 1; +inline void Type_AbstractType::clear_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::std::string& Type_AbstractType::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.AbstractType.name) + return _internal_name(); +} +template +PROTOBUF_ALWAYS_INLINE void Type_AbstractType::set_name(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Type.AbstractType.name) +} +inline ::std::string* PROTOBUF_NONNULL Type_AbstractType::mutable_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:cel.expr.Type.AbstractType.name) + return _s; +} +inline const ::std::string& Type_AbstractType::_internal_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.name_.Get(); +} +inline void Type_AbstractType::_internal_set_name(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Type_AbstractType::_internal_mutable_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.name_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Type_AbstractType::release_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Type.AbstractType.name) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + auto* released = _impl_.name_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.name_.Set("", GetArena()); + } + return released; +} +inline void Type_AbstractType::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + _impl_.name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Type.AbstractType.name) +} + +// repeated .cel.expr.Type parameter_types = 2; +inline int Type_AbstractType::_internal_parameter_types_size() const { + return _internal_parameter_types().size(); +} +inline int Type_AbstractType::parameter_types_size() const { + return _internal_parameter_types_size(); +} +inline void Type_AbstractType::clear_parameter_types() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.parameter_types_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Type_AbstractType::mutable_parameter_types(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:cel.expr.Type.AbstractType.parameter_types) + return _internal_mutable_parameter_types()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Type>* PROTOBUF_NONNULL Type_AbstractType::mutable_parameter_types() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:cel.expr.Type.AbstractType.parameter_types) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_parameter_types(); +} +inline const ::cel::expr::Type& Type_AbstractType::parameter_types(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.AbstractType.parameter_types) + return _internal_parameter_types().Get(index); +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Type_AbstractType::add_parameter_types() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::cel::expr::Type* _add = + _internal_mutable_parameter_types()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:cel.expr.Type.AbstractType.parameter_types) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Type>& Type_AbstractType::parameter_types() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:cel.expr.Type.AbstractType.parameter_types) + return _internal_parameter_types(); +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Type>& +Type_AbstractType::_internal_parameter_types() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.parameter_types_; +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Type>* PROTOBUF_NONNULL +Type_AbstractType::_internal_mutable_parameter_types() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.parameter_types_; +} + +// ------------------------------------------------------------------- + +// Type + +// .google.protobuf.Empty dyn = 1; +inline bool Type::has_dyn() const { + return type_kind_case() == kDyn; +} +inline bool Type::_internal_has_dyn() const { + return type_kind_case() == kDyn; +} +inline void Type::set_has_dyn() { + _impl_._oneof_case_[0] = kDyn; +} +inline ::google::protobuf::Empty* PROTOBUF_NULLABLE Type::release_dyn() { + // @@protoc_insertion_point(field_release:cel.expr.Type.dyn) + if (type_kind_case() == kDyn) { + clear_has_type_kind(); + auto* temp = reinterpret_cast<::google::protobuf::Empty*>(_impl_.type_kind_.dyn_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_kind_.dyn_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::protobuf::Empty& Type::_internal_dyn() const { + return type_kind_case() == kDyn ? static_cast(*reinterpret_cast<::google::protobuf::Empty*>(_impl_.type_kind_.dyn_)) + : reinterpret_cast(::google::protobuf::_Empty_default_instance_); +} +inline const ::google::protobuf::Empty& Type::dyn() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.dyn) + return _internal_dyn(); +} +inline ::google::protobuf::Empty* PROTOBUF_NULLABLE Type::unsafe_arena_release_dyn() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Type.dyn) + if (type_kind_case() == kDyn) { + clear_has_type_kind(); + auto* temp = reinterpret_cast<::google::protobuf::Empty*>(_impl_.type_kind_.dyn_); + _impl_.type_kind_.dyn_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Type::unsafe_arena_set_allocated_dyn( + ::google::protobuf::Empty* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type_kind(); + if (value) { + set_has_dyn(); + _impl_.type_kind_.dyn_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Type.dyn) +} +inline ::google::protobuf::Empty* PROTOBUF_NONNULL Type::_internal_mutable_dyn() { + if (type_kind_case() != kDyn) { + clear_type_kind(); + set_has_dyn(); + _impl_.type_kind_.dyn_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Empty>(GetArena())); + } + return reinterpret_cast<::google::protobuf::Empty*>(_impl_.type_kind_.dyn_); +} +inline ::google::protobuf::Empty* PROTOBUF_NONNULL Type::mutable_dyn() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Empty* _msg = _internal_mutable_dyn(); + // @@protoc_insertion_point(field_mutable:cel.expr.Type.dyn) + return _msg; +} + +// .google.protobuf.NullValue null = 2; +inline bool Type::has_null() const { + return type_kind_case() == kNull; +} +inline void Type::set_has_null() { + _impl_._oneof_case_[0] = kNull; +} +inline void Type::clear_null() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_kind_case() == kNull) { + _impl_.type_kind_.null_ = 0; + clear_has_type_kind(); + } +} +inline ::google::protobuf::NullValue Type::null() const { + // @@protoc_insertion_point(field_get:cel.expr.Type.null) + return _internal_null(); +} +inline void Type::set_null(::google::protobuf::NullValue value) { + if (type_kind_case() != kNull) { + clear_type_kind(); + set_has_null(); + } + _impl_.type_kind_.null_ = value; + // @@protoc_insertion_point(field_set:cel.expr.Type.null) +} +inline ::google::protobuf::NullValue Type::_internal_null() const { + if (type_kind_case() == kNull) { + return static_cast<::google::protobuf::NullValue>(_impl_.type_kind_.null_); + } + return static_cast<::google::protobuf::NullValue>(0); +} + +// .cel.expr.Type.PrimitiveType primitive = 3; +inline bool Type::has_primitive() const { + return type_kind_case() == kPrimitive; +} +inline void Type::set_has_primitive() { + _impl_._oneof_case_[0] = kPrimitive; +} +inline void Type::clear_primitive() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_kind_case() == kPrimitive) { + _impl_.type_kind_.primitive_ = 0; + clear_has_type_kind(); + } +} +inline ::cel::expr::Type_PrimitiveType Type::primitive() const { + // @@protoc_insertion_point(field_get:cel.expr.Type.primitive) + return _internal_primitive(); +} +inline void Type::set_primitive(::cel::expr::Type_PrimitiveType value) { + if (type_kind_case() != kPrimitive) { + clear_type_kind(); + set_has_primitive(); + } + _impl_.type_kind_.primitive_ = value; + // @@protoc_insertion_point(field_set:cel.expr.Type.primitive) +} +inline ::cel::expr::Type_PrimitiveType Type::_internal_primitive() const { + if (type_kind_case() == kPrimitive) { + return static_cast<::cel::expr::Type_PrimitiveType>(_impl_.type_kind_.primitive_); + } + return static_cast<::cel::expr::Type_PrimitiveType>(0); +} + +// .cel.expr.Type.PrimitiveType wrapper = 4; +inline bool Type::has_wrapper() const { + return type_kind_case() == kWrapper; +} +inline void Type::set_has_wrapper() { + _impl_._oneof_case_[0] = kWrapper; +} +inline void Type::clear_wrapper() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_kind_case() == kWrapper) { + _impl_.type_kind_.wrapper_ = 0; + clear_has_type_kind(); + } +} +inline ::cel::expr::Type_PrimitiveType Type::wrapper() const { + // @@protoc_insertion_point(field_get:cel.expr.Type.wrapper) + return _internal_wrapper(); +} +inline void Type::set_wrapper(::cel::expr::Type_PrimitiveType value) { + if (type_kind_case() != kWrapper) { + clear_type_kind(); + set_has_wrapper(); + } + _impl_.type_kind_.wrapper_ = value; + // @@protoc_insertion_point(field_set:cel.expr.Type.wrapper) +} +inline ::cel::expr::Type_PrimitiveType Type::_internal_wrapper() const { + if (type_kind_case() == kWrapper) { + return static_cast<::cel::expr::Type_PrimitiveType>(_impl_.type_kind_.wrapper_); + } + return static_cast<::cel::expr::Type_PrimitiveType>(0); +} + +// .cel.expr.Type.WellKnownType well_known = 5; +inline bool Type::has_well_known() const { + return type_kind_case() == kWellKnown; +} +inline void Type::set_has_well_known() { + _impl_._oneof_case_[0] = kWellKnown; +} +inline void Type::clear_well_known() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_kind_case() == kWellKnown) { + _impl_.type_kind_.well_known_ = 0; + clear_has_type_kind(); + } +} +inline ::cel::expr::Type_WellKnownType Type::well_known() const { + // @@protoc_insertion_point(field_get:cel.expr.Type.well_known) + return _internal_well_known(); +} +inline void Type::set_well_known(::cel::expr::Type_WellKnownType value) { + if (type_kind_case() != kWellKnown) { + clear_type_kind(); + set_has_well_known(); + } + _impl_.type_kind_.well_known_ = value; + // @@protoc_insertion_point(field_set:cel.expr.Type.well_known) +} +inline ::cel::expr::Type_WellKnownType Type::_internal_well_known() const { + if (type_kind_case() == kWellKnown) { + return static_cast<::cel::expr::Type_WellKnownType>(_impl_.type_kind_.well_known_); + } + return static_cast<::cel::expr::Type_WellKnownType>(0); +} + +// .cel.expr.Type.ListType list_type = 6; +inline bool Type::has_list_type() const { + return type_kind_case() == kListType; +} +inline bool Type::_internal_has_list_type() const { + return type_kind_case() == kListType; +} +inline void Type::set_has_list_type() { + _impl_._oneof_case_[0] = kListType; +} +inline void Type::clear_list_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_kind_case() == kListType) { + if (GetArena() == nullptr) { + delete _impl_.type_kind_.list_type_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_kind_.list_type_); + } + clear_has_type_kind(); + } +} +inline ::cel::expr::Type_ListType* PROTOBUF_NULLABLE Type::release_list_type() { + // @@protoc_insertion_point(field_release:cel.expr.Type.list_type) + if (type_kind_case() == kListType) { + clear_has_type_kind(); + auto* temp = reinterpret_cast<::cel::expr::Type_ListType*>(_impl_.type_kind_.list_type_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_kind_.list_type_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::Type_ListType& Type::_internal_list_type() const { + return type_kind_case() == kListType ? static_cast(*reinterpret_cast<::cel::expr::Type_ListType*>(_impl_.type_kind_.list_type_)) + : reinterpret_cast(::cel::expr::_Type_ListType_default_instance_); +} +inline const ::cel::expr::Type_ListType& Type::list_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.list_type) + return _internal_list_type(); +} +inline ::cel::expr::Type_ListType* PROTOBUF_NULLABLE Type::unsafe_arena_release_list_type() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Type.list_type) + if (type_kind_case() == kListType) { + clear_has_type_kind(); + auto* temp = reinterpret_cast<::cel::expr::Type_ListType*>(_impl_.type_kind_.list_type_); + _impl_.type_kind_.list_type_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Type::unsafe_arena_set_allocated_list_type( + ::cel::expr::Type_ListType* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type_kind(); + if (value) { + set_has_list_type(); + _impl_.type_kind_.list_type_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Type.list_type) +} +inline ::cel::expr::Type_ListType* PROTOBUF_NONNULL Type::_internal_mutable_list_type() { + if (type_kind_case() != kListType) { + clear_type_kind(); + set_has_list_type(); + _impl_.type_kind_.list_type_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::cel::expr::Type_ListType>(GetArena())); + } + return reinterpret_cast<::cel::expr::Type_ListType*>(_impl_.type_kind_.list_type_); +} +inline ::cel::expr::Type_ListType* PROTOBUF_NONNULL Type::mutable_list_type() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::Type_ListType* _msg = _internal_mutable_list_type(); + // @@protoc_insertion_point(field_mutable:cel.expr.Type.list_type) + return _msg; +} + +// .cel.expr.Type.MapType map_type = 7; +inline bool Type::has_map_type() const { + return type_kind_case() == kMapType; +} +inline bool Type::_internal_has_map_type() const { + return type_kind_case() == kMapType; +} +inline void Type::set_has_map_type() { + _impl_._oneof_case_[0] = kMapType; +} +inline void Type::clear_map_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_kind_case() == kMapType) { + if (GetArena() == nullptr) { + delete _impl_.type_kind_.map_type_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_kind_.map_type_); + } + clear_has_type_kind(); + } +} +inline ::cel::expr::Type_MapType* PROTOBUF_NULLABLE Type::release_map_type() { + // @@protoc_insertion_point(field_release:cel.expr.Type.map_type) + if (type_kind_case() == kMapType) { + clear_has_type_kind(); + auto* temp = reinterpret_cast<::cel::expr::Type_MapType*>(_impl_.type_kind_.map_type_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_kind_.map_type_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::Type_MapType& Type::_internal_map_type() const { + return type_kind_case() == kMapType ? static_cast(*reinterpret_cast<::cel::expr::Type_MapType*>(_impl_.type_kind_.map_type_)) + : reinterpret_cast(::cel::expr::_Type_MapType_default_instance_); +} +inline const ::cel::expr::Type_MapType& Type::map_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.map_type) + return _internal_map_type(); +} +inline ::cel::expr::Type_MapType* PROTOBUF_NULLABLE Type::unsafe_arena_release_map_type() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Type.map_type) + if (type_kind_case() == kMapType) { + clear_has_type_kind(); + auto* temp = reinterpret_cast<::cel::expr::Type_MapType*>(_impl_.type_kind_.map_type_); + _impl_.type_kind_.map_type_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Type::unsafe_arena_set_allocated_map_type( + ::cel::expr::Type_MapType* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type_kind(); + if (value) { + set_has_map_type(); + _impl_.type_kind_.map_type_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Type.map_type) +} +inline ::cel::expr::Type_MapType* PROTOBUF_NONNULL Type::_internal_mutable_map_type() { + if (type_kind_case() != kMapType) { + clear_type_kind(); + set_has_map_type(); + _impl_.type_kind_.map_type_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::cel::expr::Type_MapType>(GetArena())); + } + return reinterpret_cast<::cel::expr::Type_MapType*>(_impl_.type_kind_.map_type_); +} +inline ::cel::expr::Type_MapType* PROTOBUF_NONNULL Type::mutable_map_type() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::Type_MapType* _msg = _internal_mutable_map_type(); + // @@protoc_insertion_point(field_mutable:cel.expr.Type.map_type) + return _msg; +} + +// .cel.expr.Type.FunctionType function = 8; +inline bool Type::has_function() const { + return type_kind_case() == kFunction; +} +inline bool Type::_internal_has_function() const { + return type_kind_case() == kFunction; +} +inline void Type::set_has_function() { + _impl_._oneof_case_[0] = kFunction; +} +inline void Type::clear_function() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_kind_case() == kFunction) { + if (GetArena() == nullptr) { + delete _impl_.type_kind_.function_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_kind_.function_); + } + clear_has_type_kind(); + } +} +inline ::cel::expr::Type_FunctionType* PROTOBUF_NULLABLE Type::release_function() { + // @@protoc_insertion_point(field_release:cel.expr.Type.function) + if (type_kind_case() == kFunction) { + clear_has_type_kind(); + auto* temp = reinterpret_cast<::cel::expr::Type_FunctionType*>(_impl_.type_kind_.function_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_kind_.function_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::Type_FunctionType& Type::_internal_function() const { + return type_kind_case() == kFunction ? static_cast(*reinterpret_cast<::cel::expr::Type_FunctionType*>(_impl_.type_kind_.function_)) + : reinterpret_cast(::cel::expr::_Type_FunctionType_default_instance_); +} +inline const ::cel::expr::Type_FunctionType& Type::function() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.function) + return _internal_function(); +} +inline ::cel::expr::Type_FunctionType* PROTOBUF_NULLABLE Type::unsafe_arena_release_function() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Type.function) + if (type_kind_case() == kFunction) { + clear_has_type_kind(); + auto* temp = reinterpret_cast<::cel::expr::Type_FunctionType*>(_impl_.type_kind_.function_); + _impl_.type_kind_.function_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Type::unsafe_arena_set_allocated_function( + ::cel::expr::Type_FunctionType* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type_kind(); + if (value) { + set_has_function(); + _impl_.type_kind_.function_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Type.function) +} +inline ::cel::expr::Type_FunctionType* PROTOBUF_NONNULL Type::_internal_mutable_function() { + if (type_kind_case() != kFunction) { + clear_type_kind(); + set_has_function(); + _impl_.type_kind_.function_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::cel::expr::Type_FunctionType>(GetArena())); + } + return reinterpret_cast<::cel::expr::Type_FunctionType*>(_impl_.type_kind_.function_); +} +inline ::cel::expr::Type_FunctionType* PROTOBUF_NONNULL Type::mutable_function() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::Type_FunctionType* _msg = _internal_mutable_function(); + // @@protoc_insertion_point(field_mutable:cel.expr.Type.function) + return _msg; +} + +// string message_type = 9; +inline bool Type::has_message_type() const { + return type_kind_case() == kMessageType; +} +inline void Type::set_has_message_type() { + _impl_._oneof_case_[0] = kMessageType; +} +inline void Type::clear_message_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_kind_case() == kMessageType) { + _impl_.type_kind_.message_type_.Destroy(); + clear_has_type_kind(); + } +} +inline const ::std::string& Type::message_type() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.message_type) + return _internal_message_type(); +} +template +PROTOBUF_ALWAYS_INLINE void Type::set_message_type(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_kind_case() != kMessageType) { + clear_type_kind(); + + set_has_message_type(); + _impl_.type_kind_.message_type_.InitDefault(); + } + _impl_.type_kind_.message_type_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Type.message_type) +} +inline ::std::string* PROTOBUF_NONNULL Type::mutable_message_type() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + if (type_kind_case() != kMessageType) { + clear_type_kind(); + + set_has_message_type(); + _impl_.type_kind_.message_type_.InitDefault(); + } + ::std::string* _s = _internal_mutable_message_type(); + // @@protoc_insertion_point(field_mutable:cel.expr.Type.message_type) + return _s; +} +inline const ::std::string& Type::_internal_message_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + if (type_kind_case() != kMessageType) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); + } + return _impl_.type_kind_.message_type_.Get(); +} +inline void Type::_internal_set_message_type(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_kind_.message_type_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Type::_internal_mutable_message_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.type_kind_.message_type_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Type::release_message_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Type.message_type) + if (type_kind_case() != kMessageType) { + return nullptr; + } + clear_has_type_kind(); + return _impl_.type_kind_.message_type_.Release(); +} +inline void Type::set_allocated_message_type(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (has_type_kind()) { + clear_type_kind(); + } + if (value != nullptr) { + set_has_message_type(); + _impl_.type_kind_.message_type_.InitAllocated(value, GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Type.message_type) +} + +// string type_param = 10; +inline bool Type::has_type_param() const { + return type_kind_case() == kTypeParam; +} +inline void Type::set_has_type_param() { + _impl_._oneof_case_[0] = kTypeParam; +} +inline void Type::clear_type_param() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_kind_case() == kTypeParam) { + _impl_.type_kind_.type_param_.Destroy(); + clear_has_type_kind(); + } +} +inline const ::std::string& Type::type_param() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.type_param) + return _internal_type_param(); +} +template +PROTOBUF_ALWAYS_INLINE void Type::set_type_param(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_kind_case() != kTypeParam) { + clear_type_kind(); + + set_has_type_param(); + _impl_.type_kind_.type_param_.InitDefault(); + } + _impl_.type_kind_.type_param_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Type.type_param) +} +inline ::std::string* PROTOBUF_NONNULL Type::mutable_type_param() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + if (type_kind_case() != kTypeParam) { + clear_type_kind(); + + set_has_type_param(); + _impl_.type_kind_.type_param_.InitDefault(); + } + ::std::string* _s = _internal_mutable_type_param(); + // @@protoc_insertion_point(field_mutable:cel.expr.Type.type_param) + return _s; +} +inline const ::std::string& Type::_internal_type_param() const { + ::google::protobuf::internal::TSanRead(&_impl_); + if (type_kind_case() != kTypeParam) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); + } + return _impl_.type_kind_.type_param_.Get(); +} +inline void Type::_internal_set_type_param(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_kind_.type_param_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Type::_internal_mutable_type_param() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.type_kind_.type_param_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Type::release_type_param() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Type.type_param) + if (type_kind_case() != kTypeParam) { + return nullptr; + } + clear_has_type_kind(); + return _impl_.type_kind_.type_param_.Release(); +} +inline void Type::set_allocated_type_param(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (has_type_kind()) { + clear_type_kind(); + } + if (value != nullptr) { + set_has_type_param(); + _impl_.type_kind_.type_param_.InitAllocated(value, GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Type.type_param) +} + +// .cel.expr.Type type = 11; +inline bool Type::has_type() const { + return type_kind_case() == kType; +} +inline bool Type::_internal_has_type() const { + return type_kind_case() == kType; +} +inline void Type::set_has_type() { + _impl_._oneof_case_[0] = kType; +} +inline void Type::clear_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_kind_case() == kType) { + if (GetArena() == nullptr) { + delete _impl_.type_kind_.type_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_kind_.type_); + } + clear_has_type_kind(); + } +} +inline ::cel::expr::Type* PROTOBUF_NULLABLE Type::release_type() { + // @@protoc_insertion_point(field_release:cel.expr.Type.type) + if (type_kind_case() == kType) { + clear_has_type_kind(); + auto* temp = reinterpret_cast<::cel::expr::Type*>(_impl_.type_kind_.type_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_kind_.type_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::Type& Type::_internal_type() const { + return type_kind_case() == kType ? static_cast(*reinterpret_cast<::cel::expr::Type*>(_impl_.type_kind_.type_)) + : reinterpret_cast(::cel::expr::_Type_default_instance_); +} +inline const ::cel::expr::Type& Type::type() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.type) + return _internal_type(); +} +inline ::cel::expr::Type* PROTOBUF_NULLABLE Type::unsafe_arena_release_type() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Type.type) + if (type_kind_case() == kType) { + clear_has_type_kind(); + auto* temp = reinterpret_cast<::cel::expr::Type*>(_impl_.type_kind_.type_); + _impl_.type_kind_.type_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Type::unsafe_arena_set_allocated_type( + ::cel::expr::Type* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type_kind(); + if (value) { + set_has_type(); + _impl_.type_kind_.type_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Type.type) +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Type::_internal_mutable_type() { + if (type_kind_case() != kType) { + clear_type_kind(); + set_has_type(); + _impl_.type_kind_.type_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::cel::expr::Type>(GetArena())); + } + return reinterpret_cast<::cel::expr::Type*>(_impl_.type_kind_.type_); +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Type::mutable_type() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::Type* _msg = _internal_mutable_type(); + // @@protoc_insertion_point(field_mutable:cel.expr.Type.type) + return _msg; +} + +// .google.protobuf.Empty error = 12; +inline bool Type::has_error() const { + return type_kind_case() == kError; +} +inline bool Type::_internal_has_error() const { + return type_kind_case() == kError; +} +inline void Type::set_has_error() { + _impl_._oneof_case_[0] = kError; +} +inline ::google::protobuf::Empty* PROTOBUF_NULLABLE Type::release_error() { + // @@protoc_insertion_point(field_release:cel.expr.Type.error) + if (type_kind_case() == kError) { + clear_has_type_kind(); + auto* temp = reinterpret_cast<::google::protobuf::Empty*>(_impl_.type_kind_.error_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_kind_.error_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::protobuf::Empty& Type::_internal_error() const { + return type_kind_case() == kError ? static_cast(*reinterpret_cast<::google::protobuf::Empty*>(_impl_.type_kind_.error_)) + : reinterpret_cast(::google::protobuf::_Empty_default_instance_); +} +inline const ::google::protobuf::Empty& Type::error() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.error) + return _internal_error(); +} +inline ::google::protobuf::Empty* PROTOBUF_NULLABLE Type::unsafe_arena_release_error() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Type.error) + if (type_kind_case() == kError) { + clear_has_type_kind(); + auto* temp = reinterpret_cast<::google::protobuf::Empty*>(_impl_.type_kind_.error_); + _impl_.type_kind_.error_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Type::unsafe_arena_set_allocated_error( + ::google::protobuf::Empty* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type_kind(); + if (value) { + set_has_error(); + _impl_.type_kind_.error_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Type.error) +} +inline ::google::protobuf::Empty* PROTOBUF_NONNULL Type::_internal_mutable_error() { + if (type_kind_case() != kError) { + clear_type_kind(); + set_has_error(); + _impl_.type_kind_.error_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Empty>(GetArena())); + } + return reinterpret_cast<::google::protobuf::Empty*>(_impl_.type_kind_.error_); +} +inline ::google::protobuf::Empty* PROTOBUF_NONNULL Type::mutable_error() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Empty* _msg = _internal_mutable_error(); + // @@protoc_insertion_point(field_mutable:cel.expr.Type.error) + return _msg; +} + +// .cel.expr.Type.AbstractType abstract_type = 14; +inline bool Type::has_abstract_type() const { + return type_kind_case() == kAbstractType; +} +inline bool Type::_internal_has_abstract_type() const { + return type_kind_case() == kAbstractType; +} +inline void Type::set_has_abstract_type() { + _impl_._oneof_case_[0] = kAbstractType; +} +inline void Type::clear_abstract_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (type_kind_case() == kAbstractType) { + if (GetArena() == nullptr) { + delete _impl_.type_kind_.abstract_type_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.type_kind_.abstract_type_); + } + clear_has_type_kind(); + } +} +inline ::cel::expr::Type_AbstractType* PROTOBUF_NULLABLE Type::release_abstract_type() { + // @@protoc_insertion_point(field_release:cel.expr.Type.abstract_type) + if (type_kind_case() == kAbstractType) { + clear_has_type_kind(); + auto* temp = reinterpret_cast<::cel::expr::Type_AbstractType*>(_impl_.type_kind_.abstract_type_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.type_kind_.abstract_type_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::Type_AbstractType& Type::_internal_abstract_type() const { + return type_kind_case() == kAbstractType ? static_cast(*reinterpret_cast<::cel::expr::Type_AbstractType*>(_impl_.type_kind_.abstract_type_)) + : reinterpret_cast(::cel::expr::_Type_AbstractType_default_instance_); +} +inline const ::cel::expr::Type_AbstractType& Type::abstract_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Type.abstract_type) + return _internal_abstract_type(); +} +inline ::cel::expr::Type_AbstractType* PROTOBUF_NULLABLE Type::unsafe_arena_release_abstract_type() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Type.abstract_type) + if (type_kind_case() == kAbstractType) { + clear_has_type_kind(); + auto* temp = reinterpret_cast<::cel::expr::Type_AbstractType*>(_impl_.type_kind_.abstract_type_); + _impl_.type_kind_.abstract_type_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Type::unsafe_arena_set_allocated_abstract_type( + ::cel::expr::Type_AbstractType* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_type_kind(); + if (value) { + set_has_abstract_type(); + _impl_.type_kind_.abstract_type_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Type.abstract_type) +} +inline ::cel::expr::Type_AbstractType* PROTOBUF_NONNULL Type::_internal_mutable_abstract_type() { + if (type_kind_case() != kAbstractType) { + clear_type_kind(); + set_has_abstract_type(); + _impl_.type_kind_.abstract_type_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::cel::expr::Type_AbstractType>(GetArena())); + } + return reinterpret_cast<::cel::expr::Type_AbstractType*>(_impl_.type_kind_.abstract_type_); +} +inline ::cel::expr::Type_AbstractType* PROTOBUF_NONNULL Type::mutable_abstract_type() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::Type_AbstractType* _msg = _internal_mutable_abstract_type(); + // @@protoc_insertion_point(field_mutable:cel.expr.Type.abstract_type) + return _msg; +} + +inline bool Type::has_type_kind() const { + return type_kind_case() != TYPE_KIND_NOT_SET; +} +inline void Type::clear_has_type_kind() { + _impl_._oneof_case_[0] = TYPE_KIND_NOT_SET; +} +inline Type::TypeKindCase Type::type_kind_case() const { + return Type::TypeKindCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// Decl_IdentDecl + +// .cel.expr.Type type = 1; +inline bool Decl_IdentDecl::has_type() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U); + PROTOBUF_ASSUME(!value || _impl_.type_ != nullptr); + return value; +} +inline void Decl_IdentDecl::clear_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.type_ != nullptr) _impl_.type_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::cel::expr::Type& Decl_IdentDecl::_internal_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Type* p = _impl_.type_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Type_default_instance_); +} +inline const ::cel::expr::Type& Decl_IdentDecl::type() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Decl.IdentDecl.type) + return _internal_type(); +} +inline void Decl_IdentDecl::unsafe_arena_set_allocated_type( + ::cel::expr::Type* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_); + } + _impl_.type_ = reinterpret_cast<::cel::expr::Type*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Decl.IdentDecl.type) +} +inline ::cel::expr::Type* PROTOBUF_NULLABLE Decl_IdentDecl::release_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Type* released = _impl_.type_; + _impl_.type_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Type* PROTOBUF_NULLABLE Decl_IdentDecl::unsafe_arena_release_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Decl.IdentDecl.type) + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Type* temp = _impl_.type_; + _impl_.type_ = nullptr; + return temp; +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Decl_IdentDecl::_internal_mutable_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.type_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Type>(GetArena()); + _impl_.type_ = reinterpret_cast<::cel::expr::Type*>(p); + } + return _impl_.type_; +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Decl_IdentDecl::mutable_type() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Type* _msg = _internal_mutable_type(); + // @@protoc_insertion_point(field_mutable:cel.expr.Decl.IdentDecl.type) + return _msg; +} +inline void Decl_IdentDecl::set_allocated_type(::cel::expr::Type* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + + _impl_.type_ = reinterpret_cast<::cel::expr::Type*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Decl.IdentDecl.type) +} + +// .cel.expr.Constant value = 2; +inline bool Decl_IdentDecl::has_value() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U); + PROTOBUF_ASSUME(!value || _impl_.value_ != nullptr); + return value; +} +inline const ::cel::expr::Constant& Decl_IdentDecl::_internal_value() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Constant* p = _impl_.value_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Constant_default_instance_); +} +inline const ::cel::expr::Constant& Decl_IdentDecl::value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Decl.IdentDecl.value) + return _internal_value(); +} +inline void Decl_IdentDecl::unsafe_arena_set_allocated_value( + ::cel::expr::Constant* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_); + } + _impl_.value_ = reinterpret_cast<::cel::expr::Constant*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Decl.IdentDecl.value) +} +inline ::cel::expr::Constant* PROTOBUF_NULLABLE Decl_IdentDecl::release_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + ::cel::expr::Constant* released = _impl_.value_; + _impl_.value_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Constant* PROTOBUF_NULLABLE Decl_IdentDecl::unsafe_arena_release_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Decl.IdentDecl.value) + + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + ::cel::expr::Constant* temp = _impl_.value_; + _impl_.value_ = nullptr; + return temp; +} +inline ::cel::expr::Constant* PROTOBUF_NONNULL Decl_IdentDecl::_internal_mutable_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.value_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Constant>(GetArena()); + _impl_.value_ = reinterpret_cast<::cel::expr::Constant*>(p); + } + return _impl_.value_; +} +inline ::cel::expr::Constant* PROTOBUF_NONNULL Decl_IdentDecl::mutable_value() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + ::cel::expr::Constant* _msg = _internal_mutable_value(); + // @@protoc_insertion_point(field_mutable:cel.expr.Decl.IdentDecl.value) + return _msg; +} +inline void Decl_IdentDecl::set_allocated_value(::cel::expr::Constant* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + + _impl_.value_ = reinterpret_cast<::cel::expr::Constant*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Decl.IdentDecl.value) +} + +// string doc = 3; +inline void Decl_IdentDecl::clear_doc() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.doc_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::std::string& Decl_IdentDecl::doc() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Decl.IdentDecl.doc) + return _internal_doc(); +} +template +PROTOBUF_ALWAYS_INLINE void Decl_IdentDecl::set_doc(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + _impl_.doc_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Decl.IdentDecl.doc) +} +inline ::std::string* PROTOBUF_NONNULL Decl_IdentDecl::mutable_doc() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::std::string* _s = _internal_mutable_doc(); + // @@protoc_insertion_point(field_mutable:cel.expr.Decl.IdentDecl.doc) + return _s; +} +inline const ::std::string& Decl_IdentDecl::_internal_doc() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.doc_.Get(); +} +inline void Decl_IdentDecl::_internal_set_doc(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.doc_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Decl_IdentDecl::_internal_mutable_doc() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.doc_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Decl_IdentDecl::release_doc() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Decl.IdentDecl.doc) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + auto* released = _impl_.doc_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.doc_.Set("", GetArena()); + } + return released; +} +inline void Decl_IdentDecl::set_allocated_doc(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + _impl_.doc_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.doc_.IsDefault()) { + _impl_.doc_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Decl.IdentDecl.doc) +} + +// ------------------------------------------------------------------- + +// Decl_FunctionDecl_Overload + +// string overload_id = 1; +inline void Decl_FunctionDecl_Overload::clear_overload_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.overload_id_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline const ::std::string& Decl_FunctionDecl_Overload::overload_id() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Decl.FunctionDecl.Overload.overload_id) + return _internal_overload_id(); +} +template +PROTOBUF_ALWAYS_INLINE void Decl_FunctionDecl_Overload::set_overload_id(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + _impl_.overload_id_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Decl.FunctionDecl.Overload.overload_id) +} +inline ::std::string* PROTOBUF_NONNULL Decl_FunctionDecl_Overload::mutable_overload_id() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + ::std::string* _s = _internal_mutable_overload_id(); + // @@protoc_insertion_point(field_mutable:cel.expr.Decl.FunctionDecl.Overload.overload_id) + return _s; +} +inline const ::std::string& Decl_FunctionDecl_Overload::_internal_overload_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.overload_id_.Get(); +} +inline void Decl_FunctionDecl_Overload::_internal_set_overload_id(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.overload_id_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Decl_FunctionDecl_Overload::_internal_mutable_overload_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.overload_id_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Decl_FunctionDecl_Overload::release_overload_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Decl.FunctionDecl.Overload.overload_id) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + auto* released = _impl_.overload_id_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.overload_id_.Set("", GetArena()); + } + return released; +} +inline void Decl_FunctionDecl_Overload::set_allocated_overload_id(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + _impl_.overload_id_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.overload_id_.IsDefault()) { + _impl_.overload_id_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Decl.FunctionDecl.Overload.overload_id) +} + +// repeated .cel.expr.Type params = 2; +inline int Decl_FunctionDecl_Overload::_internal_params_size() const { + return _internal_params().size(); +} +inline int Decl_FunctionDecl_Overload::params_size() const { + return _internal_params_size(); +} +inline void Decl_FunctionDecl_Overload::clear_params() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.params_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Decl_FunctionDecl_Overload::mutable_params(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:cel.expr.Decl.FunctionDecl.Overload.params) + return _internal_mutable_params()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Type>* PROTOBUF_NONNULL Decl_FunctionDecl_Overload::mutable_params() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:cel.expr.Decl.FunctionDecl.Overload.params) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_params(); +} +inline const ::cel::expr::Type& Decl_FunctionDecl_Overload::params(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Decl.FunctionDecl.Overload.params) + return _internal_params().Get(index); +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Decl_FunctionDecl_Overload::add_params() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::cel::expr::Type* _add = + _internal_mutable_params()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:cel.expr.Decl.FunctionDecl.Overload.params) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Type>& Decl_FunctionDecl_Overload::params() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:cel.expr.Decl.FunctionDecl.Overload.params) + return _internal_params(); +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Type>& +Decl_FunctionDecl_Overload::_internal_params() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.params_; +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Type>* PROTOBUF_NONNULL +Decl_FunctionDecl_Overload::_internal_mutable_params() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.params_; +} + +// repeated string type_params = 3; +inline int Decl_FunctionDecl_Overload::_internal_type_params_size() const { + return _internal_type_params().size(); +} +inline int Decl_FunctionDecl_Overload::type_params_size() const { + return _internal_type_params_size(); +} +inline void Decl_FunctionDecl_Overload::clear_type_params() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_params_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::std::string* PROTOBUF_NONNULL Decl_FunctionDecl_Overload::add_type_params() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::std::string* _s = + _internal_mutable_type_params()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add_mutable:cel.expr.Decl.FunctionDecl.Overload.type_params) + return _s; +} +inline const ::std::string& Decl_FunctionDecl_Overload::type_params(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Decl.FunctionDecl.Overload.type_params) + return _internal_type_params().Get(index); +} +inline ::std::string* PROTOBUF_NONNULL Decl_FunctionDecl_Overload::mutable_type_params(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:cel.expr.Decl.FunctionDecl.Overload.type_params) + return _internal_mutable_type_params()->Mutable(index); +} +template +inline void Decl_FunctionDecl_Overload::set_type_params(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString(*_internal_mutable_type_params()->Mutable(index), ::std::forward(value), + args... ); + // @@protoc_insertion_point(field_set:cel.expr.Decl.FunctionDecl.Overload.type_params) +} +template +inline void Decl_FunctionDecl_Overload::add_type_params(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField( + ::google::protobuf::MessageLite::internal_visibility(), GetArena(), + *_internal_mutable_type_params(), ::std::forward(value), + args... ); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:cel.expr.Decl.FunctionDecl.Overload.type_params) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& Decl_FunctionDecl_Overload::type_params() + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:cel.expr.Decl.FunctionDecl.Overload.type_params) + return _internal_type_params(); +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +Decl_FunctionDecl_Overload::mutable_type_params() ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:cel.expr.Decl.FunctionDecl.Overload.type_params) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_type_params(); +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +Decl_FunctionDecl_Overload::_internal_type_params() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.type_params_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +Decl_FunctionDecl_Overload::_internal_mutable_type_params() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.type_params_; +} + +// .cel.expr.Type result_type = 4; +inline bool Decl_FunctionDecl_Overload::has_result_type() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U); + PROTOBUF_ASSUME(!value || _impl_.result_type_ != nullptr); + return value; +} +inline void Decl_FunctionDecl_Overload::clear_result_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.result_type_ != nullptr) _impl_.result_type_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000010U); +} +inline const ::cel::expr::Type& Decl_FunctionDecl_Overload::_internal_result_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Type* p = _impl_.result_type_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Type_default_instance_); +} +inline const ::cel::expr::Type& Decl_FunctionDecl_Overload::result_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Decl.FunctionDecl.Overload.result_type) + return _internal_result_type(); +} +inline void Decl_FunctionDecl_Overload::unsafe_arena_set_allocated_result_type( + ::cel::expr::Type* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.result_type_); + } + _impl_.result_type_ = reinterpret_cast<::cel::expr::Type*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000010U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000010U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Decl.FunctionDecl.Overload.result_type) +} +inline ::cel::expr::Type* PROTOBUF_NULLABLE Decl_FunctionDecl_Overload::release_result_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000010U); + ::cel::expr::Type* released = _impl_.result_type_; + _impl_.result_type_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Type* PROTOBUF_NULLABLE Decl_FunctionDecl_Overload::unsafe_arena_release_result_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Decl.FunctionDecl.Overload.result_type) + + ClearHasBit(_impl_._has_bits_[0], 0x00000010U); + ::cel::expr::Type* temp = _impl_.result_type_; + _impl_.result_type_ = nullptr; + return temp; +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Decl_FunctionDecl_Overload::_internal_mutable_result_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.result_type_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Type>(GetArena()); + _impl_.result_type_ = reinterpret_cast<::cel::expr::Type*>(p); + } + return _impl_.result_type_; +} +inline ::cel::expr::Type* PROTOBUF_NONNULL Decl_FunctionDecl_Overload::mutable_result_type() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000010U); + ::cel::expr::Type* _msg = _internal_mutable_result_type(); + // @@protoc_insertion_point(field_mutable:cel.expr.Decl.FunctionDecl.Overload.result_type) + return _msg; +} +inline void Decl_FunctionDecl_Overload::set_allocated_result_type(::cel::expr::Type* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.result_type_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000010U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000010U); + } + + _impl_.result_type_ = reinterpret_cast<::cel::expr::Type*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Decl.FunctionDecl.Overload.result_type) +} + +// bool is_instance_function = 5; +inline void Decl_FunctionDecl_Overload::clear_is_instance_function() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.is_instance_function_ = false; + ClearHasBit(_impl_._has_bits_[0], + 0x00000020U); +} +inline bool Decl_FunctionDecl_Overload::is_instance_function() const { + // @@protoc_insertion_point(field_get:cel.expr.Decl.FunctionDecl.Overload.is_instance_function) + return _internal_is_instance_function(); +} +inline void Decl_FunctionDecl_Overload::set_is_instance_function(bool value) { + _internal_set_is_instance_function(value); + SetHasBit(_impl_._has_bits_[0], 0x00000020U); + // @@protoc_insertion_point(field_set:cel.expr.Decl.FunctionDecl.Overload.is_instance_function) +} +inline bool Decl_FunctionDecl_Overload::_internal_is_instance_function() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.is_instance_function_; +} +inline void Decl_FunctionDecl_Overload::_internal_set_is_instance_function(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.is_instance_function_ = value; +} + +// string doc = 6; +inline void Decl_FunctionDecl_Overload::clear_doc() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.doc_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline const ::std::string& Decl_FunctionDecl_Overload::doc() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Decl.FunctionDecl.Overload.doc) + return _internal_doc(); +} +template +PROTOBUF_ALWAYS_INLINE void Decl_FunctionDecl_Overload::set_doc(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + _impl_.doc_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Decl.FunctionDecl.Overload.doc) +} +inline ::std::string* PROTOBUF_NONNULL Decl_FunctionDecl_Overload::mutable_doc() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + ::std::string* _s = _internal_mutable_doc(); + // @@protoc_insertion_point(field_mutable:cel.expr.Decl.FunctionDecl.Overload.doc) + return _s; +} +inline const ::std::string& Decl_FunctionDecl_Overload::_internal_doc() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.doc_.Get(); +} +inline void Decl_FunctionDecl_Overload::_internal_set_doc(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.doc_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Decl_FunctionDecl_Overload::_internal_mutable_doc() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.doc_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Decl_FunctionDecl_Overload::release_doc() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Decl.FunctionDecl.Overload.doc) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000008U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + auto* released = _impl_.doc_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.doc_.Set("", GetArena()); + } + return released; +} +inline void Decl_FunctionDecl_Overload::set_allocated_doc(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + } + _impl_.doc_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.doc_.IsDefault()) { + _impl_.doc_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Decl.FunctionDecl.Overload.doc) +} + +// ------------------------------------------------------------------- + +// Decl_FunctionDecl + +// repeated .cel.expr.Decl.FunctionDecl.Overload overloads = 1; +inline int Decl_FunctionDecl::_internal_overloads_size() const { + return _internal_overloads().size(); +} +inline int Decl_FunctionDecl::overloads_size() const { + return _internal_overloads_size(); +} +inline void Decl_FunctionDecl::clear_overloads() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.overloads_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::cel::expr::Decl_FunctionDecl_Overload* PROTOBUF_NONNULL Decl_FunctionDecl::mutable_overloads(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:cel.expr.Decl.FunctionDecl.overloads) + return _internal_mutable_overloads()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Decl_FunctionDecl_Overload>* PROTOBUF_NONNULL Decl_FunctionDecl::mutable_overloads() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:cel.expr.Decl.FunctionDecl.overloads) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_overloads(); +} +inline const ::cel::expr::Decl_FunctionDecl_Overload& Decl_FunctionDecl::overloads(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Decl.FunctionDecl.overloads) + return _internal_overloads().Get(index); +} +inline ::cel::expr::Decl_FunctionDecl_Overload* PROTOBUF_NONNULL Decl_FunctionDecl::add_overloads() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::cel::expr::Decl_FunctionDecl_Overload* _add = + _internal_mutable_overloads()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:cel.expr.Decl.FunctionDecl.overloads) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Decl_FunctionDecl_Overload>& Decl_FunctionDecl::overloads() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:cel.expr.Decl.FunctionDecl.overloads) + return _internal_overloads(); +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Decl_FunctionDecl_Overload>& +Decl_FunctionDecl::_internal_overloads() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.overloads_; +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Decl_FunctionDecl_Overload>* PROTOBUF_NONNULL +Decl_FunctionDecl::_internal_mutable_overloads() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.overloads_; +} + +// string doc = 2; +inline void Decl_FunctionDecl::clear_doc() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.doc_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::std::string& Decl_FunctionDecl::doc() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Decl.FunctionDecl.doc) + return _internal_doc(); +} +template +PROTOBUF_ALWAYS_INLINE void Decl_FunctionDecl::set_doc(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + _impl_.doc_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Decl.FunctionDecl.doc) +} +inline ::std::string* PROTOBUF_NONNULL Decl_FunctionDecl::mutable_doc() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::std::string* _s = _internal_mutable_doc(); + // @@protoc_insertion_point(field_mutable:cel.expr.Decl.FunctionDecl.doc) + return _s; +} +inline const ::std::string& Decl_FunctionDecl::_internal_doc() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.doc_.Get(); +} +inline void Decl_FunctionDecl::_internal_set_doc(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.doc_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Decl_FunctionDecl::_internal_mutable_doc() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.doc_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Decl_FunctionDecl::release_doc() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Decl.FunctionDecl.doc) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + auto* released = _impl_.doc_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.doc_.Set("", GetArena()); + } + return released; +} +inline void Decl_FunctionDecl::set_allocated_doc(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + _impl_.doc_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.doc_.IsDefault()) { + _impl_.doc_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Decl.FunctionDecl.doc) +} + +// ------------------------------------------------------------------- + +// Decl + +// string name = 1; +inline void Decl::clear_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::std::string& Decl::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Decl.name) + return _internal_name(); +} +template +PROTOBUF_ALWAYS_INLINE void Decl::set_name(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Decl.name) +} +inline ::std::string* PROTOBUF_NONNULL Decl::mutable_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:cel.expr.Decl.name) + return _s; +} +inline const ::std::string& Decl::_internal_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.name_.Get(); +} +inline void Decl::_internal_set_name(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Decl::_internal_mutable_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.name_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Decl::release_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Decl.name) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + auto* released = _impl_.name_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.name_.Set("", GetArena()); + } + return released; +} +inline void Decl::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + _impl_.name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Decl.name) +} + +// .cel.expr.Decl.IdentDecl ident = 2; +inline bool Decl::has_ident() const { + return decl_kind_case() == kIdent; +} +inline bool Decl::_internal_has_ident() const { + return decl_kind_case() == kIdent; +} +inline void Decl::set_has_ident() { + _impl_._oneof_case_[0] = kIdent; +} +inline void Decl::clear_ident() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (decl_kind_case() == kIdent) { + if (GetArena() == nullptr) { + delete _impl_.decl_kind_.ident_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.decl_kind_.ident_); + } + clear_has_decl_kind(); + } +} +inline ::cel::expr::Decl_IdentDecl* PROTOBUF_NULLABLE Decl::release_ident() { + // @@protoc_insertion_point(field_release:cel.expr.Decl.ident) + if (decl_kind_case() == kIdent) { + clear_has_decl_kind(); + auto* temp = _impl_.decl_kind_.ident_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.decl_kind_.ident_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::Decl_IdentDecl& Decl::_internal_ident() const { + return decl_kind_case() == kIdent ? static_cast(*_impl_.decl_kind_.ident_) + : reinterpret_cast(::cel::expr::_Decl_IdentDecl_default_instance_); +} +inline const ::cel::expr::Decl_IdentDecl& Decl::ident() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Decl.ident) + return _internal_ident(); +} +inline ::cel::expr::Decl_IdentDecl* PROTOBUF_NULLABLE Decl::unsafe_arena_release_ident() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Decl.ident) + if (decl_kind_case() == kIdent) { + clear_has_decl_kind(); + auto* temp = _impl_.decl_kind_.ident_; + _impl_.decl_kind_.ident_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Decl::unsafe_arena_set_allocated_ident( + ::cel::expr::Decl_IdentDecl* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_decl_kind(); + if (value) { + set_has_ident(); + _impl_.decl_kind_.ident_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Decl.ident) +} +inline ::cel::expr::Decl_IdentDecl* PROTOBUF_NONNULL Decl::_internal_mutable_ident() { + if (decl_kind_case() != kIdent) { + clear_decl_kind(); + set_has_ident(); + _impl_.decl_kind_.ident_ = + ::google::protobuf::Message::DefaultConstruct<::cel::expr::Decl_IdentDecl>(GetArena()); + } + return _impl_.decl_kind_.ident_; +} +inline ::cel::expr::Decl_IdentDecl* PROTOBUF_NONNULL Decl::mutable_ident() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::Decl_IdentDecl* _msg = _internal_mutable_ident(); + // @@protoc_insertion_point(field_mutable:cel.expr.Decl.ident) + return _msg; +} + +// .cel.expr.Decl.FunctionDecl function = 3; +inline bool Decl::has_function() const { + return decl_kind_case() == kFunction; +} +inline bool Decl::_internal_has_function() const { + return decl_kind_case() == kFunction; +} +inline void Decl::set_has_function() { + _impl_._oneof_case_[0] = kFunction; +} +inline void Decl::clear_function() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (decl_kind_case() == kFunction) { + if (GetArena() == nullptr) { + delete _impl_.decl_kind_.function_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.decl_kind_.function_); + } + clear_has_decl_kind(); + } +} +inline ::cel::expr::Decl_FunctionDecl* PROTOBUF_NULLABLE Decl::release_function() { + // @@protoc_insertion_point(field_release:cel.expr.Decl.function) + if (decl_kind_case() == kFunction) { + clear_has_decl_kind(); + auto* temp = _impl_.decl_kind_.function_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.decl_kind_.function_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::Decl_FunctionDecl& Decl::_internal_function() const { + return decl_kind_case() == kFunction ? static_cast(*_impl_.decl_kind_.function_) + : reinterpret_cast(::cel::expr::_Decl_FunctionDecl_default_instance_); +} +inline const ::cel::expr::Decl_FunctionDecl& Decl::function() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Decl.function) + return _internal_function(); +} +inline ::cel::expr::Decl_FunctionDecl* PROTOBUF_NULLABLE Decl::unsafe_arena_release_function() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Decl.function) + if (decl_kind_case() == kFunction) { + clear_has_decl_kind(); + auto* temp = _impl_.decl_kind_.function_; + _impl_.decl_kind_.function_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Decl::unsafe_arena_set_allocated_function( + ::cel::expr::Decl_FunctionDecl* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_decl_kind(); + if (value) { + set_has_function(); + _impl_.decl_kind_.function_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Decl.function) +} +inline ::cel::expr::Decl_FunctionDecl* PROTOBUF_NONNULL Decl::_internal_mutable_function() { + if (decl_kind_case() != kFunction) { + clear_decl_kind(); + set_has_function(); + _impl_.decl_kind_.function_ = + ::google::protobuf::Message::DefaultConstruct<::cel::expr::Decl_FunctionDecl>(GetArena()); + } + return _impl_.decl_kind_.function_; +} +inline ::cel::expr::Decl_FunctionDecl* PROTOBUF_NONNULL Decl::mutable_function() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::Decl_FunctionDecl* _msg = _internal_mutable_function(); + // @@protoc_insertion_point(field_mutable:cel.expr.Decl.function) + return _msg; +} + +inline bool Decl::has_decl_kind() const { + return decl_kind_case() != DECL_KIND_NOT_SET; +} +inline void Decl::clear_has_decl_kind() { + _impl_._oneof_case_[0] = DECL_KIND_NOT_SET; +} +inline Decl::DeclKindCase Decl::decl_kind_case() const { + return Decl::DeclKindCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// Reference + +// string name = 1; +inline void Reference::clear_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::std::string& Reference::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Reference.name) + return _internal_name(); +} +template +PROTOBUF_ALWAYS_INLINE void Reference::set_name(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Reference.name) +} +inline ::std::string* PROTOBUF_NONNULL Reference::mutable_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:cel.expr.Reference.name) + return _s; +} +inline const ::std::string& Reference::_internal_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.name_.Get(); +} +inline void Reference::_internal_set_name(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Reference::_internal_mutable_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.name_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Reference::release_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Reference.name) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + auto* released = _impl_.name_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.name_.Set("", GetArena()); + } + return released; +} +inline void Reference::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + _impl_.name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Reference.name) +} + +// repeated string overload_id = 3; +inline int Reference::_internal_overload_id_size() const { + return _internal_overload_id().size(); +} +inline int Reference::overload_id_size() const { + return _internal_overload_id_size(); +} +inline void Reference::clear_overload_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.overload_id_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::std::string* PROTOBUF_NONNULL Reference::add_overload_id() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::std::string* _s = + _internal_mutable_overload_id()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add_mutable:cel.expr.Reference.overload_id) + return _s; +} +inline const ::std::string& Reference::overload_id(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Reference.overload_id) + return _internal_overload_id().Get(index); +} +inline ::std::string* PROTOBUF_NONNULL Reference::mutable_overload_id(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:cel.expr.Reference.overload_id) + return _internal_mutable_overload_id()->Mutable(index); +} +template +inline void Reference::set_overload_id(int index, Arg_&& value, Args_... args) { + ::google::protobuf::internal::AssignToString(*_internal_mutable_overload_id()->Mutable(index), ::std::forward(value), + args... ); + // @@protoc_insertion_point(field_set:cel.expr.Reference.overload_id) +} +template +inline void Reference::add_overload_id(Arg_&& value, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::google::protobuf::internal::AddToRepeatedPtrField( + ::google::protobuf::MessageLite::internal_visibility(), GetArena(), + *_internal_mutable_overload_id(), ::std::forward(value), + args... ); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:cel.expr.Reference.overload_id) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& Reference::overload_id() + const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:cel.expr.Reference.overload_id) + return _internal_overload_id(); +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +Reference::mutable_overload_id() ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:cel.expr.Reference.overload_id) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_overload_id(); +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +Reference::_internal_overload_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.overload_id_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL +Reference::_internal_mutable_overload_id() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.overload_id_; +} + +// .cel.expr.Constant value = 4; +inline bool Reference::has_value() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U); + PROTOBUF_ASSUME(!value || _impl_.value_ != nullptr); + return value; +} +inline const ::cel::expr::Constant& Reference::_internal_value() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Constant* p = _impl_.value_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Constant_default_instance_); +} +inline const ::cel::expr::Constant& Reference::value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Reference.value) + return _internal_value(); +} +inline void Reference::unsafe_arena_set_allocated_value( + ::cel::expr::Constant* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_); + } + _impl_.value_ = reinterpret_cast<::cel::expr::Constant*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Reference.value) +} +inline ::cel::expr::Constant* PROTOBUF_NULLABLE Reference::release_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + ::cel::expr::Constant* released = _impl_.value_; + _impl_.value_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Constant* PROTOBUF_NULLABLE Reference::unsafe_arena_release_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Reference.value) + + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + ::cel::expr::Constant* temp = _impl_.value_; + _impl_.value_ = nullptr; + return temp; +} +inline ::cel::expr::Constant* PROTOBUF_NONNULL Reference::_internal_mutable_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.value_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Constant>(GetArena()); + _impl_.value_ = reinterpret_cast<::cel::expr::Constant*>(p); + } + return _impl_.value_; +} +inline ::cel::expr::Constant* PROTOBUF_NONNULL Reference::mutable_value() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + ::cel::expr::Constant* _msg = _internal_mutable_value(); + // @@protoc_insertion_point(field_mutable:cel.expr.Reference.value) + return _msg; +} +inline void Reference::set_allocated_value(::cel::expr::Constant* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + + _impl_.value_ = reinterpret_cast<::cel::expr::Constant*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Reference.value) +} + +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif // __GNUC__ + +// @@protoc_insertion_point(namespace_scope) +} // namespace expr +} // namespace cel + + +namespace google { +namespace protobuf { + +template <> +struct is_proto_enum<::cel::expr::Type_PrimitiveType> : std::true_type {}; +template <> +inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::cel::expr::Type_PrimitiveType>() { + return ::cel::expr::Type_PrimitiveType_descriptor(); +} +template <> +struct is_proto_enum<::cel::expr::Type_WellKnownType> : std::true_type {}; +template <> +inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::cel::expr::Type_WellKnownType>() { + return ::cel::expr::Type_WellKnownType_descriptor(); +} + +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) + +#include "google/protobuf/port_undef.inc" + +#endif // cel_2fexpr_2fchecked_2eproto_2epb_2eh diff --git a/crates/protovalidate-rs/gen/cel/expr/syntax.pb.cc b/crates/protovalidate-rs/gen/cel/expr/syntax.pb.cc new file mode 100644 index 00000000..a3e556e5 --- /dev/null +++ b/crates/protovalidate-rs/gen/cel/expr/syntax.pb.cc @@ -0,0 +1,6352 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: cel/expr/syntax.proto +// Protobuf C++ Version: 6.33.4 + +#include "cel/expr/syntax.pb.h" + +#include +#include +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/generated_message_tctable_impl.h" +#include "google/protobuf/extension_set.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/wire_format_lite.h" +#include "google/protobuf/descriptor.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/reflection_ops.h" +#include "google/protobuf/wire_format.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" +PROTOBUF_PRAGMA_INIT_SEG +namespace _pb = ::google::protobuf; +namespace _pbi = ::google::protobuf::internal; +namespace _fl = ::google::protobuf::internal::field_layout; +namespace cel { +namespace expr { +template +PROTOBUF_CONSTEXPR SourceInfo_PositionsEntry_DoNotUse::SourceInfo_PositionsEntry_DoNotUse(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : SourceInfo_PositionsEntry_DoNotUse::MapEntry(SourceInfo_PositionsEntry_DoNotUse_class_data_.base()){} +#else // PROTOBUF_CUSTOM_VTABLE + : SourceInfo_PositionsEntry_DoNotUse::MapEntry() { +} +#endif // PROTOBUF_CUSTOM_VTABLE +struct SourceInfo_PositionsEntry_DoNotUseDefaultTypeInternal { + PROTOBUF_CONSTEXPR SourceInfo_PositionsEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~SourceInfo_PositionsEntry_DoNotUseDefaultTypeInternal() {} + union { + SourceInfo_PositionsEntry_DoNotUse _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SourceInfo_PositionsEntry_DoNotUseDefaultTypeInternal _SourceInfo_PositionsEntry_DoNotUse_default_instance_; + +inline constexpr SourceInfo_Extension_Version::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + major_{::int64_t{0}}, + minor_{::int64_t{0}} {} + +template +PROTOBUF_CONSTEXPR SourceInfo_Extension_Version::SourceInfo_Extension_Version(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(SourceInfo_Extension_Version_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct SourceInfo_Extension_VersionDefaultTypeInternal { + PROTOBUF_CONSTEXPR SourceInfo_Extension_VersionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~SourceInfo_Extension_VersionDefaultTypeInternal() {} + union { + SourceInfo_Extension_Version _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SourceInfo_Extension_VersionDefaultTypeInternal _SourceInfo_Extension_Version_default_instance_; + +inline constexpr Expr_Ident::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()) {} + +template +PROTOBUF_CONSTEXPR Expr_Ident::Expr_Ident(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Expr_Ident_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Expr_IdentDefaultTypeInternal { + PROTOBUF_CONSTEXPR Expr_IdentDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Expr_IdentDefaultTypeInternal() {} + union { + Expr_Ident _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Expr_IdentDefaultTypeInternal _Expr_Ident_default_instance_; + +inline constexpr SourceInfo_Extension::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + affected_components_{}, + _affected_components_cached_byte_size_{0}, + id_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + version_{nullptr} {} + +template +PROTOBUF_CONSTEXPR SourceInfo_Extension::SourceInfo_Extension(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(SourceInfo_Extension_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct SourceInfo_ExtensionDefaultTypeInternal { + PROTOBUF_CONSTEXPR SourceInfo_ExtensionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~SourceInfo_ExtensionDefaultTypeInternal() {} + union { + SourceInfo_Extension _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SourceInfo_ExtensionDefaultTypeInternal _SourceInfo_Extension_default_instance_; + +inline constexpr Constant::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : constant_kind_{}, + _cached_size_{0}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR Constant::Constant(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Constant_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ConstantDefaultTypeInternal { + PROTOBUF_CONSTEXPR ConstantDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ConstantDefaultTypeInternal() {} + union { + Constant _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ConstantDefaultTypeInternal _Constant_default_instance_; + +inline constexpr Expr::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + id_{::int64_t{0}}, + expr_kind_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR Expr::Expr(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Expr_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ExprDefaultTypeInternal { + PROTOBUF_CONSTEXPR ExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ExprDefaultTypeInternal() {} + union { + Expr _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExprDefaultTypeInternal _Expr_default_instance_; + +inline constexpr Expr_Call::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + args_{}, + function_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + target_{nullptr} {} + +template +PROTOBUF_CONSTEXPR Expr_Call::Expr_Call(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Expr_Call_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Expr_CallDefaultTypeInternal { + PROTOBUF_CONSTEXPR Expr_CallDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Expr_CallDefaultTypeInternal() {} + union { + Expr_Call _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Expr_CallDefaultTypeInternal _Expr_Call_default_instance_; + +inline constexpr Expr_Comprehension::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + iter_var_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + accu_var_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + iter_var2_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + iter_range_{nullptr}, + accu_init_{nullptr}, + loop_condition_{nullptr}, + loop_step_{nullptr}, + result_{nullptr} {} + +template +PROTOBUF_CONSTEXPR Expr_Comprehension::Expr_Comprehension(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Expr_Comprehension_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Expr_ComprehensionDefaultTypeInternal { + PROTOBUF_CONSTEXPR Expr_ComprehensionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Expr_ComprehensionDefaultTypeInternal() {} + union { + Expr_Comprehension _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Expr_ComprehensionDefaultTypeInternal _Expr_Comprehension_default_instance_; + +inline constexpr Expr_CreateList::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + elements_{}, + optional_indices_{}, + _optional_indices_cached_byte_size_{0} {} + +template +PROTOBUF_CONSTEXPR Expr_CreateList::Expr_CreateList(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Expr_CreateList_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Expr_CreateListDefaultTypeInternal { + PROTOBUF_CONSTEXPR Expr_CreateListDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Expr_CreateListDefaultTypeInternal() {} + union { + Expr_CreateList _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Expr_CreateListDefaultTypeInternal _Expr_CreateList_default_instance_; + +inline constexpr Expr_CreateStruct::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + entries_{}, + message_name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()) {} + +template +PROTOBUF_CONSTEXPR Expr_CreateStruct::Expr_CreateStruct(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Expr_CreateStruct_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Expr_CreateStructDefaultTypeInternal { + PROTOBUF_CONSTEXPR Expr_CreateStructDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Expr_CreateStructDefaultTypeInternal() {} + union { + Expr_CreateStruct _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Expr_CreateStructDefaultTypeInternal _Expr_CreateStruct_default_instance_; + +inline constexpr Expr_CreateStruct_Entry::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + value_{nullptr}, + id_{::int64_t{0}}, + optional_entry_{false}, + key_kind_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR Expr_CreateStruct_Entry::Expr_CreateStruct_Entry(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Expr_CreateStruct_Entry_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Expr_CreateStruct_EntryDefaultTypeInternal { + PROTOBUF_CONSTEXPR Expr_CreateStruct_EntryDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Expr_CreateStruct_EntryDefaultTypeInternal() {} + union { + Expr_CreateStruct_Entry _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Expr_CreateStruct_EntryDefaultTypeInternal _Expr_CreateStruct_Entry_default_instance_; + +inline constexpr Expr_Select::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + field_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + operand_{nullptr}, + test_only_{false} {} + +template +PROTOBUF_CONSTEXPR Expr_Select::Expr_Select(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Expr_Select_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct Expr_SelectDefaultTypeInternal { + PROTOBUF_CONSTEXPR Expr_SelectDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Expr_SelectDefaultTypeInternal() {} + union { + Expr_Select _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Expr_SelectDefaultTypeInternal _Expr_Select_default_instance_; +template +PROTOBUF_CONSTEXPR SourceInfo_MacroCallsEntry_DoNotUse::SourceInfo_MacroCallsEntry_DoNotUse(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : SourceInfo_MacroCallsEntry_DoNotUse::MapEntry(SourceInfo_MacroCallsEntry_DoNotUse_class_data_.base()){} +#else // PROTOBUF_CUSTOM_VTABLE + : SourceInfo_MacroCallsEntry_DoNotUse::MapEntry() { +} +#endif // PROTOBUF_CUSTOM_VTABLE +struct SourceInfo_MacroCallsEntry_DoNotUseDefaultTypeInternal { + PROTOBUF_CONSTEXPR SourceInfo_MacroCallsEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~SourceInfo_MacroCallsEntry_DoNotUseDefaultTypeInternal() {} + union { + SourceInfo_MacroCallsEntry_DoNotUse _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SourceInfo_MacroCallsEntry_DoNotUseDefaultTypeInternal _SourceInfo_MacroCallsEntry_DoNotUse_default_instance_; + +inline constexpr SourceInfo::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + line_offsets_{}, + _line_offsets_cached_byte_size_{0}, + extensions_{}, + syntax_version_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + location_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + positions_{}, + macro_calls_{} {} + +template +PROTOBUF_CONSTEXPR SourceInfo::SourceInfo(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(SourceInfo_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct SourceInfoDefaultTypeInternal { + PROTOBUF_CONSTEXPR SourceInfoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~SourceInfoDefaultTypeInternal() {} + union { + SourceInfo _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SourceInfoDefaultTypeInternal _SourceInfo_default_instance_; + +inline constexpr ParsedExpr::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + expr_{nullptr}, + source_info_{nullptr} {} + +template +PROTOBUF_CONSTEXPR ParsedExpr::ParsedExpr(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(ParsedExpr_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ParsedExprDefaultTypeInternal { + PROTOBUF_CONSTEXPR ParsedExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ParsedExprDefaultTypeInternal() {} + union { + ParsedExpr _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ParsedExprDefaultTypeInternal _ParsedExpr_default_instance_; +} // namespace expr +} // namespace cel +static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL + file_level_enum_descriptors_cel_2fexpr_2fsyntax_2eproto[1]; +static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE + file_level_service_descriptors_cel_2fexpr_2fsyntax_2eproto = nullptr; +const ::uint32_t + TableStruct_cel_2fexpr_2fsyntax_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE( + protodesc_cold) = { + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::ParsedExpr, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::ParsedExpr, _impl_.expr_), + PROTOBUF_FIELD_OFFSET(::cel::expr::ParsedExpr, _impl_.source_info_), + 0, + 1, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Ident, _impl_._has_bits_), + 4, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Ident, _impl_.name_), + 0, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Select, _impl_._has_bits_), + 6, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Select, _impl_.operand_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Select, _impl_.field_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Select, _impl_.test_only_), + 1, + 0, + 2, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Call, _impl_._has_bits_), + 6, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Call, _impl_.target_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Call, _impl_.function_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Call, _impl_.args_), + 2, + 1, + 0, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_CreateList, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_CreateList, _impl_.elements_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_CreateList, _impl_.optional_indices_), + 0, + 1, + 0x085, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_CreateStruct_Entry, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_CreateStruct_Entry, _impl_._oneof_case_[0]), + 10, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_CreateStruct_Entry, _impl_.id_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_CreateStruct_Entry, _impl_.key_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_CreateStruct_Entry, _impl_.key_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_CreateStruct_Entry, _impl_.value_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_CreateStruct_Entry, _impl_.optional_entry_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_CreateStruct_Entry, _impl_.key_kind_), + 1, + ~0u, + ~0u, + 0, + 2, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_CreateStruct, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_CreateStruct, _impl_.message_name_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_CreateStruct, _impl_.entries_), + 1, + 0, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Comprehension, _impl_._has_bits_), + 11, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Comprehension, _impl_.iter_var_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Comprehension, _impl_.iter_var2_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Comprehension, _impl_.iter_range_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Comprehension, _impl_.accu_var_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Comprehension, _impl_.accu_init_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Comprehension, _impl_.loop_condition_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Comprehension, _impl_.loop_step_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_Comprehension, _impl_.result_), + 0, + 2, + 3, + 1, + 4, + 5, + 6, + 7, + 0x085, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr, _impl_._oneof_case_[0]), + 13, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr, _impl_.id_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr, _impl_.expr_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr, _impl_.expr_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr, _impl_.expr_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr, _impl_.expr_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr, _impl_.expr_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr, _impl_.expr_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr, _impl_.expr_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr, _impl_.expr_kind_), + 0, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + ~0u, + 0x004, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Constant, _impl_._oneof_case_[0]), + PROTOBUF_FIELD_OFFSET(::cel::expr::Constant, _impl_.constant_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Constant, _impl_.constant_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Constant, _impl_.constant_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Constant, _impl_.constant_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Constant, _impl_.constant_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Constant, _impl_.constant_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Constant, _impl_.constant_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Constant, _impl_.constant_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Constant, _impl_.constant_kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Constant, _impl_.constant_kind_), + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo_PositionsEntry_DoNotUse, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo_PositionsEntry_DoNotUse, _impl_.key_), + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo_PositionsEntry_DoNotUse, _impl_.value_), + 0, + 1, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo_MacroCallsEntry_DoNotUse, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo_MacroCallsEntry_DoNotUse, _impl_.key_), + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo_MacroCallsEntry_DoNotUse, _impl_.value_), + 0, + 1, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo_Extension_Version, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo_Extension_Version, _impl_.major_), + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo_Extension_Version, _impl_.minor_), + 0, + 1, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo_Extension, _impl_._has_bits_), + 6, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo_Extension, _impl_.id_), + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo_Extension, _impl_.affected_components_), + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo_Extension, _impl_.version_), + 1, + 0, + 2, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo, _impl_._has_bits_), + 9, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo, _impl_.syntax_version_), + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo, _impl_.location_), + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo, _impl_.line_offsets_), + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo, _impl_.positions_), + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo, _impl_.macro_calls_), + PROTOBUF_FIELD_OFFSET(::cel::expr::SourceInfo, _impl_.extensions_), + 2, + 3, + 0, + 4, + 5, + 1, +}; + +static const ::_pbi::MigrationSchema + schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { + {0, sizeof(::cel::expr::ParsedExpr)}, + {7, sizeof(::cel::expr::Expr_Ident)}, + {12, sizeof(::cel::expr::Expr_Select)}, + {21, sizeof(::cel::expr::Expr_Call)}, + {30, sizeof(::cel::expr::Expr_CreateList)}, + {37, sizeof(::cel::expr::Expr_CreateStruct_Entry)}, + {52, sizeof(::cel::expr::Expr_CreateStruct)}, + {59, sizeof(::cel::expr::Expr_Comprehension)}, + {78, sizeof(::cel::expr::Expr)}, + {99, sizeof(::cel::expr::Constant)}, + {111, sizeof(::cel::expr::SourceInfo_PositionsEntry_DoNotUse)}, + {118, sizeof(::cel::expr::SourceInfo_MacroCallsEntry_DoNotUse)}, + {125, sizeof(::cel::expr::SourceInfo_Extension_Version)}, + {132, sizeof(::cel::expr::SourceInfo_Extension)}, + {141, sizeof(::cel::expr::SourceInfo)}, +}; +static const ::_pb::Message* PROTOBUF_NONNULL const file_default_instances[] = { + &::cel::expr::_ParsedExpr_default_instance_._instance, + &::cel::expr::_Expr_Ident_default_instance_._instance, + &::cel::expr::_Expr_Select_default_instance_._instance, + &::cel::expr::_Expr_Call_default_instance_._instance, + &::cel::expr::_Expr_CreateList_default_instance_._instance, + &::cel::expr::_Expr_CreateStruct_Entry_default_instance_._instance, + &::cel::expr::_Expr_CreateStruct_default_instance_._instance, + &::cel::expr::_Expr_Comprehension_default_instance_._instance, + &::cel::expr::_Expr_default_instance_._instance, + &::cel::expr::_Constant_default_instance_._instance, + &::cel::expr::_SourceInfo_PositionsEntry_DoNotUse_default_instance_._instance, + &::cel::expr::_SourceInfo_MacroCallsEntry_DoNotUse_default_instance_._instance, + &::cel::expr::_SourceInfo_Extension_Version_default_instance_._instance, + &::cel::expr::_SourceInfo_Extension_default_instance_._instance, + &::cel::expr::_SourceInfo_default_instance_._instance, +}; +const char descriptor_table_protodef_cel_2fexpr_2fsyntax_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE( + protodesc_cold) = { + "\n\025cel/expr/syntax.proto\022\010cel.expr\032\036googl" + "e/protobuf/duration.proto\032\034google/protob" + "uf/struct.proto\032\037google/protobuf/timesta" + "mp.proto\"U\n\nParsedExpr\022\034\n\004expr\030\002 \001(\0132\016.c" + "el.expr.Expr\022)\n\013source_info\030\003 \001(\0132\024.cel." + "expr.SourceInfo\"\332\010\n\004Expr\022\n\n\002id\030\002 \001(\003\022(\n\n" + "const_expr\030\003 \001(\0132\022.cel.expr.ConstantH\000\022*" + "\n\nident_expr\030\004 \001(\0132\024.cel.expr.Expr.Ident" + "H\000\022,\n\013select_expr\030\005 \001(\0132\025.cel.expr.Expr." + "SelectH\000\022(\n\tcall_expr\030\006 \001(\0132\023.cel.expr.E" + "xpr.CallH\000\022.\n\tlist_expr\030\007 \001(\0132\031.cel.expr" + ".Expr.CreateListH\000\0222\n\013struct_expr\030\010 \001(\0132" + "\033.cel.expr.Expr.CreateStructH\000\022:\n\022compre" + "hension_expr\030\t \001(\0132\034.cel.expr.Expr.Compr" + "ehensionH\000\032\025\n\005Ident\022\014\n\004name\030\001 \001(\t\032K\n\006Sel" + "ect\022\037\n\007operand\030\001 \001(\0132\016.cel.expr.Expr\022\r\n\005" + "field\030\002 \001(\t\022\021\n\ttest_only\030\003 \001(\010\032V\n\004Call\022\036" + "\n\006target\030\001 \001(\0132\016.cel.expr.Expr\022\020\n\010functi" + "on\030\002 \001(\t\022\034\n\004args\030\003 \003(\0132\016.cel.expr.Expr\032H" + "\n\nCreateList\022 \n\010elements\030\001 \003(\0132\016.cel.exp" + "r.Expr\022\030\n\020optional_indices\030\002 \003(\005\032\351\001\n\014Cre" + "ateStruct\022\024\n\014message_name\030\001 \001(\t\0222\n\007entri" + "es\030\002 \003(\0132!.cel.expr.Expr.CreateStruct.En" + "try\032\216\001\n\005Entry\022\n\n\002id\030\001 \001(\003\022\023\n\tfield_key\030\002" + " \001(\tH\000\022!\n\007map_key\030\003 \001(\0132\016.cel.expr.ExprH" + "\000\022\035\n\005value\030\004 \001(\0132\016.cel.expr.Expr\022\026\n\016opti" + "onal_entry\030\005 \001(\010B\n\n\010key_kind\032\370\001\n\rCompreh" + "ension\022\020\n\010iter_var\030\001 \001(\t\022\021\n\titer_var2\030\010 " + "\001(\t\022\"\n\niter_range\030\002 \001(\0132\016.cel.expr.Expr\022" + "\020\n\010accu_var\030\003 \001(\t\022!\n\taccu_init\030\004 \001(\0132\016.c" + "el.expr.Expr\022&\n\016loop_condition\030\005 \001(\0132\016.c" + "el.expr.Expr\022!\n\tloop_step\030\006 \001(\0132\016.cel.ex" + "pr.Expr\022\036\n\006result\030\007 \001(\0132\016.cel.expr.ExprB" + "\013\n\texpr_kind\"\315\002\n\010Constant\0220\n\nnull_value\030" + "\001 \001(\0162\032.google.protobuf.NullValueH\000\022\024\n\nb" + "ool_value\030\002 \001(\010H\000\022\025\n\013int64_value\030\003 \001(\003H\000" + "\022\026\n\014uint64_value\030\004 \001(\004H\000\022\026\n\014double_value" + "\030\005 \001(\001H\000\022\026\n\014string_value\030\006 \001(\tH\000\022\025\n\013byte" + "s_value\030\007 \001(\014H\000\0227\n\016duration_value\030\010 \001(\0132" + "\031.google.protobuf.DurationB\002\030\001H\000\0229\n\017time" + "stamp_value\030\t \001(\0132\032.google.protobuf.Time" + "stampB\002\030\001H\000B\017\n\rconstant_kind\"\234\005\n\nSourceI" + "nfo\022\026\n\016syntax_version\030\001 \001(\t\022\020\n\010location\030" + "\002 \001(\t\022\024\n\014line_offsets\030\003 \003(\005\0226\n\tpositions" + "\030\004 \003(\0132#.cel.expr.SourceInfo.PositionsEn" + "try\0229\n\013macro_calls\030\005 \003(\0132$.cel.expr.Sour" + "ceInfo.MacroCallsEntry\0222\n\nextensions\030\006 \003" + "(\0132\036.cel.expr.SourceInfo.Extension\0320\n\016Po" + "sitionsEntry\022\013\n\003key\030\001 \001(\003\022\r\n\005value\030\002 \001(\005" + ":\0028\001\032A\n\017MacroCallsEntry\022\013\n\003key\030\001 \001(\003\022\035\n\005" + "value\030\002 \001(\0132\016.cel.expr.Expr:\0028\001\032\261\002\n\tExte" + "nsion\022\n\n\002id\030\001 \001(\t\022E\n\023affected_components" + "\030\002 \003(\0162(.cel.expr.SourceInfo.Extension.C" + "omponent\0227\n\007version\030\003 \001(\0132&.cel.expr.Sou" + "rceInfo.Extension.Version\032\'\n\007Version\022\r\n\005" + "major\030\001 \001(\003\022\r\n\005minor\030\002 \001(\003\"o\n\tComponent\022" + "\031\n\025COMPONENT_UNSPECIFIED\020\000\022\024\n\020COMPONENT_" + "PARSER\020\001\022\032\n\026COMPONENT_TYPE_CHECKER\020\002\022\025\n\021" + "COMPONENT_RUNTIME\020\003B.\n\014dev.cel.exprB\013Syn" + "taxProtoP\001Z\014cel.dev/expr\370\001\001b\006proto3" +}; +static const ::_pbi::DescriptorTable* PROTOBUF_NONNULL const + descriptor_table_cel_2fexpr_2fsyntax_2eproto_deps[3] = { + &::descriptor_table_google_2fprotobuf_2fduration_2eproto, + &::descriptor_table_google_2fprotobuf_2fstruct_2eproto, + &::descriptor_table_google_2fprotobuf_2ftimestamp_2eproto, +}; +static ::absl::once_flag descriptor_table_cel_2fexpr_2fsyntax_2eproto_once; +PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_cel_2fexpr_2fsyntax_2eproto = { + false, + false, + 2395, + descriptor_table_protodef_cel_2fexpr_2fsyntax_2eproto, + "cel/expr/syntax.proto", + &descriptor_table_cel_2fexpr_2fsyntax_2eproto_once, + descriptor_table_cel_2fexpr_2fsyntax_2eproto_deps, + 3, + 15, + schemas, + file_default_instances, + TableStruct_cel_2fexpr_2fsyntax_2eproto::offsets, + file_level_enum_descriptors_cel_2fexpr_2fsyntax_2eproto, + file_level_service_descriptors_cel_2fexpr_2fsyntax_2eproto, +}; +namespace cel { +namespace expr { +const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL SourceInfo_Extension_Component_descriptor() { + ::google::protobuf::internal::AssignDescriptors(&descriptor_table_cel_2fexpr_2fsyntax_2eproto); + return file_level_enum_descriptors_cel_2fexpr_2fsyntax_2eproto[0]; +} +PROTOBUF_CONSTINIT const uint32_t SourceInfo_Extension_Component_internal_data_[] = { + 262144u, 0u, }; +// =================================================================== + +class ParsedExpr::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(ParsedExpr, _impl_._has_bits_); +}; + +ParsedExpr::ParsedExpr(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, ParsedExpr_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.ParsedExpr) +} +PROTOBUF_NDEBUG_INLINE ParsedExpr::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::ParsedExpr& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0} {} + +ParsedExpr::ParsedExpr( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const ParsedExpr& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, ParsedExpr_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + ParsedExpr* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.expr_ = (CheckHasBit(cached_has_bits, 0x00000001U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_) + : nullptr; + _impl_.source_info_ = (CheckHasBit(cached_has_bits, 0x00000002U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.source_info_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:cel.expr.ParsedExpr) +} +PROTOBUF_NDEBUG_INLINE ParsedExpr::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0} {} + +inline void ParsedExpr::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, expr_), + 0, + offsetof(Impl_, source_info_) - + offsetof(Impl_, expr_) + + sizeof(Impl_::source_info_)); +} +ParsedExpr::~ParsedExpr() { + // @@protoc_insertion_point(destructor:cel.expr.ParsedExpr) + SharedDtor(*this); +} +inline void ParsedExpr::SharedDtor(MessageLite& self) { + ParsedExpr& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + delete this_._impl_.expr_; + delete this_._impl_.source_info_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL ParsedExpr::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) ParsedExpr(arena); +} +constexpr auto ParsedExpr::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ParsedExpr), + alignof(ParsedExpr)); +} +constexpr auto ParsedExpr::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_ParsedExpr_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &ParsedExpr::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &ParsedExpr::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &ParsedExpr::ByteSizeLong, + &ParsedExpr::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(ParsedExpr, _impl_._cached_size_), + false, + }, + &ParsedExpr::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fsyntax_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull ParsedExpr_class_data_ = + ParsedExpr::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +ParsedExpr::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&ParsedExpr_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(ParsedExpr_class_data_.tc_table); + return ParsedExpr_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 2, 0, 2> +ParsedExpr::_table_ = { + { + PROTOBUF_FIELD_OFFSET(ParsedExpr, _impl_._has_bits_), + 0, // no _extensions_ + 3, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967289, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + ParsedExpr_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::ParsedExpr>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // .cel.expr.Expr expr = 2; + {::_pbi::TcParser::FastMtS1, + {18, 0, 0, + PROTOBUF_FIELD_OFFSET(ParsedExpr, _impl_.expr_)}}, + // .cel.expr.SourceInfo source_info = 3; + {::_pbi::TcParser::FastMtS1, + {26, 1, 1, + PROTOBUF_FIELD_OFFSET(ParsedExpr, _impl_.source_info_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // .cel.expr.Expr expr = 2; + {PROTOBUF_FIELD_OFFSET(ParsedExpr, _impl_.expr_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.SourceInfo source_info = 3; + {PROTOBUF_FIELD_OFFSET(ParsedExpr, _impl_.source_info_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Expr>()}, + {::_pbi::TcParser::GetTable<::cel::expr::SourceInfo>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void ParsedExpr::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.ParsedExpr) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(_impl_.expr_ != nullptr); + _impl_.expr_->Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(_impl_.source_info_ != nullptr); + _impl_.source_info_->Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL ParsedExpr::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const ParsedExpr& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL ParsedExpr::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const ParsedExpr& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.ParsedExpr) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // .cel.expr.Expr expr = 2; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, *this_._impl_.expr_, this_._impl_.expr_->GetCachedSize(), target, + stream); + } + + // .cel.expr.SourceInfo source_info = 3; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, *this_._impl_.source_info_, this_._impl_.source_info_->GetCachedSize(), target, + stream); + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.ParsedExpr) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t ParsedExpr::ByteSizeLong(const MessageLite& base) { + const ParsedExpr& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t ParsedExpr::ByteSizeLong() const { + const ParsedExpr& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.ParsedExpr) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + // .cel.expr.Expr expr = 2; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.expr_); + } + // .cel.expr.SourceInfo source_info = 3; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.source_info_); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void ParsedExpr::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.ParsedExpr) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(from._impl_.expr_ != nullptr); + if (_this->_impl_.expr_ == nullptr) { + _this->_impl_.expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_); + } else { + _this->_impl_.expr_->MergeFrom(*from._impl_.expr_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(from._impl_.source_info_ != nullptr); + if (_this->_impl_.source_info_ == nullptr) { + _this->_impl_.source_info_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.source_info_); + } else { + _this->_impl_.source_info_->MergeFrom(*from._impl_.source_info_); + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void ParsedExpr::CopyFrom(const ParsedExpr& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.ParsedExpr) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void ParsedExpr::InternalSwap(ParsedExpr* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(ParsedExpr, _impl_.source_info_) + + sizeof(ParsedExpr::_impl_.source_info_) + - PROTOBUF_FIELD_OFFSET(ParsedExpr, _impl_.expr_)>( + reinterpret_cast(&_impl_.expr_), + reinterpret_cast(&other->_impl_.expr_)); +} + +::google::protobuf::Metadata ParsedExpr::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Expr_Ident::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Expr_Ident, _impl_._has_bits_); +}; + +Expr_Ident::Expr_Ident(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_Ident_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Expr.Ident) +} +PROTOBUF_NDEBUG_INLINE Expr_Ident::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Expr_Ident& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + name_(arena, from.name_) {} + +Expr_Ident::Expr_Ident( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Expr_Ident& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_Ident_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Expr_Ident* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:cel.expr.Expr.Ident) +} +PROTOBUF_NDEBUG_INLINE Expr_Ident::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + name_(arena) {} + +inline void Expr_Ident::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +Expr_Ident::~Expr_Ident() { + // @@protoc_insertion_point(destructor:cel.expr.Expr.Ident) + SharedDtor(*this); +} +inline void Expr_Ident::SharedDtor(MessageLite& self) { + Expr_Ident& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.name_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Expr_Ident::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Expr_Ident(arena); +} +constexpr auto Expr_Ident::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Expr_Ident), + alignof(Expr_Ident)); +} +constexpr auto Expr_Ident::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Expr_Ident_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Expr_Ident::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Expr_Ident::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Expr_Ident::ByteSizeLong, + &Expr_Ident::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Expr_Ident, _impl_._cached_size_), + false, + }, + &Expr_Ident::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fsyntax_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Expr_Ident_class_data_ = + Expr_Ident::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Expr_Ident::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Expr_Ident_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Expr_Ident_class_data_.tc_table); + return Expr_Ident_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 0, 32, 2> +Expr_Ident::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Expr_Ident, _impl_._has_bits_), + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + Expr_Ident_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Expr_Ident>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // string name = 1; + {::_pbi::TcParser::FastUS1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(Expr_Ident, _impl_.name_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string name = 1; + {PROTOBUF_FIELD_OFFSET(Expr_Ident, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + }}, + // no aux_entries + {{ + "\23\4\0\0\0\0\0\0" + "cel.expr.Expr.Ident" + "name" + }}, +}; +PROTOBUF_NOINLINE void Expr_Ident::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Expr.Ident) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + _impl_.name_.ClearNonDefaultToEmpty(); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Expr_Ident::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Expr_Ident& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Expr_Ident::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Expr_Ident& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Expr.Ident) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // string name = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!this_._internal_name().empty()) { + const ::std::string& _s = this_._internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Expr.Ident.name"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Expr.Ident) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Expr_Ident::ByteSizeLong(const MessageLite& base) { + const Expr_Ident& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Expr_Ident::ByteSizeLong() const { + const Expr_Ident& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Expr.Ident) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + { + // string name = 1; + cached_has_bits = this_._impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!this_._internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_name()); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Expr_Ident::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Expr.Ident) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } else { + if (_this->_impl_.name_.IsDefault()) { + _this->_internal_set_name(""); + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Expr_Ident::CopyFrom(const Expr_Ident& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Expr.Ident) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Expr_Ident::InternalSwap(Expr_Ident* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); +} + +::google::protobuf::Metadata Expr_Ident::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Expr_Select::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Expr_Select, _impl_._has_bits_); +}; + +Expr_Select::Expr_Select(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_Select_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Expr.Select) +} +PROTOBUF_NDEBUG_INLINE Expr_Select::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Expr_Select& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + field_(arena, from.field_) {} + +Expr_Select::Expr_Select( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Expr_Select& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_Select_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Expr_Select* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.operand_ = (CheckHasBit(cached_has_bits, 0x00000002U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.operand_) + : nullptr; + _impl_.test_only_ = from._impl_.test_only_; + + // @@protoc_insertion_point(copy_constructor:cel.expr.Expr.Select) +} +PROTOBUF_NDEBUG_INLINE Expr_Select::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + field_(arena) {} + +inline void Expr_Select::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, operand_), + 0, + offsetof(Impl_, test_only_) - + offsetof(Impl_, operand_) + + sizeof(Impl_::test_only_)); +} +Expr_Select::~Expr_Select() { + // @@protoc_insertion_point(destructor:cel.expr.Expr.Select) + SharedDtor(*this); +} +inline void Expr_Select::SharedDtor(MessageLite& self) { + Expr_Select& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.field_.Destroy(); + delete this_._impl_.operand_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Expr_Select::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Expr_Select(arena); +} +constexpr auto Expr_Select::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Expr_Select), + alignof(Expr_Select)); +} +constexpr auto Expr_Select::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Expr_Select_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Expr_Select::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Expr_Select::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Expr_Select::ByteSizeLong, + &Expr_Select::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Expr_Select, _impl_._cached_size_), + false, + }, + &Expr_Select::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fsyntax_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Expr_Select_class_data_ = + Expr_Select::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Expr_Select::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Expr_Select_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Expr_Select_class_data_.tc_table); + return Expr_Select_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 3, 1, 34, 2> +Expr_Select::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Expr_Select, _impl_._has_bits_), + 0, // no _extensions_ + 3, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967288, // skipmap + offsetof(decltype(_table_), field_entries), + 3, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Expr_Select_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Expr_Select>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // .cel.expr.Expr operand = 1; + {::_pbi::TcParser::FastMtS1, + {10, 1, 0, + PROTOBUF_FIELD_OFFSET(Expr_Select, _impl_.operand_)}}, + // string field = 2; + {::_pbi::TcParser::FastUS1, + {18, 0, 0, + PROTOBUF_FIELD_OFFSET(Expr_Select, _impl_.field_)}}, + // bool test_only = 3; + {::_pbi::TcParser::SingularVarintNoZag1(), + {24, 2, 0, + PROTOBUF_FIELD_OFFSET(Expr_Select, _impl_.test_only_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // .cel.expr.Expr operand = 1; + {PROTOBUF_FIELD_OFFSET(Expr_Select, _impl_.operand_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // string field = 2; + {PROTOBUF_FIELD_OFFSET(Expr_Select, _impl_.field_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // bool test_only = 3; + {PROTOBUF_FIELD_OFFSET(Expr_Select, _impl_.test_only_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Expr>()}, + }}, + {{ + "\24\0\5\0\0\0\0\0" + "cel.expr.Expr.Select" + "field" + }}, +}; +PROTOBUF_NOINLINE void Expr_Select::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Expr.Select) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + _impl_.field_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(_impl_.operand_ != nullptr); + _impl_.operand_->Clear(); + } + } + _impl_.test_only_ = false; + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Expr_Select::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Expr_Select& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Expr_Select::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Expr_Select& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Expr.Select) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // .cel.expr.Expr operand = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, *this_._impl_.operand_, this_._impl_.operand_->GetCachedSize(), target, + stream); + } + + // string field = 2; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!this_._internal_field().empty()) { + const ::std::string& _s = this_._internal_field(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Expr.Select.field"); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + } + + // bool test_only = 3; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + if (this_._internal_test_only() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 3, this_._internal_test_only(), target); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Expr.Select) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Expr_Select::ByteSizeLong(const MessageLite& base) { + const Expr_Select& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Expr_Select::ByteSizeLong() const { + const Expr_Select& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Expr.Select) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + // string field = 2; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!this_._internal_field().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_field()); + } + } + // .cel.expr.Expr operand = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.operand_); + } + // bool test_only = 3; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + if (this_._internal_test_only() != 0) { + total_size += 2; + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Expr_Select::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Expr.Select) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!from._internal_field().empty()) { + _this->_internal_set_field(from._internal_field()); + } else { + if (_this->_impl_.field_.IsDefault()) { + _this->_internal_set_field(""); + } + } + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(from._impl_.operand_ != nullptr); + if (_this->_impl_.operand_ == nullptr) { + _this->_impl_.operand_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.operand_); + } else { + _this->_impl_.operand_->MergeFrom(*from._impl_.operand_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + if (from._internal_test_only() != 0) { + _this->_impl_.test_only_ = from._impl_.test_only_; + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Expr_Select::CopyFrom(const Expr_Select& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Expr.Select) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Expr_Select::InternalSwap(Expr_Select* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.field_, &other->_impl_.field_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(Expr_Select, _impl_.test_only_) + + sizeof(Expr_Select::_impl_.test_only_) + - PROTOBUF_FIELD_OFFSET(Expr_Select, _impl_.operand_)>( + reinterpret_cast(&_impl_.operand_), + reinterpret_cast(&other->_impl_.operand_)); +} + +::google::protobuf::Metadata Expr_Select::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Expr_Call::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Expr_Call, _impl_._has_bits_); +}; + +Expr_Call::Expr_Call(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_Call_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Expr.Call) +} +PROTOBUF_NDEBUG_INLINE Expr_Call::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Expr_Call& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + args_{visibility, arena, from.args_}, + function_(arena, from.function_) {} + +Expr_Call::Expr_Call( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Expr_Call& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_Call_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Expr_Call* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.target_ = (CheckHasBit(cached_has_bits, 0x00000004U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.target_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:cel.expr.Expr.Call) +} +PROTOBUF_NDEBUG_INLINE Expr_Call::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + args_{visibility, arena}, + function_(arena) {} + +inline void Expr_Call::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.target_ = {}; +} +Expr_Call::~Expr_Call() { + // @@protoc_insertion_point(destructor:cel.expr.Expr.Call) + SharedDtor(*this); +} +inline void Expr_Call::SharedDtor(MessageLite& self) { + Expr_Call& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.function_.Destroy(); + delete this_._impl_.target_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Expr_Call::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Expr_Call(arena); +} +constexpr auto Expr_Call::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(Expr_Call, _impl_.args_) + + decltype(Expr_Call::_impl_.args_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(Expr_Call), alignof(Expr_Call), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&Expr_Call::PlacementNew_, + sizeof(Expr_Call), + alignof(Expr_Call)); + } +} +constexpr auto Expr_Call::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Expr_Call_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Expr_Call::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Expr_Call::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Expr_Call::ByteSizeLong, + &Expr_Call::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Expr_Call, _impl_._cached_size_), + false, + }, + &Expr_Call::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fsyntax_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Expr_Call_class_data_ = + Expr_Call::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Expr_Call::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Expr_Call_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Expr_Call_class_data_.tc_table); + return Expr_Call_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 3, 2, 35, 2> +Expr_Call::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Expr_Call, _impl_._has_bits_), + 0, // no _extensions_ + 3, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967288, // skipmap + offsetof(decltype(_table_), field_entries), + 3, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Expr_Call_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Expr_Call>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // .cel.expr.Expr target = 1; + {::_pbi::TcParser::FastMtS1, + {10, 2, 0, + PROTOBUF_FIELD_OFFSET(Expr_Call, _impl_.target_)}}, + // string function = 2; + {::_pbi::TcParser::FastUS1, + {18, 1, 0, + PROTOBUF_FIELD_OFFSET(Expr_Call, _impl_.function_)}}, + // repeated .cel.expr.Expr args = 3; + {::_pbi::TcParser::FastMtR1, + {26, 0, 1, + PROTOBUF_FIELD_OFFSET(Expr_Call, _impl_.args_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // .cel.expr.Expr target = 1; + {PROTOBUF_FIELD_OFFSET(Expr_Call, _impl_.target_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // string function = 2; + {PROTOBUF_FIELD_OFFSET(Expr_Call, _impl_.function_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // repeated .cel.expr.Expr args = 3; + {PROTOBUF_FIELD_OFFSET(Expr_Call, _impl_.args_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Expr>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Expr>()}, + }}, + {{ + "\22\0\10\0\0\0\0\0" + "cel.expr.Expr.Call" + "function" + }}, +}; +PROTOBUF_NOINLINE void Expr_Call::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Expr.Call) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.args_.Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + _impl_.function_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + ABSL_DCHECK(_impl_.target_ != nullptr); + _impl_.target_->Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Expr_Call::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Expr_Call& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Expr_Call::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Expr_Call& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Expr.Call) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // .cel.expr.Expr target = 1; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, *this_._impl_.target_, this_._impl_.target_->GetCachedSize(), target, + stream); + } + + // string function = 2; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!this_._internal_function().empty()) { + const ::std::string& _s = this_._internal_function(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Expr.Call.function"); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + } + + // repeated .cel.expr.Expr args = 3; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_args_size()); + i < n; i++) { + const auto& repfield = this_._internal_args().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Expr.Call) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Expr_Call::ByteSizeLong(const MessageLite& base) { + const Expr_Call& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Expr_Call::ByteSizeLong() const { + const Expr_Call& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Expr.Call) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + // repeated .cel.expr.Expr args = 3; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += 1UL * this_._internal_args_size(); + for (const auto& msg : this_._internal_args()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // string function = 2; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!this_._internal_function().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_function()); + } + } + // .cel.expr.Expr target = 1; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.target_); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Expr_Call::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Expr.Call) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_args()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_args()); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!from._internal_function().empty()) { + _this->_internal_set_function(from._internal_function()); + } else { + if (_this->_impl_.function_.IsDefault()) { + _this->_internal_set_function(""); + } + } + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + ABSL_DCHECK(from._impl_.target_ != nullptr); + if (_this->_impl_.target_ == nullptr) { + _this->_impl_.target_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.target_); + } else { + _this->_impl_.target_->MergeFrom(*from._impl_.target_); + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Expr_Call::CopyFrom(const Expr_Call& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Expr.Call) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Expr_Call::InternalSwap(Expr_Call* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.args_.InternalSwap(&other->_impl_.args_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.function_, &other->_impl_.function_, arena); + swap(_impl_.target_, other->_impl_.target_); +} + +::google::protobuf::Metadata Expr_Call::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Expr_CreateList::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Expr_CreateList, _impl_._has_bits_); +}; + +Expr_CreateList::Expr_CreateList(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_CreateList_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Expr.CreateList) +} +PROTOBUF_NDEBUG_INLINE Expr_CreateList::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Expr_CreateList& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + elements_{visibility, arena, from.elements_}, + optional_indices_{visibility, arena, from.optional_indices_}, + _optional_indices_cached_byte_size_{0} {} + +Expr_CreateList::Expr_CreateList( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Expr_CreateList& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_CreateList_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Expr_CreateList* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:cel.expr.Expr.CreateList) +} +PROTOBUF_NDEBUG_INLINE Expr_CreateList::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + elements_{visibility, arena}, + optional_indices_{visibility, arena}, + _optional_indices_cached_byte_size_{0} {} + +inline void Expr_CreateList::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +Expr_CreateList::~Expr_CreateList() { + // @@protoc_insertion_point(destructor:cel.expr.Expr.CreateList) + SharedDtor(*this); +} +inline void Expr_CreateList::SharedDtor(MessageLite& self) { + Expr_CreateList& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Expr_CreateList::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Expr_CreateList(arena); +} +constexpr auto Expr_CreateList::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(Expr_CreateList, _impl_.elements_) + + decltype(Expr_CreateList::_impl_.elements_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(Expr_CreateList, _impl_.optional_indices_) + + decltype(Expr_CreateList::_impl_.optional_indices_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(Expr_CreateList), alignof(Expr_CreateList), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&Expr_CreateList::PlacementNew_, + sizeof(Expr_CreateList), + alignof(Expr_CreateList)); + } +} +constexpr auto Expr_CreateList::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Expr_CreateList_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Expr_CreateList::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Expr_CreateList::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Expr_CreateList::ByteSizeLong, + &Expr_CreateList::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Expr_CreateList, _impl_._cached_size_), + false, + }, + &Expr_CreateList::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fsyntax_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Expr_CreateList_class_data_ = + Expr_CreateList::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Expr_CreateList::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Expr_CreateList_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Expr_CreateList_class_data_.tc_table); + return Expr_CreateList_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 1, 0, 2> +Expr_CreateList::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Expr_CreateList, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Expr_CreateList_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Expr_CreateList>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated int32 optional_indices = 2; + {::_pbi::TcParser::FastV32P1, + {18, 1, 0, + PROTOBUF_FIELD_OFFSET(Expr_CreateList, _impl_.optional_indices_)}}, + // repeated .cel.expr.Expr elements = 1; + {::_pbi::TcParser::FastMtR1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(Expr_CreateList, _impl_.elements_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // repeated .cel.expr.Expr elements = 1; + {PROTOBUF_FIELD_OFFSET(Expr_CreateList, _impl_.elements_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + // repeated int32 optional_indices = 2; + {PROTOBUF_FIELD_OFFSET(Expr_CreateList, _impl_.optional_indices_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Expr>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void Expr_CreateList::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Expr.CreateList) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.elements_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.optional_indices_.Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Expr_CreateList::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Expr_CreateList& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Expr_CreateList::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Expr_CreateList& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Expr.CreateList) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // repeated .cel.expr.Expr elements = 1; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_elements_size()); + i < n; i++) { + const auto& repfield = this_._internal_elements().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + // repeated int32 optional_indices = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + { + int byte_size = this_._impl_._optional_indices_cached_byte_size_.Get(); + if (byte_size > 0) { + target = stream->WriteInt32Packed( + 2, this_._internal_optional_indices(), byte_size, target); + } + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Expr.CreateList) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Expr_CreateList::ByteSizeLong(const MessageLite& base) { + const Expr_CreateList& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Expr_CreateList::ByteSizeLong() const { + const Expr_CreateList& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Expr.CreateList) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + // repeated .cel.expr.Expr elements = 1; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += 1UL * this_._internal_elements_size(); + for (const auto& msg : this_._internal_elements()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // repeated int32 optional_indices = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + total_size += + ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize( + this_._internal_optional_indices(), 1, + this_._impl_._optional_indices_cached_byte_size_); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Expr_CreateList::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Expr.CreateList) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_elements()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_elements()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_optional_indices()->MergeFrom(from._internal_optional_indices()); + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Expr_CreateList::CopyFrom(const Expr_CreateList& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Expr.CreateList) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Expr_CreateList::InternalSwap(Expr_CreateList* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.elements_.InternalSwap(&other->_impl_.elements_); + _impl_.optional_indices_.InternalSwap(&other->_impl_.optional_indices_); +} + +::google::protobuf::Metadata Expr_CreateList::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Expr_CreateStruct_Entry::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Expr_CreateStruct_Entry, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr_CreateStruct_Entry, _impl_._oneof_case_); +}; + +void Expr_CreateStruct_Entry::set_allocated_map_key(::cel::expr::Expr* PROTOBUF_NULLABLE map_key) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_key_kind(); + if (map_key) { + ::google::protobuf::Arena* submessage_arena = map_key->GetArena(); + if (message_arena != submessage_arena) { + map_key = ::google::protobuf::internal::GetOwnedMessage(message_arena, map_key, submessage_arena); + } + set_has_map_key(); + _impl_.key_kind_.map_key_ = map_key; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.CreateStruct.Entry.map_key) +} +Expr_CreateStruct_Entry::Expr_CreateStruct_Entry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_CreateStruct_Entry_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Expr.CreateStruct.Entry) +} +PROTOBUF_NDEBUG_INLINE Expr_CreateStruct_Entry::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Expr_CreateStruct_Entry& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + key_kind_{}, + _oneof_case_{from._oneof_case_[0]} {} + +Expr_CreateStruct_Entry::Expr_CreateStruct_Entry( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Expr_CreateStruct_Entry& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_CreateStruct_Entry_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Expr_CreateStruct_Entry* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.value_ = (CheckHasBit(cached_has_bits, 0x00000001U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_) + : nullptr; + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, id_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, id_), + offsetof(Impl_, optional_entry_) - + offsetof(Impl_, id_) + + sizeof(Impl_::optional_entry_)); + switch (key_kind_case()) { + case KEY_KIND_NOT_SET: + break; + case kFieldKey: + new (&_impl_.key_kind_.field_key_) decltype(_impl_.key_kind_.field_key_){arena, from._impl_.key_kind_.field_key_}; + break; + case kMapKey: + _impl_.key_kind_.map_key_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.key_kind_.map_key_); + break; + } + + // @@protoc_insertion_point(copy_constructor:cel.expr.Expr.CreateStruct.Entry) +} +PROTOBUF_NDEBUG_INLINE Expr_CreateStruct_Entry::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + key_kind_{}, + _oneof_case_{} {} + +inline void Expr_CreateStruct_Entry::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, value_), + 0, + offsetof(Impl_, optional_entry_) - + offsetof(Impl_, value_) + + sizeof(Impl_::optional_entry_)); +} +Expr_CreateStruct_Entry::~Expr_CreateStruct_Entry() { + // @@protoc_insertion_point(destructor:cel.expr.Expr.CreateStruct.Entry) + SharedDtor(*this); +} +inline void Expr_CreateStruct_Entry::SharedDtor(MessageLite& self) { + Expr_CreateStruct_Entry& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + delete this_._impl_.value_; + if (this_.has_key_kind()) { + this_.clear_key_kind(); + } + this_._impl_.~Impl_(); +} + +void Expr_CreateStruct_Entry::clear_key_kind() { +// @@protoc_insertion_point(one_of_clear_start:cel.expr.Expr.CreateStruct.Entry) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (key_kind_case()) { + case kFieldKey: { + _impl_.key_kind_.field_key_.Destroy(); + break; + } + case kMapKey: { + if (GetArena() == nullptr) { + delete _impl_.key_kind_.map_key_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.key_kind_.map_key_); + } + break; + } + case KEY_KIND_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = KEY_KIND_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL Expr_CreateStruct_Entry::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Expr_CreateStruct_Entry(arena); +} +constexpr auto Expr_CreateStruct_Entry::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Expr_CreateStruct_Entry), + alignof(Expr_CreateStruct_Entry)); +} +constexpr auto Expr_CreateStruct_Entry::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Expr_CreateStruct_Entry_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Expr_CreateStruct_Entry::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Expr_CreateStruct_Entry::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Expr_CreateStruct_Entry::ByteSizeLong, + &Expr_CreateStruct_Entry::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Expr_CreateStruct_Entry, _impl_._cached_size_), + false, + }, + &Expr_CreateStruct_Entry::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fsyntax_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Expr_CreateStruct_Entry_class_data_ = + Expr_CreateStruct_Entry::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Expr_CreateStruct_Entry::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Expr_CreateStruct_Entry_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Expr_CreateStruct_Entry_class_data_.tc_table); + return Expr_CreateStruct_Entry_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 5, 2, 50, 2> +Expr_CreateStruct_Entry::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Expr_CreateStruct_Entry, _impl_._has_bits_), + 0, // no _extensions_ + 5, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967264, // skipmap + offsetof(decltype(_table_), field_entries), + 5, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Expr_CreateStruct_Entry_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Expr_CreateStruct_Entry>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // int64 id = 1; + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(Expr_CreateStruct_Entry, _impl_.id_), 1>(), + {8, 1, 0, + PROTOBUF_FIELD_OFFSET(Expr_CreateStruct_Entry, _impl_.id_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + // .cel.expr.Expr value = 4; + {::_pbi::TcParser::FastMtS1, + {34, 0, 1, + PROTOBUF_FIELD_OFFSET(Expr_CreateStruct_Entry, _impl_.value_)}}, + // bool optional_entry = 5; + {::_pbi::TcParser::SingularVarintNoZag1(), + {40, 2, 0, + PROTOBUF_FIELD_OFFSET(Expr_CreateStruct_Entry, _impl_.optional_entry_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // int64 id = 1; + {PROTOBUF_FIELD_OFFSET(Expr_CreateStruct_Entry, _impl_.id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)}, + // string field_key = 2; + {PROTOBUF_FIELD_OFFSET(Expr_CreateStruct_Entry, _impl_.key_kind_.field_key_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // .cel.expr.Expr map_key = 3; + {PROTOBUF_FIELD_OFFSET(Expr_CreateStruct_Entry, _impl_.key_kind_.map_key_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Expr value = 4; + {PROTOBUF_FIELD_OFFSET(Expr_CreateStruct_Entry, _impl_.value_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // bool optional_entry = 5; + {PROTOBUF_FIELD_OFFSET(Expr_CreateStruct_Entry, _impl_.optional_entry_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Expr>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Expr>()}, + }}, + {{ + "\40\0\11\0\0\0\0\0" + "cel.expr.Expr.CreateStruct.Entry" + "field_key" + }}, +}; +PROTOBUF_NOINLINE void Expr_CreateStruct_Entry::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Expr.CreateStruct.Entry) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(_impl_.value_ != nullptr); + _impl_.value_->Clear(); + } + if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) { + ::memset(&_impl_.id_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.optional_entry_) - + reinterpret_cast(&_impl_.id_)) + sizeof(_impl_.optional_entry_)); + } + clear_key_kind(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Expr_CreateStruct_Entry::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Expr_CreateStruct_Entry& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Expr_CreateStruct_Entry::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Expr_CreateStruct_Entry& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Expr.CreateStruct.Entry) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // int64 id = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (this_._internal_id() != 0) { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>( + stream, this_._internal_id(), target); + } + } + + switch (this_.key_kind_case()) { + case kFieldKey: { + const ::std::string& _s = this_._internal_field_key(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Expr.CreateStruct.Entry.field_key"); + target = stream->WriteStringMaybeAliased(2, _s, target); + break; + } + case kMapKey: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, *this_._impl_.key_kind_.map_key_, this_._impl_.key_kind_.map_key_->GetCachedSize(), target, + stream); + break; + } + default: + break; + } + // .cel.expr.Expr value = 4; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, *this_._impl_.value_, this_._impl_.value_->GetCachedSize(), target, + stream); + } + + // bool optional_entry = 5; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + if (this_._internal_optional_entry() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 5, this_._internal_optional_entry(), target); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Expr.CreateStruct.Entry) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Expr_CreateStruct_Entry::ByteSizeLong(const MessageLite& base) { + const Expr_CreateStruct_Entry& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Expr_CreateStruct_Entry::ByteSizeLong() const { + const Expr_CreateStruct_Entry& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Expr.CreateStruct.Entry) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + // .cel.expr.Expr value = 4; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_); + } + // int64 id = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (this_._internal_id() != 0) { + total_size += ::_pbi::WireFormatLite::Int64SizePlusOne( + this_._internal_id()); + } + } + // bool optional_entry = 5; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + if (this_._internal_optional_entry() != 0) { + total_size += 2; + } + } + } + switch (this_.key_kind_case()) { + // string field_key = 2; + case kFieldKey: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_field_key()); + break; + } + // .cel.expr.Expr map_key = 3; + case kMapKey: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.key_kind_.map_key_); + break; + } + case KEY_KIND_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Expr_CreateStruct_Entry::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Expr.CreateStruct.Entry) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(from._impl_.value_ != nullptr); + if (_this->_impl_.value_ == nullptr) { + _this->_impl_.value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_); + } else { + _this->_impl_.value_->MergeFrom(*from._impl_.value_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (from._internal_id() != 0) { + _this->_impl_.id_ = from._impl_.id_; + } + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + if (from._internal_optional_entry() != 0) { + _this->_impl_.optional_entry_ = from._impl_.optional_entry_; + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_key_kind(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kFieldKey: { + if (oneof_needs_init) { + _this->_impl_.key_kind_.field_key_.InitDefault(); + } + _this->_impl_.key_kind_.field_key_.Set(from._internal_field_key(), arena); + break; + } + case kMapKey: { + if (oneof_needs_init) { + _this->_impl_.key_kind_.map_key_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.key_kind_.map_key_); + } else { + _this->_impl_.key_kind_.map_key_->MergeFrom(*from._impl_.key_kind_.map_key_); + } + break; + } + case KEY_KIND_NOT_SET: + break; + } + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Expr_CreateStruct_Entry::CopyFrom(const Expr_CreateStruct_Entry& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Expr.CreateStruct.Entry) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Expr_CreateStruct_Entry::InternalSwap(Expr_CreateStruct_Entry* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(Expr_CreateStruct_Entry, _impl_.optional_entry_) + + sizeof(Expr_CreateStruct_Entry::_impl_.optional_entry_) + - PROTOBUF_FIELD_OFFSET(Expr_CreateStruct_Entry, _impl_.value_)>( + reinterpret_cast(&_impl_.value_), + reinterpret_cast(&other->_impl_.value_)); + swap(_impl_.key_kind_, other->_impl_.key_kind_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::google::protobuf::Metadata Expr_CreateStruct_Entry::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Expr_CreateStruct::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Expr_CreateStruct, _impl_._has_bits_); +}; + +Expr_CreateStruct::Expr_CreateStruct(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_CreateStruct_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Expr.CreateStruct) +} +PROTOBUF_NDEBUG_INLINE Expr_CreateStruct::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Expr_CreateStruct& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + entries_{visibility, arena, from.entries_}, + message_name_(arena, from.message_name_) {} + +Expr_CreateStruct::Expr_CreateStruct( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Expr_CreateStruct& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_CreateStruct_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Expr_CreateStruct* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:cel.expr.Expr.CreateStruct) +} +PROTOBUF_NDEBUG_INLINE Expr_CreateStruct::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + entries_{visibility, arena}, + message_name_(arena) {} + +inline void Expr_CreateStruct::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +Expr_CreateStruct::~Expr_CreateStruct() { + // @@protoc_insertion_point(destructor:cel.expr.Expr.CreateStruct) + SharedDtor(*this); +} +inline void Expr_CreateStruct::SharedDtor(MessageLite& self) { + Expr_CreateStruct& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.message_name_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Expr_CreateStruct::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Expr_CreateStruct(arena); +} +constexpr auto Expr_CreateStruct::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(Expr_CreateStruct, _impl_.entries_) + + decltype(Expr_CreateStruct::_impl_.entries_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(Expr_CreateStruct), alignof(Expr_CreateStruct), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&Expr_CreateStruct::PlacementNew_, + sizeof(Expr_CreateStruct), + alignof(Expr_CreateStruct)); + } +} +constexpr auto Expr_CreateStruct::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Expr_CreateStruct_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Expr_CreateStruct::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Expr_CreateStruct::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Expr_CreateStruct::ByteSizeLong, + &Expr_CreateStruct::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Expr_CreateStruct, _impl_._cached_size_), + false, + }, + &Expr_CreateStruct::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fsyntax_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Expr_CreateStruct_class_data_ = + Expr_CreateStruct::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Expr_CreateStruct::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Expr_CreateStruct_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Expr_CreateStruct_class_data_.tc_table); + return Expr_CreateStruct_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 1, 47, 2> +Expr_CreateStruct::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Expr_CreateStruct, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Expr_CreateStruct_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Expr_CreateStruct>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .cel.expr.Expr.CreateStruct.Entry entries = 2; + {::_pbi::TcParser::FastMtR1, + {18, 0, 0, + PROTOBUF_FIELD_OFFSET(Expr_CreateStruct, _impl_.entries_)}}, + // string message_name = 1; + {::_pbi::TcParser::FastUS1, + {10, 1, 0, + PROTOBUF_FIELD_OFFSET(Expr_CreateStruct, _impl_.message_name_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string message_name = 1; + {PROTOBUF_FIELD_OFFSET(Expr_CreateStruct, _impl_.message_name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // repeated .cel.expr.Expr.CreateStruct.Entry entries = 2; + {PROTOBUF_FIELD_OFFSET(Expr_CreateStruct, _impl_.entries_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Expr_CreateStruct_Entry>()}, + }}, + {{ + "\32\14\0\0\0\0\0\0" + "cel.expr.Expr.CreateStruct" + "message_name" + }}, +}; +PROTOBUF_NOINLINE void Expr_CreateStruct::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Expr.CreateStruct) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.entries_.Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + _impl_.message_name_.ClearNonDefaultToEmpty(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Expr_CreateStruct::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Expr_CreateStruct& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Expr_CreateStruct::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Expr_CreateStruct& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Expr.CreateStruct) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // string message_name = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!this_._internal_message_name().empty()) { + const ::std::string& _s = this_._internal_message_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Expr.CreateStruct.message_name"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + } + + // repeated .cel.expr.Expr.CreateStruct.Entry entries = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_entries_size()); + i < n; i++) { + const auto& repfield = this_._internal_entries().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Expr.CreateStruct) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Expr_CreateStruct::ByteSizeLong(const MessageLite& base) { + const Expr_CreateStruct& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Expr_CreateStruct::ByteSizeLong() const { + const Expr_CreateStruct& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Expr.CreateStruct) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + // repeated .cel.expr.Expr.CreateStruct.Entry entries = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += 1UL * this_._internal_entries_size(); + for (const auto& msg : this_._internal_entries()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // string message_name = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!this_._internal_message_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_message_name()); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Expr_CreateStruct::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Expr.CreateStruct) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_entries()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_entries()); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!from._internal_message_name().empty()) { + _this->_internal_set_message_name(from._internal_message_name()); + } else { + if (_this->_impl_.message_name_.IsDefault()) { + _this->_internal_set_message_name(""); + } + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Expr_CreateStruct::CopyFrom(const Expr_CreateStruct& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Expr.CreateStruct) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Expr_CreateStruct::InternalSwap(Expr_CreateStruct* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.entries_.InternalSwap(&other->_impl_.entries_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.message_name_, &other->_impl_.message_name_, arena); +} + +::google::protobuf::Metadata Expr_CreateStruct::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Expr_Comprehension::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_._has_bits_); +}; + +Expr_Comprehension::Expr_Comprehension(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_Comprehension_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Expr.Comprehension) +} +PROTOBUF_NDEBUG_INLINE Expr_Comprehension::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Expr_Comprehension& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + iter_var_(arena, from.iter_var_), + accu_var_(arena, from.accu_var_), + iter_var2_(arena, from.iter_var2_) {} + +Expr_Comprehension::Expr_Comprehension( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Expr_Comprehension& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_Comprehension_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Expr_Comprehension* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.iter_range_ = (CheckHasBit(cached_has_bits, 0x00000008U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.iter_range_) + : nullptr; + _impl_.accu_init_ = (CheckHasBit(cached_has_bits, 0x00000010U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.accu_init_) + : nullptr; + _impl_.loop_condition_ = (CheckHasBit(cached_has_bits, 0x00000020U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.loop_condition_) + : nullptr; + _impl_.loop_step_ = (CheckHasBit(cached_has_bits, 0x00000040U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.loop_step_) + : nullptr; + _impl_.result_ = (CheckHasBit(cached_has_bits, 0x00000080U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.result_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:cel.expr.Expr.Comprehension) +} +PROTOBUF_NDEBUG_INLINE Expr_Comprehension::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + iter_var_(arena), + accu_var_(arena), + iter_var2_(arena) {} + +inline void Expr_Comprehension::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, iter_range_), + 0, + offsetof(Impl_, result_) - + offsetof(Impl_, iter_range_) + + sizeof(Impl_::result_)); +} +Expr_Comprehension::~Expr_Comprehension() { + // @@protoc_insertion_point(destructor:cel.expr.Expr.Comprehension) + SharedDtor(*this); +} +inline void Expr_Comprehension::SharedDtor(MessageLite& self) { + Expr_Comprehension& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.iter_var_.Destroy(); + this_._impl_.accu_var_.Destroy(); + this_._impl_.iter_var2_.Destroy(); + delete this_._impl_.iter_range_; + delete this_._impl_.accu_init_; + delete this_._impl_.loop_condition_; + delete this_._impl_.loop_step_; + delete this_._impl_.result_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL Expr_Comprehension::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Expr_Comprehension(arena); +} +constexpr auto Expr_Comprehension::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Expr_Comprehension), + alignof(Expr_Comprehension)); +} +constexpr auto Expr_Comprehension::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Expr_Comprehension_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Expr_Comprehension::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Expr_Comprehension::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Expr_Comprehension::ByteSizeLong, + &Expr_Comprehension::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_._cached_size_), + false, + }, + &Expr_Comprehension::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fsyntax_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Expr_Comprehension_class_data_ = + Expr_Comprehension::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Expr_Comprehension::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Expr_Comprehension_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Expr_Comprehension_class_data_.tc_table); + return Expr_Comprehension_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 8, 5, 69, 2> +Expr_Comprehension::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_._has_bits_), + 0, // no _extensions_ + 8, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967040, // skipmap + offsetof(decltype(_table_), field_entries), + 8, // num_field_entries + 5, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Expr_Comprehension_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Expr_Comprehension>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // string iter_var2 = 8; + {::_pbi::TcParser::FastUS1, + {66, 2, 0, + PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.iter_var2_)}}, + // string iter_var = 1; + {::_pbi::TcParser::FastUS1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.iter_var_)}}, + // .cel.expr.Expr iter_range = 2; + {::_pbi::TcParser::FastMtS1, + {18, 3, 0, + PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.iter_range_)}}, + // string accu_var = 3; + {::_pbi::TcParser::FastUS1, + {26, 1, 0, + PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.accu_var_)}}, + // .cel.expr.Expr accu_init = 4; + {::_pbi::TcParser::FastMtS1, + {34, 4, 1, + PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.accu_init_)}}, + // .cel.expr.Expr loop_condition = 5; + {::_pbi::TcParser::FastMtS1, + {42, 5, 2, + PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.loop_condition_)}}, + // .cel.expr.Expr loop_step = 6; + {::_pbi::TcParser::FastMtS1, + {50, 6, 3, + PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.loop_step_)}}, + // .cel.expr.Expr result = 7; + {::_pbi::TcParser::FastMtS1, + {58, 7, 4, + PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.result_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string iter_var = 1; + {PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.iter_var_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // .cel.expr.Expr iter_range = 2; + {PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.iter_range_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // string accu_var = 3; + {PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.accu_var_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // .cel.expr.Expr accu_init = 4; + {PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.accu_init_), _Internal::kHasBitsOffset + 4, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Expr loop_condition = 5; + {PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.loop_condition_), _Internal::kHasBitsOffset + 5, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Expr loop_step = 6; + {PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.loop_step_), _Internal::kHasBitsOffset + 6, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Expr result = 7; + {PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.result_), _Internal::kHasBitsOffset + 7, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // string iter_var2 = 8; + {PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.iter_var2_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Expr>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Expr>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Expr>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Expr>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Expr>()}, + }}, + {{ + "\33\10\0\10\0\0\0\0\11\0\0\0\0\0\0\0" + "cel.expr.Expr.Comprehension" + "iter_var" + "accu_var" + "iter_var2" + }}, +}; +PROTOBUF_NOINLINE void Expr_Comprehension::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Expr.Comprehension) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + _impl_.iter_var_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + _impl_.accu_var_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + _impl_.iter_var2_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + ABSL_DCHECK(_impl_.iter_range_ != nullptr); + _impl_.iter_range_->Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + ABSL_DCHECK(_impl_.accu_init_ != nullptr); + _impl_.accu_init_->Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000020U)) { + ABSL_DCHECK(_impl_.loop_condition_ != nullptr); + _impl_.loop_condition_->Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000040U)) { + ABSL_DCHECK(_impl_.loop_step_ != nullptr); + _impl_.loop_step_->Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000080U)) { + ABSL_DCHECK(_impl_.result_ != nullptr); + _impl_.result_->Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Expr_Comprehension::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Expr_Comprehension& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Expr_Comprehension::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Expr_Comprehension& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Expr.Comprehension) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // string iter_var = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!this_._internal_iter_var().empty()) { + const ::std::string& _s = this_._internal_iter_var(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Expr.Comprehension.iter_var"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + } + + // .cel.expr.Expr iter_range = 2; + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, *this_._impl_.iter_range_, this_._impl_.iter_range_->GetCachedSize(), target, + stream); + } + + // string accu_var = 3; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!this_._internal_accu_var().empty()) { + const ::std::string& _s = this_._internal_accu_var(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Expr.Comprehension.accu_var"); + target = stream->WriteStringMaybeAliased(3, _s, target); + } + } + + // .cel.expr.Expr accu_init = 4; + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, *this_._impl_.accu_init_, this_._impl_.accu_init_->GetCachedSize(), target, + stream); + } + + // .cel.expr.Expr loop_condition = 5; + if (CheckHasBit(cached_has_bits, 0x00000020U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 5, *this_._impl_.loop_condition_, this_._impl_.loop_condition_->GetCachedSize(), target, + stream); + } + + // .cel.expr.Expr loop_step = 6; + if (CheckHasBit(cached_has_bits, 0x00000040U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 6, *this_._impl_.loop_step_, this_._impl_.loop_step_->GetCachedSize(), target, + stream); + } + + // .cel.expr.Expr result = 7; + if (CheckHasBit(cached_has_bits, 0x00000080U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 7, *this_._impl_.result_, this_._impl_.result_->GetCachedSize(), target, + stream); + } + + // string iter_var2 = 8; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + if (!this_._internal_iter_var2().empty()) { + const ::std::string& _s = this_._internal_iter_var2(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Expr.Comprehension.iter_var2"); + target = stream->WriteStringMaybeAliased(8, _s, target); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Expr.Comprehension) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Expr_Comprehension::ByteSizeLong(const MessageLite& base) { + const Expr_Comprehension& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Expr_Comprehension::ByteSizeLong() const { + const Expr_Comprehension& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Expr.Comprehension) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) { + // string iter_var = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!this_._internal_iter_var().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_iter_var()); + } + } + // string accu_var = 3; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!this_._internal_accu_var().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_accu_var()); + } + } + // string iter_var2 = 8; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + if (!this_._internal_iter_var2().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_iter_var2()); + } + } + // .cel.expr.Expr iter_range = 2; + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.iter_range_); + } + // .cel.expr.Expr accu_init = 4; + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.accu_init_); + } + // .cel.expr.Expr loop_condition = 5; + if (CheckHasBit(cached_has_bits, 0x00000020U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.loop_condition_); + } + // .cel.expr.Expr loop_step = 6; + if (CheckHasBit(cached_has_bits, 0x00000040U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.loop_step_); + } + // .cel.expr.Expr result = 7; + if (CheckHasBit(cached_has_bits, 0x00000080U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.result_); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Expr_Comprehension::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Expr.Comprehension) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!from._internal_iter_var().empty()) { + _this->_internal_set_iter_var(from._internal_iter_var()); + } else { + if (_this->_impl_.iter_var_.IsDefault()) { + _this->_internal_set_iter_var(""); + } + } + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!from._internal_accu_var().empty()) { + _this->_internal_set_accu_var(from._internal_accu_var()); + } else { + if (_this->_impl_.accu_var_.IsDefault()) { + _this->_internal_set_accu_var(""); + } + } + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + if (!from._internal_iter_var2().empty()) { + _this->_internal_set_iter_var2(from._internal_iter_var2()); + } else { + if (_this->_impl_.iter_var2_.IsDefault()) { + _this->_internal_set_iter_var2(""); + } + } + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + ABSL_DCHECK(from._impl_.iter_range_ != nullptr); + if (_this->_impl_.iter_range_ == nullptr) { + _this->_impl_.iter_range_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.iter_range_); + } else { + _this->_impl_.iter_range_->MergeFrom(*from._impl_.iter_range_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000010U)) { + ABSL_DCHECK(from._impl_.accu_init_ != nullptr); + if (_this->_impl_.accu_init_ == nullptr) { + _this->_impl_.accu_init_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.accu_init_); + } else { + _this->_impl_.accu_init_->MergeFrom(*from._impl_.accu_init_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000020U)) { + ABSL_DCHECK(from._impl_.loop_condition_ != nullptr); + if (_this->_impl_.loop_condition_ == nullptr) { + _this->_impl_.loop_condition_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.loop_condition_); + } else { + _this->_impl_.loop_condition_->MergeFrom(*from._impl_.loop_condition_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000040U)) { + ABSL_DCHECK(from._impl_.loop_step_ != nullptr); + if (_this->_impl_.loop_step_ == nullptr) { + _this->_impl_.loop_step_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.loop_step_); + } else { + _this->_impl_.loop_step_->MergeFrom(*from._impl_.loop_step_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000080U)) { + ABSL_DCHECK(from._impl_.result_ != nullptr); + if (_this->_impl_.result_ == nullptr) { + _this->_impl_.result_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.result_); + } else { + _this->_impl_.result_->MergeFrom(*from._impl_.result_); + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Expr_Comprehension::CopyFrom(const Expr_Comprehension& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Expr.Comprehension) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Expr_Comprehension::InternalSwap(Expr_Comprehension* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.iter_var_, &other->_impl_.iter_var_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.accu_var_, &other->_impl_.accu_var_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.iter_var2_, &other->_impl_.iter_var2_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.result_) + + sizeof(Expr_Comprehension::_impl_.result_) + - PROTOBUF_FIELD_OFFSET(Expr_Comprehension, _impl_.iter_range_)>( + reinterpret_cast(&_impl_.iter_range_), + reinterpret_cast(&other->_impl_.iter_range_)); +} + +::google::protobuf::Metadata Expr_Comprehension::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Expr::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(Expr, _impl_._has_bits_); + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::cel::expr::Expr, _impl_._oneof_case_); +}; + +void Expr::set_allocated_const_expr(::cel::expr::Constant* PROTOBUF_NULLABLE const_expr) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_expr_kind(); + if (const_expr) { + ::google::protobuf::Arena* submessage_arena = const_expr->GetArena(); + if (message_arena != submessage_arena) { + const_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, const_expr, submessage_arena); + } + set_has_const_expr(); + _impl_.expr_kind_.const_expr_ = const_expr; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.const_expr) +} +void Expr::set_allocated_ident_expr(::cel::expr::Expr_Ident* PROTOBUF_NULLABLE ident_expr) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_expr_kind(); + if (ident_expr) { + ::google::protobuf::Arena* submessage_arena = ident_expr->GetArena(); + if (message_arena != submessage_arena) { + ident_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, ident_expr, submessage_arena); + } + set_has_ident_expr(); + _impl_.expr_kind_.ident_expr_ = ident_expr; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.ident_expr) +} +void Expr::set_allocated_select_expr(::cel::expr::Expr_Select* PROTOBUF_NULLABLE select_expr) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_expr_kind(); + if (select_expr) { + ::google::protobuf::Arena* submessage_arena = select_expr->GetArena(); + if (message_arena != submessage_arena) { + select_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, select_expr, submessage_arena); + } + set_has_select_expr(); + _impl_.expr_kind_.select_expr_ = select_expr; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.select_expr) +} +void Expr::set_allocated_call_expr(::cel::expr::Expr_Call* PROTOBUF_NULLABLE call_expr) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_expr_kind(); + if (call_expr) { + ::google::protobuf::Arena* submessage_arena = call_expr->GetArena(); + if (message_arena != submessage_arena) { + call_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, call_expr, submessage_arena); + } + set_has_call_expr(); + _impl_.expr_kind_.call_expr_ = call_expr; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.call_expr) +} +void Expr::set_allocated_list_expr(::cel::expr::Expr_CreateList* PROTOBUF_NULLABLE list_expr) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_expr_kind(); + if (list_expr) { + ::google::protobuf::Arena* submessage_arena = list_expr->GetArena(); + if (message_arena != submessage_arena) { + list_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, list_expr, submessage_arena); + } + set_has_list_expr(); + _impl_.expr_kind_.list_expr_ = list_expr; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.list_expr) +} +void Expr::set_allocated_struct_expr(::cel::expr::Expr_CreateStruct* PROTOBUF_NULLABLE struct_expr) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_expr_kind(); + if (struct_expr) { + ::google::protobuf::Arena* submessage_arena = struct_expr->GetArena(); + if (message_arena != submessage_arena) { + struct_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, struct_expr, submessage_arena); + } + set_has_struct_expr(); + _impl_.expr_kind_.struct_expr_ = struct_expr; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.struct_expr) +} +void Expr::set_allocated_comprehension_expr(::cel::expr::Expr_Comprehension* PROTOBUF_NULLABLE comprehension_expr) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_expr_kind(); + if (comprehension_expr) { + ::google::protobuf::Arena* submessage_arena = comprehension_expr->GetArena(); + if (message_arena != submessage_arena) { + comprehension_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, comprehension_expr, submessage_arena); + } + set_has_comprehension_expr(); + _impl_.expr_kind_.comprehension_expr_ = comprehension_expr; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.comprehension_expr) +} +Expr::Expr(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Expr) +} +PROTOBUF_NDEBUG_INLINE Expr::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Expr& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + expr_kind_{}, + _oneof_case_{from._oneof_case_[0]} {} + +Expr::Expr( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Expr& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Expr_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Expr* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_.id_ = from._impl_.id_; + switch (expr_kind_case()) { + case EXPR_KIND_NOT_SET: + break; + case kConstExpr: + _impl_.expr_kind_.const_expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_kind_.const_expr_); + break; + case kIdentExpr: + _impl_.expr_kind_.ident_expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_kind_.ident_expr_); + break; + case kSelectExpr: + _impl_.expr_kind_.select_expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_kind_.select_expr_); + break; + case kCallExpr: + _impl_.expr_kind_.call_expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_kind_.call_expr_); + break; + case kListExpr: + _impl_.expr_kind_.list_expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_kind_.list_expr_); + break; + case kStructExpr: + _impl_.expr_kind_.struct_expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_kind_.struct_expr_); + break; + case kComprehensionExpr: + _impl_.expr_kind_.comprehension_expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_kind_.comprehension_expr_); + break; + } + + // @@protoc_insertion_point(copy_constructor:cel.expr.Expr) +} +PROTOBUF_NDEBUG_INLINE Expr::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + expr_kind_{}, + _oneof_case_{} {} + +inline void Expr::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.id_ = {}; +} +Expr::~Expr() { + // @@protoc_insertion_point(destructor:cel.expr.Expr) + SharedDtor(*this); +} +inline void Expr::SharedDtor(MessageLite& self) { + Expr& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_expr_kind()) { + this_.clear_expr_kind(); + } + this_._impl_.~Impl_(); +} + +void Expr::clear_expr_kind() { +// @@protoc_insertion_point(one_of_clear_start:cel.expr.Expr) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (expr_kind_case()) { + case kConstExpr: { + if (GetArena() == nullptr) { + delete _impl_.expr_kind_.const_expr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.expr_kind_.const_expr_); + } + break; + } + case kIdentExpr: { + if (GetArena() == nullptr) { + delete _impl_.expr_kind_.ident_expr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.expr_kind_.ident_expr_); + } + break; + } + case kSelectExpr: { + if (GetArena() == nullptr) { + delete _impl_.expr_kind_.select_expr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.expr_kind_.select_expr_); + } + break; + } + case kCallExpr: { + if (GetArena() == nullptr) { + delete _impl_.expr_kind_.call_expr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.expr_kind_.call_expr_); + } + break; + } + case kListExpr: { + if (GetArena() == nullptr) { + delete _impl_.expr_kind_.list_expr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.expr_kind_.list_expr_); + } + break; + } + case kStructExpr: { + if (GetArena() == nullptr) { + delete _impl_.expr_kind_.struct_expr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.expr_kind_.struct_expr_); + } + break; + } + case kComprehensionExpr: { + if (GetArena() == nullptr) { + delete _impl_.expr_kind_.comprehension_expr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.expr_kind_.comprehension_expr_); + } + break; + } + case EXPR_KIND_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = EXPR_KIND_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL Expr::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Expr(arena); +} +constexpr auto Expr::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Expr), + alignof(Expr)); +} +constexpr auto Expr::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Expr_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Expr::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Expr::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Expr::ByteSizeLong, + &Expr::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Expr, _impl_._cached_size_), + false, + }, + &Expr::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fsyntax_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Expr_class_data_ = + Expr::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Expr::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Expr_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Expr_class_data_.tc_table); + return Expr_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 8, 7, 0, 2> +Expr::_table_ = { + { + PROTOBUF_FIELD_OFFSET(Expr, _impl_._has_bits_), + 0, // no _extensions_ + 9, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294966785, // skipmap + offsetof(decltype(_table_), field_entries), + 8, // num_field_entries + 7, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Expr_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Expr>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // int64 id = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(Expr, _impl_.id_), 0>(), + {16, 0, 0, + PROTOBUF_FIELD_OFFSET(Expr, _impl_.id_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // int64 id = 2; + {PROTOBUF_FIELD_OFFSET(Expr, _impl_.id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)}, + // .cel.expr.Constant const_expr = 3; + {PROTOBUF_FIELD_OFFSET(Expr, _impl_.expr_kind_.const_expr_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Expr.Ident ident_expr = 4; + {PROTOBUF_FIELD_OFFSET(Expr, _impl_.expr_kind_.ident_expr_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Expr.Select select_expr = 5; + {PROTOBUF_FIELD_OFFSET(Expr, _impl_.expr_kind_.select_expr_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Expr.Call call_expr = 6; + {PROTOBUF_FIELD_OFFSET(Expr, _impl_.expr_kind_.call_expr_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Expr.CreateList list_expr = 7; + {PROTOBUF_FIELD_OFFSET(Expr, _impl_.expr_kind_.list_expr_), _Internal::kOneofCaseOffset + 0, 4, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Expr.CreateStruct struct_expr = 8; + {PROTOBUF_FIELD_OFFSET(Expr, _impl_.expr_kind_.struct_expr_), _Internal::kOneofCaseOffset + 0, 5, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Expr.Comprehension comprehension_expr = 9; + {PROTOBUF_FIELD_OFFSET(Expr, _impl_.expr_kind_.comprehension_expr_), _Internal::kOneofCaseOffset + 0, 6, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Constant>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Expr_Ident>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Expr_Select>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Expr_Call>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Expr_CreateList>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Expr_CreateStruct>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Expr_Comprehension>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void Expr::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Expr) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.id_ = ::int64_t{0}; + clear_expr_kind(); + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Expr::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Expr& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Expr::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Expr& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Expr) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // int64 id = 2; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (this_._internal_id() != 0) { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>( + stream, this_._internal_id(), target); + } + } + + switch (this_.expr_kind_case()) { + case kConstExpr: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, *this_._impl_.expr_kind_.const_expr_, this_._impl_.expr_kind_.const_expr_->GetCachedSize(), target, + stream); + break; + } + case kIdentExpr: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, *this_._impl_.expr_kind_.ident_expr_, this_._impl_.expr_kind_.ident_expr_->GetCachedSize(), target, + stream); + break; + } + case kSelectExpr: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 5, *this_._impl_.expr_kind_.select_expr_, this_._impl_.expr_kind_.select_expr_->GetCachedSize(), target, + stream); + break; + } + case kCallExpr: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 6, *this_._impl_.expr_kind_.call_expr_, this_._impl_.expr_kind_.call_expr_->GetCachedSize(), target, + stream); + break; + } + case kListExpr: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 7, *this_._impl_.expr_kind_.list_expr_, this_._impl_.expr_kind_.list_expr_->GetCachedSize(), target, + stream); + break; + } + case kStructExpr: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 8, *this_._impl_.expr_kind_.struct_expr_, this_._impl_.expr_kind_.struct_expr_->GetCachedSize(), target, + stream); + break; + } + case kComprehensionExpr: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 9, *this_._impl_.expr_kind_.comprehension_expr_, this_._impl_.expr_kind_.comprehension_expr_->GetCachedSize(), target, + stream); + break; + } + default: + break; + } + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Expr) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Expr::ByteSizeLong(const MessageLite& base) { + const Expr& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Expr::ByteSizeLong() const { + const Expr& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Expr) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + { + // int64 id = 2; + cached_has_bits = this_._impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (this_._internal_id() != 0) { + total_size += ::_pbi::WireFormatLite::Int64SizePlusOne( + this_._internal_id()); + } + } + } + switch (this_.expr_kind_case()) { + // .cel.expr.Constant const_expr = 3; + case kConstExpr: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.expr_kind_.const_expr_); + break; + } + // .cel.expr.Expr.Ident ident_expr = 4; + case kIdentExpr: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.expr_kind_.ident_expr_); + break; + } + // .cel.expr.Expr.Select select_expr = 5; + case kSelectExpr: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.expr_kind_.select_expr_); + break; + } + // .cel.expr.Expr.Call call_expr = 6; + case kCallExpr: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.expr_kind_.call_expr_); + break; + } + // .cel.expr.Expr.CreateList list_expr = 7; + case kListExpr: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.expr_kind_.list_expr_); + break; + } + // .cel.expr.Expr.CreateStruct struct_expr = 8; + case kStructExpr: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.expr_kind_.struct_expr_); + break; + } + // .cel.expr.Expr.Comprehension comprehension_expr = 9; + case kComprehensionExpr: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.expr_kind_.comprehension_expr_); + break; + } + case EXPR_KIND_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Expr::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Expr) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (from._internal_id() != 0) { + _this->_impl_.id_ = from._impl_.id_; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_expr_kind(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kConstExpr: { + if (oneof_needs_init) { + _this->_impl_.expr_kind_.const_expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_kind_.const_expr_); + } else { + _this->_impl_.expr_kind_.const_expr_->MergeFrom(*from._impl_.expr_kind_.const_expr_); + } + break; + } + case kIdentExpr: { + if (oneof_needs_init) { + _this->_impl_.expr_kind_.ident_expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_kind_.ident_expr_); + } else { + _this->_impl_.expr_kind_.ident_expr_->MergeFrom(*from._impl_.expr_kind_.ident_expr_); + } + break; + } + case kSelectExpr: { + if (oneof_needs_init) { + _this->_impl_.expr_kind_.select_expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_kind_.select_expr_); + } else { + _this->_impl_.expr_kind_.select_expr_->MergeFrom(*from._impl_.expr_kind_.select_expr_); + } + break; + } + case kCallExpr: { + if (oneof_needs_init) { + _this->_impl_.expr_kind_.call_expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_kind_.call_expr_); + } else { + _this->_impl_.expr_kind_.call_expr_->MergeFrom(*from._impl_.expr_kind_.call_expr_); + } + break; + } + case kListExpr: { + if (oneof_needs_init) { + _this->_impl_.expr_kind_.list_expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_kind_.list_expr_); + } else { + _this->_impl_.expr_kind_.list_expr_->MergeFrom(*from._impl_.expr_kind_.list_expr_); + } + break; + } + case kStructExpr: { + if (oneof_needs_init) { + _this->_impl_.expr_kind_.struct_expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_kind_.struct_expr_); + } else { + _this->_impl_.expr_kind_.struct_expr_->MergeFrom(*from._impl_.expr_kind_.struct_expr_); + } + break; + } + case kComprehensionExpr: { + if (oneof_needs_init) { + _this->_impl_.expr_kind_.comprehension_expr_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.expr_kind_.comprehension_expr_); + } else { + _this->_impl_.expr_kind_.comprehension_expr_->MergeFrom(*from._impl_.expr_kind_.comprehension_expr_); + } + break; + } + case EXPR_KIND_NOT_SET: + break; + } + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Expr::CopyFrom(const Expr& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Expr) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Expr::InternalSwap(Expr* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + swap(_impl_.id_, other->_impl_.id_); + swap(_impl_.expr_kind_, other->_impl_.expr_kind_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::google::protobuf::Metadata Expr::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class Constant::_Internal { + public: + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::cel::expr::Constant, _impl_._oneof_case_); +}; + +void Constant::set_allocated_duration_value(::google::protobuf::Duration* PROTOBUF_NULLABLE duration_value) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_constant_kind(); + if (duration_value) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(duration_value)->GetArena(); + if (message_arena != submessage_arena) { + duration_value = ::google::protobuf::internal::GetOwnedMessage(message_arena, duration_value, submessage_arena); + } + set_has_duration_value(); + _impl_.constant_kind_.duration_value_ = duration_value; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Constant.duration_value) +} +void Constant::clear_duration_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (constant_kind_case() == kDurationValue) { + if (GetArena() == nullptr) { + delete _impl_.constant_kind_.duration_value_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constant_kind_.duration_value_); + } + clear_has_constant_kind(); + } +} +void Constant::set_allocated_timestamp_value(::google::protobuf::Timestamp* PROTOBUF_NULLABLE timestamp_value) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_constant_kind(); + if (timestamp_value) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(timestamp_value)->GetArena(); + if (message_arena != submessage_arena) { + timestamp_value = ::google::protobuf::internal::GetOwnedMessage(message_arena, timestamp_value, submessage_arena); + } + set_has_timestamp_value(); + _impl_.constant_kind_.timestamp_value_ = timestamp_value; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Constant.timestamp_value) +} +void Constant::clear_timestamp_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (constant_kind_case() == kTimestampValue) { + if (GetArena() == nullptr) { + delete _impl_.constant_kind_.timestamp_value_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constant_kind_.timestamp_value_); + } + clear_has_constant_kind(); + } +} +Constant::Constant(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Constant_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Constant) +} +PROTOBUF_NDEBUG_INLINE Constant::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Constant& from_msg) + : constant_kind_{}, + _cached_size_{0}, + _oneof_case_{from._oneof_case_[0]} {} + +Constant::Constant( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Constant& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Constant_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Constant* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + switch (constant_kind_case()) { + case CONSTANT_KIND_NOT_SET: + break; + case kNullValue: + _impl_.constant_kind_.null_value_ = from._impl_.constant_kind_.null_value_; + break; + case kBoolValue: + _impl_.constant_kind_.bool_value_ = from._impl_.constant_kind_.bool_value_; + break; + case kInt64Value: + _impl_.constant_kind_.int64_value_ = from._impl_.constant_kind_.int64_value_; + break; + case kUint64Value: + _impl_.constant_kind_.uint64_value_ = from._impl_.constant_kind_.uint64_value_; + break; + case kDoubleValue: + _impl_.constant_kind_.double_value_ = from._impl_.constant_kind_.double_value_; + break; + case kStringValue: + new (&_impl_.constant_kind_.string_value_) decltype(_impl_.constant_kind_.string_value_){arena, from._impl_.constant_kind_.string_value_}; + break; + case kBytesValue: + new (&_impl_.constant_kind_.bytes_value_) decltype(_impl_.constant_kind_.bytes_value_){arena, from._impl_.constant_kind_.bytes_value_}; + break; + case kDurationValue: + _impl_.constant_kind_.duration_value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constant_kind_.duration_value_); + break; + case kTimestampValue: + _impl_.constant_kind_.timestamp_value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constant_kind_.timestamp_value_); + break; + } + + // @@protoc_insertion_point(copy_constructor:cel.expr.Constant) +} +PROTOBUF_NDEBUG_INLINE Constant::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : constant_kind_{}, + _cached_size_{0}, + _oneof_case_{} {} + +inline void Constant::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +Constant::~Constant() { + // @@protoc_insertion_point(destructor:cel.expr.Constant) + SharedDtor(*this); +} +inline void Constant::SharedDtor(MessageLite& self) { + Constant& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_constant_kind()) { + this_.clear_constant_kind(); + } + this_._impl_.~Impl_(); +} + +void Constant::clear_constant_kind() { +// @@protoc_insertion_point(one_of_clear_start:cel.expr.Constant) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (constant_kind_case()) { + case kNullValue: { + // No need to clear + break; + } + case kBoolValue: { + // No need to clear + break; + } + case kInt64Value: { + // No need to clear + break; + } + case kUint64Value: { + // No need to clear + break; + } + case kDoubleValue: { + // No need to clear + break; + } + case kStringValue: { + _impl_.constant_kind_.string_value_.Destroy(); + break; + } + case kBytesValue: { + _impl_.constant_kind_.bytes_value_.Destroy(); + break; + } + case kDurationValue: { + if (GetArena() == nullptr) { + delete _impl_.constant_kind_.duration_value_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constant_kind_.duration_value_); + } + break; + } + case kTimestampValue: { + if (GetArena() == nullptr) { + delete _impl_.constant_kind_.timestamp_value_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constant_kind_.timestamp_value_); + } + break; + } + case CONSTANT_KIND_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = CONSTANT_KIND_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL Constant::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Constant(arena); +} +constexpr auto Constant::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Constant), + alignof(Constant)); +} +constexpr auto Constant::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Constant_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Constant::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Constant::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Constant::ByteSizeLong, + &Constant::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Constant, _impl_._cached_size_), + false, + }, + &Constant::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fsyntax_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Constant_class_data_ = + Constant::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Constant::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Constant_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Constant_class_data_.tc_table); + return Constant_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 9, 2, 46, 2> +Constant::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 9, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294966784, // skipmap + offsetof(decltype(_table_), field_entries), + 9, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Constant_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Constant>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // .google.protobuf.NullValue null_value = 1; + {PROTOBUF_FIELD_OFFSET(Constant, _impl_.constant_kind_.null_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kOpenEnum)}, + // bool bool_value = 2; + {PROTOBUF_FIELD_OFFSET(Constant, _impl_.constant_kind_.bool_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // int64 int64_value = 3; + {PROTOBUF_FIELD_OFFSET(Constant, _impl_.constant_kind_.int64_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt64)}, + // uint64 uint64_value = 4; + {PROTOBUF_FIELD_OFFSET(Constant, _impl_.constant_kind_.uint64_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUInt64)}, + // double double_value = 5; + {PROTOBUF_FIELD_OFFSET(Constant, _impl_.constant_kind_.double_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kDouble)}, + // string string_value = 6; + {PROTOBUF_FIELD_OFFSET(Constant, _impl_.constant_kind_.string_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // bytes bytes_value = 7; + {PROTOBUF_FIELD_OFFSET(Constant, _impl_.constant_kind_.bytes_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBytes | ::_fl::kRepAString)}, + // .google.protobuf.Duration duration_value = 8 [deprecated = true]; + {PROTOBUF_FIELD_OFFSET(Constant, _impl_.constant_kind_.duration_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.protobuf.Timestamp timestamp_value = 9 [deprecated = true]; + {PROTOBUF_FIELD_OFFSET(Constant, _impl_.constant_kind_.timestamp_value_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::google::protobuf::Duration>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Timestamp>()}, + }}, + {{ + "\21\0\0\0\0\0\14\0\0\0\0\0\0\0\0\0" + "cel.expr.Constant" + "string_value" + }}, +}; +PROTOBUF_NOINLINE void Constant::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Constant) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_constant_kind(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Constant::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Constant& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Constant::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Constant& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Constant) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + switch (this_.constant_kind_case()) { + case kNullValue: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 1, this_._internal_null_value(), target); + break; + } + case kBoolValue: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 2, this_._internal_bool_value(), target); + break; + } + case kInt64Value: { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>( + stream, this_._internal_int64_value(), target); + break; + } + case kUint64Value: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 4, this_._internal_uint64_value(), target); + break; + } + case kDoubleValue: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 5, this_._internal_double_value(), target); + break; + } + case kStringValue: { + const ::std::string& _s = this_._internal_string_value(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Constant.string_value"); + target = stream->WriteStringMaybeAliased(6, _s, target); + break; + } + case kBytesValue: { + const ::std::string& _s = this_._internal_bytes_value(); + target = stream->WriteBytesMaybeAliased(7, _s, target); + break; + } + case kDurationValue: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 8, *this_._impl_.constant_kind_.duration_value_, this_._impl_.constant_kind_.duration_value_->GetCachedSize(), target, + stream); + break; + } + case kTimestampValue: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 9, *this_._impl_.constant_kind_.timestamp_value_, this_._impl_.constant_kind_.timestamp_value_->GetCachedSize(), target, + stream); + break; + } + default: + break; + } + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Constant) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Constant::ByteSizeLong(const MessageLite& base) { + const Constant& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Constant::ByteSizeLong() const { + const Constant& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Constant) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + switch (this_.constant_kind_case()) { + // .google.protobuf.NullValue null_value = 1; + case kNullValue: { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_null_value()); + break; + } + // bool bool_value = 2; + case kBoolValue: { + total_size += 2; + break; + } + // int64 int64_value = 3; + case kInt64Value: { + total_size += ::_pbi::WireFormatLite::Int64SizePlusOne( + this_._internal_int64_value()); + break; + } + // uint64 uint64_value = 4; + case kUint64Value: { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_uint64_value()); + break; + } + // double double_value = 5; + case kDoubleValue: { + total_size += 9; + break; + } + // string string_value = 6; + case kStringValue: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_string_value()); + break; + } + // bytes bytes_value = 7; + case kBytesValue: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize( + this_._internal_bytes_value()); + break; + } + // .google.protobuf.Duration duration_value = 8 [deprecated = true]; + case kDurationValue: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constant_kind_.duration_value_); + break; + } + // .google.protobuf.Timestamp timestamp_value = 9 [deprecated = true]; + case kTimestampValue: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constant_kind_.timestamp_value_); + break; + } + case CONSTANT_KIND_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Constant::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Constant) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_constant_kind(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kNullValue: { + _this->_impl_.constant_kind_.null_value_ = from._impl_.constant_kind_.null_value_; + break; + } + case kBoolValue: { + _this->_impl_.constant_kind_.bool_value_ = from._impl_.constant_kind_.bool_value_; + break; + } + case kInt64Value: { + _this->_impl_.constant_kind_.int64_value_ = from._impl_.constant_kind_.int64_value_; + break; + } + case kUint64Value: { + _this->_impl_.constant_kind_.uint64_value_ = from._impl_.constant_kind_.uint64_value_; + break; + } + case kDoubleValue: { + _this->_impl_.constant_kind_.double_value_ = from._impl_.constant_kind_.double_value_; + break; + } + case kStringValue: { + if (oneof_needs_init) { + _this->_impl_.constant_kind_.string_value_.InitDefault(); + } + _this->_impl_.constant_kind_.string_value_.Set(from._internal_string_value(), arena); + break; + } + case kBytesValue: { + if (oneof_needs_init) { + _this->_impl_.constant_kind_.bytes_value_.InitDefault(); + } + _this->_impl_.constant_kind_.bytes_value_.Set(from._internal_bytes_value(), arena); + break; + } + case kDurationValue: { + if (oneof_needs_init) { + _this->_impl_.constant_kind_.duration_value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constant_kind_.duration_value_); + } else { + _this->_impl_.constant_kind_.duration_value_->MergeFrom(*from._impl_.constant_kind_.duration_value_); + } + break; + } + case kTimestampValue: { + if (oneof_needs_init) { + _this->_impl_.constant_kind_.timestamp_value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constant_kind_.timestamp_value_); + } else { + _this->_impl_.constant_kind_.timestamp_value_->MergeFrom(*from._impl_.constant_kind_.timestamp_value_); + } + break; + } + case CONSTANT_KIND_NOT_SET: + break; + } + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Constant::CopyFrom(const Constant& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Constant) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Constant::InternalSwap(Constant* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_.constant_kind_, other->_impl_.constant_kind_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::google::protobuf::Metadata Constant::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +#if defined(PROTOBUF_CUSTOM_VTABLE) +SourceInfo_PositionsEntry_DoNotUse::SourceInfo_PositionsEntry_DoNotUse() + : SuperType(SourceInfo_PositionsEntry_DoNotUse_class_data_.base()) {} +SourceInfo_PositionsEntry_DoNotUse::SourceInfo_PositionsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : SuperType(arena, SourceInfo_PositionsEntry_DoNotUse_class_data_.base()) {} +#else // PROTOBUF_CUSTOM_VTABLE +SourceInfo_PositionsEntry_DoNotUse::SourceInfo_PositionsEntry_DoNotUse() : SuperType() {} +SourceInfo_PositionsEntry_DoNotUse::SourceInfo_PositionsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) : SuperType(arena) {} +#endif // PROTOBUF_CUSTOM_VTABLE +inline void* PROTOBUF_NONNULL SourceInfo_PositionsEntry_DoNotUse::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) SourceInfo_PositionsEntry_DoNotUse(arena); +} +constexpr auto SourceInfo_PositionsEntry_DoNotUse::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SourceInfo_PositionsEntry_DoNotUse), + alignof(SourceInfo_PositionsEntry_DoNotUse)); +} +constexpr auto SourceInfo_PositionsEntry_DoNotUse::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_SourceInfo_PositionsEntry_DoNotUse_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &SourceInfo_PositionsEntry_DoNotUse::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SourceInfo_PositionsEntry_DoNotUse::SharedDtor, + static_cast(&SourceInfo_PositionsEntry_DoNotUse::ClearImpl), + ::google::protobuf::Message::ByteSizeLongImpl, ::google::protobuf::Message::_InternalSerializeImpl + , +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SourceInfo_PositionsEntry_DoNotUse, _impl_._cached_size_), + false, + }, + &SourceInfo_PositionsEntry_DoNotUse::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fsyntax_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull SourceInfo_PositionsEntry_DoNotUse_class_data_ = + SourceInfo_PositionsEntry_DoNotUse::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +SourceInfo_PositionsEntry_DoNotUse::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&SourceInfo_PositionsEntry_DoNotUse_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(SourceInfo_PositionsEntry_DoNotUse_class_data_.tc_table); + return SourceInfo_PositionsEntry_DoNotUse_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 0, 2> +SourceInfo_PositionsEntry_DoNotUse::_table_ = { + { + PROTOBUF_FIELD_OFFSET(SourceInfo_PositionsEntry_DoNotUse, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + SourceInfo_PositionsEntry_DoNotUse_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::DiscardEverythingFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::SourceInfo_PositionsEntry_DoNotUse>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // int32 value = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SourceInfo_PositionsEntry_DoNotUse, _impl_.value_), 1>(), + {16, 1, 0, + PROTOBUF_FIELD_OFFSET(SourceInfo_PositionsEntry_DoNotUse, _impl_.value_)}}, + // int64 key = 1; + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(SourceInfo_PositionsEntry_DoNotUse, _impl_.key_), 0>(), + {8, 0, 0, + PROTOBUF_FIELD_OFFSET(SourceInfo_PositionsEntry_DoNotUse, _impl_.key_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // int64 key = 1; + {PROTOBUF_FIELD_OFFSET(SourceInfo_PositionsEntry_DoNotUse, _impl_.key_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)}, + // int32 value = 2; + {PROTOBUF_FIELD_OFFSET(SourceInfo_PositionsEntry_DoNotUse, _impl_.value_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)}, + }}, + // no aux_entries + {{ + }}, +}; +// =================================================================== + +#if defined(PROTOBUF_CUSTOM_VTABLE) +SourceInfo_MacroCallsEntry_DoNotUse::SourceInfo_MacroCallsEntry_DoNotUse() + : SuperType(SourceInfo_MacroCallsEntry_DoNotUse_class_data_.base()) {} +SourceInfo_MacroCallsEntry_DoNotUse::SourceInfo_MacroCallsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : SuperType(arena, SourceInfo_MacroCallsEntry_DoNotUse_class_data_.base()) {} +#else // PROTOBUF_CUSTOM_VTABLE +SourceInfo_MacroCallsEntry_DoNotUse::SourceInfo_MacroCallsEntry_DoNotUse() : SuperType() {} +SourceInfo_MacroCallsEntry_DoNotUse::SourceInfo_MacroCallsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) : SuperType(arena) {} +#endif // PROTOBUF_CUSTOM_VTABLE +inline void* PROTOBUF_NONNULL SourceInfo_MacroCallsEntry_DoNotUse::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) SourceInfo_MacroCallsEntry_DoNotUse(arena); +} +constexpr auto SourceInfo_MacroCallsEntry_DoNotUse::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SourceInfo_MacroCallsEntry_DoNotUse), + alignof(SourceInfo_MacroCallsEntry_DoNotUse)); +} +constexpr auto SourceInfo_MacroCallsEntry_DoNotUse::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_SourceInfo_MacroCallsEntry_DoNotUse_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &SourceInfo_MacroCallsEntry_DoNotUse::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SourceInfo_MacroCallsEntry_DoNotUse::SharedDtor, + static_cast(&SourceInfo_MacroCallsEntry_DoNotUse::ClearImpl), + ::google::protobuf::Message::ByteSizeLongImpl, ::google::protobuf::Message::_InternalSerializeImpl + , +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SourceInfo_MacroCallsEntry_DoNotUse, _impl_._cached_size_), + false, + }, + &SourceInfo_MacroCallsEntry_DoNotUse::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fsyntax_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull SourceInfo_MacroCallsEntry_DoNotUse_class_data_ = + SourceInfo_MacroCallsEntry_DoNotUse::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +SourceInfo_MacroCallsEntry_DoNotUse::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&SourceInfo_MacroCallsEntry_DoNotUse_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(SourceInfo_MacroCallsEntry_DoNotUse_class_data_.tc_table); + return SourceInfo_MacroCallsEntry_DoNotUse_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 1, 0, 2> +SourceInfo_MacroCallsEntry_DoNotUse::_table_ = { + { + PROTOBUF_FIELD_OFFSET(SourceInfo_MacroCallsEntry_DoNotUse, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + SourceInfo_MacroCallsEntry_DoNotUse_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::DiscardEverythingFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::SourceInfo_MacroCallsEntry_DoNotUse>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // .cel.expr.Expr value = 2; + {::_pbi::TcParser::FastMtS1, + {18, 0, 0, + PROTOBUF_FIELD_OFFSET(SourceInfo_MacroCallsEntry_DoNotUse, _impl_.value_)}}, + // int64 key = 1; + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(SourceInfo_MacroCallsEntry_DoNotUse, _impl_.key_), 1>(), + {8, 1, 0, + PROTOBUF_FIELD_OFFSET(SourceInfo_MacroCallsEntry_DoNotUse, _impl_.key_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // int64 key = 1; + {PROTOBUF_FIELD_OFFSET(SourceInfo_MacroCallsEntry_DoNotUse, _impl_.key_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)}, + // .cel.expr.Expr value = 2; + {PROTOBUF_FIELD_OFFSET(SourceInfo_MacroCallsEntry_DoNotUse, _impl_.value_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Expr>()}, + }}, + {{ + }}, +}; +// =================================================================== + +class SourceInfo_Extension_Version::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(SourceInfo_Extension_Version, _impl_._has_bits_); +}; + +SourceInfo_Extension_Version::SourceInfo_Extension_Version(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, SourceInfo_Extension_Version_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.SourceInfo.Extension.Version) +} +SourceInfo_Extension_Version::SourceInfo_Extension_Version( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SourceInfo_Extension_Version& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, SourceInfo_Extension_Version_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(from._impl_) { + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} +PROTOBUF_NDEBUG_INLINE SourceInfo_Extension_Version::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0} {} + +inline void SourceInfo_Extension_Version::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, major_), + 0, + offsetof(Impl_, minor_) - + offsetof(Impl_, major_) + + sizeof(Impl_::minor_)); +} +SourceInfo_Extension_Version::~SourceInfo_Extension_Version() { + // @@protoc_insertion_point(destructor:cel.expr.SourceInfo.Extension.Version) + SharedDtor(*this); +} +inline void SourceInfo_Extension_Version::SharedDtor(MessageLite& self) { + SourceInfo_Extension_Version& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL SourceInfo_Extension_Version::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) SourceInfo_Extension_Version(arena); +} +constexpr auto SourceInfo_Extension_Version::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SourceInfo_Extension_Version), + alignof(SourceInfo_Extension_Version)); +} +constexpr auto SourceInfo_Extension_Version::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_SourceInfo_Extension_Version_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &SourceInfo_Extension_Version::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SourceInfo_Extension_Version::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &SourceInfo_Extension_Version::ByteSizeLong, + &SourceInfo_Extension_Version::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SourceInfo_Extension_Version, _impl_._cached_size_), + false, + }, + &SourceInfo_Extension_Version::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fsyntax_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull SourceInfo_Extension_Version_class_data_ = + SourceInfo_Extension_Version::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +SourceInfo_Extension_Version::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&SourceInfo_Extension_Version_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(SourceInfo_Extension_Version_class_data_.tc_table); + return SourceInfo_Extension_Version_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 0, 2> +SourceInfo_Extension_Version::_table_ = { + { + PROTOBUF_FIELD_OFFSET(SourceInfo_Extension_Version, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + SourceInfo_Extension_Version_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::SourceInfo_Extension_Version>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // int64 minor = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(SourceInfo_Extension_Version, _impl_.minor_), 1>(), + {16, 1, 0, + PROTOBUF_FIELD_OFFSET(SourceInfo_Extension_Version, _impl_.minor_)}}, + // int64 major = 1; + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(SourceInfo_Extension_Version, _impl_.major_), 0>(), + {8, 0, 0, + PROTOBUF_FIELD_OFFSET(SourceInfo_Extension_Version, _impl_.major_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // int64 major = 1; + {PROTOBUF_FIELD_OFFSET(SourceInfo_Extension_Version, _impl_.major_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)}, + // int64 minor = 2; + {PROTOBUF_FIELD_OFFSET(SourceInfo_Extension_Version, _impl_.minor_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)}, + }}, + // no aux_entries + {{ + }}, +}; +PROTOBUF_NOINLINE void SourceInfo_Extension_Version::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.SourceInfo.Extension.Version) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + ::memset(&_impl_.major_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.minor_) - + reinterpret_cast(&_impl_.major_)) + sizeof(_impl_.minor_)); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL SourceInfo_Extension_Version::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const SourceInfo_Extension_Version& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL SourceInfo_Extension_Version::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const SourceInfo_Extension_Version& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.SourceInfo.Extension.Version) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // int64 major = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (this_._internal_major() != 0) { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>( + stream, this_._internal_major(), target); + } + } + + // int64 minor = 2; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (this_._internal_minor() != 0) { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>( + stream, this_._internal_minor(), target); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.SourceInfo.Extension.Version) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t SourceInfo_Extension_Version::ByteSizeLong(const MessageLite& base) { + const SourceInfo_Extension_Version& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t SourceInfo_Extension_Version::ByteSizeLong() const { + const SourceInfo_Extension_Version& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.SourceInfo.Extension.Version) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + // int64 major = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (this_._internal_major() != 0) { + total_size += ::_pbi::WireFormatLite::Int64SizePlusOne( + this_._internal_major()); + } + } + // int64 minor = 2; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (this_._internal_minor() != 0) { + total_size += ::_pbi::WireFormatLite::Int64SizePlusOne( + this_._internal_minor()); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void SourceInfo_Extension_Version::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.SourceInfo.Extension.Version) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (from._internal_major() != 0) { + _this->_impl_.major_ = from._impl_.major_; + } + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (from._internal_minor() != 0) { + _this->_impl_.minor_ = from._impl_.minor_; + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void SourceInfo_Extension_Version::CopyFrom(const SourceInfo_Extension_Version& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.SourceInfo.Extension.Version) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void SourceInfo_Extension_Version::InternalSwap(SourceInfo_Extension_Version* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(SourceInfo_Extension_Version, _impl_.minor_) + + sizeof(SourceInfo_Extension_Version::_impl_.minor_) + - PROTOBUF_FIELD_OFFSET(SourceInfo_Extension_Version, _impl_.major_)>( + reinterpret_cast(&_impl_.major_), + reinterpret_cast(&other->_impl_.major_)); +} + +::google::protobuf::Metadata SourceInfo_Extension_Version::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class SourceInfo_Extension::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(SourceInfo_Extension, _impl_._has_bits_); +}; + +SourceInfo_Extension::SourceInfo_Extension(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, SourceInfo_Extension_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.SourceInfo.Extension) +} +PROTOBUF_NDEBUG_INLINE SourceInfo_Extension::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::SourceInfo_Extension& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + affected_components_{visibility, arena, from.affected_components_}, + _affected_components_cached_byte_size_{0}, + id_(arena, from.id_) {} + +SourceInfo_Extension::SourceInfo_Extension( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const SourceInfo_Extension& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, SourceInfo_Extension_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SourceInfo_Extension* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.version_ = (CheckHasBit(cached_has_bits, 0x00000004U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.version_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:cel.expr.SourceInfo.Extension) +} +PROTOBUF_NDEBUG_INLINE SourceInfo_Extension::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + affected_components_{visibility, arena}, + _affected_components_cached_byte_size_{0}, + id_(arena) {} + +inline void SourceInfo_Extension::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.version_ = {}; +} +SourceInfo_Extension::~SourceInfo_Extension() { + // @@protoc_insertion_point(destructor:cel.expr.SourceInfo.Extension) + SharedDtor(*this); +} +inline void SourceInfo_Extension::SharedDtor(MessageLite& self) { + SourceInfo_Extension& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.id_.Destroy(); + delete this_._impl_.version_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL SourceInfo_Extension::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) SourceInfo_Extension(arena); +} +constexpr auto SourceInfo_Extension::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(SourceInfo_Extension, _impl_.affected_components_) + + decltype(SourceInfo_Extension::_impl_.affected_components_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(SourceInfo_Extension), alignof(SourceInfo_Extension), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&SourceInfo_Extension::PlacementNew_, + sizeof(SourceInfo_Extension), + alignof(SourceInfo_Extension)); + } +} +constexpr auto SourceInfo_Extension::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_SourceInfo_Extension_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &SourceInfo_Extension::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SourceInfo_Extension::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &SourceInfo_Extension::ByteSizeLong, + &SourceInfo_Extension::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SourceInfo_Extension, _impl_._cached_size_), + false, + }, + &SourceInfo_Extension::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fsyntax_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull SourceInfo_Extension_class_data_ = + SourceInfo_Extension::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +SourceInfo_Extension::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&SourceInfo_Extension_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(SourceInfo_Extension_class_data_.tc_table); + return SourceInfo_Extension_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 3, 1, 40, 2> +SourceInfo_Extension::_table_ = { + { + PROTOBUF_FIELD_OFFSET(SourceInfo_Extension, _impl_._has_bits_), + 0, // no _extensions_ + 3, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967288, // skipmap + offsetof(decltype(_table_), field_entries), + 3, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + SourceInfo_Extension_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::SourceInfo_Extension>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // string id = 1; + {::_pbi::TcParser::FastUS1, + {10, 1, 0, + PROTOBUF_FIELD_OFFSET(SourceInfo_Extension, _impl_.id_)}}, + // repeated .cel.expr.SourceInfo.Extension.Component affected_components = 2; + {::_pbi::TcParser::FastV32P1, + {18, 0, 0, + PROTOBUF_FIELD_OFFSET(SourceInfo_Extension, _impl_.affected_components_)}}, + // .cel.expr.SourceInfo.Extension.Version version = 3; + {::_pbi::TcParser::FastMtS1, + {26, 2, 0, + PROTOBUF_FIELD_OFFSET(SourceInfo_Extension, _impl_.version_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string id = 1; + {PROTOBUF_FIELD_OFFSET(SourceInfo_Extension, _impl_.id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // repeated .cel.expr.SourceInfo.Extension.Component affected_components = 2; + {PROTOBUF_FIELD_OFFSET(SourceInfo_Extension, _impl_.affected_components_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedOpenEnum)}, + // .cel.expr.SourceInfo.Extension.Version version = 3; + {PROTOBUF_FIELD_OFFSET(SourceInfo_Extension, _impl_.version_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::SourceInfo_Extension_Version>()}, + }}, + {{ + "\35\2\0\0\0\0\0\0" + "cel.expr.SourceInfo.Extension" + "id" + }}, +}; +PROTOBUF_NOINLINE void SourceInfo_Extension::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.SourceInfo.Extension) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.affected_components_.Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + _impl_.id_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + ABSL_DCHECK(_impl_.version_ != nullptr); + _impl_.version_->Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL SourceInfo_Extension::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const SourceInfo_Extension& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL SourceInfo_Extension::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const SourceInfo_Extension& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.SourceInfo.Extension) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // string id = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!this_._internal_id().empty()) { + const ::std::string& _s = this_._internal_id(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.SourceInfo.Extension.id"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + } + + // repeated .cel.expr.SourceInfo.Extension.Component affected_components = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + { + ::size_t byte_size = this_._impl_._affected_components_cached_byte_size_.Get(); + if (byte_size > 0) { + target = stream->WriteEnumPacked( + 2, this_._internal_affected_components(), byte_size, target); + } + } + } + + // .cel.expr.SourceInfo.Extension.Version version = 3; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, *this_._impl_.version_, this_._impl_.version_->GetCachedSize(), target, + stream); + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.SourceInfo.Extension) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t SourceInfo_Extension::ByteSizeLong(const MessageLite& base) { + const SourceInfo_Extension& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t SourceInfo_Extension::ByteSizeLong() const { + const SourceInfo_Extension& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.SourceInfo.Extension) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + // repeated .cel.expr.SourceInfo.Extension.Component affected_components = 2; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize( + this_._internal_affected_components(), 1, this_._impl_._affected_components_cached_byte_size_); + } + // string id = 1; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!this_._internal_id().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_id()); + } + } + // .cel.expr.SourceInfo.Extension.Version version = 3; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.version_); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void SourceInfo_Extension::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.SourceInfo.Extension) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_affected_components()->MergeFrom(from._internal_affected_components()); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (!from._internal_id().empty()) { + _this->_internal_set_id(from._internal_id()); + } else { + if (_this->_impl_.id_.IsDefault()) { + _this->_internal_set_id(""); + } + } + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + ABSL_DCHECK(from._impl_.version_ != nullptr); + if (_this->_impl_.version_ == nullptr) { + _this->_impl_.version_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.version_); + } else { + _this->_impl_.version_->MergeFrom(*from._impl_.version_); + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void SourceInfo_Extension::CopyFrom(const SourceInfo_Extension& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.SourceInfo.Extension) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void SourceInfo_Extension::InternalSwap(SourceInfo_Extension* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.affected_components_.InternalSwap(&other->_impl_.affected_components_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.id_, &other->_impl_.id_, arena); + swap(_impl_.version_, other->_impl_.version_); +} + +::google::protobuf::Metadata SourceInfo_Extension::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class SourceInfo::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_._has_bits_); +}; + +SourceInfo::SourceInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, SourceInfo_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.SourceInfo) +} +PROTOBUF_NDEBUG_INLINE SourceInfo::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::SourceInfo& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + line_offsets_{visibility, arena, from.line_offsets_}, + _line_offsets_cached_byte_size_{0}, + extensions_{visibility, arena, from.extensions_}, + syntax_version_(arena, from.syntax_version_), + location_(arena, from.location_), + positions_{visibility, arena, from.positions_}, + macro_calls_{visibility, arena, from.macro_calls_} {} + +SourceInfo::SourceInfo( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const SourceInfo& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, SourceInfo_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SourceInfo* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:cel.expr.SourceInfo) +} +PROTOBUF_NDEBUG_INLINE SourceInfo::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + line_offsets_{visibility, arena}, + _line_offsets_cached_byte_size_{0}, + extensions_{visibility, arena}, + syntax_version_(arena), + location_(arena), + positions_{visibility, arena}, + macro_calls_{visibility, arena} {} + +inline void SourceInfo::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +SourceInfo::~SourceInfo() { + // @@protoc_insertion_point(destructor:cel.expr.SourceInfo) + SharedDtor(*this); +} +inline void SourceInfo::SharedDtor(MessageLite& self) { + SourceInfo& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.syntax_version_.Destroy(); + this_._impl_.location_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL SourceInfo::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) SourceInfo(arena); +} +constexpr auto SourceInfo::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_.line_offsets_) + + decltype(SourceInfo::_impl_.line_offsets_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_.positions_) + + decltype(SourceInfo::_impl_.positions_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_.macro_calls_) + + decltype(SourceInfo::_impl_.macro_calls_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_.extensions_) + + decltype(SourceInfo::_impl_.extensions_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(SourceInfo), alignof(SourceInfo), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&SourceInfo::PlacementNew_, + sizeof(SourceInfo), + alignof(SourceInfo)); + } +} +constexpr auto SourceInfo::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_SourceInfo_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &SourceInfo::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SourceInfo::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &SourceInfo::ByteSizeLong, + &SourceInfo::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_._cached_size_), + false, + }, + &SourceInfo::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fsyntax_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull SourceInfo_class_data_ = + SourceInfo::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +SourceInfo::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&SourceInfo_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(SourceInfo_class_data_.tc_table); + return SourceInfo_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 6, 4, 50, 2> +SourceInfo::_table_ = { + { + PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_._has_bits_), + 0, // no _extensions_ + 6, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967232, // skipmap + offsetof(decltype(_table_), field_entries), + 6, // num_field_entries + 4, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + SourceInfo_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::SourceInfo>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // string syntax_version = 1; + {::_pbi::TcParser::FastUS1, + {10, 2, 0, + PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_.syntax_version_)}}, + // string location = 2; + {::_pbi::TcParser::FastUS1, + {18, 3, 0, + PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_.location_)}}, + // repeated int32 line_offsets = 3; + {::_pbi::TcParser::FastV32P1, + {26, 0, 0, + PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_.line_offsets_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + // repeated .cel.expr.SourceInfo.Extension extensions = 6; + {::_pbi::TcParser::FastMtR1, + {50, 1, 0, + PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_.extensions_)}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // string syntax_version = 1; + {PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_.syntax_version_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // string location = 2; + {PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_.location_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // repeated int32 line_offsets = 3; + {PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_.line_offsets_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)}, + // map positions = 4; + {PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_.positions_), _Internal::kHasBitsOffset + 4, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMap)}, + // map macro_calls = 5; + {PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_.macro_calls_), _Internal::kHasBitsOffset + 5, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMap)}, + // repeated .cel.expr.SourceInfo.Extension extensions = 6; + {PROTOBUF_FIELD_OFFSET(SourceInfo, _impl_.extensions_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::SourceInfo_Extension>()}, + {::_pbi::TcParser::GetMapAuxInfo( + 0, 0, 3, 5, 0)}, + {::_pbi::TcParser::GetMapAuxInfo( + 0, 0, 3, 11, 0)}, + {::_pbi::TcParser::GetTable<::cel::expr::Expr>()}, + }}, + {{ + "\23\16\10\0\0\0\0\0" + "cel.expr.SourceInfo" + "syntax_version" + "location" + }}, +}; +PROTOBUF_NOINLINE void SourceInfo::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.SourceInfo) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.line_offsets_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _impl_.extensions_.Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + _impl_.syntax_version_.ClearNonDefaultToEmpty(); + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + _impl_.location_.ClearNonDefaultToEmpty(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + _impl_.positions_.Clear(); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000020U)) { + _impl_.macro_calls_.Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL SourceInfo::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const SourceInfo& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL SourceInfo::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const SourceInfo& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.SourceInfo) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // string syntax_version = 1; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + if (!this_._internal_syntax_version().empty()) { + const ::std::string& _s = this_._internal_syntax_version(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.SourceInfo.syntax_version"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + } + + // string location = 2; + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + if (!this_._internal_location().empty()) { + const ::std::string& _s = this_._internal_location(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.SourceInfo.location"); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + } + + // repeated int32 line_offsets = 3; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + { + int byte_size = this_._impl_._line_offsets_cached_byte_size_.Get(); + if (byte_size > 0) { + target = stream->WriteInt32Packed( + 3, this_._internal_line_offsets(), byte_size, target); + } + } + } + + // map positions = 4; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + if (!this_._internal_positions().empty()) { + using MapType = ::google::protobuf::Map<::int64_t, ::int32_t>; + using WireHelper = _pbi::MapEntryFuncs<::int64_t, ::int32_t, + _pbi::WireFormatLite::TYPE_INT64, + _pbi::WireFormatLite::TYPE_INT32>; + const auto& field = this_._internal_positions(); + + if (stream->IsSerializationDeterministic() && field.size() > 1) { + for (const auto& entry : ::google::protobuf::internal::MapSorterFlat(field)) { + target = WireHelper::InternalSerialize( + 4, entry.first, entry.second, target, stream); + } + } else { + for (const auto& entry : field) { + target = WireHelper::InternalSerialize( + 4, entry.first, entry.second, target, stream); + } + } + } + } + + // map macro_calls = 5; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000020U)) { + if (!this_._internal_macro_calls().empty()) { + using MapType = ::google::protobuf::Map<::int64_t, ::cel::expr::Expr>; + using WireHelper = _pbi::MapEntryFuncs<::int64_t, ::cel::expr::Expr, + _pbi::WireFormatLite::TYPE_INT64, + _pbi::WireFormatLite::TYPE_MESSAGE>; + const auto& field = this_._internal_macro_calls(); + + if (stream->IsSerializationDeterministic() && field.size() > 1) { + for (const auto& entry : ::google::protobuf::internal::MapSorterFlat(field)) { + target = WireHelper::InternalSerialize( + 5, entry.first, entry.second, target, stream); + } + } else { + for (const auto& entry : field) { + target = WireHelper::InternalSerialize( + 5, entry.first, entry.second, target, stream); + } + } + } + } + + // repeated .cel.expr.SourceInfo.Extension extensions = 6; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_extensions_size()); + i < n; i++) { + const auto& repfield = this_._internal_extensions().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 6, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.SourceInfo) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t SourceInfo::ByteSizeLong(const MessageLite& base) { + const SourceInfo& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t SourceInfo::ByteSizeLong() const { + const SourceInfo& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.SourceInfo) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) { + // repeated int32 line_offsets = 3; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += + ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize( + this_._internal_line_offsets(), 1, + this_._impl_._line_offsets_cached_byte_size_); + } + // repeated .cel.expr.SourceInfo.Extension extensions = 6; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + total_size += 1UL * this_._internal_extensions_size(); + for (const auto& msg : this_._internal_extensions()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + // string syntax_version = 1; + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + if (!this_._internal_syntax_version().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_syntax_version()); + } + } + // string location = 2; + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + if (!this_._internal_location().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_location()); + } + } + // map positions = 4; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_positions_size()); + for (const auto& entry : this_._internal_positions()) { + total_size += _pbi::MapEntryFuncs<::int64_t, ::int32_t, + _pbi::WireFormatLite::TYPE_INT64, + _pbi::WireFormatLite::TYPE_INT32>::ByteSizeLong(entry.first, entry.second); + } + } + // map macro_calls = 5; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000020U)) { + total_size += + 1 * ::google::protobuf::internal::FromIntSize(this_._internal_macro_calls_size()); + for (const auto& entry : this_._internal_macro_calls()) { + total_size += _pbi::MapEntryFuncs<::int64_t, ::cel::expr::Expr, + _pbi::WireFormatLite::TYPE_INT64, + _pbi::WireFormatLite::TYPE_MESSAGE>::ByteSizeLong(entry.first, entry.second); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void SourceInfo::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.SourceInfo) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) { + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_line_offsets()->MergeFrom(from._internal_line_offsets()); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) { + _this->_internal_mutable_extensions()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_extensions()); + } + if (CheckHasBit(cached_has_bits, 0x00000004U)) { + if (!from._internal_syntax_version().empty()) { + _this->_internal_set_syntax_version(from._internal_syntax_version()); + } else { + if (_this->_impl_.syntax_version_.IsDefault()) { + _this->_internal_set_syntax_version(""); + } + } + } + if (CheckHasBit(cached_has_bits, 0x00000008U)) { + if (!from._internal_location().empty()) { + _this->_internal_set_location(from._internal_location()); + } else { + if (_this->_impl_.location_.IsDefault()) { + _this->_internal_set_location(""); + } + } + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) { + _this->_impl_.positions_.MergeFrom(from._impl_.positions_); + } + if (CheckHasBitForRepeated(cached_has_bits, 0x00000020U)) { + _this->_impl_.macro_calls_.MergeFrom(from._impl_.macro_calls_); + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void SourceInfo::CopyFrom(const SourceInfo& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.SourceInfo) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void SourceInfo::InternalSwap(SourceInfo* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.line_offsets_.InternalSwap(&other->_impl_.line_offsets_); + _impl_.extensions_.InternalSwap(&other->_impl_.extensions_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.syntax_version_, &other->_impl_.syntax_version_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.location_, &other->_impl_.location_, arena); + _impl_.positions_.InternalSwap(&other->_impl_.positions_); + _impl_.macro_calls_.InternalSwap(&other->_impl_.macro_calls_); +} + +::google::protobuf::Metadata SourceInfo::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// @@protoc_insertion_point(namespace_scope) +} // namespace expr +} // namespace cel +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google +// @@protoc_insertion_point(global_scope) +PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type + _static_init2_ [[maybe_unused]] = + (::_pbi::AddDescriptors(&descriptor_table_cel_2fexpr_2fsyntax_2eproto), + ::std::false_type{}); +#include "google/protobuf/port_undef.inc" diff --git a/crates/protovalidate-rs/gen/cel/expr/syntax.pb.h b/crates/protovalidate-rs/gen/cel/expr/syntax.pb.h new file mode 100644 index 00000000..39b1b5a4 --- /dev/null +++ b/crates/protovalidate-rs/gen/cel/expr/syntax.pb.h @@ -0,0 +1,7262 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: cel/expr/syntax.proto +// Protobuf C++ Version: 6.33.4 + +#ifndef cel_2fexpr_2fsyntax_2eproto_2epb_2eh +#define cel_2fexpr_2fsyntax_2eproto_2epb_2eh + +#include +#include +#include +#include + +#include "google/protobuf/runtime_version.h" +#if PROTOBUF_VERSION != 6033004 +#error "Protobuf C++ gencode is built with an incompatible version of" +#error "Protobuf C++ headers/runtime. See" +#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp" +#endif +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/arena.h" +#include "google/protobuf/arenastring.h" +#include "google/protobuf/generated_message_tctable_decl.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/metadata_lite.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/message.h" +#include "google/protobuf/message_lite.h" +#include "google/protobuf/repeated_field.h" // IWYU pragma: export +#include "google/protobuf/extension_set.h" // IWYU pragma: export +#include "google/protobuf/map.h" // IWYU pragma: export +#include "google/protobuf/map_type_handler.h" // IWYU pragma: export +#include "google/protobuf/map_entry.h" +#include "google/protobuf/map_field.h" +#include "google/protobuf/generated_enum_reflection.h" +#include "google/protobuf/unknown_field_set.h" +#include "google/protobuf/duration.pb.h" +#include "google/protobuf/struct.pb.h" +#include "google/protobuf/timestamp.pb.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" + +#define PROTOBUF_INTERNAL_EXPORT_cel_2fexpr_2fsyntax_2eproto + +namespace google { +namespace protobuf { +namespace internal { +template +::absl::string_view GetAnyMessageName(); +} // namespace internal +} // namespace protobuf +} // namespace google + +// Internal implementation detail -- do not use these members. +struct TableStruct_cel_2fexpr_2fsyntax_2eproto { + static const ::uint32_t offsets[]; +}; +extern "C" { +extern const ::google::protobuf::internal::DescriptorTable descriptor_table_cel_2fexpr_2fsyntax_2eproto; +} // extern "C" +namespace cel { +namespace expr { +enum SourceInfo_Extension_Component : int; +extern const uint32_t SourceInfo_Extension_Component_internal_data_[]; +class Constant; +struct ConstantDefaultTypeInternal; +extern ConstantDefaultTypeInternal _Constant_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Constant_class_data_; +class Expr; +struct ExprDefaultTypeInternal; +extern ExprDefaultTypeInternal _Expr_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Expr_class_data_; +class Expr_Call; +struct Expr_CallDefaultTypeInternal; +extern Expr_CallDefaultTypeInternal _Expr_Call_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Expr_Call_class_data_; +class Expr_Comprehension; +struct Expr_ComprehensionDefaultTypeInternal; +extern Expr_ComprehensionDefaultTypeInternal _Expr_Comprehension_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Expr_Comprehension_class_data_; +class Expr_CreateList; +struct Expr_CreateListDefaultTypeInternal; +extern Expr_CreateListDefaultTypeInternal _Expr_CreateList_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Expr_CreateList_class_data_; +class Expr_CreateStruct; +struct Expr_CreateStructDefaultTypeInternal; +extern Expr_CreateStructDefaultTypeInternal _Expr_CreateStruct_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Expr_CreateStruct_class_data_; +class Expr_CreateStruct_Entry; +struct Expr_CreateStruct_EntryDefaultTypeInternal; +extern Expr_CreateStruct_EntryDefaultTypeInternal _Expr_CreateStruct_Entry_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Expr_CreateStruct_Entry_class_data_; +class Expr_Ident; +struct Expr_IdentDefaultTypeInternal; +extern Expr_IdentDefaultTypeInternal _Expr_Ident_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Expr_Ident_class_data_; +class Expr_Select; +struct Expr_SelectDefaultTypeInternal; +extern Expr_SelectDefaultTypeInternal _Expr_Select_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Expr_Select_class_data_; +class ParsedExpr; +struct ParsedExprDefaultTypeInternal; +extern ParsedExprDefaultTypeInternal _ParsedExpr_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull ParsedExpr_class_data_; +class SourceInfo; +struct SourceInfoDefaultTypeInternal; +extern SourceInfoDefaultTypeInternal _SourceInfo_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull SourceInfo_class_data_; +class SourceInfo_Extension; +struct SourceInfo_ExtensionDefaultTypeInternal; +extern SourceInfo_ExtensionDefaultTypeInternal _SourceInfo_Extension_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull SourceInfo_Extension_class_data_; +class SourceInfo_Extension_Version; +struct SourceInfo_Extension_VersionDefaultTypeInternal; +extern SourceInfo_Extension_VersionDefaultTypeInternal _SourceInfo_Extension_Version_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull SourceInfo_Extension_Version_class_data_; +class SourceInfo_MacroCallsEntry_DoNotUse; +struct SourceInfo_MacroCallsEntry_DoNotUseDefaultTypeInternal; +extern SourceInfo_MacroCallsEntry_DoNotUseDefaultTypeInternal _SourceInfo_MacroCallsEntry_DoNotUse_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull SourceInfo_MacroCallsEntry_DoNotUse_class_data_; +class SourceInfo_PositionsEntry_DoNotUse; +struct SourceInfo_PositionsEntry_DoNotUseDefaultTypeInternal; +extern SourceInfo_PositionsEntry_DoNotUseDefaultTypeInternal _SourceInfo_PositionsEntry_DoNotUse_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull SourceInfo_PositionsEntry_DoNotUse_class_data_; +} // namespace expr +} // namespace cel +namespace google { +namespace protobuf { +template <> +internal::EnumTraitsT<::cel::expr::SourceInfo_Extension_Component_internal_data_> + internal::EnumTraitsImpl::value<::cel::expr::SourceInfo_Extension_Component>; +} // namespace protobuf +} // namespace google + +namespace cel { +namespace expr { +enum SourceInfo_Extension_Component : int { + SourceInfo_Extension_Component_COMPONENT_UNSPECIFIED = 0, + SourceInfo_Extension_Component_COMPONENT_PARSER = 1, + SourceInfo_Extension_Component_COMPONENT_TYPE_CHECKER = 2, + SourceInfo_Extension_Component_COMPONENT_RUNTIME = 3, + SourceInfo_Extension_Component_SourceInfo_Extension_Component_INT_MIN_SENTINEL_DO_NOT_USE_ = + ::std::numeric_limits<::int32_t>::min(), + SourceInfo_Extension_Component_SourceInfo_Extension_Component_INT_MAX_SENTINEL_DO_NOT_USE_ = + ::std::numeric_limits<::int32_t>::max(), +}; + +extern const uint32_t SourceInfo_Extension_Component_internal_data_[]; +inline constexpr SourceInfo_Extension_Component SourceInfo_Extension_Component_Component_MIN = + static_cast(0); +inline constexpr SourceInfo_Extension_Component SourceInfo_Extension_Component_Component_MAX = + static_cast(3); +inline bool SourceInfo_Extension_Component_IsValid(int value) { + return 0 <= value && value <= 3; +} +inline constexpr int SourceInfo_Extension_Component_Component_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL SourceInfo_Extension_Component_descriptor(); +template +const ::std::string& SourceInfo_Extension_Component_Name(T value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to Component_Name()."); + return SourceInfo_Extension_Component_Name(static_cast(value)); +} +template <> +inline const ::std::string& SourceInfo_Extension_Component_Name(SourceInfo_Extension_Component value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool SourceInfo_Extension_Component_Parse( + ::absl::string_view name, SourceInfo_Extension_Component* PROTOBUF_NONNULL value) { + return ::google::protobuf::internal::ParseNamedEnum(SourceInfo_Extension_Component_descriptor(), name, + value); +} + +// =================================================================== + + +// ------------------------------------------------------------------- + +class SourceInfo_PositionsEntry_DoNotUse final + : public ::google::protobuf::internal::MapEntry<::int64_t, ::int32_t, + ::google::protobuf::internal::WireFormatLite::TYPE_INT64, + ::google::protobuf::internal::WireFormatLite::TYPE_INT32> { + public: + using SuperType = + ::google::protobuf::internal::MapEntry<::int64_t, ::int32_t, + ::google::protobuf::internal::WireFormatLite::TYPE_INT64, + ::google::protobuf::internal::WireFormatLite::TYPE_INT32>; + SourceInfo_PositionsEntry_DoNotUse(); + template + explicit PROTOBUF_CONSTEXPR SourceInfo_PositionsEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized); + explicit SourceInfo_PositionsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr const void* PROTOBUF_NONNULL internal_default_instance() { + return &_SourceInfo_PositionsEntry_DoNotUse_default_instance_; + } + + + static constexpr auto InternalGenerateClassData_(); + + private: + friend class ::google::protobuf::MessageLite; + friend struct ::TableStruct_cel_2fexpr_2fsyntax_2eproto; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 0, 0, + 2> + _table_; + + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); +}; +extern const ::google::protobuf::internal::ClassDataFull SourceInfo_PositionsEntry_DoNotUse_class_data_; +// ------------------------------------------------------------------- + +class SourceInfo_Extension_Version final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.SourceInfo.Extension.Version) */ { + public: + inline SourceInfo_Extension_Version() : SourceInfo_Extension_Version(nullptr) {} + ~SourceInfo_Extension_Version() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(SourceInfo_Extension_Version* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(SourceInfo_Extension_Version)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR SourceInfo_Extension_Version(::google::protobuf::internal::ConstantInitialized); + + inline SourceInfo_Extension_Version(const SourceInfo_Extension_Version& from) : SourceInfo_Extension_Version(nullptr, from) {} + inline SourceInfo_Extension_Version(SourceInfo_Extension_Version&& from) noexcept + : SourceInfo_Extension_Version(nullptr, ::std::move(from)) {} + inline SourceInfo_Extension_Version& operator=(const SourceInfo_Extension_Version& from) { + CopyFrom(from); + return *this; + } + inline SourceInfo_Extension_Version& operator=(SourceInfo_Extension_Version&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SourceInfo_Extension_Version& default_instance() { + return *reinterpret_cast( + &_SourceInfo_Extension_Version_default_instance_); + } + static constexpr int kIndexInFileMessages = 12; + friend void swap(SourceInfo_Extension_Version& a, SourceInfo_Extension_Version& b) { a.Swap(&b); } + inline void Swap(SourceInfo_Extension_Version* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SourceInfo_Extension_Version* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SourceInfo_Extension_Version* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SourceInfo_Extension_Version& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const SourceInfo_Extension_Version& from) { SourceInfo_Extension_Version::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(SourceInfo_Extension_Version* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.SourceInfo.Extension.Version"; } + + explicit SourceInfo_Extension_Version(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + SourceInfo_Extension_Version(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SourceInfo_Extension_Version& from); + SourceInfo_Extension_Version( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SourceInfo_Extension_Version&& from) noexcept + : SourceInfo_Extension_Version(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kMajorFieldNumber = 1, + kMinorFieldNumber = 2, + }; + // int64 major = 1; + void clear_major() ; + ::int64_t major() const; + void set_major(::int64_t value); + + private: + ::int64_t _internal_major() const; + void _internal_set_major(::int64_t value); + + public: + // int64 minor = 2; + void clear_minor() ; + ::int64_t minor() const; + void set_minor(::int64_t value); + + private: + ::int64_t _internal_minor() const; + void _internal_set_minor(::int64_t value); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.SourceInfo.Extension.Version) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 0, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const SourceInfo_Extension_Version& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::int64_t major_; + ::int64_t minor_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fsyntax_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull SourceInfo_Extension_Version_class_data_; +// ------------------------------------------------------------------- + +class Expr_Ident final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Expr.Ident) */ { + public: + inline Expr_Ident() : Expr_Ident(nullptr) {} + ~Expr_Ident() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Expr_Ident* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Expr_Ident)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Expr_Ident(::google::protobuf::internal::ConstantInitialized); + + inline Expr_Ident(const Expr_Ident& from) : Expr_Ident(nullptr, from) {} + inline Expr_Ident(Expr_Ident&& from) noexcept + : Expr_Ident(nullptr, ::std::move(from)) {} + inline Expr_Ident& operator=(const Expr_Ident& from) { + CopyFrom(from); + return *this; + } + inline Expr_Ident& operator=(Expr_Ident&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Expr_Ident& default_instance() { + return *reinterpret_cast( + &_Expr_Ident_default_instance_); + } + static constexpr int kIndexInFileMessages = 1; + friend void swap(Expr_Ident& a, Expr_Ident& b) { a.Swap(&b); } + inline void Swap(Expr_Ident* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Expr_Ident* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Expr_Ident* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Expr_Ident& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Expr_Ident& from) { Expr_Ident::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Expr_Ident* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Expr.Ident"; } + + explicit Expr_Ident(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Expr_Ident(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Expr_Ident& from); + Expr_Ident( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Expr_Ident&& from) noexcept + : Expr_Ident(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kNameFieldNumber = 1, + }; + // string name = 1; + void clear_name() ; + const ::std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_name(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name(); + void set_allocated_name(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_name() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_name(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.Expr.Ident) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<0, 1, + 0, 32, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Expr_Ident& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fsyntax_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Expr_Ident_class_data_; +// ------------------------------------------------------------------- + +class SourceInfo_Extension final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.SourceInfo.Extension) */ { + public: + inline SourceInfo_Extension() : SourceInfo_Extension(nullptr) {} + ~SourceInfo_Extension() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(SourceInfo_Extension* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(SourceInfo_Extension)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR SourceInfo_Extension(::google::protobuf::internal::ConstantInitialized); + + inline SourceInfo_Extension(const SourceInfo_Extension& from) : SourceInfo_Extension(nullptr, from) {} + inline SourceInfo_Extension(SourceInfo_Extension&& from) noexcept + : SourceInfo_Extension(nullptr, ::std::move(from)) {} + inline SourceInfo_Extension& operator=(const SourceInfo_Extension& from) { + CopyFrom(from); + return *this; + } + inline SourceInfo_Extension& operator=(SourceInfo_Extension&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SourceInfo_Extension& default_instance() { + return *reinterpret_cast( + &_SourceInfo_Extension_default_instance_); + } + static constexpr int kIndexInFileMessages = 13; + friend void swap(SourceInfo_Extension& a, SourceInfo_Extension& b) { a.Swap(&b); } + inline void Swap(SourceInfo_Extension* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SourceInfo_Extension* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SourceInfo_Extension* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SourceInfo_Extension& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const SourceInfo_Extension& from) { SourceInfo_Extension::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(SourceInfo_Extension* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.SourceInfo.Extension"; } + + explicit SourceInfo_Extension(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + SourceInfo_Extension(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SourceInfo_Extension& from); + SourceInfo_Extension( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SourceInfo_Extension&& from) noexcept + : SourceInfo_Extension(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + using Version = SourceInfo_Extension_Version; + using Component = SourceInfo_Extension_Component; + static constexpr Component COMPONENT_UNSPECIFIED = SourceInfo_Extension_Component_COMPONENT_UNSPECIFIED; + static constexpr Component COMPONENT_PARSER = SourceInfo_Extension_Component_COMPONENT_PARSER; + static constexpr Component COMPONENT_TYPE_CHECKER = SourceInfo_Extension_Component_COMPONENT_TYPE_CHECKER; + static constexpr Component COMPONENT_RUNTIME = SourceInfo_Extension_Component_COMPONENT_RUNTIME; + static inline bool Component_IsValid(int value) { + return SourceInfo_Extension_Component_IsValid(value); + } + static constexpr Component Component_MIN = SourceInfo_Extension_Component_Component_MIN; + static constexpr Component Component_MAX = SourceInfo_Extension_Component_Component_MAX; + static constexpr int Component_ARRAYSIZE = SourceInfo_Extension_Component_Component_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Component_descriptor() { + return SourceInfo_Extension_Component_descriptor(); + } + template + static inline const ::std::string& Component_Name(T value) { + return SourceInfo_Extension_Component_Name(value); + } + static inline bool Component_Parse( + ::absl::string_view name, Component* PROTOBUF_NONNULL value) { + return SourceInfo_Extension_Component_Parse(name, value); + } + + // accessors ------------------------------------------------------- + enum : int { + kAffectedComponentsFieldNumber = 2, + kIdFieldNumber = 1, + kVersionFieldNumber = 3, + }; + // repeated .cel.expr.SourceInfo.Extension.Component affected_components = 2; + int affected_components_size() const; + private: + int _internal_affected_components_size() const; + + public: + void clear_affected_components() ; + public: + ::cel::expr::SourceInfo_Extension_Component affected_components(int index) const; + void set_affected_components(int index, ::cel::expr::SourceInfo_Extension_Component value); + void add_affected_components(::cel::expr::SourceInfo_Extension_Component value); + const ::google::protobuf::RepeatedField& affected_components() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL mutable_affected_components(); + + private: + const ::google::protobuf::RepeatedField& _internal_affected_components() const; + ::google::protobuf::RepeatedField* PROTOBUF_NONNULL _internal_mutable_affected_components(); + + public: + // string id = 1; + void clear_id() ; + const ::std::string& id() const; + template + void set_id(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_id(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_id(); + void set_allocated_id(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_id() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_id(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_id(); + + public: + // .cel.expr.SourceInfo.Extension.Version version = 3; + bool has_version() const; + void clear_version() ; + const ::cel::expr::SourceInfo_Extension_Version& version() const; + [[nodiscard]] ::cel::expr::SourceInfo_Extension_Version* PROTOBUF_NULLABLE release_version(); + ::cel::expr::SourceInfo_Extension_Version* PROTOBUF_NONNULL mutable_version(); + void set_allocated_version(::cel::expr::SourceInfo_Extension_Version* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_version(::cel::expr::SourceInfo_Extension_Version* PROTOBUF_NULLABLE value); + ::cel::expr::SourceInfo_Extension_Version* PROTOBUF_NULLABLE unsafe_arena_release_version(); + + private: + const ::cel::expr::SourceInfo_Extension_Version& _internal_version() const; + ::cel::expr::SourceInfo_Extension_Version* PROTOBUF_NONNULL _internal_mutable_version(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.SourceInfo.Extension) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 3, + 1, 40, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const SourceInfo_Extension& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField affected_components_; + ::google::protobuf::internal::CachedSize _affected_components_cached_byte_size_; + ::google::protobuf::internal::ArenaStringPtr id_; + ::cel::expr::SourceInfo_Extension_Version* PROTOBUF_NULLABLE version_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fsyntax_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull SourceInfo_Extension_class_data_; +// ------------------------------------------------------------------- + +class Constant final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Constant) */ { + public: + inline Constant() : Constant(nullptr) {} + ~Constant() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Constant* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Constant)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Constant(::google::protobuf::internal::ConstantInitialized); + + inline Constant(const Constant& from) : Constant(nullptr, from) {} + inline Constant(Constant&& from) noexcept + : Constant(nullptr, ::std::move(from)) {} + inline Constant& operator=(const Constant& from) { + CopyFrom(from); + return *this; + } + inline Constant& operator=(Constant&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Constant& default_instance() { + return *reinterpret_cast( + &_Constant_default_instance_); + } + enum ConstantKindCase { + kNullValue = 1, + kBoolValue = 2, + kInt64Value = 3, + kUint64Value = 4, + kDoubleValue = 5, + kStringValue = 6, + kBytesValue = 7, + kDurationValue = 8, + kTimestampValue = 9, + CONSTANT_KIND_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 9; + friend void swap(Constant& a, Constant& b) { a.Swap(&b); } + inline void Swap(Constant* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Constant* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Constant* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Constant& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Constant& from) { Constant::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Constant* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Constant"; } + + explicit Constant(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Constant(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Constant& from); + Constant( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Constant&& from) noexcept + : Constant(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kNullValueFieldNumber = 1, + kBoolValueFieldNumber = 2, + kInt64ValueFieldNumber = 3, + kUint64ValueFieldNumber = 4, + kDoubleValueFieldNumber = 5, + kStringValueFieldNumber = 6, + kBytesValueFieldNumber = 7, + kDurationValueFieldNumber = 8, + kTimestampValueFieldNumber = 9, + }; + // .google.protobuf.NullValue null_value = 1; + bool has_null_value() const; + void clear_null_value() ; + ::google::protobuf::NullValue null_value() const; + void set_null_value(::google::protobuf::NullValue value); + + private: + ::google::protobuf::NullValue _internal_null_value() const; + void _internal_set_null_value(::google::protobuf::NullValue value); + + public: + // bool bool_value = 2; + bool has_bool_value() const; + void clear_bool_value() ; + bool bool_value() const; + void set_bool_value(bool value); + + private: + bool _internal_bool_value() const; + void _internal_set_bool_value(bool value); + + public: + // int64 int64_value = 3; + bool has_int64_value() const; + void clear_int64_value() ; + ::int64_t int64_value() const; + void set_int64_value(::int64_t value); + + private: + ::int64_t _internal_int64_value() const; + void _internal_set_int64_value(::int64_t value); + + public: + // uint64 uint64_value = 4; + bool has_uint64_value() const; + void clear_uint64_value() ; + ::uint64_t uint64_value() const; + void set_uint64_value(::uint64_t value); + + private: + ::uint64_t _internal_uint64_value() const; + void _internal_set_uint64_value(::uint64_t value); + + public: + // double double_value = 5; + bool has_double_value() const; + void clear_double_value() ; + double double_value() const; + void set_double_value(double value); + + private: + double _internal_double_value() const; + void _internal_set_double_value(double value); + + public: + // string string_value = 6; + bool has_string_value() const; + void clear_string_value() ; + const ::std::string& string_value() const; + template + void set_string_value(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_string_value(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_string_value(); + void set_allocated_string_value(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_string_value() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_string_value(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_string_value(); + + public: + // bytes bytes_value = 7; + bool has_bytes_value() const; + void clear_bytes_value() ; + const ::std::string& bytes_value() const; + template + void set_bytes_value(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_bytes_value(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_bytes_value(); + void set_allocated_bytes_value(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_bytes_value() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_bytes_value(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_bytes_value(); + + public: + // .google.protobuf.Duration duration_value = 8 [deprecated = true]; + [[deprecated]] bool has_duration_value() const; + private: + bool _internal_has_duration_value() const; + + public: + [[deprecated]] void clear_duration_value() ; + [[deprecated]] const ::google::protobuf::Duration& duration_value() const; + [[deprecated]] [[nodiscard]] ::google::protobuf::Duration* PROTOBUF_NULLABLE release_duration_value(); + [[deprecated]] ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_duration_value(); + [[deprecated]] void set_allocated_duration_value(::google::protobuf::Duration* PROTOBUF_NULLABLE value); + [[deprecated]] void unsafe_arena_set_allocated_duration_value(::google::protobuf::Duration* PROTOBUF_NULLABLE value); + [[deprecated]] ::google::protobuf::Duration* PROTOBUF_NULLABLE unsafe_arena_release_duration_value(); + + private: + const ::google::protobuf::Duration& _internal_duration_value() const; + ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_duration_value(); + + public: + // .google.protobuf.Timestamp timestamp_value = 9 [deprecated = true]; + [[deprecated]] bool has_timestamp_value() const; + private: + bool _internal_has_timestamp_value() const; + + public: + [[deprecated]] void clear_timestamp_value() ; + [[deprecated]] const ::google::protobuf::Timestamp& timestamp_value() const; + [[deprecated]] [[nodiscard]] ::google::protobuf::Timestamp* PROTOBUF_NULLABLE release_timestamp_value(); + [[deprecated]] ::google::protobuf::Timestamp* PROTOBUF_NONNULL mutable_timestamp_value(); + [[deprecated]] void set_allocated_timestamp_value(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value); + [[deprecated]] void unsafe_arena_set_allocated_timestamp_value(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value); + [[deprecated]] ::google::protobuf::Timestamp* PROTOBUF_NULLABLE unsafe_arena_release_timestamp_value(); + + private: + const ::google::protobuf::Timestamp& _internal_timestamp_value() const; + ::google::protobuf::Timestamp* PROTOBUF_NONNULL _internal_mutable_timestamp_value(); + + public: + void clear_constant_kind(); + ConstantKindCase constant_kind_case() const; + // @@protoc_insertion_point(class_scope:cel.expr.Constant) + private: + class _Internal; + void set_has_null_value(); + void set_has_bool_value(); + void set_has_int64_value(); + void set_has_uint64_value(); + void set_has_double_value(); + void set_has_string_value(); + void set_has_bytes_value(); + void set_has_duration_value(); + void set_has_timestamp_value(); + inline bool has_constant_kind() const; + inline void clear_has_constant_kind(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<0, 9, + 2, 46, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Constant& from_msg); + union ConstantKindUnion { + constexpr ConstantKindUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + int null_value_; + bool bool_value_; + ::int64_t int64_value_; + ::uint64_t uint64_value_; + double double_value_; + ::google::protobuf::internal::ArenaStringPtr string_value_; + ::google::protobuf::internal::ArenaStringPtr bytes_value_; + ::google::protobuf::Duration* PROTOBUF_NULLABLE duration_value_; + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE timestamp_value_; + } constant_kind_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fsyntax_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Constant_class_data_; +// ------------------------------------------------------------------- + +class Expr final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Expr) */ { + public: + inline Expr() : Expr(nullptr) {} + ~Expr() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Expr* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Expr)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Expr(::google::protobuf::internal::ConstantInitialized); + + inline Expr(const Expr& from) : Expr(nullptr, from) {} + inline Expr(Expr&& from) noexcept + : Expr(nullptr, ::std::move(from)) {} + inline Expr& operator=(const Expr& from) { + CopyFrom(from); + return *this; + } + inline Expr& operator=(Expr&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Expr& default_instance() { + return *reinterpret_cast( + &_Expr_default_instance_); + } + enum ExprKindCase { + kConstExpr = 3, + kIdentExpr = 4, + kSelectExpr = 5, + kCallExpr = 6, + kListExpr = 7, + kStructExpr = 8, + kComprehensionExpr = 9, + EXPR_KIND_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 8; + friend void swap(Expr& a, Expr& b) { a.Swap(&b); } + inline void Swap(Expr* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Expr* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Expr* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Expr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Expr& from) { Expr::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Expr* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Expr"; } + + explicit Expr(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Expr(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Expr& from); + Expr( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Expr&& from) noexcept + : Expr(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + using Ident = Expr_Ident; + using Select = Expr_Select; + using Call = Expr_Call; + using CreateList = Expr_CreateList; + using CreateStruct = Expr_CreateStruct; + using Comprehension = Expr_Comprehension; + + // accessors ------------------------------------------------------- + enum : int { + kIdFieldNumber = 2, + kConstExprFieldNumber = 3, + kIdentExprFieldNumber = 4, + kSelectExprFieldNumber = 5, + kCallExprFieldNumber = 6, + kListExprFieldNumber = 7, + kStructExprFieldNumber = 8, + kComprehensionExprFieldNumber = 9, + }; + // int64 id = 2; + void clear_id() ; + ::int64_t id() const; + void set_id(::int64_t value); + + private: + ::int64_t _internal_id() const; + void _internal_set_id(::int64_t value); + + public: + // .cel.expr.Constant const_expr = 3; + bool has_const_expr() const; + private: + bool _internal_has_const_expr() const; + + public: + void clear_const_expr() ; + const ::cel::expr::Constant& const_expr() const; + [[nodiscard]] ::cel::expr::Constant* PROTOBUF_NULLABLE release_const_expr(); + ::cel::expr::Constant* PROTOBUF_NONNULL mutable_const_expr(); + void set_allocated_const_expr(::cel::expr::Constant* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_const_expr(::cel::expr::Constant* PROTOBUF_NULLABLE value); + ::cel::expr::Constant* PROTOBUF_NULLABLE unsafe_arena_release_const_expr(); + + private: + const ::cel::expr::Constant& _internal_const_expr() const; + ::cel::expr::Constant* PROTOBUF_NONNULL _internal_mutable_const_expr(); + + public: + // .cel.expr.Expr.Ident ident_expr = 4; + bool has_ident_expr() const; + private: + bool _internal_has_ident_expr() const; + + public: + void clear_ident_expr() ; + const ::cel::expr::Expr_Ident& ident_expr() const; + [[nodiscard]] ::cel::expr::Expr_Ident* PROTOBUF_NULLABLE release_ident_expr(); + ::cel::expr::Expr_Ident* PROTOBUF_NONNULL mutable_ident_expr(); + void set_allocated_ident_expr(::cel::expr::Expr_Ident* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_ident_expr(::cel::expr::Expr_Ident* PROTOBUF_NULLABLE value); + ::cel::expr::Expr_Ident* PROTOBUF_NULLABLE unsafe_arena_release_ident_expr(); + + private: + const ::cel::expr::Expr_Ident& _internal_ident_expr() const; + ::cel::expr::Expr_Ident* PROTOBUF_NONNULL _internal_mutable_ident_expr(); + + public: + // .cel.expr.Expr.Select select_expr = 5; + bool has_select_expr() const; + private: + bool _internal_has_select_expr() const; + + public: + void clear_select_expr() ; + const ::cel::expr::Expr_Select& select_expr() const; + [[nodiscard]] ::cel::expr::Expr_Select* PROTOBUF_NULLABLE release_select_expr(); + ::cel::expr::Expr_Select* PROTOBUF_NONNULL mutable_select_expr(); + void set_allocated_select_expr(::cel::expr::Expr_Select* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_select_expr(::cel::expr::Expr_Select* PROTOBUF_NULLABLE value); + ::cel::expr::Expr_Select* PROTOBUF_NULLABLE unsafe_arena_release_select_expr(); + + private: + const ::cel::expr::Expr_Select& _internal_select_expr() const; + ::cel::expr::Expr_Select* PROTOBUF_NONNULL _internal_mutable_select_expr(); + + public: + // .cel.expr.Expr.Call call_expr = 6; + bool has_call_expr() const; + private: + bool _internal_has_call_expr() const; + + public: + void clear_call_expr() ; + const ::cel::expr::Expr_Call& call_expr() const; + [[nodiscard]] ::cel::expr::Expr_Call* PROTOBUF_NULLABLE release_call_expr(); + ::cel::expr::Expr_Call* PROTOBUF_NONNULL mutable_call_expr(); + void set_allocated_call_expr(::cel::expr::Expr_Call* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_call_expr(::cel::expr::Expr_Call* PROTOBUF_NULLABLE value); + ::cel::expr::Expr_Call* PROTOBUF_NULLABLE unsafe_arena_release_call_expr(); + + private: + const ::cel::expr::Expr_Call& _internal_call_expr() const; + ::cel::expr::Expr_Call* PROTOBUF_NONNULL _internal_mutable_call_expr(); + + public: + // .cel.expr.Expr.CreateList list_expr = 7; + bool has_list_expr() const; + private: + bool _internal_has_list_expr() const; + + public: + void clear_list_expr() ; + const ::cel::expr::Expr_CreateList& list_expr() const; + [[nodiscard]] ::cel::expr::Expr_CreateList* PROTOBUF_NULLABLE release_list_expr(); + ::cel::expr::Expr_CreateList* PROTOBUF_NONNULL mutable_list_expr(); + void set_allocated_list_expr(::cel::expr::Expr_CreateList* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_list_expr(::cel::expr::Expr_CreateList* PROTOBUF_NULLABLE value); + ::cel::expr::Expr_CreateList* PROTOBUF_NULLABLE unsafe_arena_release_list_expr(); + + private: + const ::cel::expr::Expr_CreateList& _internal_list_expr() const; + ::cel::expr::Expr_CreateList* PROTOBUF_NONNULL _internal_mutable_list_expr(); + + public: + // .cel.expr.Expr.CreateStruct struct_expr = 8; + bool has_struct_expr() const; + private: + bool _internal_has_struct_expr() const; + + public: + void clear_struct_expr() ; + const ::cel::expr::Expr_CreateStruct& struct_expr() const; + [[nodiscard]] ::cel::expr::Expr_CreateStruct* PROTOBUF_NULLABLE release_struct_expr(); + ::cel::expr::Expr_CreateStruct* PROTOBUF_NONNULL mutable_struct_expr(); + void set_allocated_struct_expr(::cel::expr::Expr_CreateStruct* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_struct_expr(::cel::expr::Expr_CreateStruct* PROTOBUF_NULLABLE value); + ::cel::expr::Expr_CreateStruct* PROTOBUF_NULLABLE unsafe_arena_release_struct_expr(); + + private: + const ::cel::expr::Expr_CreateStruct& _internal_struct_expr() const; + ::cel::expr::Expr_CreateStruct* PROTOBUF_NONNULL _internal_mutable_struct_expr(); + + public: + // .cel.expr.Expr.Comprehension comprehension_expr = 9; + bool has_comprehension_expr() const; + private: + bool _internal_has_comprehension_expr() const; + + public: + void clear_comprehension_expr() ; + const ::cel::expr::Expr_Comprehension& comprehension_expr() const; + [[nodiscard]] ::cel::expr::Expr_Comprehension* PROTOBUF_NULLABLE release_comprehension_expr(); + ::cel::expr::Expr_Comprehension* PROTOBUF_NONNULL mutable_comprehension_expr(); + void set_allocated_comprehension_expr(::cel::expr::Expr_Comprehension* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_comprehension_expr(::cel::expr::Expr_Comprehension* PROTOBUF_NULLABLE value); + ::cel::expr::Expr_Comprehension* PROTOBUF_NULLABLE unsafe_arena_release_comprehension_expr(); + + private: + const ::cel::expr::Expr_Comprehension& _internal_comprehension_expr() const; + ::cel::expr::Expr_Comprehension* PROTOBUF_NONNULL _internal_mutable_comprehension_expr(); + + public: + void clear_expr_kind(); + ExprKindCase expr_kind_case() const; + // @@protoc_insertion_point(class_scope:cel.expr.Expr) + private: + class _Internal; + void set_has_const_expr(); + void set_has_ident_expr(); + void set_has_select_expr(); + void set_has_call_expr(); + void set_has_list_expr(); + void set_has_struct_expr(); + void set_has_comprehension_expr(); + inline bool has_expr_kind() const; + inline void clear_has_expr_kind(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<0, 8, + 7, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Expr& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::int64_t id_; + union ExprKindUnion { + constexpr ExprKindUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::protobuf::Message* PROTOBUF_NULLABLE const_expr_; + ::google::protobuf::Message* PROTOBUF_NULLABLE ident_expr_; + ::google::protobuf::Message* PROTOBUF_NULLABLE select_expr_; + ::google::protobuf::Message* PROTOBUF_NULLABLE call_expr_; + ::google::protobuf::Message* PROTOBUF_NULLABLE list_expr_; + ::google::protobuf::Message* PROTOBUF_NULLABLE struct_expr_; + ::google::protobuf::Message* PROTOBUF_NULLABLE comprehension_expr_; + } expr_kind_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fsyntax_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Expr_class_data_; +// ------------------------------------------------------------------- + +class Expr_Call final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Expr.Call) */ { + public: + inline Expr_Call() : Expr_Call(nullptr) {} + ~Expr_Call() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Expr_Call* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Expr_Call)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Expr_Call(::google::protobuf::internal::ConstantInitialized); + + inline Expr_Call(const Expr_Call& from) : Expr_Call(nullptr, from) {} + inline Expr_Call(Expr_Call&& from) noexcept + : Expr_Call(nullptr, ::std::move(from)) {} + inline Expr_Call& operator=(const Expr_Call& from) { + CopyFrom(from); + return *this; + } + inline Expr_Call& operator=(Expr_Call&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Expr_Call& default_instance() { + return *reinterpret_cast( + &_Expr_Call_default_instance_); + } + static constexpr int kIndexInFileMessages = 3; + friend void swap(Expr_Call& a, Expr_Call& b) { a.Swap(&b); } + inline void Swap(Expr_Call* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Expr_Call* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Expr_Call* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Expr_Call& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Expr_Call& from) { Expr_Call::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Expr_Call* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Expr.Call"; } + + explicit Expr_Call(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Expr_Call(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Expr_Call& from); + Expr_Call( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Expr_Call&& from) noexcept + : Expr_Call(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kArgsFieldNumber = 3, + kFunctionFieldNumber = 2, + kTargetFieldNumber = 1, + }; + // repeated .cel.expr.Expr args = 3; + int args_size() const; + private: + int _internal_args_size() const; + + public: + void clear_args() ; + ::cel::expr::Expr* PROTOBUF_NONNULL mutable_args(int index); + ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>* PROTOBUF_NONNULL mutable_args(); + + private: + const ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>* PROTOBUF_NONNULL _internal_mutable_args(); + public: + const ::cel::expr::Expr& args(int index) const; + ::cel::expr::Expr* PROTOBUF_NONNULL add_args(); + const ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>& args() const; + // string function = 2; + void clear_function() ; + const ::std::string& function() const; + template + void set_function(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_function(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_function(); + void set_allocated_function(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_function() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_function(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_function(); + + public: + // .cel.expr.Expr target = 1; + bool has_target() const; + void clear_target() ; + const ::cel::expr::Expr& target() const; + [[nodiscard]] ::cel::expr::Expr* PROTOBUF_NULLABLE release_target(); + ::cel::expr::Expr* PROTOBUF_NONNULL mutable_target(); + void set_allocated_target(::cel::expr::Expr* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_target(::cel::expr::Expr* PROTOBUF_NULLABLE value); + ::cel::expr::Expr* PROTOBUF_NULLABLE unsafe_arena_release_target(); + + private: + const ::cel::expr::Expr& _internal_target() const; + ::cel::expr::Expr* PROTOBUF_NONNULL _internal_mutable_target(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.Expr.Call) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 3, + 2, 35, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Expr_Call& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::cel::expr::Expr > args_; + ::google::protobuf::internal::ArenaStringPtr function_; + ::cel::expr::Expr* PROTOBUF_NULLABLE target_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fsyntax_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Expr_Call_class_data_; +// ------------------------------------------------------------------- + +class Expr_Comprehension final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Expr.Comprehension) */ { + public: + inline Expr_Comprehension() : Expr_Comprehension(nullptr) {} + ~Expr_Comprehension() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Expr_Comprehension* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Expr_Comprehension)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Expr_Comprehension(::google::protobuf::internal::ConstantInitialized); + + inline Expr_Comprehension(const Expr_Comprehension& from) : Expr_Comprehension(nullptr, from) {} + inline Expr_Comprehension(Expr_Comprehension&& from) noexcept + : Expr_Comprehension(nullptr, ::std::move(from)) {} + inline Expr_Comprehension& operator=(const Expr_Comprehension& from) { + CopyFrom(from); + return *this; + } + inline Expr_Comprehension& operator=(Expr_Comprehension&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Expr_Comprehension& default_instance() { + return *reinterpret_cast( + &_Expr_Comprehension_default_instance_); + } + static constexpr int kIndexInFileMessages = 7; + friend void swap(Expr_Comprehension& a, Expr_Comprehension& b) { a.Swap(&b); } + inline void Swap(Expr_Comprehension* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Expr_Comprehension* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Expr_Comprehension* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Expr_Comprehension& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Expr_Comprehension& from) { Expr_Comprehension::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Expr_Comprehension* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Expr.Comprehension"; } + + explicit Expr_Comprehension(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Expr_Comprehension(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Expr_Comprehension& from); + Expr_Comprehension( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Expr_Comprehension&& from) noexcept + : Expr_Comprehension(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kIterVarFieldNumber = 1, + kAccuVarFieldNumber = 3, + kIterVar2FieldNumber = 8, + kIterRangeFieldNumber = 2, + kAccuInitFieldNumber = 4, + kLoopConditionFieldNumber = 5, + kLoopStepFieldNumber = 6, + kResultFieldNumber = 7, + }; + // string iter_var = 1; + void clear_iter_var() ; + const ::std::string& iter_var() const; + template + void set_iter_var(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_iter_var(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_iter_var(); + void set_allocated_iter_var(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_iter_var() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_iter_var(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_iter_var(); + + public: + // string accu_var = 3; + void clear_accu_var() ; + const ::std::string& accu_var() const; + template + void set_accu_var(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_accu_var(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_accu_var(); + void set_allocated_accu_var(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_accu_var() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_accu_var(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_accu_var(); + + public: + // string iter_var2 = 8; + void clear_iter_var2() ; + const ::std::string& iter_var2() const; + template + void set_iter_var2(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_iter_var2(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_iter_var2(); + void set_allocated_iter_var2(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_iter_var2() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_iter_var2(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_iter_var2(); + + public: + // .cel.expr.Expr iter_range = 2; + bool has_iter_range() const; + void clear_iter_range() ; + const ::cel::expr::Expr& iter_range() const; + [[nodiscard]] ::cel::expr::Expr* PROTOBUF_NULLABLE release_iter_range(); + ::cel::expr::Expr* PROTOBUF_NONNULL mutable_iter_range(); + void set_allocated_iter_range(::cel::expr::Expr* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_iter_range(::cel::expr::Expr* PROTOBUF_NULLABLE value); + ::cel::expr::Expr* PROTOBUF_NULLABLE unsafe_arena_release_iter_range(); + + private: + const ::cel::expr::Expr& _internal_iter_range() const; + ::cel::expr::Expr* PROTOBUF_NONNULL _internal_mutable_iter_range(); + + public: + // .cel.expr.Expr accu_init = 4; + bool has_accu_init() const; + void clear_accu_init() ; + const ::cel::expr::Expr& accu_init() const; + [[nodiscard]] ::cel::expr::Expr* PROTOBUF_NULLABLE release_accu_init(); + ::cel::expr::Expr* PROTOBUF_NONNULL mutable_accu_init(); + void set_allocated_accu_init(::cel::expr::Expr* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_accu_init(::cel::expr::Expr* PROTOBUF_NULLABLE value); + ::cel::expr::Expr* PROTOBUF_NULLABLE unsafe_arena_release_accu_init(); + + private: + const ::cel::expr::Expr& _internal_accu_init() const; + ::cel::expr::Expr* PROTOBUF_NONNULL _internal_mutable_accu_init(); + + public: + // .cel.expr.Expr loop_condition = 5; + bool has_loop_condition() const; + void clear_loop_condition() ; + const ::cel::expr::Expr& loop_condition() const; + [[nodiscard]] ::cel::expr::Expr* PROTOBUF_NULLABLE release_loop_condition(); + ::cel::expr::Expr* PROTOBUF_NONNULL mutable_loop_condition(); + void set_allocated_loop_condition(::cel::expr::Expr* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_loop_condition(::cel::expr::Expr* PROTOBUF_NULLABLE value); + ::cel::expr::Expr* PROTOBUF_NULLABLE unsafe_arena_release_loop_condition(); + + private: + const ::cel::expr::Expr& _internal_loop_condition() const; + ::cel::expr::Expr* PROTOBUF_NONNULL _internal_mutable_loop_condition(); + + public: + // .cel.expr.Expr loop_step = 6; + bool has_loop_step() const; + void clear_loop_step() ; + const ::cel::expr::Expr& loop_step() const; + [[nodiscard]] ::cel::expr::Expr* PROTOBUF_NULLABLE release_loop_step(); + ::cel::expr::Expr* PROTOBUF_NONNULL mutable_loop_step(); + void set_allocated_loop_step(::cel::expr::Expr* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_loop_step(::cel::expr::Expr* PROTOBUF_NULLABLE value); + ::cel::expr::Expr* PROTOBUF_NULLABLE unsafe_arena_release_loop_step(); + + private: + const ::cel::expr::Expr& _internal_loop_step() const; + ::cel::expr::Expr* PROTOBUF_NONNULL _internal_mutable_loop_step(); + + public: + // .cel.expr.Expr result = 7; + bool has_result() const; + void clear_result() ; + const ::cel::expr::Expr& result() const; + [[nodiscard]] ::cel::expr::Expr* PROTOBUF_NULLABLE release_result(); + ::cel::expr::Expr* PROTOBUF_NONNULL mutable_result(); + void set_allocated_result(::cel::expr::Expr* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_result(::cel::expr::Expr* PROTOBUF_NULLABLE value); + ::cel::expr::Expr* PROTOBUF_NULLABLE unsafe_arena_release_result(); + + private: + const ::cel::expr::Expr& _internal_result() const; + ::cel::expr::Expr* PROTOBUF_NONNULL _internal_mutable_result(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.Expr.Comprehension) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<3, 8, + 5, 69, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Expr_Comprehension& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr iter_var_; + ::google::protobuf::internal::ArenaStringPtr accu_var_; + ::google::protobuf::internal::ArenaStringPtr iter_var2_; + ::cel::expr::Expr* PROTOBUF_NULLABLE iter_range_; + ::cel::expr::Expr* PROTOBUF_NULLABLE accu_init_; + ::cel::expr::Expr* PROTOBUF_NULLABLE loop_condition_; + ::cel::expr::Expr* PROTOBUF_NULLABLE loop_step_; + ::cel::expr::Expr* PROTOBUF_NULLABLE result_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fsyntax_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Expr_Comprehension_class_data_; +// ------------------------------------------------------------------- + +class Expr_CreateList final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Expr.CreateList) */ { + public: + inline Expr_CreateList() : Expr_CreateList(nullptr) {} + ~Expr_CreateList() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Expr_CreateList* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Expr_CreateList)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Expr_CreateList(::google::protobuf::internal::ConstantInitialized); + + inline Expr_CreateList(const Expr_CreateList& from) : Expr_CreateList(nullptr, from) {} + inline Expr_CreateList(Expr_CreateList&& from) noexcept + : Expr_CreateList(nullptr, ::std::move(from)) {} + inline Expr_CreateList& operator=(const Expr_CreateList& from) { + CopyFrom(from); + return *this; + } + inline Expr_CreateList& operator=(Expr_CreateList&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Expr_CreateList& default_instance() { + return *reinterpret_cast( + &_Expr_CreateList_default_instance_); + } + static constexpr int kIndexInFileMessages = 4; + friend void swap(Expr_CreateList& a, Expr_CreateList& b) { a.Swap(&b); } + inline void Swap(Expr_CreateList* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Expr_CreateList* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Expr_CreateList* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Expr_CreateList& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Expr_CreateList& from) { Expr_CreateList::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Expr_CreateList* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Expr.CreateList"; } + + explicit Expr_CreateList(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Expr_CreateList(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Expr_CreateList& from); + Expr_CreateList( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Expr_CreateList&& from) noexcept + : Expr_CreateList(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kElementsFieldNumber = 1, + kOptionalIndicesFieldNumber = 2, + }; + // repeated .cel.expr.Expr elements = 1; + int elements_size() const; + private: + int _internal_elements_size() const; + + public: + void clear_elements() ; + ::cel::expr::Expr* PROTOBUF_NONNULL mutable_elements(int index); + ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>* PROTOBUF_NONNULL mutable_elements(); + + private: + const ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>& _internal_elements() const; + ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>* PROTOBUF_NONNULL _internal_mutable_elements(); + public: + const ::cel::expr::Expr& elements(int index) const; + ::cel::expr::Expr* PROTOBUF_NONNULL add_elements(); + const ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>& elements() const; + // repeated int32 optional_indices = 2; + int optional_indices_size() const; + private: + int _internal_optional_indices_size() const; + + public: + void clear_optional_indices() ; + ::int32_t optional_indices(int index) const; + void set_optional_indices(int index, ::int32_t value); + void add_optional_indices(::int32_t value); + const ::google::protobuf::RepeatedField<::int32_t>& optional_indices() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_optional_indices(); + + private: + const ::google::protobuf::RepeatedField<::int32_t>& _internal_optional_indices() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_optional_indices(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.Expr.CreateList) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 1, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Expr_CreateList& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::cel::expr::Expr > elements_; + ::google::protobuf::RepeatedField<::int32_t> optional_indices_; + ::google::protobuf::internal::CachedSize _optional_indices_cached_byte_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fsyntax_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Expr_CreateList_class_data_; +// ------------------------------------------------------------------- + +class Expr_CreateStruct final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Expr.CreateStruct) */ { + public: + inline Expr_CreateStruct() : Expr_CreateStruct(nullptr) {} + ~Expr_CreateStruct() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Expr_CreateStruct* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Expr_CreateStruct)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Expr_CreateStruct(::google::protobuf::internal::ConstantInitialized); + + inline Expr_CreateStruct(const Expr_CreateStruct& from) : Expr_CreateStruct(nullptr, from) {} + inline Expr_CreateStruct(Expr_CreateStruct&& from) noexcept + : Expr_CreateStruct(nullptr, ::std::move(from)) {} + inline Expr_CreateStruct& operator=(const Expr_CreateStruct& from) { + CopyFrom(from); + return *this; + } + inline Expr_CreateStruct& operator=(Expr_CreateStruct&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Expr_CreateStruct& default_instance() { + return *reinterpret_cast( + &_Expr_CreateStruct_default_instance_); + } + static constexpr int kIndexInFileMessages = 6; + friend void swap(Expr_CreateStruct& a, Expr_CreateStruct& b) { a.Swap(&b); } + inline void Swap(Expr_CreateStruct* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Expr_CreateStruct* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Expr_CreateStruct* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Expr_CreateStruct& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Expr_CreateStruct& from) { Expr_CreateStruct::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Expr_CreateStruct* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Expr.CreateStruct"; } + + explicit Expr_CreateStruct(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Expr_CreateStruct(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Expr_CreateStruct& from); + Expr_CreateStruct( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Expr_CreateStruct&& from) noexcept + : Expr_CreateStruct(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + using Entry = Expr_CreateStruct_Entry; + + // accessors ------------------------------------------------------- + enum : int { + kEntriesFieldNumber = 2, + kMessageNameFieldNumber = 1, + }; + // repeated .cel.expr.Expr.CreateStruct.Entry entries = 2; + int entries_size() const; + private: + int _internal_entries_size() const; + + public: + void clear_entries() ; + ::cel::expr::Expr_CreateStruct_Entry* PROTOBUF_NONNULL mutable_entries(int index); + ::google::protobuf::RepeatedPtrField<::cel::expr::Expr_CreateStruct_Entry>* PROTOBUF_NONNULL mutable_entries(); + + private: + const ::google::protobuf::RepeatedPtrField<::cel::expr::Expr_CreateStruct_Entry>& _internal_entries() const; + ::google::protobuf::RepeatedPtrField<::cel::expr::Expr_CreateStruct_Entry>* PROTOBUF_NONNULL _internal_mutable_entries(); + public: + const ::cel::expr::Expr_CreateStruct_Entry& entries(int index) const; + ::cel::expr::Expr_CreateStruct_Entry* PROTOBUF_NONNULL add_entries(); + const ::google::protobuf::RepeatedPtrField<::cel::expr::Expr_CreateStruct_Entry>& entries() const; + // string message_name = 1; + void clear_message_name() ; + const ::std::string& message_name() const; + template + void set_message_name(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_message_name(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_message_name(); + void set_allocated_message_name(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_message_name() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_message_name(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_message_name(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.Expr.CreateStruct) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 1, 47, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Expr_CreateStruct& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::cel::expr::Expr_CreateStruct_Entry > entries_; + ::google::protobuf::internal::ArenaStringPtr message_name_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fsyntax_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Expr_CreateStruct_class_data_; +// ------------------------------------------------------------------- + +class Expr_CreateStruct_Entry final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Expr.CreateStruct.Entry) */ { + public: + inline Expr_CreateStruct_Entry() : Expr_CreateStruct_Entry(nullptr) {} + ~Expr_CreateStruct_Entry() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Expr_CreateStruct_Entry* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Expr_CreateStruct_Entry)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Expr_CreateStruct_Entry(::google::protobuf::internal::ConstantInitialized); + + inline Expr_CreateStruct_Entry(const Expr_CreateStruct_Entry& from) : Expr_CreateStruct_Entry(nullptr, from) {} + inline Expr_CreateStruct_Entry(Expr_CreateStruct_Entry&& from) noexcept + : Expr_CreateStruct_Entry(nullptr, ::std::move(from)) {} + inline Expr_CreateStruct_Entry& operator=(const Expr_CreateStruct_Entry& from) { + CopyFrom(from); + return *this; + } + inline Expr_CreateStruct_Entry& operator=(Expr_CreateStruct_Entry&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Expr_CreateStruct_Entry& default_instance() { + return *reinterpret_cast( + &_Expr_CreateStruct_Entry_default_instance_); + } + enum KeyKindCase { + kFieldKey = 2, + kMapKey = 3, + KEY_KIND_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 5; + friend void swap(Expr_CreateStruct_Entry& a, Expr_CreateStruct_Entry& b) { a.Swap(&b); } + inline void Swap(Expr_CreateStruct_Entry* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Expr_CreateStruct_Entry* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Expr_CreateStruct_Entry* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Expr_CreateStruct_Entry& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Expr_CreateStruct_Entry& from) { Expr_CreateStruct_Entry::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Expr_CreateStruct_Entry* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Expr.CreateStruct.Entry"; } + + explicit Expr_CreateStruct_Entry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Expr_CreateStruct_Entry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Expr_CreateStruct_Entry& from); + Expr_CreateStruct_Entry( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Expr_CreateStruct_Entry&& from) noexcept + : Expr_CreateStruct_Entry(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kValueFieldNumber = 4, + kIdFieldNumber = 1, + kOptionalEntryFieldNumber = 5, + kFieldKeyFieldNumber = 2, + kMapKeyFieldNumber = 3, + }; + // .cel.expr.Expr value = 4; + bool has_value() const; + void clear_value() ; + const ::cel::expr::Expr& value() const; + [[nodiscard]] ::cel::expr::Expr* PROTOBUF_NULLABLE release_value(); + ::cel::expr::Expr* PROTOBUF_NONNULL mutable_value(); + void set_allocated_value(::cel::expr::Expr* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_value(::cel::expr::Expr* PROTOBUF_NULLABLE value); + ::cel::expr::Expr* PROTOBUF_NULLABLE unsafe_arena_release_value(); + + private: + const ::cel::expr::Expr& _internal_value() const; + ::cel::expr::Expr* PROTOBUF_NONNULL _internal_mutable_value(); + + public: + // int64 id = 1; + void clear_id() ; + ::int64_t id() const; + void set_id(::int64_t value); + + private: + ::int64_t _internal_id() const; + void _internal_set_id(::int64_t value); + + public: + // bool optional_entry = 5; + void clear_optional_entry() ; + bool optional_entry() const; + void set_optional_entry(bool value); + + private: + bool _internal_optional_entry() const; + void _internal_set_optional_entry(bool value); + + public: + // string field_key = 2; + bool has_field_key() const; + void clear_field_key() ; + const ::std::string& field_key() const; + template + void set_field_key(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_field_key(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_field_key(); + void set_allocated_field_key(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_field_key() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_field_key(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_field_key(); + + public: + // .cel.expr.Expr map_key = 3; + bool has_map_key() const; + private: + bool _internal_has_map_key() const; + + public: + void clear_map_key() ; + const ::cel::expr::Expr& map_key() const; + [[nodiscard]] ::cel::expr::Expr* PROTOBUF_NULLABLE release_map_key(); + ::cel::expr::Expr* PROTOBUF_NONNULL mutable_map_key(); + void set_allocated_map_key(::cel::expr::Expr* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_map_key(::cel::expr::Expr* PROTOBUF_NULLABLE value); + ::cel::expr::Expr* PROTOBUF_NULLABLE unsafe_arena_release_map_key(); + + private: + const ::cel::expr::Expr& _internal_map_key() const; + ::cel::expr::Expr* PROTOBUF_NONNULL _internal_mutable_map_key(); + + public: + void clear_key_kind(); + KeyKindCase key_kind_case() const; + // @@protoc_insertion_point(class_scope:cel.expr.Expr.CreateStruct.Entry) + private: + class _Internal; + void set_has_field_key(); + void set_has_map_key(); + inline bool has_key_kind() const; + inline void clear_has_key_kind(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<3, 5, + 2, 50, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Expr_CreateStruct_Entry& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::cel::expr::Expr* PROTOBUF_NULLABLE value_; + ::int64_t id_; + bool optional_entry_; + union KeyKindUnion { + constexpr KeyKindUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::protobuf::internal::ArenaStringPtr field_key_; + ::cel::expr::Expr* PROTOBUF_NULLABLE map_key_; + } key_kind_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fsyntax_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Expr_CreateStruct_Entry_class_data_; +// ------------------------------------------------------------------- + +class Expr_Select final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Expr.Select) */ { + public: + inline Expr_Select() : Expr_Select(nullptr) {} + ~Expr_Select() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Expr_Select* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Expr_Select)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Expr_Select(::google::protobuf::internal::ConstantInitialized); + + inline Expr_Select(const Expr_Select& from) : Expr_Select(nullptr, from) {} + inline Expr_Select(Expr_Select&& from) noexcept + : Expr_Select(nullptr, ::std::move(from)) {} + inline Expr_Select& operator=(const Expr_Select& from) { + CopyFrom(from); + return *this; + } + inline Expr_Select& operator=(Expr_Select&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Expr_Select& default_instance() { + return *reinterpret_cast( + &_Expr_Select_default_instance_); + } + static constexpr int kIndexInFileMessages = 2; + friend void swap(Expr_Select& a, Expr_Select& b) { a.Swap(&b); } + inline void Swap(Expr_Select* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Expr_Select* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Expr_Select* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Expr_Select& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Expr_Select& from) { Expr_Select::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Expr_Select* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Expr.Select"; } + + explicit Expr_Select(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Expr_Select(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Expr_Select& from); + Expr_Select( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Expr_Select&& from) noexcept + : Expr_Select(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kFieldFieldNumber = 2, + kOperandFieldNumber = 1, + kTestOnlyFieldNumber = 3, + }; + // string field = 2; + void clear_field() ; + const ::std::string& field() const; + template + void set_field(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_field(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_field(); + void set_allocated_field(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_field() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_field(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_field(); + + public: + // .cel.expr.Expr operand = 1; + bool has_operand() const; + void clear_operand() ; + const ::cel::expr::Expr& operand() const; + [[nodiscard]] ::cel::expr::Expr* PROTOBUF_NULLABLE release_operand(); + ::cel::expr::Expr* PROTOBUF_NONNULL mutable_operand(); + void set_allocated_operand(::cel::expr::Expr* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_operand(::cel::expr::Expr* PROTOBUF_NULLABLE value); + ::cel::expr::Expr* PROTOBUF_NULLABLE unsafe_arena_release_operand(); + + private: + const ::cel::expr::Expr& _internal_operand() const; + ::cel::expr::Expr* PROTOBUF_NONNULL _internal_mutable_operand(); + + public: + // bool test_only = 3; + void clear_test_only() ; + bool test_only() const; + void set_test_only(bool value); + + private: + bool _internal_test_only() const; + void _internal_set_test_only(bool value); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.Expr.Select) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<2, 3, + 1, 34, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Expr_Select& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr field_; + ::cel::expr::Expr* PROTOBUF_NULLABLE operand_; + bool test_only_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fsyntax_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Expr_Select_class_data_; +// ------------------------------------------------------------------- + +class SourceInfo_MacroCallsEntry_DoNotUse final + : public ::google::protobuf::internal::MapEntry<::int64_t, ::google::protobuf::Message, + ::google::protobuf::internal::WireFormatLite::TYPE_INT64, + ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> { + public: + using SuperType = + ::google::protobuf::internal::MapEntry<::int64_t, ::google::protobuf::Message, + ::google::protobuf::internal::WireFormatLite::TYPE_INT64, + ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>; + SourceInfo_MacroCallsEntry_DoNotUse(); + template + explicit PROTOBUF_CONSTEXPR SourceInfo_MacroCallsEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized); + explicit SourceInfo_MacroCallsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr const void* PROTOBUF_NONNULL internal_default_instance() { + return &_SourceInfo_MacroCallsEntry_DoNotUse_default_instance_; + } + + + static constexpr auto InternalGenerateClassData_(); + + private: + friend class ::google::protobuf::MessageLite; + friend struct ::TableStruct_cel_2fexpr_2fsyntax_2eproto; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 1, 0, + 2> + _table_; + + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); +}; +extern const ::google::protobuf::internal::ClassDataFull SourceInfo_MacroCallsEntry_DoNotUse_class_data_; +// ------------------------------------------------------------------- + +class SourceInfo final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.SourceInfo) */ { + public: + inline SourceInfo() : SourceInfo(nullptr) {} + ~SourceInfo() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(SourceInfo* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(SourceInfo)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR SourceInfo(::google::protobuf::internal::ConstantInitialized); + + inline SourceInfo(const SourceInfo& from) : SourceInfo(nullptr, from) {} + inline SourceInfo(SourceInfo&& from) noexcept + : SourceInfo(nullptr, ::std::move(from)) {} + inline SourceInfo& operator=(const SourceInfo& from) { + CopyFrom(from); + return *this; + } + inline SourceInfo& operator=(SourceInfo&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SourceInfo& default_instance() { + return *reinterpret_cast( + &_SourceInfo_default_instance_); + } + static constexpr int kIndexInFileMessages = 14; + friend void swap(SourceInfo& a, SourceInfo& b) { a.Swap(&b); } + inline void Swap(SourceInfo* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SourceInfo* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SourceInfo* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SourceInfo& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const SourceInfo& from) { SourceInfo::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(SourceInfo* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.SourceInfo"; } + + explicit SourceInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + SourceInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SourceInfo& from); + SourceInfo( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SourceInfo&& from) noexcept + : SourceInfo(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + using Extension = SourceInfo_Extension; + + // accessors ------------------------------------------------------- + enum : int { + kLineOffsetsFieldNumber = 3, + kExtensionsFieldNumber = 6, + kSyntaxVersionFieldNumber = 1, + kLocationFieldNumber = 2, + kPositionsFieldNumber = 4, + kMacroCallsFieldNumber = 5, + }; + // repeated int32 line_offsets = 3; + int line_offsets_size() const; + private: + int _internal_line_offsets_size() const; + + public: + void clear_line_offsets() ; + ::int32_t line_offsets(int index) const; + void set_line_offsets(int index, ::int32_t value); + void add_line_offsets(::int32_t value); + const ::google::protobuf::RepeatedField<::int32_t>& line_offsets() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_line_offsets(); + + private: + const ::google::protobuf::RepeatedField<::int32_t>& _internal_line_offsets() const; + ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_line_offsets(); + + public: + // repeated .cel.expr.SourceInfo.Extension extensions = 6; + int extensions_size() const; + private: + int _internal_extensions_size() const; + + public: + void clear_extensions() ; + ::cel::expr::SourceInfo_Extension* PROTOBUF_NONNULL mutable_extensions(int index); + ::google::protobuf::RepeatedPtrField<::cel::expr::SourceInfo_Extension>* PROTOBUF_NONNULL mutable_extensions(); + + private: + const ::google::protobuf::RepeatedPtrField<::cel::expr::SourceInfo_Extension>& _internal_extensions() const; + ::google::protobuf::RepeatedPtrField<::cel::expr::SourceInfo_Extension>* PROTOBUF_NONNULL _internal_mutable_extensions(); + public: + const ::cel::expr::SourceInfo_Extension& extensions(int index) const; + ::cel::expr::SourceInfo_Extension* PROTOBUF_NONNULL add_extensions(); + const ::google::protobuf::RepeatedPtrField<::cel::expr::SourceInfo_Extension>& extensions() const; + // string syntax_version = 1; + void clear_syntax_version() ; + const ::std::string& syntax_version() const; + template + void set_syntax_version(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_syntax_version(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_syntax_version(); + void set_allocated_syntax_version(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_syntax_version() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_syntax_version(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_syntax_version(); + + public: + // string location = 2; + void clear_location() ; + const ::std::string& location() const; + template + void set_location(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_location(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_location(); + void set_allocated_location(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_location() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_location(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_location(); + + public: + // map positions = 4; + int positions_size() const; + private: + int _internal_positions_size() const; + + public: + void clear_positions() ; + const ::google::protobuf::Map<::int64_t, ::int32_t>& positions() const; + ::google::protobuf::Map<::int64_t, ::int32_t>* PROTOBUF_NONNULL mutable_positions(); + + private: + const ::google::protobuf::Map<::int64_t, ::int32_t>& _internal_positions() const; + ::google::protobuf::Map<::int64_t, ::int32_t>* PROTOBUF_NONNULL _internal_mutable_positions(); + + public: + // map macro_calls = 5; + int macro_calls_size() const; + private: + int _internal_macro_calls_size() const; + + public: + void clear_macro_calls() ; + const ::google::protobuf::Map<::int64_t, ::cel::expr::Expr>& macro_calls() const; + ::google::protobuf::Map<::int64_t, ::cel::expr::Expr>* PROTOBUF_NONNULL mutable_macro_calls(); + + private: + const ::google::protobuf::Map<::int64_t, ::cel::expr::Expr>& _internal_macro_calls() const; + ::google::protobuf::Map<::int64_t, ::cel::expr::Expr>* PROTOBUF_NONNULL _internal_mutable_macro_calls(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.SourceInfo) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<3, 6, + 4, 50, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const SourceInfo& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField<::int32_t> line_offsets_; + ::google::protobuf::internal::CachedSize _line_offsets_cached_byte_size_; + ::google::protobuf::RepeatedPtrField< ::cel::expr::SourceInfo_Extension > extensions_; + ::google::protobuf::internal::ArenaStringPtr syntax_version_; + ::google::protobuf::internal::ArenaStringPtr location_; + ::google::protobuf::internal::MapField + positions_; + ::google::protobuf::internal::MapField + macro_calls_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fsyntax_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull SourceInfo_class_data_; +// ------------------------------------------------------------------- + +class ParsedExpr final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.ParsedExpr) */ { + public: + inline ParsedExpr() : ParsedExpr(nullptr) {} + ~ParsedExpr() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(ParsedExpr* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(ParsedExpr)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR ParsedExpr(::google::protobuf::internal::ConstantInitialized); + + inline ParsedExpr(const ParsedExpr& from) : ParsedExpr(nullptr, from) {} + inline ParsedExpr(ParsedExpr&& from) noexcept + : ParsedExpr(nullptr, ::std::move(from)) {} + inline ParsedExpr& operator=(const ParsedExpr& from) { + CopyFrom(from); + return *this; + } + inline ParsedExpr& operator=(ParsedExpr&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ParsedExpr& default_instance() { + return *reinterpret_cast( + &_ParsedExpr_default_instance_); + } + static constexpr int kIndexInFileMessages = 0; + friend void swap(ParsedExpr& a, ParsedExpr& b) { a.Swap(&b); } + inline void Swap(ParsedExpr* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ParsedExpr* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ParsedExpr* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ParsedExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const ParsedExpr& from) { ParsedExpr::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(ParsedExpr* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.ParsedExpr"; } + + explicit ParsedExpr(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + ParsedExpr(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ParsedExpr& from); + ParsedExpr( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ParsedExpr&& from) noexcept + : ParsedExpr(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kExprFieldNumber = 2, + kSourceInfoFieldNumber = 3, + }; + // .cel.expr.Expr expr = 2; + bool has_expr() const; + void clear_expr() ; + const ::cel::expr::Expr& expr() const; + [[nodiscard]] ::cel::expr::Expr* PROTOBUF_NULLABLE release_expr(); + ::cel::expr::Expr* PROTOBUF_NONNULL mutable_expr(); + void set_allocated_expr(::cel::expr::Expr* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_expr(::cel::expr::Expr* PROTOBUF_NULLABLE value); + ::cel::expr::Expr* PROTOBUF_NULLABLE unsafe_arena_release_expr(); + + private: + const ::cel::expr::Expr& _internal_expr() const; + ::cel::expr::Expr* PROTOBUF_NONNULL _internal_mutable_expr(); + + public: + // .cel.expr.SourceInfo source_info = 3; + bool has_source_info() const; + void clear_source_info() ; + const ::cel::expr::SourceInfo& source_info() const; + [[nodiscard]] ::cel::expr::SourceInfo* PROTOBUF_NULLABLE release_source_info(); + ::cel::expr::SourceInfo* PROTOBUF_NONNULL mutable_source_info(); + void set_allocated_source_info(::cel::expr::SourceInfo* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_source_info(::cel::expr::SourceInfo* PROTOBUF_NULLABLE value); + ::cel::expr::SourceInfo* PROTOBUF_NULLABLE unsafe_arena_release_source_info(); + + private: + const ::cel::expr::SourceInfo& _internal_source_info() const; + ::cel::expr::SourceInfo* PROTOBUF_NONNULL _internal_mutable_source_info(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.ParsedExpr) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 2, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const ParsedExpr& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::cel::expr::Expr* PROTOBUF_NULLABLE expr_; + ::cel::expr::SourceInfo* PROTOBUF_NULLABLE source_info_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fsyntax_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull ParsedExpr_class_data_; + +// =================================================================== + + + + +// =================================================================== + + +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ParsedExpr + +// .cel.expr.Expr expr = 2; +inline bool ParsedExpr::has_expr() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U); + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; +} +inline void ParsedExpr::clear_expr() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::cel::expr::Expr& ParsedExpr::_internal_expr() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Expr* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Expr_default_instance_); +} +inline const ::cel::expr::Expr& ParsedExpr::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.ParsedExpr.expr) + return _internal_expr(); +} +inline void ParsedExpr::unsafe_arena_set_allocated_expr( + ::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + } + _impl_.expr_ = reinterpret_cast<::cel::expr::Expr*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.ParsedExpr.expr) +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE ParsedExpr::release_expr() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::cel::expr::Expr* released = _impl_.expr_; + _impl_.expr_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE ParsedExpr::unsafe_arena_release_expr() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.ParsedExpr.expr) + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::cel::expr::Expr* temp = _impl_.expr_; + _impl_.expr_ = nullptr; + return temp; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL ParsedExpr::_internal_mutable_expr() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.expr_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr>(GetArena()); + _impl_.expr_ = reinterpret_cast<::cel::expr::Expr*>(p); + } + return _impl_.expr_; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL ParsedExpr::mutable_expr() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::cel::expr::Expr* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:cel.expr.ParsedExpr.expr) + return _msg; +} +inline void ParsedExpr::set_allocated_expr(::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + + _impl_.expr_ = reinterpret_cast<::cel::expr::Expr*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.ParsedExpr.expr) +} + +// .cel.expr.SourceInfo source_info = 3; +inline bool ParsedExpr::has_source_info() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U); + PROTOBUF_ASSUME(!value || _impl_.source_info_ != nullptr); + return value; +} +inline void ParsedExpr::clear_source_info() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.source_info_ != nullptr) _impl_.source_info_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::cel::expr::SourceInfo& ParsedExpr::_internal_source_info() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::SourceInfo* p = _impl_.source_info_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_SourceInfo_default_instance_); +} +inline const ::cel::expr::SourceInfo& ParsedExpr::source_info() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.ParsedExpr.source_info) + return _internal_source_info(); +} +inline void ParsedExpr::unsafe_arena_set_allocated_source_info( + ::cel::expr::SourceInfo* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_info_); + } + _impl_.source_info_ = reinterpret_cast<::cel::expr::SourceInfo*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.ParsedExpr.source_info) +} +inline ::cel::expr::SourceInfo* PROTOBUF_NULLABLE ParsedExpr::release_source_info() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::SourceInfo* released = _impl_.source_info_; + _impl_.source_info_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::SourceInfo* PROTOBUF_NULLABLE ParsedExpr::unsafe_arena_release_source_info() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.ParsedExpr.source_info) + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::SourceInfo* temp = _impl_.source_info_; + _impl_.source_info_ = nullptr; + return temp; +} +inline ::cel::expr::SourceInfo* PROTOBUF_NONNULL ParsedExpr::_internal_mutable_source_info() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.source_info_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::SourceInfo>(GetArena()); + _impl_.source_info_ = reinterpret_cast<::cel::expr::SourceInfo*>(p); + } + return _impl_.source_info_; +} +inline ::cel::expr::SourceInfo* PROTOBUF_NONNULL ParsedExpr::mutable_source_info() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::SourceInfo* _msg = _internal_mutable_source_info(); + // @@protoc_insertion_point(field_mutable:cel.expr.ParsedExpr.source_info) + return _msg; +} +inline void ParsedExpr::set_allocated_source_info(::cel::expr::SourceInfo* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_info_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + + _impl_.source_info_ = reinterpret_cast<::cel::expr::SourceInfo*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.ParsedExpr.source_info) +} + +// ------------------------------------------------------------------- + +// Expr_Ident + +// string name = 1; +inline void Expr_Ident::clear_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::std::string& Expr_Ident::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.Ident.name) + return _internal_name(); +} +template +PROTOBUF_ALWAYS_INLINE void Expr_Ident::set_name(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Expr.Ident.name) +} +inline ::std::string* PROTOBUF_NONNULL Expr_Ident::mutable_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.Ident.name) + return _s; +} +inline const ::std::string& Expr_Ident::_internal_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.name_.Get(); +} +inline void Expr_Ident::_internal_set_name(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Expr_Ident::_internal_mutable_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.name_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Expr_Ident::release_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.Ident.name) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + auto* released = _impl_.name_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.name_.Set("", GetArena()); + } + return released; +} +inline void Expr_Ident::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + _impl_.name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.Ident.name) +} + +// ------------------------------------------------------------------- + +// Expr_Select + +// .cel.expr.Expr operand = 1; +inline bool Expr_Select::has_operand() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U); + PROTOBUF_ASSUME(!value || _impl_.operand_ != nullptr); + return value; +} +inline void Expr_Select::clear_operand() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.operand_ != nullptr) _impl_.operand_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::cel::expr::Expr& Expr_Select::_internal_operand() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Expr* p = _impl_.operand_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Expr_default_instance_); +} +inline const ::cel::expr::Expr& Expr_Select::operand() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.Select.operand) + return _internal_operand(); +} +inline void Expr_Select::unsafe_arena_set_allocated_operand( + ::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.operand_); + } + _impl_.operand_ = reinterpret_cast<::cel::expr::Expr*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.Select.operand) +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_Select::release_operand() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Expr* released = _impl_.operand_; + _impl_.operand_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_Select::unsafe_arena_release_operand() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.Select.operand) + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Expr* temp = _impl_.operand_; + _impl_.operand_ = nullptr; + return temp; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Select::_internal_mutable_operand() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.operand_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr>(GetArena()); + _impl_.operand_ = reinterpret_cast<::cel::expr::Expr*>(p); + } + return _impl_.operand_; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Select::mutable_operand() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Expr* _msg = _internal_mutable_operand(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.Select.operand) + return _msg; +} +inline void Expr_Select::set_allocated_operand(::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.operand_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + + _impl_.operand_ = reinterpret_cast<::cel::expr::Expr*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.Select.operand) +} + +// string field = 2; +inline void Expr_Select::clear_field() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.field_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::std::string& Expr_Select::field() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.Select.field) + return _internal_field(); +} +template +PROTOBUF_ALWAYS_INLINE void Expr_Select::set_field(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + _impl_.field_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Expr.Select.field) +} +inline ::std::string* PROTOBUF_NONNULL Expr_Select::mutable_field() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::std::string* _s = _internal_mutable_field(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.Select.field) + return _s; +} +inline const ::std::string& Expr_Select::_internal_field() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.field_.Get(); +} +inline void Expr_Select::_internal_set_field(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.field_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Expr_Select::_internal_mutable_field() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.field_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Expr_Select::release_field() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.Select.field) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + auto* released = _impl_.field_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.field_.Set("", GetArena()); + } + return released; +} +inline void Expr_Select::set_allocated_field(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + _impl_.field_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.field_.IsDefault()) { + _impl_.field_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.Select.field) +} + +// bool test_only = 3; +inline void Expr_Select::clear_test_only() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.test_only_ = false; + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline bool Expr_Select::test_only() const { + // @@protoc_insertion_point(field_get:cel.expr.Expr.Select.test_only) + return _internal_test_only(); +} +inline void Expr_Select::set_test_only(bool value) { + _internal_set_test_only(value); + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_set:cel.expr.Expr.Select.test_only) +} +inline bool Expr_Select::_internal_test_only() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.test_only_; +} +inline void Expr_Select::_internal_set_test_only(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.test_only_ = value; +} + +// ------------------------------------------------------------------- + +// Expr_Call + +// .cel.expr.Expr target = 1; +inline bool Expr_Call::has_target() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U); + PROTOBUF_ASSUME(!value || _impl_.target_ != nullptr); + return value; +} +inline void Expr_Call::clear_target() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.target_ != nullptr) _impl_.target_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline const ::cel::expr::Expr& Expr_Call::_internal_target() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Expr* p = _impl_.target_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Expr_default_instance_); +} +inline const ::cel::expr::Expr& Expr_Call::target() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.Call.target) + return _internal_target(); +} +inline void Expr_Call::unsafe_arena_set_allocated_target( + ::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.target_); + } + _impl_.target_ = reinterpret_cast<::cel::expr::Expr*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.Call.target) +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_Call::release_target() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + ::cel::expr::Expr* released = _impl_.target_; + _impl_.target_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_Call::unsafe_arena_release_target() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.Call.target) + + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + ::cel::expr::Expr* temp = _impl_.target_; + _impl_.target_ = nullptr; + return temp; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Call::_internal_mutable_target() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.target_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr>(GetArena()); + _impl_.target_ = reinterpret_cast<::cel::expr::Expr*>(p); + } + return _impl_.target_; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Call::mutable_target() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + ::cel::expr::Expr* _msg = _internal_mutable_target(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.Call.target) + return _msg; +} +inline void Expr_Call::set_allocated_target(::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.target_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + + _impl_.target_ = reinterpret_cast<::cel::expr::Expr*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.Call.target) +} + +// string function = 2; +inline void Expr_Call::clear_function() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.function_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::std::string& Expr_Call::function() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.Call.function) + return _internal_function(); +} +template +PROTOBUF_ALWAYS_INLINE void Expr_Call::set_function(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + _impl_.function_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Expr.Call.function) +} +inline ::std::string* PROTOBUF_NONNULL Expr_Call::mutable_function() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::std::string* _s = _internal_mutable_function(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.Call.function) + return _s; +} +inline const ::std::string& Expr_Call::_internal_function() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.function_.Get(); +} +inline void Expr_Call::_internal_set_function(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.function_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Expr_Call::_internal_mutable_function() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.function_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Expr_Call::release_function() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.Call.function) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + auto* released = _impl_.function_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.function_.Set("", GetArena()); + } + return released; +} +inline void Expr_Call::set_allocated_function(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + _impl_.function_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.function_.IsDefault()) { + _impl_.function_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.Call.function) +} + +// repeated .cel.expr.Expr args = 3; +inline int Expr_Call::_internal_args_size() const { + return _internal_args().size(); +} +inline int Expr_Call::args_size() const { + return _internal_args_size(); +} +inline void Expr_Call::clear_args() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.args_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Call::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.Call.args) + return _internal_mutable_args()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>* PROTOBUF_NONNULL Expr_Call::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:cel.expr.Expr.Call.args) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_args(); +} +inline const ::cel::expr::Expr& Expr_Call::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.Call.args) + return _internal_args().Get(index); +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Call::add_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::cel::expr::Expr* _add = + _internal_mutable_args()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:cel.expr.Expr.Call.args) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>& Expr_Call::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:cel.expr.Expr.Call.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>& +Expr_Call::_internal_args() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.args_; +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>* PROTOBUF_NONNULL +Expr_Call::_internal_mutable_args() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.args_; +} + +// ------------------------------------------------------------------- + +// Expr_CreateList + +// repeated .cel.expr.Expr elements = 1; +inline int Expr_CreateList::_internal_elements_size() const { + return _internal_elements().size(); +} +inline int Expr_CreateList::elements_size() const { + return _internal_elements_size(); +} +inline void Expr_CreateList::clear_elements() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.elements_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_CreateList::mutable_elements(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.CreateList.elements) + return _internal_mutable_elements()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>* PROTOBUF_NONNULL Expr_CreateList::mutable_elements() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:cel.expr.Expr.CreateList.elements) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_elements(); +} +inline const ::cel::expr::Expr& Expr_CreateList::elements(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.CreateList.elements) + return _internal_elements().Get(index); +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_CreateList::add_elements() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::cel::expr::Expr* _add = + _internal_mutable_elements()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:cel.expr.Expr.CreateList.elements) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>& Expr_CreateList::elements() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:cel.expr.Expr.CreateList.elements) + return _internal_elements(); +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>& +Expr_CreateList::_internal_elements() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.elements_; +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Expr>* PROTOBUF_NONNULL +Expr_CreateList::_internal_mutable_elements() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.elements_; +} + +// repeated int32 optional_indices = 2; +inline int Expr_CreateList::_internal_optional_indices_size() const { + return _internal_optional_indices().size(); +} +inline int Expr_CreateList::optional_indices_size() const { + return _internal_optional_indices_size(); +} +inline void Expr_CreateList::clear_optional_indices() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.optional_indices_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::int32_t Expr_CreateList::optional_indices(int index) const { + // @@protoc_insertion_point(field_get:cel.expr.Expr.CreateList.optional_indices) + return _internal_optional_indices().Get(index); +} +inline void Expr_CreateList::set_optional_indices(int index, ::int32_t value) { + _internal_mutable_optional_indices()->Set(index, value); + // @@protoc_insertion_point(field_set:cel.expr.Expr.CreateList.optional_indices) +} +inline void Expr_CreateList::add_optional_indices(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_optional_indices()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:cel.expr.Expr.CreateList.optional_indices) +} +inline const ::google::protobuf::RepeatedField<::int32_t>& Expr_CreateList::optional_indices() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:cel.expr.Expr.CreateList.optional_indices) + return _internal_optional_indices(); +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL Expr_CreateList::mutable_optional_indices() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:cel.expr.Expr.CreateList.optional_indices) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_optional_indices(); +} +inline const ::google::protobuf::RepeatedField<::int32_t>& +Expr_CreateList::_internal_optional_indices() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.optional_indices_; +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL +Expr_CreateList::_internal_mutable_optional_indices() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.optional_indices_; +} + +// ------------------------------------------------------------------- + +// Expr_CreateStruct_Entry + +// int64 id = 1; +inline void Expr_CreateStruct_Entry::clear_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.id_ = ::int64_t{0}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::int64_t Expr_CreateStruct_Entry::id() const { + // @@protoc_insertion_point(field_get:cel.expr.Expr.CreateStruct.Entry.id) + return _internal_id(); +} +inline void Expr_CreateStruct_Entry::set_id(::int64_t value) { + _internal_set_id(value); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_set:cel.expr.Expr.CreateStruct.Entry.id) +} +inline ::int64_t Expr_CreateStruct_Entry::_internal_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.id_; +} +inline void Expr_CreateStruct_Entry::_internal_set_id(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.id_ = value; +} + +// string field_key = 2; +inline bool Expr_CreateStruct_Entry::has_field_key() const { + return key_kind_case() == kFieldKey; +} +inline void Expr_CreateStruct_Entry::set_has_field_key() { + _impl_._oneof_case_[0] = kFieldKey; +} +inline void Expr_CreateStruct_Entry::clear_field_key() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (key_kind_case() == kFieldKey) { + _impl_.key_kind_.field_key_.Destroy(); + clear_has_key_kind(); + } +} +inline const ::std::string& Expr_CreateStruct_Entry::field_key() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.CreateStruct.Entry.field_key) + return _internal_field_key(); +} +template +PROTOBUF_ALWAYS_INLINE void Expr_CreateStruct_Entry::set_field_key(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (key_kind_case() != kFieldKey) { + clear_key_kind(); + + set_has_field_key(); + _impl_.key_kind_.field_key_.InitDefault(); + } + _impl_.key_kind_.field_key_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Expr.CreateStruct.Entry.field_key) +} +inline ::std::string* PROTOBUF_NONNULL Expr_CreateStruct_Entry::mutable_field_key() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + if (key_kind_case() != kFieldKey) { + clear_key_kind(); + + set_has_field_key(); + _impl_.key_kind_.field_key_.InitDefault(); + } + ::std::string* _s = _internal_mutable_field_key(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.CreateStruct.Entry.field_key) + return _s; +} +inline const ::std::string& Expr_CreateStruct_Entry::_internal_field_key() const { + ::google::protobuf::internal::TSanRead(&_impl_); + if (key_kind_case() != kFieldKey) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); + } + return _impl_.key_kind_.field_key_.Get(); +} +inline void Expr_CreateStruct_Entry::_internal_set_field_key(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.key_kind_.field_key_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Expr_CreateStruct_Entry::_internal_mutable_field_key() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.key_kind_.field_key_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Expr_CreateStruct_Entry::release_field_key() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.CreateStruct.Entry.field_key) + if (key_kind_case() != kFieldKey) { + return nullptr; + } + clear_has_key_kind(); + return _impl_.key_kind_.field_key_.Release(); +} +inline void Expr_CreateStruct_Entry::set_allocated_field_key(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (has_key_kind()) { + clear_key_kind(); + } + if (value != nullptr) { + set_has_field_key(); + _impl_.key_kind_.field_key_.InitAllocated(value, GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.CreateStruct.Entry.field_key) +} + +// .cel.expr.Expr map_key = 3; +inline bool Expr_CreateStruct_Entry::has_map_key() const { + return key_kind_case() == kMapKey; +} +inline bool Expr_CreateStruct_Entry::_internal_has_map_key() const { + return key_kind_case() == kMapKey; +} +inline void Expr_CreateStruct_Entry::set_has_map_key() { + _impl_._oneof_case_[0] = kMapKey; +} +inline void Expr_CreateStruct_Entry::clear_map_key() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (key_kind_case() == kMapKey) { + if (GetArena() == nullptr) { + delete _impl_.key_kind_.map_key_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.key_kind_.map_key_); + } + clear_has_key_kind(); + } +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_CreateStruct_Entry::release_map_key() { + // @@protoc_insertion_point(field_release:cel.expr.Expr.CreateStruct.Entry.map_key) + if (key_kind_case() == kMapKey) { + clear_has_key_kind(); + auto* temp = _impl_.key_kind_.map_key_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.key_kind_.map_key_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::Expr& Expr_CreateStruct_Entry::_internal_map_key() const { + return key_kind_case() == kMapKey ? static_cast(*_impl_.key_kind_.map_key_) + : reinterpret_cast(::cel::expr::_Expr_default_instance_); +} +inline const ::cel::expr::Expr& Expr_CreateStruct_Entry::map_key() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.CreateStruct.Entry.map_key) + return _internal_map_key(); +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_CreateStruct_Entry::unsafe_arena_release_map_key() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Expr.CreateStruct.Entry.map_key) + if (key_kind_case() == kMapKey) { + clear_has_key_kind(); + auto* temp = _impl_.key_kind_.map_key_; + _impl_.key_kind_.map_key_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Expr_CreateStruct_Entry::unsafe_arena_set_allocated_map_key( + ::cel::expr::Expr* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_key_kind(); + if (value) { + set_has_map_key(); + _impl_.key_kind_.map_key_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.CreateStruct.Entry.map_key) +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_CreateStruct_Entry::_internal_mutable_map_key() { + if (key_kind_case() != kMapKey) { + clear_key_kind(); + set_has_map_key(); + _impl_.key_kind_.map_key_ = + ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr>(GetArena()); + } + return _impl_.key_kind_.map_key_; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_CreateStruct_Entry::mutable_map_key() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::Expr* _msg = _internal_mutable_map_key(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.CreateStruct.Entry.map_key) + return _msg; +} + +// .cel.expr.Expr value = 4; +inline bool Expr_CreateStruct_Entry::has_value() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U); + PROTOBUF_ASSUME(!value || _impl_.value_ != nullptr); + return value; +} +inline void Expr_CreateStruct_Entry::clear_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.value_ != nullptr) _impl_.value_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::cel::expr::Expr& Expr_CreateStruct_Entry::_internal_value() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Expr* p = _impl_.value_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Expr_default_instance_); +} +inline const ::cel::expr::Expr& Expr_CreateStruct_Entry::value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.CreateStruct.Entry.value) + return _internal_value(); +} +inline void Expr_CreateStruct_Entry::unsafe_arena_set_allocated_value( + ::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_); + } + _impl_.value_ = reinterpret_cast<::cel::expr::Expr*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.CreateStruct.Entry.value) +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_CreateStruct_Entry::release_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::cel::expr::Expr* released = _impl_.value_; + _impl_.value_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_CreateStruct_Entry::unsafe_arena_release_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.CreateStruct.Entry.value) + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::cel::expr::Expr* temp = _impl_.value_; + _impl_.value_ = nullptr; + return temp; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_CreateStruct_Entry::_internal_mutable_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.value_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr>(GetArena()); + _impl_.value_ = reinterpret_cast<::cel::expr::Expr*>(p); + } + return _impl_.value_; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_CreateStruct_Entry::mutable_value() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::cel::expr::Expr* _msg = _internal_mutable_value(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.CreateStruct.Entry.value) + return _msg; +} +inline void Expr_CreateStruct_Entry::set_allocated_value(::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + + _impl_.value_ = reinterpret_cast<::cel::expr::Expr*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.CreateStruct.Entry.value) +} + +// bool optional_entry = 5; +inline void Expr_CreateStruct_Entry::clear_optional_entry() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.optional_entry_ = false; + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline bool Expr_CreateStruct_Entry::optional_entry() const { + // @@protoc_insertion_point(field_get:cel.expr.Expr.CreateStruct.Entry.optional_entry) + return _internal_optional_entry(); +} +inline void Expr_CreateStruct_Entry::set_optional_entry(bool value) { + _internal_set_optional_entry(value); + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + // @@protoc_insertion_point(field_set:cel.expr.Expr.CreateStruct.Entry.optional_entry) +} +inline bool Expr_CreateStruct_Entry::_internal_optional_entry() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.optional_entry_; +} +inline void Expr_CreateStruct_Entry::_internal_set_optional_entry(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.optional_entry_ = value; +} + +inline bool Expr_CreateStruct_Entry::has_key_kind() const { + return key_kind_case() != KEY_KIND_NOT_SET; +} +inline void Expr_CreateStruct_Entry::clear_has_key_kind() { + _impl_._oneof_case_[0] = KEY_KIND_NOT_SET; +} +inline Expr_CreateStruct_Entry::KeyKindCase Expr_CreateStruct_Entry::key_kind_case() const { + return Expr_CreateStruct_Entry::KeyKindCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// Expr_CreateStruct + +// string message_name = 1; +inline void Expr_CreateStruct::clear_message_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.message_name_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::std::string& Expr_CreateStruct::message_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.CreateStruct.message_name) + return _internal_message_name(); +} +template +PROTOBUF_ALWAYS_INLINE void Expr_CreateStruct::set_message_name(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + _impl_.message_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Expr.CreateStruct.message_name) +} +inline ::std::string* PROTOBUF_NONNULL Expr_CreateStruct::mutable_message_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::std::string* _s = _internal_mutable_message_name(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.CreateStruct.message_name) + return _s; +} +inline const ::std::string& Expr_CreateStruct::_internal_message_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.message_name_.Get(); +} +inline void Expr_CreateStruct::_internal_set_message_name(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.message_name_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Expr_CreateStruct::_internal_mutable_message_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.message_name_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Expr_CreateStruct::release_message_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.CreateStruct.message_name) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + auto* released = _impl_.message_name_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.message_name_.Set("", GetArena()); + } + return released; +} +inline void Expr_CreateStruct::set_allocated_message_name(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + _impl_.message_name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.message_name_.IsDefault()) { + _impl_.message_name_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.CreateStruct.message_name) +} + +// repeated .cel.expr.Expr.CreateStruct.Entry entries = 2; +inline int Expr_CreateStruct::_internal_entries_size() const { + return _internal_entries().size(); +} +inline int Expr_CreateStruct::entries_size() const { + return _internal_entries_size(); +} +inline void Expr_CreateStruct::clear_entries() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.entries_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::cel::expr::Expr_CreateStruct_Entry* PROTOBUF_NONNULL Expr_CreateStruct::mutable_entries(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.CreateStruct.entries) + return _internal_mutable_entries()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Expr_CreateStruct_Entry>* PROTOBUF_NONNULL Expr_CreateStruct::mutable_entries() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:cel.expr.Expr.CreateStruct.entries) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_entries(); +} +inline const ::cel::expr::Expr_CreateStruct_Entry& Expr_CreateStruct::entries(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.CreateStruct.entries) + return _internal_entries().Get(index); +} +inline ::cel::expr::Expr_CreateStruct_Entry* PROTOBUF_NONNULL Expr_CreateStruct::add_entries() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::cel::expr::Expr_CreateStruct_Entry* _add = + _internal_mutable_entries()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:cel.expr.Expr.CreateStruct.entries) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Expr_CreateStruct_Entry>& Expr_CreateStruct::entries() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:cel.expr.Expr.CreateStruct.entries) + return _internal_entries(); +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Expr_CreateStruct_Entry>& +Expr_CreateStruct::_internal_entries() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.entries_; +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Expr_CreateStruct_Entry>* PROTOBUF_NONNULL +Expr_CreateStruct::_internal_mutable_entries() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.entries_; +} + +// ------------------------------------------------------------------- + +// Expr_Comprehension + +// string iter_var = 1; +inline void Expr_Comprehension::clear_iter_var() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.iter_var_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::std::string& Expr_Comprehension::iter_var() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.Comprehension.iter_var) + return _internal_iter_var(); +} +template +PROTOBUF_ALWAYS_INLINE void Expr_Comprehension::set_iter_var(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + _impl_.iter_var_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Expr.Comprehension.iter_var) +} +inline ::std::string* PROTOBUF_NONNULL Expr_Comprehension::mutable_iter_var() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::std::string* _s = _internal_mutable_iter_var(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.Comprehension.iter_var) + return _s; +} +inline const ::std::string& Expr_Comprehension::_internal_iter_var() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.iter_var_.Get(); +} +inline void Expr_Comprehension::_internal_set_iter_var(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.iter_var_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Expr_Comprehension::_internal_mutable_iter_var() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.iter_var_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Expr_Comprehension::release_iter_var() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.Comprehension.iter_var) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + auto* released = _impl_.iter_var_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.iter_var_.Set("", GetArena()); + } + return released; +} +inline void Expr_Comprehension::set_allocated_iter_var(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + _impl_.iter_var_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.iter_var_.IsDefault()) { + _impl_.iter_var_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.Comprehension.iter_var) +} + +// string iter_var2 = 8; +inline void Expr_Comprehension::clear_iter_var2() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.iter_var2_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline const ::std::string& Expr_Comprehension::iter_var2() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.Comprehension.iter_var2) + return _internal_iter_var2(); +} +template +PROTOBUF_ALWAYS_INLINE void Expr_Comprehension::set_iter_var2(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + _impl_.iter_var2_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Expr.Comprehension.iter_var2) +} +inline ::std::string* PROTOBUF_NONNULL Expr_Comprehension::mutable_iter_var2() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + ::std::string* _s = _internal_mutable_iter_var2(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.Comprehension.iter_var2) + return _s; +} +inline const ::std::string& Expr_Comprehension::_internal_iter_var2() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.iter_var2_.Get(); +} +inline void Expr_Comprehension::_internal_set_iter_var2(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.iter_var2_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Expr_Comprehension::_internal_mutable_iter_var2() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.iter_var2_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Expr_Comprehension::release_iter_var2() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.Comprehension.iter_var2) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + auto* released = _impl_.iter_var2_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.iter_var2_.Set("", GetArena()); + } + return released; +} +inline void Expr_Comprehension::set_allocated_iter_var2(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + _impl_.iter_var2_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.iter_var2_.IsDefault()) { + _impl_.iter_var2_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.Comprehension.iter_var2) +} + +// .cel.expr.Expr iter_range = 2; +inline bool Expr_Comprehension::has_iter_range() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U); + PROTOBUF_ASSUME(!value || _impl_.iter_range_ != nullptr); + return value; +} +inline void Expr_Comprehension::clear_iter_range() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.iter_range_ != nullptr) _impl_.iter_range_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline const ::cel::expr::Expr& Expr_Comprehension::_internal_iter_range() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Expr* p = _impl_.iter_range_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Expr_default_instance_); +} +inline const ::cel::expr::Expr& Expr_Comprehension::iter_range() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.Comprehension.iter_range) + return _internal_iter_range(); +} +inline void Expr_Comprehension::unsafe_arena_set_allocated_iter_range( + ::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.iter_range_); + } + _impl_.iter_range_ = reinterpret_cast<::cel::expr::Expr*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.Comprehension.iter_range) +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_Comprehension::release_iter_range() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + ::cel::expr::Expr* released = _impl_.iter_range_; + _impl_.iter_range_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_Comprehension::unsafe_arena_release_iter_range() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.Comprehension.iter_range) + + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + ::cel::expr::Expr* temp = _impl_.iter_range_; + _impl_.iter_range_ = nullptr; + return temp; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Comprehension::_internal_mutable_iter_range() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.iter_range_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr>(GetArena()); + _impl_.iter_range_ = reinterpret_cast<::cel::expr::Expr*>(p); + } + return _impl_.iter_range_; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Comprehension::mutable_iter_range() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + ::cel::expr::Expr* _msg = _internal_mutable_iter_range(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.Comprehension.iter_range) + return _msg; +} +inline void Expr_Comprehension::set_allocated_iter_range(::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.iter_range_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + } + + _impl_.iter_range_ = reinterpret_cast<::cel::expr::Expr*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.Comprehension.iter_range) +} + +// string accu_var = 3; +inline void Expr_Comprehension::clear_accu_var() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.accu_var_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::std::string& Expr_Comprehension::accu_var() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.Comprehension.accu_var) + return _internal_accu_var(); +} +template +PROTOBUF_ALWAYS_INLINE void Expr_Comprehension::set_accu_var(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + _impl_.accu_var_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Expr.Comprehension.accu_var) +} +inline ::std::string* PROTOBUF_NONNULL Expr_Comprehension::mutable_accu_var() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::std::string* _s = _internal_mutable_accu_var(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.Comprehension.accu_var) + return _s; +} +inline const ::std::string& Expr_Comprehension::_internal_accu_var() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.accu_var_.Get(); +} +inline void Expr_Comprehension::_internal_set_accu_var(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.accu_var_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Expr_Comprehension::_internal_mutable_accu_var() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.accu_var_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Expr_Comprehension::release_accu_var() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.Comprehension.accu_var) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + auto* released = _impl_.accu_var_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.accu_var_.Set("", GetArena()); + } + return released; +} +inline void Expr_Comprehension::set_allocated_accu_var(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + _impl_.accu_var_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.accu_var_.IsDefault()) { + _impl_.accu_var_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.Comprehension.accu_var) +} + +// .cel.expr.Expr accu_init = 4; +inline bool Expr_Comprehension::has_accu_init() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U); + PROTOBUF_ASSUME(!value || _impl_.accu_init_ != nullptr); + return value; +} +inline void Expr_Comprehension::clear_accu_init() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.accu_init_ != nullptr) _impl_.accu_init_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000010U); +} +inline const ::cel::expr::Expr& Expr_Comprehension::_internal_accu_init() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Expr* p = _impl_.accu_init_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Expr_default_instance_); +} +inline const ::cel::expr::Expr& Expr_Comprehension::accu_init() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.Comprehension.accu_init) + return _internal_accu_init(); +} +inline void Expr_Comprehension::unsafe_arena_set_allocated_accu_init( + ::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.accu_init_); + } + _impl_.accu_init_ = reinterpret_cast<::cel::expr::Expr*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000010U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000010U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.Comprehension.accu_init) +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_Comprehension::release_accu_init() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000010U); + ::cel::expr::Expr* released = _impl_.accu_init_; + _impl_.accu_init_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_Comprehension::unsafe_arena_release_accu_init() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.Comprehension.accu_init) + + ClearHasBit(_impl_._has_bits_[0], 0x00000010U); + ::cel::expr::Expr* temp = _impl_.accu_init_; + _impl_.accu_init_ = nullptr; + return temp; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Comprehension::_internal_mutable_accu_init() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.accu_init_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr>(GetArena()); + _impl_.accu_init_ = reinterpret_cast<::cel::expr::Expr*>(p); + } + return _impl_.accu_init_; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Comprehension::mutable_accu_init() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000010U); + ::cel::expr::Expr* _msg = _internal_mutable_accu_init(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.Comprehension.accu_init) + return _msg; +} +inline void Expr_Comprehension::set_allocated_accu_init(::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.accu_init_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000010U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000010U); + } + + _impl_.accu_init_ = reinterpret_cast<::cel::expr::Expr*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.Comprehension.accu_init) +} + +// .cel.expr.Expr loop_condition = 5; +inline bool Expr_Comprehension::has_loop_condition() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U); + PROTOBUF_ASSUME(!value || _impl_.loop_condition_ != nullptr); + return value; +} +inline void Expr_Comprehension::clear_loop_condition() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.loop_condition_ != nullptr) _impl_.loop_condition_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000020U); +} +inline const ::cel::expr::Expr& Expr_Comprehension::_internal_loop_condition() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Expr* p = _impl_.loop_condition_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Expr_default_instance_); +} +inline const ::cel::expr::Expr& Expr_Comprehension::loop_condition() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.Comprehension.loop_condition) + return _internal_loop_condition(); +} +inline void Expr_Comprehension::unsafe_arena_set_allocated_loop_condition( + ::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.loop_condition_); + } + _impl_.loop_condition_ = reinterpret_cast<::cel::expr::Expr*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000020U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000020U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.Comprehension.loop_condition) +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_Comprehension::release_loop_condition() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000020U); + ::cel::expr::Expr* released = _impl_.loop_condition_; + _impl_.loop_condition_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_Comprehension::unsafe_arena_release_loop_condition() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.Comprehension.loop_condition) + + ClearHasBit(_impl_._has_bits_[0], 0x00000020U); + ::cel::expr::Expr* temp = _impl_.loop_condition_; + _impl_.loop_condition_ = nullptr; + return temp; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Comprehension::_internal_mutable_loop_condition() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.loop_condition_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr>(GetArena()); + _impl_.loop_condition_ = reinterpret_cast<::cel::expr::Expr*>(p); + } + return _impl_.loop_condition_; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Comprehension::mutable_loop_condition() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000020U); + ::cel::expr::Expr* _msg = _internal_mutable_loop_condition(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.Comprehension.loop_condition) + return _msg; +} +inline void Expr_Comprehension::set_allocated_loop_condition(::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.loop_condition_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000020U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000020U); + } + + _impl_.loop_condition_ = reinterpret_cast<::cel::expr::Expr*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.Comprehension.loop_condition) +} + +// .cel.expr.Expr loop_step = 6; +inline bool Expr_Comprehension::has_loop_step() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000040U); + PROTOBUF_ASSUME(!value || _impl_.loop_step_ != nullptr); + return value; +} +inline void Expr_Comprehension::clear_loop_step() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.loop_step_ != nullptr) _impl_.loop_step_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000040U); +} +inline const ::cel::expr::Expr& Expr_Comprehension::_internal_loop_step() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Expr* p = _impl_.loop_step_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Expr_default_instance_); +} +inline const ::cel::expr::Expr& Expr_Comprehension::loop_step() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.Comprehension.loop_step) + return _internal_loop_step(); +} +inline void Expr_Comprehension::unsafe_arena_set_allocated_loop_step( + ::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.loop_step_); + } + _impl_.loop_step_ = reinterpret_cast<::cel::expr::Expr*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000040U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000040U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.Comprehension.loop_step) +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_Comprehension::release_loop_step() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000040U); + ::cel::expr::Expr* released = _impl_.loop_step_; + _impl_.loop_step_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_Comprehension::unsafe_arena_release_loop_step() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.Comprehension.loop_step) + + ClearHasBit(_impl_._has_bits_[0], 0x00000040U); + ::cel::expr::Expr* temp = _impl_.loop_step_; + _impl_.loop_step_ = nullptr; + return temp; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Comprehension::_internal_mutable_loop_step() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.loop_step_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr>(GetArena()); + _impl_.loop_step_ = reinterpret_cast<::cel::expr::Expr*>(p); + } + return _impl_.loop_step_; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Comprehension::mutable_loop_step() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000040U); + ::cel::expr::Expr* _msg = _internal_mutable_loop_step(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.Comprehension.loop_step) + return _msg; +} +inline void Expr_Comprehension::set_allocated_loop_step(::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.loop_step_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000040U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000040U); + } + + _impl_.loop_step_ = reinterpret_cast<::cel::expr::Expr*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.Comprehension.loop_step) +} + +// .cel.expr.Expr result = 7; +inline bool Expr_Comprehension::has_result() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000080U); + PROTOBUF_ASSUME(!value || _impl_.result_ != nullptr); + return value; +} +inline void Expr_Comprehension::clear_result() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.result_ != nullptr) _impl_.result_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000080U); +} +inline const ::cel::expr::Expr& Expr_Comprehension::_internal_result() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Expr* p = _impl_.result_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Expr_default_instance_); +} +inline const ::cel::expr::Expr& Expr_Comprehension::result() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.Comprehension.result) + return _internal_result(); +} +inline void Expr_Comprehension::unsafe_arena_set_allocated_result( + ::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.result_); + } + _impl_.result_ = reinterpret_cast<::cel::expr::Expr*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000080U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000080U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.Comprehension.result) +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_Comprehension::release_result() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000080U); + ::cel::expr::Expr* released = _impl_.result_; + _impl_.result_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Expr* PROTOBUF_NULLABLE Expr_Comprehension::unsafe_arena_release_result() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Expr.Comprehension.result) + + ClearHasBit(_impl_._has_bits_[0], 0x00000080U); + ::cel::expr::Expr* temp = _impl_.result_; + _impl_.result_ = nullptr; + return temp; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Comprehension::_internal_mutable_result() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.result_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr>(GetArena()); + _impl_.result_ = reinterpret_cast<::cel::expr::Expr*>(p); + } + return _impl_.result_; +} +inline ::cel::expr::Expr* PROTOBUF_NONNULL Expr_Comprehension::mutable_result() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000080U); + ::cel::expr::Expr* _msg = _internal_mutable_result(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.Comprehension.result) + return _msg; +} +inline void Expr_Comprehension::set_allocated_result(::cel::expr::Expr* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.result_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000080U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000080U); + } + + _impl_.result_ = reinterpret_cast<::cel::expr::Expr*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.Expr.Comprehension.result) +} + +// ------------------------------------------------------------------- + +// Expr + +// int64 id = 2; +inline void Expr::clear_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.id_ = ::int64_t{0}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::int64_t Expr::id() const { + // @@protoc_insertion_point(field_get:cel.expr.Expr.id) + return _internal_id(); +} +inline void Expr::set_id(::int64_t value) { + _internal_set_id(value); + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_set:cel.expr.Expr.id) +} +inline ::int64_t Expr::_internal_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.id_; +} +inline void Expr::_internal_set_id(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.id_ = value; +} + +// .cel.expr.Constant const_expr = 3; +inline bool Expr::has_const_expr() const { + return expr_kind_case() == kConstExpr; +} +inline bool Expr::_internal_has_const_expr() const { + return expr_kind_case() == kConstExpr; +} +inline void Expr::set_has_const_expr() { + _impl_._oneof_case_[0] = kConstExpr; +} +inline void Expr::clear_const_expr() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (expr_kind_case() == kConstExpr) { + if (GetArena() == nullptr) { + delete _impl_.expr_kind_.const_expr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.expr_kind_.const_expr_); + } + clear_has_expr_kind(); + } +} +inline ::cel::expr::Constant* PROTOBUF_NULLABLE Expr::release_const_expr() { + // @@protoc_insertion_point(field_release:cel.expr.Expr.const_expr) + if (expr_kind_case() == kConstExpr) { + clear_has_expr_kind(); + auto* temp = reinterpret_cast<::cel::expr::Constant*>(_impl_.expr_kind_.const_expr_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.expr_kind_.const_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::Constant& Expr::_internal_const_expr() const { + return expr_kind_case() == kConstExpr ? static_cast(*reinterpret_cast<::cel::expr::Constant*>(_impl_.expr_kind_.const_expr_)) + : reinterpret_cast(::cel::expr::_Constant_default_instance_); +} +inline const ::cel::expr::Constant& Expr::const_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.const_expr) + return _internal_const_expr(); +} +inline ::cel::expr::Constant* PROTOBUF_NULLABLE Expr::unsafe_arena_release_const_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Expr.const_expr) + if (expr_kind_case() == kConstExpr) { + clear_has_expr_kind(); + auto* temp = reinterpret_cast<::cel::expr::Constant*>(_impl_.expr_kind_.const_expr_); + _impl_.expr_kind_.const_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Expr::unsafe_arena_set_allocated_const_expr( + ::cel::expr::Constant* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_expr_kind(); + if (value) { + set_has_const_expr(); + _impl_.expr_kind_.const_expr_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.const_expr) +} +inline ::cel::expr::Constant* PROTOBUF_NONNULL Expr::_internal_mutable_const_expr() { + if (expr_kind_case() != kConstExpr) { + clear_expr_kind(); + set_has_const_expr(); + _impl_.expr_kind_.const_expr_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::cel::expr::Constant>(GetArena())); + } + return reinterpret_cast<::cel::expr::Constant*>(_impl_.expr_kind_.const_expr_); +} +inline ::cel::expr::Constant* PROTOBUF_NONNULL Expr::mutable_const_expr() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::Constant* _msg = _internal_mutable_const_expr(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.const_expr) + return _msg; +} + +// .cel.expr.Expr.Ident ident_expr = 4; +inline bool Expr::has_ident_expr() const { + return expr_kind_case() == kIdentExpr; +} +inline bool Expr::_internal_has_ident_expr() const { + return expr_kind_case() == kIdentExpr; +} +inline void Expr::set_has_ident_expr() { + _impl_._oneof_case_[0] = kIdentExpr; +} +inline void Expr::clear_ident_expr() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (expr_kind_case() == kIdentExpr) { + if (GetArena() == nullptr) { + delete _impl_.expr_kind_.ident_expr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.expr_kind_.ident_expr_); + } + clear_has_expr_kind(); + } +} +inline ::cel::expr::Expr_Ident* PROTOBUF_NULLABLE Expr::release_ident_expr() { + // @@protoc_insertion_point(field_release:cel.expr.Expr.ident_expr) + if (expr_kind_case() == kIdentExpr) { + clear_has_expr_kind(); + auto* temp = reinterpret_cast<::cel::expr::Expr_Ident*>(_impl_.expr_kind_.ident_expr_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.expr_kind_.ident_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::Expr_Ident& Expr::_internal_ident_expr() const { + return expr_kind_case() == kIdentExpr ? static_cast(*reinterpret_cast<::cel::expr::Expr_Ident*>(_impl_.expr_kind_.ident_expr_)) + : reinterpret_cast(::cel::expr::_Expr_Ident_default_instance_); +} +inline const ::cel::expr::Expr_Ident& Expr::ident_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.ident_expr) + return _internal_ident_expr(); +} +inline ::cel::expr::Expr_Ident* PROTOBUF_NULLABLE Expr::unsafe_arena_release_ident_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Expr.ident_expr) + if (expr_kind_case() == kIdentExpr) { + clear_has_expr_kind(); + auto* temp = reinterpret_cast<::cel::expr::Expr_Ident*>(_impl_.expr_kind_.ident_expr_); + _impl_.expr_kind_.ident_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Expr::unsafe_arena_set_allocated_ident_expr( + ::cel::expr::Expr_Ident* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_expr_kind(); + if (value) { + set_has_ident_expr(); + _impl_.expr_kind_.ident_expr_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.ident_expr) +} +inline ::cel::expr::Expr_Ident* PROTOBUF_NONNULL Expr::_internal_mutable_ident_expr() { + if (expr_kind_case() != kIdentExpr) { + clear_expr_kind(); + set_has_ident_expr(); + _impl_.expr_kind_.ident_expr_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr_Ident>(GetArena())); + } + return reinterpret_cast<::cel::expr::Expr_Ident*>(_impl_.expr_kind_.ident_expr_); +} +inline ::cel::expr::Expr_Ident* PROTOBUF_NONNULL Expr::mutable_ident_expr() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::Expr_Ident* _msg = _internal_mutable_ident_expr(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.ident_expr) + return _msg; +} + +// .cel.expr.Expr.Select select_expr = 5; +inline bool Expr::has_select_expr() const { + return expr_kind_case() == kSelectExpr; +} +inline bool Expr::_internal_has_select_expr() const { + return expr_kind_case() == kSelectExpr; +} +inline void Expr::set_has_select_expr() { + _impl_._oneof_case_[0] = kSelectExpr; +} +inline void Expr::clear_select_expr() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (expr_kind_case() == kSelectExpr) { + if (GetArena() == nullptr) { + delete _impl_.expr_kind_.select_expr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.expr_kind_.select_expr_); + } + clear_has_expr_kind(); + } +} +inline ::cel::expr::Expr_Select* PROTOBUF_NULLABLE Expr::release_select_expr() { + // @@protoc_insertion_point(field_release:cel.expr.Expr.select_expr) + if (expr_kind_case() == kSelectExpr) { + clear_has_expr_kind(); + auto* temp = reinterpret_cast<::cel::expr::Expr_Select*>(_impl_.expr_kind_.select_expr_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.expr_kind_.select_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::Expr_Select& Expr::_internal_select_expr() const { + return expr_kind_case() == kSelectExpr ? static_cast(*reinterpret_cast<::cel::expr::Expr_Select*>(_impl_.expr_kind_.select_expr_)) + : reinterpret_cast(::cel::expr::_Expr_Select_default_instance_); +} +inline const ::cel::expr::Expr_Select& Expr::select_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.select_expr) + return _internal_select_expr(); +} +inline ::cel::expr::Expr_Select* PROTOBUF_NULLABLE Expr::unsafe_arena_release_select_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Expr.select_expr) + if (expr_kind_case() == kSelectExpr) { + clear_has_expr_kind(); + auto* temp = reinterpret_cast<::cel::expr::Expr_Select*>(_impl_.expr_kind_.select_expr_); + _impl_.expr_kind_.select_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Expr::unsafe_arena_set_allocated_select_expr( + ::cel::expr::Expr_Select* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_expr_kind(); + if (value) { + set_has_select_expr(); + _impl_.expr_kind_.select_expr_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.select_expr) +} +inline ::cel::expr::Expr_Select* PROTOBUF_NONNULL Expr::_internal_mutable_select_expr() { + if (expr_kind_case() != kSelectExpr) { + clear_expr_kind(); + set_has_select_expr(); + _impl_.expr_kind_.select_expr_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr_Select>(GetArena())); + } + return reinterpret_cast<::cel::expr::Expr_Select*>(_impl_.expr_kind_.select_expr_); +} +inline ::cel::expr::Expr_Select* PROTOBUF_NONNULL Expr::mutable_select_expr() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::Expr_Select* _msg = _internal_mutable_select_expr(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.select_expr) + return _msg; +} + +// .cel.expr.Expr.Call call_expr = 6; +inline bool Expr::has_call_expr() const { + return expr_kind_case() == kCallExpr; +} +inline bool Expr::_internal_has_call_expr() const { + return expr_kind_case() == kCallExpr; +} +inline void Expr::set_has_call_expr() { + _impl_._oneof_case_[0] = kCallExpr; +} +inline void Expr::clear_call_expr() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (expr_kind_case() == kCallExpr) { + if (GetArena() == nullptr) { + delete _impl_.expr_kind_.call_expr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.expr_kind_.call_expr_); + } + clear_has_expr_kind(); + } +} +inline ::cel::expr::Expr_Call* PROTOBUF_NULLABLE Expr::release_call_expr() { + // @@protoc_insertion_point(field_release:cel.expr.Expr.call_expr) + if (expr_kind_case() == kCallExpr) { + clear_has_expr_kind(); + auto* temp = reinterpret_cast<::cel::expr::Expr_Call*>(_impl_.expr_kind_.call_expr_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.expr_kind_.call_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::Expr_Call& Expr::_internal_call_expr() const { + return expr_kind_case() == kCallExpr ? static_cast(*reinterpret_cast<::cel::expr::Expr_Call*>(_impl_.expr_kind_.call_expr_)) + : reinterpret_cast(::cel::expr::_Expr_Call_default_instance_); +} +inline const ::cel::expr::Expr_Call& Expr::call_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.call_expr) + return _internal_call_expr(); +} +inline ::cel::expr::Expr_Call* PROTOBUF_NULLABLE Expr::unsafe_arena_release_call_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Expr.call_expr) + if (expr_kind_case() == kCallExpr) { + clear_has_expr_kind(); + auto* temp = reinterpret_cast<::cel::expr::Expr_Call*>(_impl_.expr_kind_.call_expr_); + _impl_.expr_kind_.call_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Expr::unsafe_arena_set_allocated_call_expr( + ::cel::expr::Expr_Call* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_expr_kind(); + if (value) { + set_has_call_expr(); + _impl_.expr_kind_.call_expr_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.call_expr) +} +inline ::cel::expr::Expr_Call* PROTOBUF_NONNULL Expr::_internal_mutable_call_expr() { + if (expr_kind_case() != kCallExpr) { + clear_expr_kind(); + set_has_call_expr(); + _impl_.expr_kind_.call_expr_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr_Call>(GetArena())); + } + return reinterpret_cast<::cel::expr::Expr_Call*>(_impl_.expr_kind_.call_expr_); +} +inline ::cel::expr::Expr_Call* PROTOBUF_NONNULL Expr::mutable_call_expr() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::Expr_Call* _msg = _internal_mutable_call_expr(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.call_expr) + return _msg; +} + +// .cel.expr.Expr.CreateList list_expr = 7; +inline bool Expr::has_list_expr() const { + return expr_kind_case() == kListExpr; +} +inline bool Expr::_internal_has_list_expr() const { + return expr_kind_case() == kListExpr; +} +inline void Expr::set_has_list_expr() { + _impl_._oneof_case_[0] = kListExpr; +} +inline void Expr::clear_list_expr() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (expr_kind_case() == kListExpr) { + if (GetArena() == nullptr) { + delete _impl_.expr_kind_.list_expr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.expr_kind_.list_expr_); + } + clear_has_expr_kind(); + } +} +inline ::cel::expr::Expr_CreateList* PROTOBUF_NULLABLE Expr::release_list_expr() { + // @@protoc_insertion_point(field_release:cel.expr.Expr.list_expr) + if (expr_kind_case() == kListExpr) { + clear_has_expr_kind(); + auto* temp = reinterpret_cast<::cel::expr::Expr_CreateList*>(_impl_.expr_kind_.list_expr_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.expr_kind_.list_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::Expr_CreateList& Expr::_internal_list_expr() const { + return expr_kind_case() == kListExpr ? static_cast(*reinterpret_cast<::cel::expr::Expr_CreateList*>(_impl_.expr_kind_.list_expr_)) + : reinterpret_cast(::cel::expr::_Expr_CreateList_default_instance_); +} +inline const ::cel::expr::Expr_CreateList& Expr::list_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.list_expr) + return _internal_list_expr(); +} +inline ::cel::expr::Expr_CreateList* PROTOBUF_NULLABLE Expr::unsafe_arena_release_list_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Expr.list_expr) + if (expr_kind_case() == kListExpr) { + clear_has_expr_kind(); + auto* temp = reinterpret_cast<::cel::expr::Expr_CreateList*>(_impl_.expr_kind_.list_expr_); + _impl_.expr_kind_.list_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Expr::unsafe_arena_set_allocated_list_expr( + ::cel::expr::Expr_CreateList* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_expr_kind(); + if (value) { + set_has_list_expr(); + _impl_.expr_kind_.list_expr_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.list_expr) +} +inline ::cel::expr::Expr_CreateList* PROTOBUF_NONNULL Expr::_internal_mutable_list_expr() { + if (expr_kind_case() != kListExpr) { + clear_expr_kind(); + set_has_list_expr(); + _impl_.expr_kind_.list_expr_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr_CreateList>(GetArena())); + } + return reinterpret_cast<::cel::expr::Expr_CreateList*>(_impl_.expr_kind_.list_expr_); +} +inline ::cel::expr::Expr_CreateList* PROTOBUF_NONNULL Expr::mutable_list_expr() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::Expr_CreateList* _msg = _internal_mutable_list_expr(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.list_expr) + return _msg; +} + +// .cel.expr.Expr.CreateStruct struct_expr = 8; +inline bool Expr::has_struct_expr() const { + return expr_kind_case() == kStructExpr; +} +inline bool Expr::_internal_has_struct_expr() const { + return expr_kind_case() == kStructExpr; +} +inline void Expr::set_has_struct_expr() { + _impl_._oneof_case_[0] = kStructExpr; +} +inline void Expr::clear_struct_expr() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (expr_kind_case() == kStructExpr) { + if (GetArena() == nullptr) { + delete _impl_.expr_kind_.struct_expr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.expr_kind_.struct_expr_); + } + clear_has_expr_kind(); + } +} +inline ::cel::expr::Expr_CreateStruct* PROTOBUF_NULLABLE Expr::release_struct_expr() { + // @@protoc_insertion_point(field_release:cel.expr.Expr.struct_expr) + if (expr_kind_case() == kStructExpr) { + clear_has_expr_kind(); + auto* temp = reinterpret_cast<::cel::expr::Expr_CreateStruct*>(_impl_.expr_kind_.struct_expr_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.expr_kind_.struct_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::Expr_CreateStruct& Expr::_internal_struct_expr() const { + return expr_kind_case() == kStructExpr ? static_cast(*reinterpret_cast<::cel::expr::Expr_CreateStruct*>(_impl_.expr_kind_.struct_expr_)) + : reinterpret_cast(::cel::expr::_Expr_CreateStruct_default_instance_); +} +inline const ::cel::expr::Expr_CreateStruct& Expr::struct_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.struct_expr) + return _internal_struct_expr(); +} +inline ::cel::expr::Expr_CreateStruct* PROTOBUF_NULLABLE Expr::unsafe_arena_release_struct_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Expr.struct_expr) + if (expr_kind_case() == kStructExpr) { + clear_has_expr_kind(); + auto* temp = reinterpret_cast<::cel::expr::Expr_CreateStruct*>(_impl_.expr_kind_.struct_expr_); + _impl_.expr_kind_.struct_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Expr::unsafe_arena_set_allocated_struct_expr( + ::cel::expr::Expr_CreateStruct* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_expr_kind(); + if (value) { + set_has_struct_expr(); + _impl_.expr_kind_.struct_expr_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.struct_expr) +} +inline ::cel::expr::Expr_CreateStruct* PROTOBUF_NONNULL Expr::_internal_mutable_struct_expr() { + if (expr_kind_case() != kStructExpr) { + clear_expr_kind(); + set_has_struct_expr(); + _impl_.expr_kind_.struct_expr_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr_CreateStruct>(GetArena())); + } + return reinterpret_cast<::cel::expr::Expr_CreateStruct*>(_impl_.expr_kind_.struct_expr_); +} +inline ::cel::expr::Expr_CreateStruct* PROTOBUF_NONNULL Expr::mutable_struct_expr() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::Expr_CreateStruct* _msg = _internal_mutable_struct_expr(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.struct_expr) + return _msg; +} + +// .cel.expr.Expr.Comprehension comprehension_expr = 9; +inline bool Expr::has_comprehension_expr() const { + return expr_kind_case() == kComprehensionExpr; +} +inline bool Expr::_internal_has_comprehension_expr() const { + return expr_kind_case() == kComprehensionExpr; +} +inline void Expr::set_has_comprehension_expr() { + _impl_._oneof_case_[0] = kComprehensionExpr; +} +inline void Expr::clear_comprehension_expr() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (expr_kind_case() == kComprehensionExpr) { + if (GetArena() == nullptr) { + delete _impl_.expr_kind_.comprehension_expr_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.expr_kind_.comprehension_expr_); + } + clear_has_expr_kind(); + } +} +inline ::cel::expr::Expr_Comprehension* PROTOBUF_NULLABLE Expr::release_comprehension_expr() { + // @@protoc_insertion_point(field_release:cel.expr.Expr.comprehension_expr) + if (expr_kind_case() == kComprehensionExpr) { + clear_has_expr_kind(); + auto* temp = reinterpret_cast<::cel::expr::Expr_Comprehension*>(_impl_.expr_kind_.comprehension_expr_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.expr_kind_.comprehension_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::Expr_Comprehension& Expr::_internal_comprehension_expr() const { + return expr_kind_case() == kComprehensionExpr ? static_cast(*reinterpret_cast<::cel::expr::Expr_Comprehension*>(_impl_.expr_kind_.comprehension_expr_)) + : reinterpret_cast(::cel::expr::_Expr_Comprehension_default_instance_); +} +inline const ::cel::expr::Expr_Comprehension& Expr::comprehension_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Expr.comprehension_expr) + return _internal_comprehension_expr(); +} +inline ::cel::expr::Expr_Comprehension* PROTOBUF_NULLABLE Expr::unsafe_arena_release_comprehension_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Expr.comprehension_expr) + if (expr_kind_case() == kComprehensionExpr) { + clear_has_expr_kind(); + auto* temp = reinterpret_cast<::cel::expr::Expr_Comprehension*>(_impl_.expr_kind_.comprehension_expr_); + _impl_.expr_kind_.comprehension_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Expr::unsafe_arena_set_allocated_comprehension_expr( + ::cel::expr::Expr_Comprehension* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_expr_kind(); + if (value) { + set_has_comprehension_expr(); + _impl_.expr_kind_.comprehension_expr_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Expr.comprehension_expr) +} +inline ::cel::expr::Expr_Comprehension* PROTOBUF_NONNULL Expr::_internal_mutable_comprehension_expr() { + if (expr_kind_case() != kComprehensionExpr) { + clear_expr_kind(); + set_has_comprehension_expr(); + _impl_.expr_kind_.comprehension_expr_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::cel::expr::Expr_Comprehension>(GetArena())); + } + return reinterpret_cast<::cel::expr::Expr_Comprehension*>(_impl_.expr_kind_.comprehension_expr_); +} +inline ::cel::expr::Expr_Comprehension* PROTOBUF_NONNULL Expr::mutable_comprehension_expr() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::Expr_Comprehension* _msg = _internal_mutable_comprehension_expr(); + // @@protoc_insertion_point(field_mutable:cel.expr.Expr.comprehension_expr) + return _msg; +} + +inline bool Expr::has_expr_kind() const { + return expr_kind_case() != EXPR_KIND_NOT_SET; +} +inline void Expr::clear_has_expr_kind() { + _impl_._oneof_case_[0] = EXPR_KIND_NOT_SET; +} +inline Expr::ExprKindCase Expr::expr_kind_case() const { + return Expr::ExprKindCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// Constant + +// .google.protobuf.NullValue null_value = 1; +inline bool Constant::has_null_value() const { + return constant_kind_case() == kNullValue; +} +inline void Constant::set_has_null_value() { + _impl_._oneof_case_[0] = kNullValue; +} +inline void Constant::clear_null_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (constant_kind_case() == kNullValue) { + _impl_.constant_kind_.null_value_ = 0; + clear_has_constant_kind(); + } +} +inline ::google::protobuf::NullValue Constant::null_value() const { + // @@protoc_insertion_point(field_get:cel.expr.Constant.null_value) + return _internal_null_value(); +} +inline void Constant::set_null_value(::google::protobuf::NullValue value) { + if (constant_kind_case() != kNullValue) { + clear_constant_kind(); + set_has_null_value(); + } + _impl_.constant_kind_.null_value_ = value; + // @@protoc_insertion_point(field_set:cel.expr.Constant.null_value) +} +inline ::google::protobuf::NullValue Constant::_internal_null_value() const { + if (constant_kind_case() == kNullValue) { + return static_cast<::google::protobuf::NullValue>(_impl_.constant_kind_.null_value_); + } + return static_cast<::google::protobuf::NullValue>(0); +} + +// bool bool_value = 2; +inline bool Constant::has_bool_value() const { + return constant_kind_case() == kBoolValue; +} +inline void Constant::set_has_bool_value() { + _impl_._oneof_case_[0] = kBoolValue; +} +inline void Constant::clear_bool_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (constant_kind_case() == kBoolValue) { + _impl_.constant_kind_.bool_value_ = false; + clear_has_constant_kind(); + } +} +inline bool Constant::bool_value() const { + // @@protoc_insertion_point(field_get:cel.expr.Constant.bool_value) + return _internal_bool_value(); +} +inline void Constant::set_bool_value(bool value) { + if (constant_kind_case() != kBoolValue) { + clear_constant_kind(); + set_has_bool_value(); + } + _impl_.constant_kind_.bool_value_ = value; + // @@protoc_insertion_point(field_set:cel.expr.Constant.bool_value) +} +inline bool Constant::_internal_bool_value() const { + if (constant_kind_case() == kBoolValue) { + return _impl_.constant_kind_.bool_value_; + } + return false; +} + +// int64 int64_value = 3; +inline bool Constant::has_int64_value() const { + return constant_kind_case() == kInt64Value; +} +inline void Constant::set_has_int64_value() { + _impl_._oneof_case_[0] = kInt64Value; +} +inline void Constant::clear_int64_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (constant_kind_case() == kInt64Value) { + _impl_.constant_kind_.int64_value_ = ::int64_t{0}; + clear_has_constant_kind(); + } +} +inline ::int64_t Constant::int64_value() const { + // @@protoc_insertion_point(field_get:cel.expr.Constant.int64_value) + return _internal_int64_value(); +} +inline void Constant::set_int64_value(::int64_t value) { + if (constant_kind_case() != kInt64Value) { + clear_constant_kind(); + set_has_int64_value(); + } + _impl_.constant_kind_.int64_value_ = value; + // @@protoc_insertion_point(field_set:cel.expr.Constant.int64_value) +} +inline ::int64_t Constant::_internal_int64_value() const { + if (constant_kind_case() == kInt64Value) { + return _impl_.constant_kind_.int64_value_; + } + return ::int64_t{0}; +} + +// uint64 uint64_value = 4; +inline bool Constant::has_uint64_value() const { + return constant_kind_case() == kUint64Value; +} +inline void Constant::set_has_uint64_value() { + _impl_._oneof_case_[0] = kUint64Value; +} +inline void Constant::clear_uint64_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (constant_kind_case() == kUint64Value) { + _impl_.constant_kind_.uint64_value_ = ::uint64_t{0u}; + clear_has_constant_kind(); + } +} +inline ::uint64_t Constant::uint64_value() const { + // @@protoc_insertion_point(field_get:cel.expr.Constant.uint64_value) + return _internal_uint64_value(); +} +inline void Constant::set_uint64_value(::uint64_t value) { + if (constant_kind_case() != kUint64Value) { + clear_constant_kind(); + set_has_uint64_value(); + } + _impl_.constant_kind_.uint64_value_ = value; + // @@protoc_insertion_point(field_set:cel.expr.Constant.uint64_value) +} +inline ::uint64_t Constant::_internal_uint64_value() const { + if (constant_kind_case() == kUint64Value) { + return _impl_.constant_kind_.uint64_value_; + } + return ::uint64_t{0u}; +} + +// double double_value = 5; +inline bool Constant::has_double_value() const { + return constant_kind_case() == kDoubleValue; +} +inline void Constant::set_has_double_value() { + _impl_._oneof_case_[0] = kDoubleValue; +} +inline void Constant::clear_double_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (constant_kind_case() == kDoubleValue) { + _impl_.constant_kind_.double_value_ = 0; + clear_has_constant_kind(); + } +} +inline double Constant::double_value() const { + // @@protoc_insertion_point(field_get:cel.expr.Constant.double_value) + return _internal_double_value(); +} +inline void Constant::set_double_value(double value) { + if (constant_kind_case() != kDoubleValue) { + clear_constant_kind(); + set_has_double_value(); + } + _impl_.constant_kind_.double_value_ = value; + // @@protoc_insertion_point(field_set:cel.expr.Constant.double_value) +} +inline double Constant::_internal_double_value() const { + if (constant_kind_case() == kDoubleValue) { + return _impl_.constant_kind_.double_value_; + } + return 0; +} + +// string string_value = 6; +inline bool Constant::has_string_value() const { + return constant_kind_case() == kStringValue; +} +inline void Constant::set_has_string_value() { + _impl_._oneof_case_[0] = kStringValue; +} +inline void Constant::clear_string_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (constant_kind_case() == kStringValue) { + _impl_.constant_kind_.string_value_.Destroy(); + clear_has_constant_kind(); + } +} +inline const ::std::string& Constant::string_value() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Constant.string_value) + return _internal_string_value(); +} +template +PROTOBUF_ALWAYS_INLINE void Constant::set_string_value(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (constant_kind_case() != kStringValue) { + clear_constant_kind(); + + set_has_string_value(); + _impl_.constant_kind_.string_value_.InitDefault(); + } + _impl_.constant_kind_.string_value_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Constant.string_value) +} +inline ::std::string* PROTOBUF_NONNULL Constant::mutable_string_value() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + if (constant_kind_case() != kStringValue) { + clear_constant_kind(); + + set_has_string_value(); + _impl_.constant_kind_.string_value_.InitDefault(); + } + ::std::string* _s = _internal_mutable_string_value(); + // @@protoc_insertion_point(field_mutable:cel.expr.Constant.string_value) + return _s; +} +inline const ::std::string& Constant::_internal_string_value() const { + ::google::protobuf::internal::TSanRead(&_impl_); + if (constant_kind_case() != kStringValue) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); + } + return _impl_.constant_kind_.string_value_.Get(); +} +inline void Constant::_internal_set_string_value(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.constant_kind_.string_value_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Constant::_internal_mutable_string_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.constant_kind_.string_value_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Constant::release_string_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Constant.string_value) + if (constant_kind_case() != kStringValue) { + return nullptr; + } + clear_has_constant_kind(); + return _impl_.constant_kind_.string_value_.Release(); +} +inline void Constant::set_allocated_string_value(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (has_constant_kind()) { + clear_constant_kind(); + } + if (value != nullptr) { + set_has_string_value(); + _impl_.constant_kind_.string_value_.InitAllocated(value, GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Constant.string_value) +} + +// bytes bytes_value = 7; +inline bool Constant::has_bytes_value() const { + return constant_kind_case() == kBytesValue; +} +inline void Constant::set_has_bytes_value() { + _impl_._oneof_case_[0] = kBytesValue; +} +inline void Constant::clear_bytes_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (constant_kind_case() == kBytesValue) { + _impl_.constant_kind_.bytes_value_.Destroy(); + clear_has_constant_kind(); + } +} +inline const ::std::string& Constant::bytes_value() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Constant.bytes_value) + return _internal_bytes_value(); +} +template +PROTOBUF_ALWAYS_INLINE void Constant::set_bytes_value(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (constant_kind_case() != kBytesValue) { + clear_constant_kind(); + + set_has_bytes_value(); + _impl_.constant_kind_.bytes_value_.InitDefault(); + } + _impl_.constant_kind_.bytes_value_.SetBytes(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Constant.bytes_value) +} +inline ::std::string* PROTOBUF_NONNULL Constant::mutable_bytes_value() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + if (constant_kind_case() != kBytesValue) { + clear_constant_kind(); + + set_has_bytes_value(); + _impl_.constant_kind_.bytes_value_.InitDefault(); + } + ::std::string* _s = _internal_mutable_bytes_value(); + // @@protoc_insertion_point(field_mutable:cel.expr.Constant.bytes_value) + return _s; +} +inline const ::std::string& Constant::_internal_bytes_value() const { + ::google::protobuf::internal::TSanRead(&_impl_); + if (constant_kind_case() != kBytesValue) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); + } + return _impl_.constant_kind_.bytes_value_.Get(); +} +inline void Constant::_internal_set_bytes_value(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.constant_kind_.bytes_value_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Constant::_internal_mutable_bytes_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.constant_kind_.bytes_value_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Constant::release_bytes_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Constant.bytes_value) + if (constant_kind_case() != kBytesValue) { + return nullptr; + } + clear_has_constant_kind(); + return _impl_.constant_kind_.bytes_value_.Release(); +} +inline void Constant::set_allocated_bytes_value(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (has_constant_kind()) { + clear_constant_kind(); + } + if (value != nullptr) { + set_has_bytes_value(); + _impl_.constant_kind_.bytes_value_.InitAllocated(value, GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Constant.bytes_value) +} + +// .google.protobuf.Duration duration_value = 8 [deprecated = true]; +inline bool Constant::has_duration_value() const { + return constant_kind_case() == kDurationValue; +} +inline bool Constant::_internal_has_duration_value() const { + return constant_kind_case() == kDurationValue; +} +inline void Constant::set_has_duration_value() { + _impl_._oneof_case_[0] = kDurationValue; +} +inline ::google::protobuf::Duration* PROTOBUF_NULLABLE Constant::release_duration_value() { + // @@protoc_insertion_point(field_release:cel.expr.Constant.duration_value) + if (constant_kind_case() == kDurationValue) { + clear_has_constant_kind(); + auto* temp = _impl_.constant_kind_.duration_value_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.constant_kind_.duration_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::protobuf::Duration& Constant::_internal_duration_value() const { + return constant_kind_case() == kDurationValue ? static_cast(*_impl_.constant_kind_.duration_value_) + : reinterpret_cast(::google::protobuf::_Duration_default_instance_); +} +inline const ::google::protobuf::Duration& Constant::duration_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Constant.duration_value) + return _internal_duration_value(); +} +inline ::google::protobuf::Duration* PROTOBUF_NULLABLE Constant::unsafe_arena_release_duration_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Constant.duration_value) + if (constant_kind_case() == kDurationValue) { + clear_has_constant_kind(); + auto* temp = _impl_.constant_kind_.duration_value_; + _impl_.constant_kind_.duration_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Constant::unsafe_arena_set_allocated_duration_value( + ::google::protobuf::Duration* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_constant_kind(); + if (value) { + set_has_duration_value(); + _impl_.constant_kind_.duration_value_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Constant.duration_value) +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL Constant::_internal_mutable_duration_value() { + if (constant_kind_case() != kDurationValue) { + clear_constant_kind(); + set_has_duration_value(); + _impl_.constant_kind_.duration_value_ = + ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena()); + } + return _impl_.constant_kind_.duration_value_; +} +inline ::google::protobuf::Duration* PROTOBUF_NONNULL Constant::mutable_duration_value() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Duration* _msg = _internal_mutable_duration_value(); + // @@protoc_insertion_point(field_mutable:cel.expr.Constant.duration_value) + return _msg; +} + +// .google.protobuf.Timestamp timestamp_value = 9 [deprecated = true]; +inline bool Constant::has_timestamp_value() const { + return constant_kind_case() == kTimestampValue; +} +inline bool Constant::_internal_has_timestamp_value() const { + return constant_kind_case() == kTimestampValue; +} +inline void Constant::set_has_timestamp_value() { + _impl_._oneof_case_[0] = kTimestampValue; +} +inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE Constant::release_timestamp_value() { + // @@protoc_insertion_point(field_release:cel.expr.Constant.timestamp_value) + if (constant_kind_case() == kTimestampValue) { + clear_has_constant_kind(); + auto* temp = _impl_.constant_kind_.timestamp_value_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.constant_kind_.timestamp_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::protobuf::Timestamp& Constant::_internal_timestamp_value() const { + return constant_kind_case() == kTimestampValue ? static_cast(*_impl_.constant_kind_.timestamp_value_) + : reinterpret_cast(::google::protobuf::_Timestamp_default_instance_); +} +inline const ::google::protobuf::Timestamp& Constant::timestamp_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Constant.timestamp_value) + return _internal_timestamp_value(); +} +inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE Constant::unsafe_arena_release_timestamp_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Constant.timestamp_value) + if (constant_kind_case() == kTimestampValue) { + clear_has_constant_kind(); + auto* temp = _impl_.constant_kind_.timestamp_value_; + _impl_.constant_kind_.timestamp_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Constant::unsafe_arena_set_allocated_timestamp_value( + ::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_constant_kind(); + if (value) { + set_has_timestamp_value(); + _impl_.constant_kind_.timestamp_value_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Constant.timestamp_value) +} +inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL Constant::_internal_mutable_timestamp_value() { + if (constant_kind_case() != kTimestampValue) { + clear_constant_kind(); + set_has_timestamp_value(); + _impl_.constant_kind_.timestamp_value_ = + ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Timestamp>(GetArena()); + } + return _impl_.constant_kind_.timestamp_value_; +} +inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL Constant::mutable_timestamp_value() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Timestamp* _msg = _internal_mutable_timestamp_value(); + // @@protoc_insertion_point(field_mutable:cel.expr.Constant.timestamp_value) + return _msg; +} + +inline bool Constant::has_constant_kind() const { + return constant_kind_case() != CONSTANT_KIND_NOT_SET; +} +inline void Constant::clear_has_constant_kind() { + _impl_._oneof_case_[0] = CONSTANT_KIND_NOT_SET; +} +inline Constant::ConstantKindCase Constant::constant_kind_case() const { + return Constant::ConstantKindCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// SourceInfo_Extension_Version + +// int64 major = 1; +inline void SourceInfo_Extension_Version::clear_major() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.major_ = ::int64_t{0}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::int64_t SourceInfo_Extension_Version::major() const { + // @@protoc_insertion_point(field_get:cel.expr.SourceInfo.Extension.Version.major) + return _internal_major(); +} +inline void SourceInfo_Extension_Version::set_major(::int64_t value) { + _internal_set_major(value); + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_set:cel.expr.SourceInfo.Extension.Version.major) +} +inline ::int64_t SourceInfo_Extension_Version::_internal_major() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.major_; +} +inline void SourceInfo_Extension_Version::_internal_set_major(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.major_ = value; +} + +// int64 minor = 2; +inline void SourceInfo_Extension_Version::clear_minor() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.minor_ = ::int64_t{0}; + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::int64_t SourceInfo_Extension_Version::minor() const { + // @@protoc_insertion_point(field_get:cel.expr.SourceInfo.Extension.Version.minor) + return _internal_minor(); +} +inline void SourceInfo_Extension_Version::set_minor(::int64_t value) { + _internal_set_minor(value); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_set:cel.expr.SourceInfo.Extension.Version.minor) +} +inline ::int64_t SourceInfo_Extension_Version::_internal_minor() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.minor_; +} +inline void SourceInfo_Extension_Version::_internal_set_minor(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.minor_ = value; +} + +// ------------------------------------------------------------------- + +// SourceInfo_Extension + +// string id = 1; +inline void SourceInfo_Extension::clear_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.id_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::std::string& SourceInfo_Extension::id() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.SourceInfo.Extension.id) + return _internal_id(); +} +template +PROTOBUF_ALWAYS_INLINE void SourceInfo_Extension::set_id(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + _impl_.id_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.SourceInfo.Extension.id) +} +inline ::std::string* PROTOBUF_NONNULL SourceInfo_Extension::mutable_id() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::std::string* _s = _internal_mutable_id(); + // @@protoc_insertion_point(field_mutable:cel.expr.SourceInfo.Extension.id) + return _s; +} +inline const ::std::string& SourceInfo_Extension::_internal_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.id_.Get(); +} +inline void SourceInfo_Extension::_internal_set_id(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.id_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL SourceInfo_Extension::_internal_mutable_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.id_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE SourceInfo_Extension::release_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.SourceInfo.Extension.id) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + auto* released = _impl_.id_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.id_.Set("", GetArena()); + } + return released; +} +inline void SourceInfo_Extension::set_allocated_id(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + _impl_.id_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.id_.IsDefault()) { + _impl_.id_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.SourceInfo.Extension.id) +} + +// repeated .cel.expr.SourceInfo.Extension.Component affected_components = 2; +inline int SourceInfo_Extension::_internal_affected_components_size() const { + return _internal_affected_components().size(); +} +inline int SourceInfo_Extension::affected_components_size() const { + return _internal_affected_components_size(); +} +inline void SourceInfo_Extension::clear_affected_components() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.affected_components_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::cel::expr::SourceInfo_Extension_Component SourceInfo_Extension::affected_components(int index) const { + // @@protoc_insertion_point(field_get:cel.expr.SourceInfo.Extension.affected_components) + return static_cast<::cel::expr::SourceInfo_Extension_Component>(_internal_affected_components().Get(index)); +} +inline void SourceInfo_Extension::set_affected_components(int index, ::cel::expr::SourceInfo_Extension_Component value) { + _internal_mutable_affected_components()->Set(index, value); + // @@protoc_insertion_point(field_set:cel.expr.SourceInfo.Extension.affected_components) +} +inline void SourceInfo_Extension::add_affected_components(::cel::expr::SourceInfo_Extension_Component value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_affected_components()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:cel.expr.SourceInfo.Extension.affected_components) +} +inline const ::google::protobuf::RepeatedField& SourceInfo_Extension::affected_components() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:cel.expr.SourceInfo.Extension.affected_components) + return _internal_affected_components(); +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL SourceInfo_Extension::mutable_affected_components() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:cel.expr.SourceInfo.Extension.affected_components) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_affected_components(); +} +inline const ::google::protobuf::RepeatedField& SourceInfo_Extension::_internal_affected_components() + const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.affected_components_; +} +inline ::google::protobuf::RepeatedField* PROTOBUF_NONNULL +SourceInfo_Extension::_internal_mutable_affected_components() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.affected_components_; +} + +// .cel.expr.SourceInfo.Extension.Version version = 3; +inline bool SourceInfo_Extension::has_version() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U); + PROTOBUF_ASSUME(!value || _impl_.version_ != nullptr); + return value; +} +inline void SourceInfo_Extension::clear_version() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.version_ != nullptr) _impl_.version_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline const ::cel::expr::SourceInfo_Extension_Version& SourceInfo_Extension::_internal_version() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::SourceInfo_Extension_Version* p = _impl_.version_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_SourceInfo_Extension_Version_default_instance_); +} +inline const ::cel::expr::SourceInfo_Extension_Version& SourceInfo_Extension::version() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.SourceInfo.Extension.version) + return _internal_version(); +} +inline void SourceInfo_Extension::unsafe_arena_set_allocated_version( + ::cel::expr::SourceInfo_Extension_Version* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.version_); + } + _impl_.version_ = reinterpret_cast<::cel::expr::SourceInfo_Extension_Version*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.SourceInfo.Extension.version) +} +inline ::cel::expr::SourceInfo_Extension_Version* PROTOBUF_NULLABLE SourceInfo_Extension::release_version() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + ::cel::expr::SourceInfo_Extension_Version* released = _impl_.version_; + _impl_.version_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::SourceInfo_Extension_Version* PROTOBUF_NULLABLE SourceInfo_Extension::unsafe_arena_release_version() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.SourceInfo.Extension.version) + + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + ::cel::expr::SourceInfo_Extension_Version* temp = _impl_.version_; + _impl_.version_ = nullptr; + return temp; +} +inline ::cel::expr::SourceInfo_Extension_Version* PROTOBUF_NONNULL SourceInfo_Extension::_internal_mutable_version() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.version_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::SourceInfo_Extension_Version>(GetArena()); + _impl_.version_ = reinterpret_cast<::cel::expr::SourceInfo_Extension_Version*>(p); + } + return _impl_.version_; +} +inline ::cel::expr::SourceInfo_Extension_Version* PROTOBUF_NONNULL SourceInfo_Extension::mutable_version() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + ::cel::expr::SourceInfo_Extension_Version* _msg = _internal_mutable_version(); + // @@protoc_insertion_point(field_mutable:cel.expr.SourceInfo.Extension.version) + return _msg; +} +inline void SourceInfo_Extension::set_allocated_version(::cel::expr::SourceInfo_Extension_Version* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.version_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + + _impl_.version_ = reinterpret_cast<::cel::expr::SourceInfo_Extension_Version*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.SourceInfo.Extension.version) +} + +// ------------------------------------------------------------------- + +// SourceInfo + +// string syntax_version = 1; +inline void SourceInfo::clear_syntax_version() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.syntax_version_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000004U); +} +inline const ::std::string& SourceInfo::syntax_version() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.SourceInfo.syntax_version) + return _internal_syntax_version(); +} +template +PROTOBUF_ALWAYS_INLINE void SourceInfo::set_syntax_version(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + _impl_.syntax_version_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.SourceInfo.syntax_version) +} +inline ::std::string* PROTOBUF_NONNULL SourceInfo::mutable_syntax_version() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + ::std::string* _s = _internal_mutable_syntax_version(); + // @@protoc_insertion_point(field_mutable:cel.expr.SourceInfo.syntax_version) + return _s; +} +inline const ::std::string& SourceInfo::_internal_syntax_version() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.syntax_version_.Get(); +} +inline void SourceInfo::_internal_set_syntax_version(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.syntax_version_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL SourceInfo::_internal_mutable_syntax_version() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.syntax_version_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE SourceInfo::release_syntax_version() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.SourceInfo.syntax_version) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + auto* released = _impl_.syntax_version_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.syntax_version_.Set("", GetArena()); + } + return released; +} +inline void SourceInfo::set_allocated_syntax_version(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000004U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000004U); + } + _impl_.syntax_version_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.syntax_version_.IsDefault()) { + _impl_.syntax_version_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.SourceInfo.syntax_version) +} + +// string location = 2; +inline void SourceInfo::clear_location() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.location_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000008U); +} +inline const ::std::string& SourceInfo::location() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.SourceInfo.location) + return _internal_location(); +} +template +PROTOBUF_ALWAYS_INLINE void SourceInfo::set_location(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + _impl_.location_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.SourceInfo.location) +} +inline ::std::string* PROTOBUF_NONNULL SourceInfo::mutable_location() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + ::std::string* _s = _internal_mutable_location(); + // @@protoc_insertion_point(field_mutable:cel.expr.SourceInfo.location) + return _s; +} +inline const ::std::string& SourceInfo::_internal_location() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.location_.Get(); +} +inline void SourceInfo::_internal_set_location(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.location_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL SourceInfo::_internal_mutable_location() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.location_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE SourceInfo::release_location() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.SourceInfo.location) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000008U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + auto* released = _impl_.location_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.location_.Set("", GetArena()); + } + return released; +} +inline void SourceInfo::set_allocated_location(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000008U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000008U); + } + _impl_.location_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.location_.IsDefault()) { + _impl_.location_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.SourceInfo.location) +} + +// repeated int32 line_offsets = 3; +inline int SourceInfo::_internal_line_offsets_size() const { + return _internal_line_offsets().size(); +} +inline int SourceInfo::line_offsets_size() const { + return _internal_line_offsets_size(); +} +inline void SourceInfo::clear_line_offsets() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.line_offsets_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::int32_t SourceInfo::line_offsets(int index) const { + // @@protoc_insertion_point(field_get:cel.expr.SourceInfo.line_offsets) + return _internal_line_offsets().Get(index); +} +inline void SourceInfo::set_line_offsets(int index, ::int32_t value) { + _internal_mutable_line_offsets()->Set(index, value); + // @@protoc_insertion_point(field_set:cel.expr.SourceInfo.line_offsets) +} +inline void SourceInfo::add_line_offsets(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _internal_mutable_line_offsets()->Add(value); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:cel.expr.SourceInfo.line_offsets) +} +inline const ::google::protobuf::RepeatedField<::int32_t>& SourceInfo::line_offsets() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:cel.expr.SourceInfo.line_offsets) + return _internal_line_offsets(); +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL SourceInfo::mutable_line_offsets() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:cel.expr.SourceInfo.line_offsets) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_line_offsets(); +} +inline const ::google::protobuf::RepeatedField<::int32_t>& +SourceInfo::_internal_line_offsets() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.line_offsets_; +} +inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL +SourceInfo::_internal_mutable_line_offsets() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.line_offsets_; +} + +// map positions = 4; +inline int SourceInfo::_internal_positions_size() const { + return _internal_positions().size(); +} +inline int SourceInfo::positions_size() const { + return _internal_positions_size(); +} +inline void SourceInfo::clear_positions() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.positions_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000010U); +} +inline const ::google::protobuf::Map<::int64_t, ::int32_t>& SourceInfo::_internal_positions() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.positions_.GetMap(); +} +inline const ::google::protobuf::Map<::int64_t, ::int32_t>& SourceInfo::positions() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_map:cel.expr.SourceInfo.positions) + return _internal_positions(); +} +inline ::google::protobuf::Map<::int64_t, ::int32_t>* PROTOBUF_NONNULL SourceInfo::_internal_mutable_positions() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.positions_.MutableMap(); +} +inline ::google::protobuf::Map<::int64_t, ::int32_t>* PROTOBUF_NONNULL SourceInfo::mutable_positions() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000010U); + // @@protoc_insertion_point(field_mutable_map:cel.expr.SourceInfo.positions) + return _internal_mutable_positions(); +} + +// map macro_calls = 5; +inline int SourceInfo::_internal_macro_calls_size() const { + return _internal_macro_calls().size(); +} +inline int SourceInfo::macro_calls_size() const { + return _internal_macro_calls_size(); +} +inline void SourceInfo::clear_macro_calls() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.macro_calls_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000020U); +} +inline const ::google::protobuf::Map<::int64_t, ::cel::expr::Expr>& SourceInfo::_internal_macro_calls() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.macro_calls_.GetMap(); +} +inline const ::google::protobuf::Map<::int64_t, ::cel::expr::Expr>& SourceInfo::macro_calls() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_map:cel.expr.SourceInfo.macro_calls) + return _internal_macro_calls(); +} +inline ::google::protobuf::Map<::int64_t, ::cel::expr::Expr>* PROTOBUF_NONNULL SourceInfo::_internal_mutable_macro_calls() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.macro_calls_.MutableMap(); +} +inline ::google::protobuf::Map<::int64_t, ::cel::expr::Expr>* PROTOBUF_NONNULL SourceInfo::mutable_macro_calls() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000020U); + // @@protoc_insertion_point(field_mutable_map:cel.expr.SourceInfo.macro_calls) + return _internal_mutable_macro_calls(); +} + +// repeated .cel.expr.SourceInfo.Extension extensions = 6; +inline int SourceInfo::_internal_extensions_size() const { + return _internal_extensions().size(); +} +inline int SourceInfo::extensions_size() const { + return _internal_extensions_size(); +} +inline void SourceInfo::clear_extensions() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.extensions_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::cel::expr::SourceInfo_Extension* PROTOBUF_NONNULL SourceInfo::mutable_extensions(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:cel.expr.SourceInfo.extensions) + return _internal_mutable_extensions()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::SourceInfo_Extension>* PROTOBUF_NONNULL SourceInfo::mutable_extensions() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_mutable_list:cel.expr.SourceInfo.extensions) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_extensions(); +} +inline const ::cel::expr::SourceInfo_Extension& SourceInfo::extensions(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.SourceInfo.extensions) + return _internal_extensions().Get(index); +} +inline ::cel::expr::SourceInfo_Extension* PROTOBUF_NONNULL SourceInfo::add_extensions() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::cel::expr::SourceInfo_Extension* _add = + _internal_mutable_extensions()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_add:cel.expr.SourceInfo.extensions) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::SourceInfo_Extension>& SourceInfo::extensions() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:cel.expr.SourceInfo.extensions) + return _internal_extensions(); +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::SourceInfo_Extension>& +SourceInfo::_internal_extensions() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.extensions_; +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::SourceInfo_Extension>* PROTOBUF_NONNULL +SourceInfo::_internal_mutable_extensions() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.extensions_; +} + +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif // __GNUC__ + +// @@protoc_insertion_point(namespace_scope) +} // namespace expr +} // namespace cel + + +namespace google { +namespace protobuf { + +template <> +struct is_proto_enum<::cel::expr::SourceInfo_Extension_Component> : std::true_type {}; +template <> +inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::cel::expr::SourceInfo_Extension_Component>() { + return ::cel::expr::SourceInfo_Extension_Component_descriptor(); +} + +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) + +#include "google/protobuf/port_undef.inc" + +#endif // cel_2fexpr_2fsyntax_2eproto_2epb_2eh diff --git a/crates/protovalidate-rs/gen/cel/expr/value.pb.cc b/crates/protovalidate-rs/gen/cel/expr/value.pb.cc new file mode 100644 index 00000000..3fff2a57 --- /dev/null +++ b/crates/protovalidate-rs/gen/cel/expr/value.pb.cc @@ -0,0 +1,2165 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: cel/expr/value.proto +// Protobuf C++ Version: 6.33.4 + +#include "cel/expr/value.pb.h" + +#include +#include +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/generated_message_tctable_impl.h" +#include "google/protobuf/extension_set.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/wire_format_lite.h" +#include "google/protobuf/descriptor.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/reflection_ops.h" +#include "google/protobuf/wire_format.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" +PROTOBUF_PRAGMA_INIT_SEG +namespace _pb = ::google::protobuf; +namespace _pbi = ::google::protobuf::internal; +namespace _fl = ::google::protobuf::internal::field_layout; +namespace cel { +namespace expr { + +inline constexpr EnumValue::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + type_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + value_{0} {} + +template +PROTOBUF_CONSTEXPR EnumValue::EnumValue(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(EnumValue_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct EnumValueDefaultTypeInternal { + PROTOBUF_CONSTEXPR EnumValueDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~EnumValueDefaultTypeInternal() {} + union { + EnumValue _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumValueDefaultTypeInternal _EnumValue_default_instance_; + +inline constexpr ListValue::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + values_{} {} + +template +PROTOBUF_CONSTEXPR ListValue::ListValue(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(ListValue_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ListValueDefaultTypeInternal { + PROTOBUF_CONSTEXPR ListValueDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ListValueDefaultTypeInternal() {} + union { + ListValue _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ListValueDefaultTypeInternal _ListValue_default_instance_; + +inline constexpr MapValue::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + entries_{} {} + +template +PROTOBUF_CONSTEXPR MapValue::MapValue(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(MapValue_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct MapValueDefaultTypeInternal { + PROTOBUF_CONSTEXPR MapValueDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~MapValueDefaultTypeInternal() {} + union { + MapValue _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MapValueDefaultTypeInternal _MapValue_default_instance_; + +inline constexpr MapValue_Entry::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + key_{nullptr}, + value_{nullptr} {} + +template +PROTOBUF_CONSTEXPR MapValue_Entry::MapValue_Entry(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(MapValue_Entry_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct MapValue_EntryDefaultTypeInternal { + PROTOBUF_CONSTEXPR MapValue_EntryDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~MapValue_EntryDefaultTypeInternal() {} + union { + MapValue_Entry _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MapValue_EntryDefaultTypeInternal _MapValue_Entry_default_instance_; + +inline constexpr Value::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : kind_{}, + _cached_size_{0}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR Value::Value(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(Value_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ValueDefaultTypeInternal { + PROTOBUF_CONSTEXPR ValueDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ValueDefaultTypeInternal() {} + union { + Value _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ValueDefaultTypeInternal _Value_default_instance_; +} // namespace expr +} // namespace cel +static constexpr const ::_pb::EnumDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE + file_level_enum_descriptors_cel_2fexpr_2fvalue_2eproto = nullptr; +static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE + file_level_service_descriptors_cel_2fexpr_2fvalue_2eproto = nullptr; +const ::uint32_t + TableStruct_cel_2fexpr_2fvalue_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE( + protodesc_cold) = { + 0x004, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::Value, _impl_._oneof_case_[0]), + PROTOBUF_FIELD_OFFSET(::cel::expr::Value, _impl_.kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Value, _impl_.kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Value, _impl_.kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Value, _impl_.kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Value, _impl_.kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Value, _impl_.kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Value, _impl_.kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Value, _impl_.kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Value, _impl_.kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Value, _impl_.kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Value, _impl_.kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Value, _impl_.kind_), + PROTOBUF_FIELD_OFFSET(::cel::expr::Value, _impl_.kind_), + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::EnumValue, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::EnumValue, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::cel::expr::EnumValue, _impl_.value_), + 0, + 1, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::ListValue, _impl_._has_bits_), + 4, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::ListValue, _impl_.values_), + 0, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::MapValue_Entry, _impl_._has_bits_), + 5, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::MapValue_Entry, _impl_.key_), + PROTOBUF_FIELD_OFFSET(::cel::expr::MapValue_Entry, _impl_.value_), + 0, + 1, + 0x081, // bitmap + PROTOBUF_FIELD_OFFSET(::cel::expr::MapValue, _impl_._has_bits_), + 4, // hasbit index offset + PROTOBUF_FIELD_OFFSET(::cel::expr::MapValue, _impl_.entries_), + 0, +}; + +static const ::_pbi::MigrationSchema + schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { + {0, sizeof(::cel::expr::Value)}, + {15, sizeof(::cel::expr::EnumValue)}, + {22, sizeof(::cel::expr::ListValue)}, + {27, sizeof(::cel::expr::MapValue_Entry)}, + {34, sizeof(::cel::expr::MapValue)}, +}; +static const ::_pb::Message* PROTOBUF_NONNULL const file_default_instances[] = { + &::cel::expr::_Value_default_instance_._instance, + &::cel::expr::_EnumValue_default_instance_._instance, + &::cel::expr::_ListValue_default_instance_._instance, + &::cel::expr::_MapValue_Entry_default_instance_._instance, + &::cel::expr::_MapValue_default_instance_._instance, +}; +const char descriptor_table_protodef_cel_2fexpr_2fvalue_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE( + protodesc_cold) = { + "\n\024cel/expr/value.proto\022\010cel.expr\032\031google" + "/protobuf/any.proto\032\034google/protobuf/str" + "uct.proto\"\220\003\n\005Value\0220\n\nnull_value\030\001 \001(\0162" + "\032.google.protobuf.NullValueH\000\022\024\n\nbool_va" + "lue\030\002 \001(\010H\000\022\025\n\013int64_value\030\003 \001(\003H\000\022\026\n\014ui" + "nt64_value\030\004 \001(\004H\000\022\026\n\014double_value\030\005 \001(\001" + "H\000\022\026\n\014string_value\030\006 \001(\tH\000\022\025\n\013bytes_valu" + "e\030\007 \001(\014H\000\022)\n\nenum_value\030\t \001(\0132\023.cel.expr" + ".EnumValueH\000\022,\n\014object_value\030\n \001(\0132\024.goo" + "gle.protobuf.AnyH\000\022\'\n\tmap_value\030\013 \001(\0132\022." + "cel.expr.MapValueH\000\022)\n\nlist_value\030\014 \001(\0132" + "\023.cel.expr.ListValueH\000\022\024\n\ntype_value\030\017 \001" + "(\tH\000B\006\n\004kind\"(\n\tEnumValue\022\014\n\004type\030\001 \001(\t\022" + "\r\n\005value\030\002 \001(\005\",\n\tListValue\022\037\n\006values\030\001 " + "\003(\0132\017.cel.expr.Value\"|\n\010MapValue\022)\n\007entr" + "ies\030\001 \003(\0132\030.cel.expr.MapValue.Entry\032E\n\005E" + "ntry\022\034\n\003key\030\001 \001(\0132\017.cel.expr.Value\022\036\n\005va" + "lue\030\002 \001(\0132\017.cel.expr.ValueB-\n\014dev.cel.ex" + "prB\nValueProtoP\001Z\014cel.dev/expr\370\001\001b\006proto" + "3" +}; +static const ::_pbi::DescriptorTable* PROTOBUF_NONNULL const + descriptor_table_cel_2fexpr_2fvalue_2eproto_deps[2] = { + &::descriptor_table_google_2fprotobuf_2fany_2eproto, + &::descriptor_table_google_2fprotobuf_2fstruct_2eproto, +}; +static ::absl::once_flag descriptor_table_cel_2fexpr_2fvalue_2eproto_once; +PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_cel_2fexpr_2fvalue_2eproto = { + false, + false, + 761, + descriptor_table_protodef_cel_2fexpr_2fvalue_2eproto, + "cel/expr/value.proto", + &descriptor_table_cel_2fexpr_2fvalue_2eproto_once, + descriptor_table_cel_2fexpr_2fvalue_2eproto_deps, + 2, + 5, + schemas, + file_default_instances, + TableStruct_cel_2fexpr_2fvalue_2eproto::offsets, + file_level_enum_descriptors_cel_2fexpr_2fvalue_2eproto, + file_level_service_descriptors_cel_2fexpr_2fvalue_2eproto, +}; +namespace cel { +namespace expr { +// =================================================================== + +class Value::_Internal { + public: + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::cel::expr::Value, _impl_._oneof_case_); +}; + +void Value::set_allocated_enum_value(::cel::expr::EnumValue* PROTOBUF_NULLABLE enum_value) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_kind(); + if (enum_value) { + ::google::protobuf::Arena* submessage_arena = enum_value->GetArena(); + if (message_arena != submessage_arena) { + enum_value = ::google::protobuf::internal::GetOwnedMessage(message_arena, enum_value, submessage_arena); + } + set_has_enum_value(); + _impl_.kind_.enum_value_ = enum_value; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Value.enum_value) +} +void Value::set_allocated_object_value(::google::protobuf::Any* PROTOBUF_NULLABLE object_value) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_kind(); + if (object_value) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(object_value)->GetArena(); + if (message_arena != submessage_arena) { + object_value = ::google::protobuf::internal::GetOwnedMessage(message_arena, object_value, submessage_arena); + } + set_has_object_value(); + _impl_.kind_.object_value_ = object_value; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Value.object_value) +} +void Value::clear_object_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (kind_case() == kObjectValue) { + if (GetArena() == nullptr) { + delete _impl_.kind_.object_value_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.kind_.object_value_); + } + clear_has_kind(); + } +} +void Value::set_allocated_map_value(::cel::expr::MapValue* PROTOBUF_NULLABLE map_value) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_kind(); + if (map_value) { + ::google::protobuf::Arena* submessage_arena = map_value->GetArena(); + if (message_arena != submessage_arena) { + map_value = ::google::protobuf::internal::GetOwnedMessage(message_arena, map_value, submessage_arena); + } + set_has_map_value(); + _impl_.kind_.map_value_ = map_value; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Value.map_value) +} +void Value::set_allocated_list_value(::cel::expr::ListValue* PROTOBUF_NULLABLE list_value) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_kind(); + if (list_value) { + ::google::protobuf::Arena* submessage_arena = list_value->GetArena(); + if (message_arena != submessage_arena) { + list_value = ::google::protobuf::internal::GetOwnedMessage(message_arena, list_value, submessage_arena); + } + set_has_list_value(); + _impl_.kind_.list_value_ = list_value; + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Value.list_value) +} +Value::Value(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Value_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.Value) +} +PROTOBUF_NDEBUG_INLINE Value::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::Value& from_msg) + : kind_{}, + _cached_size_{0}, + _oneof_case_{from._oneof_case_[0]} {} + +Value::Value( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const Value& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, Value_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Value* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + switch (kind_case()) { + case KIND_NOT_SET: + break; + case kNullValue: + _impl_.kind_.null_value_ = from._impl_.kind_.null_value_; + break; + case kBoolValue: + _impl_.kind_.bool_value_ = from._impl_.kind_.bool_value_; + break; + case kInt64Value: + _impl_.kind_.int64_value_ = from._impl_.kind_.int64_value_; + break; + case kUint64Value: + _impl_.kind_.uint64_value_ = from._impl_.kind_.uint64_value_; + break; + case kDoubleValue: + _impl_.kind_.double_value_ = from._impl_.kind_.double_value_; + break; + case kStringValue: + new (&_impl_.kind_.string_value_) decltype(_impl_.kind_.string_value_){arena, from._impl_.kind_.string_value_}; + break; + case kBytesValue: + new (&_impl_.kind_.bytes_value_) decltype(_impl_.kind_.bytes_value_){arena, from._impl_.kind_.bytes_value_}; + break; + case kEnumValue: + _impl_.kind_.enum_value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.kind_.enum_value_); + break; + case kObjectValue: + _impl_.kind_.object_value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.kind_.object_value_); + break; + case kMapValue: + _impl_.kind_.map_value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.kind_.map_value_); + break; + case kListValue: + _impl_.kind_.list_value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.kind_.list_value_); + break; + case kTypeValue: + new (&_impl_.kind_.type_value_) decltype(_impl_.kind_.type_value_){arena, from._impl_.kind_.type_value_}; + break; + } + + // @@protoc_insertion_point(copy_constructor:cel.expr.Value) +} +PROTOBUF_NDEBUG_INLINE Value::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : kind_{}, + _cached_size_{0}, + _oneof_case_{} {} + +inline void Value::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +Value::~Value() { + // @@protoc_insertion_point(destructor:cel.expr.Value) + SharedDtor(*this); +} +inline void Value::SharedDtor(MessageLite& self) { + Value& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + if (this_.has_kind()) { + this_.clear_kind(); + } + this_._impl_.~Impl_(); +} + +void Value::clear_kind() { +// @@protoc_insertion_point(one_of_clear_start:cel.expr.Value) + ::google::protobuf::internal::TSanWrite(&_impl_); + switch (kind_case()) { + case kNullValue: { + // No need to clear + break; + } + case kBoolValue: { + // No need to clear + break; + } + case kInt64Value: { + // No need to clear + break; + } + case kUint64Value: { + // No need to clear + break; + } + case kDoubleValue: { + // No need to clear + break; + } + case kStringValue: { + _impl_.kind_.string_value_.Destroy(); + break; + } + case kBytesValue: { + _impl_.kind_.bytes_value_.Destroy(); + break; + } + case kEnumValue: { + if (GetArena() == nullptr) { + delete _impl_.kind_.enum_value_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.kind_.enum_value_); + } + break; + } + case kObjectValue: { + if (GetArena() == nullptr) { + delete _impl_.kind_.object_value_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.kind_.object_value_); + } + break; + } + case kMapValue: { + if (GetArena() == nullptr) { + delete _impl_.kind_.map_value_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.kind_.map_value_); + } + break; + } + case kListValue: { + if (GetArena() == nullptr) { + delete _impl_.kind_.list_value_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.kind_.list_value_); + } + break; + } + case kTypeValue: { + _impl_.kind_.type_value_.Destroy(); + break; + } + case KIND_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = KIND_NOT_SET; +} + + +inline void* PROTOBUF_NONNULL Value::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) Value(arena); +} +constexpr auto Value::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Value), + alignof(Value)); +} +constexpr auto Value::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_Value_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Value::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Value::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Value::ByteSizeLong, + &Value::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Value, _impl_._cached_size_), + false, + }, + &Value::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fvalue_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull Value_class_data_ = + Value::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +Value::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&Value_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(Value_class_data_.tc_table); + return Value_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 12, 4, 53, 2> +Value::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 15, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294946944, // skipmap + offsetof(decltype(_table_), field_entries), + 12, // num_field_entries + 4, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + Value_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::Value>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // .google.protobuf.NullValue null_value = 1; + {PROTOBUF_FIELD_OFFSET(Value, _impl_.kind_.null_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kOpenEnum)}, + // bool bool_value = 2; + {PROTOBUF_FIELD_OFFSET(Value, _impl_.kind_.bool_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)}, + // int64 int64_value = 3; + {PROTOBUF_FIELD_OFFSET(Value, _impl_.kind_.int64_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt64)}, + // uint64 uint64_value = 4; + {PROTOBUF_FIELD_OFFSET(Value, _impl_.kind_.uint64_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUInt64)}, + // double double_value = 5; + {PROTOBUF_FIELD_OFFSET(Value, _impl_.kind_.double_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kDouble)}, + // string string_value = 6; + {PROTOBUF_FIELD_OFFSET(Value, _impl_.kind_.string_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // bytes bytes_value = 7; + {PROTOBUF_FIELD_OFFSET(Value, _impl_.kind_.bytes_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBytes | ::_fl::kRepAString)}, + // .cel.expr.EnumValue enum_value = 9; + {PROTOBUF_FIELD_OFFSET(Value, _impl_.kind_.enum_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.protobuf.Any object_value = 10; + {PROTOBUF_FIELD_OFFSET(Value, _impl_.kind_.object_value_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.MapValue map_value = 11; + {PROTOBUF_FIELD_OFFSET(Value, _impl_.kind_.map_value_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.ListValue list_value = 12; + {PROTOBUF_FIELD_OFFSET(Value, _impl_.kind_.list_value_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // string type_value = 15; + {PROTOBUF_FIELD_OFFSET(Value, _impl_.kind_.type_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::EnumValue>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Any>()}, + {::_pbi::TcParser::GetTable<::cel::expr::MapValue>()}, + {::_pbi::TcParser::GetTable<::cel::expr::ListValue>()}, + }}, + {{ + "\16\0\0\0\0\0\14\0\0\0\0\0\12\0\0\0" + "cel.expr.Value" + "string_value" + "type_value" + }}, +}; +PROTOBUF_NOINLINE void Value::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.Value) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_kind(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL Value::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const Value& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL Value::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const Value& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.Value) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + switch (this_.kind_case()) { + case kNullValue: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 1, this_._internal_null_value(), target); + break; + } + case kBoolValue: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 2, this_._internal_bool_value(), target); + break; + } + case kInt64Value: { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>( + stream, this_._internal_int64_value(), target); + break; + } + case kUint64Value: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt64ToArray( + 4, this_._internal_uint64_value(), target); + break; + } + case kDoubleValue: { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 5, this_._internal_double_value(), target); + break; + } + case kStringValue: { + const ::std::string& _s = this_._internal_string_value(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Value.string_value"); + target = stream->WriteStringMaybeAliased(6, _s, target); + break; + } + case kBytesValue: { + const ::std::string& _s = this_._internal_bytes_value(); + target = stream->WriteBytesMaybeAliased(7, _s, target); + break; + } + case kEnumValue: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 9, *this_._impl_.kind_.enum_value_, this_._impl_.kind_.enum_value_->GetCachedSize(), target, + stream); + break; + } + case kObjectValue: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 10, *this_._impl_.kind_.object_value_, this_._impl_.kind_.object_value_->GetCachedSize(), target, + stream); + break; + } + case kMapValue: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 11, *this_._impl_.kind_.map_value_, this_._impl_.kind_.map_value_->GetCachedSize(), target, + stream); + break; + } + case kListValue: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 12, *this_._impl_.kind_.list_value_, this_._impl_.kind_.list_value_->GetCachedSize(), target, + stream); + break; + } + case kTypeValue: { + const ::std::string& _s = this_._internal_type_value(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.Value.type_value"); + target = stream->WriteStringMaybeAliased(15, _s, target); + break; + } + default: + break; + } + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.Value) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t Value::ByteSizeLong(const MessageLite& base) { + const Value& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t Value::ByteSizeLong() const { + const Value& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.Value) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + switch (this_.kind_case()) { + // .google.protobuf.NullValue null_value = 1; + case kNullValue: { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_null_value()); + break; + } + // bool bool_value = 2; + case kBoolValue: { + total_size += 2; + break; + } + // int64 int64_value = 3; + case kInt64Value: { + total_size += ::_pbi::WireFormatLite::Int64SizePlusOne( + this_._internal_int64_value()); + break; + } + // uint64 uint64_value = 4; + case kUint64Value: { + total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne( + this_._internal_uint64_value()); + break; + } + // double double_value = 5; + case kDoubleValue: { + total_size += 9; + break; + } + // string string_value = 6; + case kStringValue: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_string_value()); + break; + } + // bytes bytes_value = 7; + case kBytesValue: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize( + this_._internal_bytes_value()); + break; + } + // .cel.expr.EnumValue enum_value = 9; + case kEnumValue: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.kind_.enum_value_); + break; + } + // .google.protobuf.Any object_value = 10; + case kObjectValue: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.kind_.object_value_); + break; + } + // .cel.expr.MapValue map_value = 11; + case kMapValue: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.kind_.map_value_); + break; + } + // .cel.expr.ListValue list_value = 12; + case kListValue: { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.kind_.list_value_); + break; + } + // string type_value = 15; + case kTypeValue: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_type_value()); + break; + } + case KIND_NOT_SET: { + break; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void Value::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.Value) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + if (const uint32_t oneof_from_case = + from._impl_._oneof_case_[0]) { + const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0]; + const bool oneof_needs_init = oneof_to_case != oneof_from_case; + if (oneof_needs_init) { + if (oneof_to_case != 0) { + _this->clear_kind(); + } + _this->_impl_._oneof_case_[0] = oneof_from_case; + } + + switch (oneof_from_case) { + case kNullValue: { + _this->_impl_.kind_.null_value_ = from._impl_.kind_.null_value_; + break; + } + case kBoolValue: { + _this->_impl_.kind_.bool_value_ = from._impl_.kind_.bool_value_; + break; + } + case kInt64Value: { + _this->_impl_.kind_.int64_value_ = from._impl_.kind_.int64_value_; + break; + } + case kUint64Value: { + _this->_impl_.kind_.uint64_value_ = from._impl_.kind_.uint64_value_; + break; + } + case kDoubleValue: { + _this->_impl_.kind_.double_value_ = from._impl_.kind_.double_value_; + break; + } + case kStringValue: { + if (oneof_needs_init) { + _this->_impl_.kind_.string_value_.InitDefault(); + } + _this->_impl_.kind_.string_value_.Set(from._internal_string_value(), arena); + break; + } + case kBytesValue: { + if (oneof_needs_init) { + _this->_impl_.kind_.bytes_value_.InitDefault(); + } + _this->_impl_.kind_.bytes_value_.Set(from._internal_bytes_value(), arena); + break; + } + case kEnumValue: { + if (oneof_needs_init) { + _this->_impl_.kind_.enum_value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.kind_.enum_value_); + } else { + _this->_impl_.kind_.enum_value_->MergeFrom(*from._impl_.kind_.enum_value_); + } + break; + } + case kObjectValue: { + if (oneof_needs_init) { + _this->_impl_.kind_.object_value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.kind_.object_value_); + } else { + _this->_impl_.kind_.object_value_->MergeFrom(*from._impl_.kind_.object_value_); + } + break; + } + case kMapValue: { + if (oneof_needs_init) { + _this->_impl_.kind_.map_value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.kind_.map_value_); + } else { + _this->_impl_.kind_.map_value_->MergeFrom(*from._impl_.kind_.map_value_); + } + break; + } + case kListValue: { + if (oneof_needs_init) { + _this->_impl_.kind_.list_value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.kind_.list_value_); + } else { + _this->_impl_.kind_.list_value_->MergeFrom(*from._impl_.kind_.list_value_); + } + break; + } + case kTypeValue: { + if (oneof_needs_init) { + _this->_impl_.kind_.type_value_.InitDefault(); + } + _this->_impl_.kind_.type_value_.Set(from._internal_type_value(), arena); + break; + } + case KIND_NOT_SET: + break; + } + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void Value::CopyFrom(const Value& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.Value) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void Value::InternalSwap(Value* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_.kind_, other->_impl_.kind_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::google::protobuf::Metadata Value::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class EnumValue::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(EnumValue, _impl_._has_bits_); +}; + +EnumValue::EnumValue(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, EnumValue_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.EnumValue) +} +PROTOBUF_NDEBUG_INLINE EnumValue::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::EnumValue& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + type_(arena, from.type_) {} + +EnumValue::EnumValue( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const EnumValue& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, EnumValue_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + EnumValue* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_.value_ = from._impl_.value_; + + // @@protoc_insertion_point(copy_constructor:cel.expr.EnumValue) +} +PROTOBUF_NDEBUG_INLINE EnumValue::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + type_(arena) {} + +inline void EnumValue::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.value_ = {}; +} +EnumValue::~EnumValue() { + // @@protoc_insertion_point(destructor:cel.expr.EnumValue) + SharedDtor(*this); +} +inline void EnumValue::SharedDtor(MessageLite& self) { + EnumValue& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.type_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL EnumValue::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) EnumValue(arena); +} +constexpr auto EnumValue::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(EnumValue), + alignof(EnumValue)); +} +constexpr auto EnumValue::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_EnumValue_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &EnumValue::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &EnumValue::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &EnumValue::ByteSizeLong, + &EnumValue::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(EnumValue, _impl_._cached_size_), + false, + }, + &EnumValue::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fvalue_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull EnumValue_class_data_ = + EnumValue::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +EnumValue::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&EnumValue_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(EnumValue_class_data_.tc_table); + return EnumValue_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 31, 2> +EnumValue::_table_ = { + { + PROTOBUF_FIELD_OFFSET(EnumValue, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + EnumValue_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::EnumValue>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // int32 value = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(EnumValue, _impl_.value_), 1>(), + {16, 1, 0, + PROTOBUF_FIELD_OFFSET(EnumValue, _impl_.value_)}}, + // string type = 1; + {::_pbi::TcParser::FastUS1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(EnumValue, _impl_.type_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string type = 1; + {PROTOBUF_FIELD_OFFSET(EnumValue, _impl_.type_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // int32 value = 2; + {PROTOBUF_FIELD_OFFSET(EnumValue, _impl_.value_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)}, + }}, + // no aux_entries + {{ + "\22\4\0\0\0\0\0\0" + "cel.expr.EnumValue" + "type" + }}, +}; +PROTOBUF_NOINLINE void EnumValue::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.EnumValue) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + _impl_.type_.ClearNonDefaultToEmpty(); + } + _impl_.value_ = 0; + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL EnumValue::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const EnumValue& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL EnumValue::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const EnumValue& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.EnumValue) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // string type = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!this_._internal_type().empty()) { + const ::std::string& _s = this_._internal_type(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "cel.expr.EnumValue.type"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + } + + // int32 value = 2; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (this_._internal_value() != 0) { + target = + ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>( + stream, this_._internal_value(), target); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.EnumValue) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t EnumValue::ByteSizeLong(const MessageLite& base) { + const EnumValue& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t EnumValue::ByteSizeLong() const { + const EnumValue& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.EnumValue) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + // string type = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!this_._internal_type().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_type()); + } + } + // int32 value = 2; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (this_._internal_value() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_value()); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void EnumValue::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.EnumValue) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + if (!from._internal_type().empty()) { + _this->_internal_set_type(from._internal_type()); + } else { + if (_this->_impl_.type_.IsDefault()) { + _this->_internal_set_type(""); + } + } + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + if (from._internal_value() != 0) { + _this->_impl_.value_ = from._impl_.value_; + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void EnumValue::CopyFrom(const EnumValue& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.EnumValue) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void EnumValue::InternalSwap(EnumValue* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.type_, &other->_impl_.type_, arena); + swap(_impl_.value_, other->_impl_.value_); +} + +::google::protobuf::Metadata EnumValue::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class ListValue::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(ListValue, _impl_._has_bits_); +}; + +ListValue::ListValue(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, ListValue_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.ListValue) +} +PROTOBUF_NDEBUG_INLINE ListValue::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::ListValue& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + values_{visibility, arena, from.values_} {} + +ListValue::ListValue( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const ListValue& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, ListValue_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + ListValue* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:cel.expr.ListValue) +} +PROTOBUF_NDEBUG_INLINE ListValue::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + values_{visibility, arena} {} + +inline void ListValue::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +ListValue::~ListValue() { + // @@protoc_insertion_point(destructor:cel.expr.ListValue) + SharedDtor(*this); +} +inline void ListValue::SharedDtor(MessageLite& self) { + ListValue& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL ListValue::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) ListValue(arena); +} +constexpr auto ListValue::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(ListValue, _impl_.values_) + + decltype(ListValue::_impl_.values_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(ListValue), alignof(ListValue), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&ListValue::PlacementNew_, + sizeof(ListValue), + alignof(ListValue)); + } +} +constexpr auto ListValue::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_ListValue_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &ListValue::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &ListValue::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &ListValue::ByteSizeLong, + &ListValue::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(ListValue, _impl_._cached_size_), + false, + }, + &ListValue::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fvalue_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull ListValue_class_data_ = + ListValue::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +ListValue::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&ListValue_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(ListValue_class_data_.tc_table); + return ListValue_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 1, 0, 2> +ListValue::_table_ = { + { + PROTOBUF_FIELD_OFFSET(ListValue, _impl_._has_bits_), + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + ListValue_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::ListValue>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .cel.expr.Value values = 1; + {::_pbi::TcParser::FastMtR1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(ListValue, _impl_.values_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // repeated .cel.expr.Value values = 1; + {PROTOBUF_FIELD_OFFSET(ListValue, _impl_.values_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Value>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void ListValue::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.ListValue) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.values_.Clear(); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL ListValue::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const ListValue& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL ListValue::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const ListValue& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.ListValue) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // repeated .cel.expr.Value values = 1; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_values_size()); + i < n; i++) { + const auto& repfield = this_._internal_values().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.ListValue) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t ListValue::ByteSizeLong(const MessageLite& base) { + const ListValue& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t ListValue::ByteSizeLong() const { + const ListValue& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.ListValue) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .cel.expr.Value values = 1; + cached_has_bits = this_._impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += 1UL * this_._internal_values_size(); + for (const auto& msg : this_._internal_values()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void ListValue::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.ListValue) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_values()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_values()); + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void ListValue::CopyFrom(const ListValue& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.ListValue) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void ListValue::InternalSwap(ListValue* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.values_.InternalSwap(&other->_impl_.values_); +} + +::google::protobuf::Metadata ListValue::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class MapValue_Entry::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(MapValue_Entry, _impl_._has_bits_); +}; + +MapValue_Entry::MapValue_Entry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, MapValue_Entry_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.MapValue.Entry) +} +PROTOBUF_NDEBUG_INLINE MapValue_Entry::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::MapValue_Entry& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0} {} + +MapValue_Entry::MapValue_Entry( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const MapValue_Entry& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, MapValue_Entry_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + MapValue_Entry* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.key_ = (CheckHasBit(cached_has_bits, 0x00000001U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.key_) + : nullptr; + _impl_.value_ = (CheckHasBit(cached_has_bits, 0x00000002U)) + ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:cel.expr.MapValue.Entry) +} +PROTOBUF_NDEBUG_INLINE MapValue_Entry::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0} {} + +inline void MapValue_Entry::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, key_), + 0, + offsetof(Impl_, value_) - + offsetof(Impl_, key_) + + sizeof(Impl_::value_)); +} +MapValue_Entry::~MapValue_Entry() { + // @@protoc_insertion_point(destructor:cel.expr.MapValue.Entry) + SharedDtor(*this); +} +inline void MapValue_Entry::SharedDtor(MessageLite& self) { + MapValue_Entry& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + delete this_._impl_.key_; + delete this_._impl_.value_; + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL MapValue_Entry::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) MapValue_Entry(arena); +} +constexpr auto MapValue_Entry::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(MapValue_Entry), + alignof(MapValue_Entry)); +} +constexpr auto MapValue_Entry::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_MapValue_Entry_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &MapValue_Entry::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &MapValue_Entry::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &MapValue_Entry::ByteSizeLong, + &MapValue_Entry::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(MapValue_Entry, _impl_._cached_size_), + false, + }, + &MapValue_Entry::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fvalue_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull MapValue_Entry_class_data_ = + MapValue_Entry::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +MapValue_Entry::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&MapValue_Entry_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(MapValue_Entry_class_data_.tc_table); + return MapValue_Entry_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 2, 0, 2> +MapValue_Entry::_table_ = { + { + PROTOBUF_FIELD_OFFSET(MapValue_Entry, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + MapValue_Entry_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::MapValue_Entry>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // .cel.expr.Value value = 2; + {::_pbi::TcParser::FastMtS1, + {18, 1, 1, + PROTOBUF_FIELD_OFFSET(MapValue_Entry, _impl_.value_)}}, + // .cel.expr.Value key = 1; + {::_pbi::TcParser::FastMtS1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(MapValue_Entry, _impl_.key_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // .cel.expr.Value key = 1; + {PROTOBUF_FIELD_OFFSET(MapValue_Entry, _impl_.key_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // .cel.expr.Value value = 2; + {PROTOBUF_FIELD_OFFSET(MapValue_Entry, _impl_.value_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::Value>()}, + {::_pbi::TcParser::GetTable<::cel::expr::Value>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void MapValue_Entry::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.MapValue.Entry) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(_impl_.key_ != nullptr); + _impl_.key_->Clear(); + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(_impl_.value_ != nullptr); + _impl_.value_->Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL MapValue_Entry::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const MapValue_Entry& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL MapValue_Entry::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const MapValue_Entry& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.MapValue.Entry) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // .cel.expr.Value key = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, *this_._impl_.key_, this_._impl_.key_->GetCachedSize(), target, + stream); + } + + // .cel.expr.Value value = 2; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, *this_._impl_.value_, this_._impl_.value_->GetCachedSize(), target, + stream); + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.MapValue.Entry) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t MapValue_Entry::ByteSizeLong(const MessageLite& base) { + const MapValue_Entry& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t MapValue_Entry::ByteSizeLong() const { + const MapValue_Entry& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.MapValue.Entry) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + // .cel.expr.Value key = 1; + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.key_); + } + // .cel.expr.Value value = 2; + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.value_); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void MapValue_Entry::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.MapValue.Entry) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) { + if (CheckHasBit(cached_has_bits, 0x00000001U)) { + ABSL_DCHECK(from._impl_.key_ != nullptr); + if (_this->_impl_.key_ == nullptr) { + _this->_impl_.key_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.key_); + } else { + _this->_impl_.key_->MergeFrom(*from._impl_.key_); + } + } + if (CheckHasBit(cached_has_bits, 0x00000002U)) { + ABSL_DCHECK(from._impl_.value_ != nullptr); + if (_this->_impl_.value_ == nullptr) { + _this->_impl_.value_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.value_); + } else { + _this->_impl_.value_->MergeFrom(*from._impl_.value_); + } + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void MapValue_Entry::CopyFrom(const MapValue_Entry& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.MapValue.Entry) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void MapValue_Entry::InternalSwap(MapValue_Entry* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(MapValue_Entry, _impl_.value_) + + sizeof(MapValue_Entry::_impl_.value_) + - PROTOBUF_FIELD_OFFSET(MapValue_Entry, _impl_.key_)>( + reinterpret_cast(&_impl_.key_), + reinterpret_cast(&other->_impl_.key_)); +} + +::google::protobuf::Metadata MapValue_Entry::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class MapValue::_Internal { + public: + using HasBits = + decltype(::std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(MapValue, _impl_._has_bits_); +}; + +MapValue::MapValue(::google::protobuf::Arena* PROTOBUF_NULLABLE arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, MapValue_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:cel.expr.MapValue) +} +PROTOBUF_NDEBUG_INLINE MapValue::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + [[maybe_unused]] const ::cel::expr::MapValue& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + entries_{visibility, arena, from.entries_} {} + +MapValue::MapValue( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, + const MapValue& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, MapValue_class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + MapValue* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:cel.expr.MapValue) +} +PROTOBUF_NDEBUG_INLINE MapValue::Impl_::Impl_( + [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility, + [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) + : _cached_size_{0}, + entries_{visibility, arena} {} + +inline void MapValue::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +MapValue::~MapValue() { + // @@protoc_insertion_point(destructor:cel.expr.MapValue) + SharedDtor(*this); +} +inline void MapValue::SharedDtor(MessageLite& self) { + MapValue& this_ = static_cast(self); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* PROTOBUF_NONNULL MapValue::PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) { + return ::new (mem) MapValue(arena); +} +constexpr auto MapValue::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(MapValue, _impl_.entries_) + + decltype(MapValue::_impl_.entries_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(MapValue), alignof(MapValue), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&MapValue::PlacementNew_, + sizeof(MapValue), + alignof(MapValue)); + } +} +constexpr auto MapValue::InternalGenerateClassData_() { + return ::google::protobuf::internal::ClassDataFull{ + ::google::protobuf::internal::ClassData{ + &_MapValue_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &MapValue::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &MapValue::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &MapValue::ByteSizeLong, + &MapValue::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(MapValue, _impl_._cached_size_), + false, + }, + &MapValue::kDescriptorMethods, + &descriptor_table_cel_2fexpr_2fvalue_2eproto, + nullptr, // tracker + }; +} + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const + ::google::protobuf::internal::ClassDataFull MapValue_class_data_ = + MapValue::InternalGenerateClassData_(); + +PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL +MapValue::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&MapValue_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(MapValue_class_data_.tc_table); + return MapValue_class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 1, 0, 2> +MapValue::_table_ = { + { + PROTOBUF_FIELD_OFFSET(MapValue, _impl_._has_bits_), + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + MapValue_class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::cel::expr::MapValue>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .cel.expr.MapValue.Entry entries = 1; + {::_pbi::TcParser::FastMtR1, + {10, 0, 0, + PROTOBUF_FIELD_OFFSET(MapValue, _impl_.entries_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // repeated .cel.expr.MapValue.Entry entries = 1; + {PROTOBUF_FIELD_OFFSET(MapValue, _impl_.entries_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, + {{ + {::_pbi::TcParser::GetTable<::cel::expr::MapValue_Entry>()}, + }}, + {{ + }}, +}; +PROTOBUF_NOINLINE void MapValue::Clear() { +// @@protoc_insertion_point(message_clear_start:cel.expr.MapValue) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _impl_.entries_.Clear(); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::uint8_t* PROTOBUF_NONNULL MapValue::_InternalSerialize( + const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) { + const MapValue& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::uint8_t* PROTOBUF_NONNULL MapValue::_InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + const MapValue& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + this_.CheckHasBitConsistency(); + } + // @@protoc_insertion_point(serialize_to_array_start:cel.expr.MapValue) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // repeated .cel.expr.MapValue.Entry entries = 1; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + for (unsigned i = 0, n = static_cast( + this_._internal_entries_size()); + i < n; i++) { + const auto& repfield = this_._internal_entries().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, repfield, repfield.GetCachedSize(), + target, stream); + } + } + + if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:cel.expr.MapValue) + return target; +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) +::size_t MapValue::ByteSizeLong(const MessageLite& base) { + const MapValue& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE +::size_t MapValue::ByteSizeLong() const { + const MapValue& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:cel.expr.MapValue) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .cel.expr.MapValue.Entry entries = 1; + cached_has_bits = this_._impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + total_size += 1UL * this_._internal_entries_size(); + for (const auto& msg : this_._internal_entries()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); +} + +void MapValue::MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = + static_cast(&to_msg); + auto& from = static_cast(from_msg); + if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) { + from.CheckHasBitConsistency(); + } + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:cel.expr.MapValue) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) { + _this->_internal_mutable_entries()->InternalMergeFromWithArena( + ::google::protobuf::MessageLite::internal_visibility(), arena, + from._internal_entries()); + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); +} + +void MapValue::CopyFrom(const MapValue& from) { + // @@protoc_insertion_point(class_specific_copy_from_start:cel.expr.MapValue) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void MapValue::InternalSwap(MapValue* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) { + using ::std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.entries_.InternalSwap(&other->_impl_.entries_); +} + +::google::protobuf::Metadata MapValue::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// @@protoc_insertion_point(namespace_scope) +} // namespace expr +} // namespace cel +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google +// @@protoc_insertion_point(global_scope) +PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type + _static_init2_ [[maybe_unused]] = + (::_pbi::AddDescriptors(&descriptor_table_cel_2fexpr_2fvalue_2eproto), + ::std::false_type{}); +#include "google/protobuf/port_undef.inc" diff --git a/crates/protovalidate-rs/gen/cel/expr/value.pb.h b/crates/protovalidate-rs/gen/cel/expr/value.pb.h new file mode 100644 index 00000000..d9add023 --- /dev/null +++ b/crates/protovalidate-rs/gen/cel/expr/value.pb.h @@ -0,0 +1,2496 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: cel/expr/value.proto +// Protobuf C++ Version: 6.33.4 + +#ifndef cel_2fexpr_2fvalue_2eproto_2epb_2eh +#define cel_2fexpr_2fvalue_2eproto_2epb_2eh + +#include +#include +#include +#include + +#include "google/protobuf/runtime_version.h" +#if PROTOBUF_VERSION != 6033004 +#error "Protobuf C++ gencode is built with an incompatible version of" +#error "Protobuf C++ headers/runtime. See" +#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp" +#endif +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/arena.h" +#include "google/protobuf/arenastring.h" +#include "google/protobuf/generated_message_tctable_decl.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/metadata_lite.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/message.h" +#include "google/protobuf/message_lite.h" +#include "google/protobuf/repeated_field.h" // IWYU pragma: export +#include "google/protobuf/extension_set.h" // IWYU pragma: export +#include "google/protobuf/unknown_field_set.h" +#include "google/protobuf/any.pb.h" +#include "google/protobuf/struct.pb.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" + +#define PROTOBUF_INTERNAL_EXPORT_cel_2fexpr_2fvalue_2eproto + +namespace google { +namespace protobuf { +namespace internal { +template +::absl::string_view GetAnyMessageName(); +} // namespace internal +} // namespace protobuf +} // namespace google + +// Internal implementation detail -- do not use these members. +struct TableStruct_cel_2fexpr_2fvalue_2eproto { + static const ::uint32_t offsets[]; +}; +extern "C" { +extern const ::google::protobuf::internal::DescriptorTable descriptor_table_cel_2fexpr_2fvalue_2eproto; +} // extern "C" +namespace cel { +namespace expr { +class EnumValue; +struct EnumValueDefaultTypeInternal; +extern EnumValueDefaultTypeInternal _EnumValue_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull EnumValue_class_data_; +class ListValue; +struct ListValueDefaultTypeInternal; +extern ListValueDefaultTypeInternal _ListValue_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull ListValue_class_data_; +class MapValue; +struct MapValueDefaultTypeInternal; +extern MapValueDefaultTypeInternal _MapValue_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull MapValue_class_data_; +class MapValue_Entry; +struct MapValue_EntryDefaultTypeInternal; +extern MapValue_EntryDefaultTypeInternal _MapValue_Entry_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull MapValue_Entry_class_data_; +class Value; +struct ValueDefaultTypeInternal; +extern ValueDefaultTypeInternal _Value_default_instance_; +extern const ::google::protobuf::internal::ClassDataFull Value_class_data_; +} // namespace expr +} // namespace cel +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google + +namespace cel { +namespace expr { + +// =================================================================== + + +// ------------------------------------------------------------------- + +class EnumValue final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.EnumValue) */ { + public: + inline EnumValue() : EnumValue(nullptr) {} + ~EnumValue() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(EnumValue* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(EnumValue)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR EnumValue(::google::protobuf::internal::ConstantInitialized); + + inline EnumValue(const EnumValue& from) : EnumValue(nullptr, from) {} + inline EnumValue(EnumValue&& from) noexcept + : EnumValue(nullptr, ::std::move(from)) {} + inline EnumValue& operator=(const EnumValue& from) { + CopyFrom(from); + return *this; + } + inline EnumValue& operator=(EnumValue&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const EnumValue& default_instance() { + return *reinterpret_cast( + &_EnumValue_default_instance_); + } + static constexpr int kIndexInFileMessages = 1; + friend void swap(EnumValue& a, EnumValue& b) { a.Swap(&b); } + inline void Swap(EnumValue* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(EnumValue* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + EnumValue* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const EnumValue& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const EnumValue& from) { EnumValue::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(EnumValue* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.EnumValue"; } + + explicit EnumValue(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + EnumValue(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const EnumValue& from); + EnumValue( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, EnumValue&& from) noexcept + : EnumValue(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kTypeFieldNumber = 1, + kValueFieldNumber = 2, + }; + // string type = 1; + void clear_type() ; + const ::std::string& type() const; + template + void set_type(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_type(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_type(); + void set_allocated_type(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_type() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_type(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_type(); + + public: + // int32 value = 2; + void clear_value() ; + ::int32_t value() const; + void set_value(::int32_t value); + + private: + ::int32_t _internal_value() const; + void _internal_set_value(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.EnumValue) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 0, 31, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const EnumValue& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr type_; + ::int32_t value_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fvalue_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull EnumValue_class_data_; +// ------------------------------------------------------------------- + +class ListValue final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.ListValue) */ { + public: + inline ListValue() : ListValue(nullptr) {} + ~ListValue() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(ListValue* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(ListValue)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR ListValue(::google::protobuf::internal::ConstantInitialized); + + inline ListValue(const ListValue& from) : ListValue(nullptr, from) {} + inline ListValue(ListValue&& from) noexcept + : ListValue(nullptr, ::std::move(from)) {} + inline ListValue& operator=(const ListValue& from) { + CopyFrom(from); + return *this; + } + inline ListValue& operator=(ListValue&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ListValue& default_instance() { + return *reinterpret_cast( + &_ListValue_default_instance_); + } + static constexpr int kIndexInFileMessages = 2; + friend void swap(ListValue& a, ListValue& b) { a.Swap(&b); } + inline void Swap(ListValue* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ListValue* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ListValue* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ListValue& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const ListValue& from) { ListValue::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(ListValue* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.ListValue"; } + + explicit ListValue(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + ListValue(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ListValue& from); + ListValue( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ListValue&& from) noexcept + : ListValue(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kValuesFieldNumber = 1, + }; + // repeated .cel.expr.Value values = 1; + int values_size() const; + private: + int _internal_values_size() const; + + public: + void clear_values() ; + ::cel::expr::Value* PROTOBUF_NONNULL mutable_values(int index); + ::google::protobuf::RepeatedPtrField<::cel::expr::Value>* PROTOBUF_NONNULL mutable_values(); + + private: + const ::google::protobuf::RepeatedPtrField<::cel::expr::Value>& _internal_values() const; + ::google::protobuf::RepeatedPtrField<::cel::expr::Value>* PROTOBUF_NONNULL _internal_mutable_values(); + public: + const ::cel::expr::Value& values(int index) const; + ::cel::expr::Value* PROTOBUF_NONNULL add_values(); + const ::google::protobuf::RepeatedPtrField<::cel::expr::Value>& values() const; + // @@protoc_insertion_point(class_scope:cel.expr.ListValue) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<0, 1, + 1, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const ListValue& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::cel::expr::Value > values_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fvalue_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull ListValue_class_data_; +// ------------------------------------------------------------------- + +class MapValue final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.MapValue) */ { + public: + inline MapValue() : MapValue(nullptr) {} + ~MapValue() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(MapValue* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(MapValue)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR MapValue(::google::protobuf::internal::ConstantInitialized); + + inline MapValue(const MapValue& from) : MapValue(nullptr, from) {} + inline MapValue(MapValue&& from) noexcept + : MapValue(nullptr, ::std::move(from)) {} + inline MapValue& operator=(const MapValue& from) { + CopyFrom(from); + return *this; + } + inline MapValue& operator=(MapValue&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MapValue& default_instance() { + return *reinterpret_cast( + &_MapValue_default_instance_); + } + static constexpr int kIndexInFileMessages = 4; + friend void swap(MapValue& a, MapValue& b) { a.Swap(&b); } + inline void Swap(MapValue* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MapValue* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + MapValue* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MapValue& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const MapValue& from) { MapValue::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(MapValue* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.MapValue"; } + + explicit MapValue(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + MapValue(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MapValue& from); + MapValue( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MapValue&& from) noexcept + : MapValue(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + using Entry = MapValue_Entry; + + // accessors ------------------------------------------------------- + enum : int { + kEntriesFieldNumber = 1, + }; + // repeated .cel.expr.MapValue.Entry entries = 1; + int entries_size() const; + private: + int _internal_entries_size() const; + + public: + void clear_entries() ; + ::cel::expr::MapValue_Entry* PROTOBUF_NONNULL mutable_entries(int index); + ::google::protobuf::RepeatedPtrField<::cel::expr::MapValue_Entry>* PROTOBUF_NONNULL mutable_entries(); + + private: + const ::google::protobuf::RepeatedPtrField<::cel::expr::MapValue_Entry>& _internal_entries() const; + ::google::protobuf::RepeatedPtrField<::cel::expr::MapValue_Entry>* PROTOBUF_NONNULL _internal_mutable_entries(); + public: + const ::cel::expr::MapValue_Entry& entries(int index) const; + ::cel::expr::MapValue_Entry* PROTOBUF_NONNULL add_entries(); + const ::google::protobuf::RepeatedPtrField<::cel::expr::MapValue_Entry>& entries() const; + // @@protoc_insertion_point(class_scope:cel.expr.MapValue) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<0, 1, + 1, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const MapValue& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::cel::expr::MapValue_Entry > entries_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fvalue_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull MapValue_class_data_; +// ------------------------------------------------------------------- + +class MapValue_Entry final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.MapValue.Entry) */ { + public: + inline MapValue_Entry() : MapValue_Entry(nullptr) {} + ~MapValue_Entry() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(MapValue_Entry* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(MapValue_Entry)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR MapValue_Entry(::google::protobuf::internal::ConstantInitialized); + + inline MapValue_Entry(const MapValue_Entry& from) : MapValue_Entry(nullptr, from) {} + inline MapValue_Entry(MapValue_Entry&& from) noexcept + : MapValue_Entry(nullptr, ::std::move(from)) {} + inline MapValue_Entry& operator=(const MapValue_Entry& from) { + CopyFrom(from); + return *this; + } + inline MapValue_Entry& operator=(MapValue_Entry&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MapValue_Entry& default_instance() { + return *reinterpret_cast( + &_MapValue_Entry_default_instance_); + } + static constexpr int kIndexInFileMessages = 3; + friend void swap(MapValue_Entry& a, MapValue_Entry& b) { a.Swap(&b); } + inline void Swap(MapValue_Entry* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MapValue_Entry* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + MapValue_Entry* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MapValue_Entry& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const MapValue_Entry& from) { MapValue_Entry::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(MapValue_Entry* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.MapValue.Entry"; } + + explicit MapValue_Entry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + MapValue_Entry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MapValue_Entry& from); + MapValue_Entry( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MapValue_Entry&& from) noexcept + : MapValue_Entry(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kKeyFieldNumber = 1, + kValueFieldNumber = 2, + }; + // .cel.expr.Value key = 1; + bool has_key() const; + void clear_key() ; + const ::cel::expr::Value& key() const; + [[nodiscard]] ::cel::expr::Value* PROTOBUF_NULLABLE release_key(); + ::cel::expr::Value* PROTOBUF_NONNULL mutable_key(); + void set_allocated_key(::cel::expr::Value* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_key(::cel::expr::Value* PROTOBUF_NULLABLE value); + ::cel::expr::Value* PROTOBUF_NULLABLE unsafe_arena_release_key(); + + private: + const ::cel::expr::Value& _internal_key() const; + ::cel::expr::Value* PROTOBUF_NONNULL _internal_mutable_key(); + + public: + // .cel.expr.Value value = 2; + bool has_value() const; + void clear_value() ; + const ::cel::expr::Value& value() const; + [[nodiscard]] ::cel::expr::Value* PROTOBUF_NULLABLE release_value(); + ::cel::expr::Value* PROTOBUF_NONNULL mutable_value(); + void set_allocated_value(::cel::expr::Value* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_value(::cel::expr::Value* PROTOBUF_NULLABLE value); + ::cel::expr::Value* PROTOBUF_NULLABLE unsafe_arena_release_value(); + + private: + const ::cel::expr::Value& _internal_value() const; + ::cel::expr::Value* PROTOBUF_NONNULL _internal_mutable_value(); + + public: + // @@protoc_insertion_point(class_scope:cel.expr.MapValue.Entry) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<1, 2, + 2, 0, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const MapValue_Entry& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::cel::expr::Value* PROTOBUF_NULLABLE key_; + ::cel::expr::Value* PROTOBUF_NULLABLE value_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fvalue_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull MapValue_Entry_class_data_; +// ------------------------------------------------------------------- + +class Value final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:cel.expr.Value) */ { + public: + inline Value() : Value(nullptr) {} + ~Value() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Value* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Value)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Value(::google::protobuf::internal::ConstantInitialized); + + inline Value(const Value& from) : Value(nullptr, from) {} + inline Value(Value&& from) noexcept + : Value(nullptr, ::std::move(from)) {} + inline Value& operator=(const Value& from) { + CopyFrom(from); + return *this; + } + inline Value& operator=(Value&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Value& default_instance() { + return *reinterpret_cast( + &_Value_default_instance_); + } + enum KindCase { + kNullValue = 1, + kBoolValue = 2, + kInt64Value = 3, + kUint64Value = 4, + kDoubleValue = 5, + kStringValue = 6, + kBytesValue = 7, + kEnumValue = 9, + kObjectValue = 10, + kMapValue = 11, + kListValue = 12, + kTypeValue = 15, + KIND_NOT_SET = 0, + }; + static constexpr int kIndexInFileMessages = 0; + friend void swap(Value& a, Value& b) { a.Swap(&b); } + inline void Swap(Value* PROTOBUF_NONNULL other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Value* PROTOBUF_NONNULL other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Value* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Value& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const Value& from) { Value::MergeImpl(*this, from); } + + private: + static void MergeImpl(::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* PROTOBUF_NONNULL _InternalSerialize( + ::uint8_t* PROTOBUF_NONNULL target, + ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(Value* PROTOBUF_NONNULL other); + private: + template + friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "cel.expr.Value"; } + + explicit Value(::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + Value(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Value& from); + Value( + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Value&& from) noexcept + : Value(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL; + static void* PROTOBUF_NONNULL PlacementNew_( + const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + static constexpr auto InternalNewImpl_(); + + public: + static constexpr auto InternalGenerateClassData_(); + + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kNullValueFieldNumber = 1, + kBoolValueFieldNumber = 2, + kInt64ValueFieldNumber = 3, + kUint64ValueFieldNumber = 4, + kDoubleValueFieldNumber = 5, + kStringValueFieldNumber = 6, + kBytesValueFieldNumber = 7, + kEnumValueFieldNumber = 9, + kObjectValueFieldNumber = 10, + kMapValueFieldNumber = 11, + kListValueFieldNumber = 12, + kTypeValueFieldNumber = 15, + }; + // .google.protobuf.NullValue null_value = 1; + bool has_null_value() const; + void clear_null_value() ; + ::google::protobuf::NullValue null_value() const; + void set_null_value(::google::protobuf::NullValue value); + + private: + ::google::protobuf::NullValue _internal_null_value() const; + void _internal_set_null_value(::google::protobuf::NullValue value); + + public: + // bool bool_value = 2; + bool has_bool_value() const; + void clear_bool_value() ; + bool bool_value() const; + void set_bool_value(bool value); + + private: + bool _internal_bool_value() const; + void _internal_set_bool_value(bool value); + + public: + // int64 int64_value = 3; + bool has_int64_value() const; + void clear_int64_value() ; + ::int64_t int64_value() const; + void set_int64_value(::int64_t value); + + private: + ::int64_t _internal_int64_value() const; + void _internal_set_int64_value(::int64_t value); + + public: + // uint64 uint64_value = 4; + bool has_uint64_value() const; + void clear_uint64_value() ; + ::uint64_t uint64_value() const; + void set_uint64_value(::uint64_t value); + + private: + ::uint64_t _internal_uint64_value() const; + void _internal_set_uint64_value(::uint64_t value); + + public: + // double double_value = 5; + bool has_double_value() const; + void clear_double_value() ; + double double_value() const; + void set_double_value(double value); + + private: + double _internal_double_value() const; + void _internal_set_double_value(double value); + + public: + // string string_value = 6; + bool has_string_value() const; + void clear_string_value() ; + const ::std::string& string_value() const; + template + void set_string_value(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_string_value(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_string_value(); + void set_allocated_string_value(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_string_value() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_string_value(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_string_value(); + + public: + // bytes bytes_value = 7; + bool has_bytes_value() const; + void clear_bytes_value() ; + const ::std::string& bytes_value() const; + template + void set_bytes_value(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_bytes_value(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_bytes_value(); + void set_allocated_bytes_value(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_bytes_value() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_bytes_value(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_bytes_value(); + + public: + // .cel.expr.EnumValue enum_value = 9; + bool has_enum_value() const; + private: + bool _internal_has_enum_value() const; + + public: + void clear_enum_value() ; + const ::cel::expr::EnumValue& enum_value() const; + [[nodiscard]] ::cel::expr::EnumValue* PROTOBUF_NULLABLE release_enum_value(); + ::cel::expr::EnumValue* PROTOBUF_NONNULL mutable_enum_value(); + void set_allocated_enum_value(::cel::expr::EnumValue* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_enum_value(::cel::expr::EnumValue* PROTOBUF_NULLABLE value); + ::cel::expr::EnumValue* PROTOBUF_NULLABLE unsafe_arena_release_enum_value(); + + private: + const ::cel::expr::EnumValue& _internal_enum_value() const; + ::cel::expr::EnumValue* PROTOBUF_NONNULL _internal_mutable_enum_value(); + + public: + // .google.protobuf.Any object_value = 10; + bool has_object_value() const; + private: + bool _internal_has_object_value() const; + + public: + void clear_object_value() ; + const ::google::protobuf::Any& object_value() const; + [[nodiscard]] ::google::protobuf::Any* PROTOBUF_NULLABLE release_object_value(); + ::google::protobuf::Any* PROTOBUF_NONNULL mutable_object_value(); + void set_allocated_object_value(::google::protobuf::Any* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_object_value(::google::protobuf::Any* PROTOBUF_NULLABLE value); + ::google::protobuf::Any* PROTOBUF_NULLABLE unsafe_arena_release_object_value(); + + private: + const ::google::protobuf::Any& _internal_object_value() const; + ::google::protobuf::Any* PROTOBUF_NONNULL _internal_mutable_object_value(); + + public: + // .cel.expr.MapValue map_value = 11; + bool has_map_value() const; + private: + bool _internal_has_map_value() const; + + public: + void clear_map_value() ; + const ::cel::expr::MapValue& map_value() const; + [[nodiscard]] ::cel::expr::MapValue* PROTOBUF_NULLABLE release_map_value(); + ::cel::expr::MapValue* PROTOBUF_NONNULL mutable_map_value(); + void set_allocated_map_value(::cel::expr::MapValue* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_map_value(::cel::expr::MapValue* PROTOBUF_NULLABLE value); + ::cel::expr::MapValue* PROTOBUF_NULLABLE unsafe_arena_release_map_value(); + + private: + const ::cel::expr::MapValue& _internal_map_value() const; + ::cel::expr::MapValue* PROTOBUF_NONNULL _internal_mutable_map_value(); + + public: + // .cel.expr.ListValue list_value = 12; + bool has_list_value() const; + private: + bool _internal_has_list_value() const; + + public: + void clear_list_value() ; + const ::cel::expr::ListValue& list_value() const; + [[nodiscard]] ::cel::expr::ListValue* PROTOBUF_NULLABLE release_list_value(); + ::cel::expr::ListValue* PROTOBUF_NONNULL mutable_list_value(); + void set_allocated_list_value(::cel::expr::ListValue* PROTOBUF_NULLABLE value); + void unsafe_arena_set_allocated_list_value(::cel::expr::ListValue* PROTOBUF_NULLABLE value); + ::cel::expr::ListValue* PROTOBUF_NULLABLE unsafe_arena_release_list_value(); + + private: + const ::cel::expr::ListValue& _internal_list_value() const; + ::cel::expr::ListValue* PROTOBUF_NONNULL _internal_mutable_list_value(); + + public: + // string type_value = 15; + bool has_type_value() const; + void clear_type_value() ; + const ::std::string& type_value() const; + template + void set_type_value(Arg_&& arg, Args_... args); + ::std::string* PROTOBUF_NONNULL mutable_type_value(); + [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_type_value(); + void set_allocated_type_value(::std::string* PROTOBUF_NULLABLE value); + + private: + const ::std::string& _internal_type_value() const; + PROTOBUF_ALWAYS_INLINE void _internal_set_type_value(const ::std::string& value); + ::std::string* PROTOBUF_NONNULL _internal_mutable_type_value(); + + public: + void clear_kind(); + KindCase kind_case() const; + // @@protoc_insertion_point(class_scope:cel.expr.Value) + private: + class _Internal; + void set_has_null_value(); + void set_has_bool_value(); + void set_has_int64_value(); + void set_has_uint64_value(); + void set_has_double_value(); + void set_has_string_value(); + void set_has_bytes_value(); + void set_has_enum_value(); + void set_has_object_value(); + void set_has_map_value(); + void set_has_list_value(); + void set_has_type_value(); + inline bool has_kind() const; + inline void clear_has_kind(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable<0, 12, + 4, 53, + 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena); + inline explicit Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from, + const Value& from_msg); + union KindUnion { + constexpr KindUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + int null_value_; + bool bool_value_; + ::int64_t int64_value_; + ::uint64_t uint64_value_; + double double_value_; + ::google::protobuf::internal::ArenaStringPtr string_value_; + ::google::protobuf::internal::ArenaStringPtr bytes_value_; + ::google::protobuf::Message* PROTOBUF_NULLABLE enum_value_; + ::google::protobuf::Message* PROTOBUF_NULLABLE object_value_; + ::google::protobuf::Message* PROTOBUF_NULLABLE map_value_; + ::google::protobuf::Message* PROTOBUF_NULLABLE list_value_; + ::google::protobuf::internal::ArenaStringPtr type_value_; + } kind_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_cel_2fexpr_2fvalue_2eproto; +}; + +extern const ::google::protobuf::internal::ClassDataFull Value_class_data_; + +// =================================================================== + + + + +// =================================================================== + + +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// Value + +// .google.protobuf.NullValue null_value = 1; +inline bool Value::has_null_value() const { + return kind_case() == kNullValue; +} +inline void Value::set_has_null_value() { + _impl_._oneof_case_[0] = kNullValue; +} +inline void Value::clear_null_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (kind_case() == kNullValue) { + _impl_.kind_.null_value_ = 0; + clear_has_kind(); + } +} +inline ::google::protobuf::NullValue Value::null_value() const { + // @@protoc_insertion_point(field_get:cel.expr.Value.null_value) + return _internal_null_value(); +} +inline void Value::set_null_value(::google::protobuf::NullValue value) { + if (kind_case() != kNullValue) { + clear_kind(); + set_has_null_value(); + } + _impl_.kind_.null_value_ = value; + // @@protoc_insertion_point(field_set:cel.expr.Value.null_value) +} +inline ::google::protobuf::NullValue Value::_internal_null_value() const { + if (kind_case() == kNullValue) { + return static_cast<::google::protobuf::NullValue>(_impl_.kind_.null_value_); + } + return static_cast<::google::protobuf::NullValue>(0); +} + +// bool bool_value = 2; +inline bool Value::has_bool_value() const { + return kind_case() == kBoolValue; +} +inline void Value::set_has_bool_value() { + _impl_._oneof_case_[0] = kBoolValue; +} +inline void Value::clear_bool_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (kind_case() == kBoolValue) { + _impl_.kind_.bool_value_ = false; + clear_has_kind(); + } +} +inline bool Value::bool_value() const { + // @@protoc_insertion_point(field_get:cel.expr.Value.bool_value) + return _internal_bool_value(); +} +inline void Value::set_bool_value(bool value) { + if (kind_case() != kBoolValue) { + clear_kind(); + set_has_bool_value(); + } + _impl_.kind_.bool_value_ = value; + // @@protoc_insertion_point(field_set:cel.expr.Value.bool_value) +} +inline bool Value::_internal_bool_value() const { + if (kind_case() == kBoolValue) { + return _impl_.kind_.bool_value_; + } + return false; +} + +// int64 int64_value = 3; +inline bool Value::has_int64_value() const { + return kind_case() == kInt64Value; +} +inline void Value::set_has_int64_value() { + _impl_._oneof_case_[0] = kInt64Value; +} +inline void Value::clear_int64_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (kind_case() == kInt64Value) { + _impl_.kind_.int64_value_ = ::int64_t{0}; + clear_has_kind(); + } +} +inline ::int64_t Value::int64_value() const { + // @@protoc_insertion_point(field_get:cel.expr.Value.int64_value) + return _internal_int64_value(); +} +inline void Value::set_int64_value(::int64_t value) { + if (kind_case() != kInt64Value) { + clear_kind(); + set_has_int64_value(); + } + _impl_.kind_.int64_value_ = value; + // @@protoc_insertion_point(field_set:cel.expr.Value.int64_value) +} +inline ::int64_t Value::_internal_int64_value() const { + if (kind_case() == kInt64Value) { + return _impl_.kind_.int64_value_; + } + return ::int64_t{0}; +} + +// uint64 uint64_value = 4; +inline bool Value::has_uint64_value() const { + return kind_case() == kUint64Value; +} +inline void Value::set_has_uint64_value() { + _impl_._oneof_case_[0] = kUint64Value; +} +inline void Value::clear_uint64_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (kind_case() == kUint64Value) { + _impl_.kind_.uint64_value_ = ::uint64_t{0u}; + clear_has_kind(); + } +} +inline ::uint64_t Value::uint64_value() const { + // @@protoc_insertion_point(field_get:cel.expr.Value.uint64_value) + return _internal_uint64_value(); +} +inline void Value::set_uint64_value(::uint64_t value) { + if (kind_case() != kUint64Value) { + clear_kind(); + set_has_uint64_value(); + } + _impl_.kind_.uint64_value_ = value; + // @@protoc_insertion_point(field_set:cel.expr.Value.uint64_value) +} +inline ::uint64_t Value::_internal_uint64_value() const { + if (kind_case() == kUint64Value) { + return _impl_.kind_.uint64_value_; + } + return ::uint64_t{0u}; +} + +// double double_value = 5; +inline bool Value::has_double_value() const { + return kind_case() == kDoubleValue; +} +inline void Value::set_has_double_value() { + _impl_._oneof_case_[0] = kDoubleValue; +} +inline void Value::clear_double_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (kind_case() == kDoubleValue) { + _impl_.kind_.double_value_ = 0; + clear_has_kind(); + } +} +inline double Value::double_value() const { + // @@protoc_insertion_point(field_get:cel.expr.Value.double_value) + return _internal_double_value(); +} +inline void Value::set_double_value(double value) { + if (kind_case() != kDoubleValue) { + clear_kind(); + set_has_double_value(); + } + _impl_.kind_.double_value_ = value; + // @@protoc_insertion_point(field_set:cel.expr.Value.double_value) +} +inline double Value::_internal_double_value() const { + if (kind_case() == kDoubleValue) { + return _impl_.kind_.double_value_; + } + return 0; +} + +// string string_value = 6; +inline bool Value::has_string_value() const { + return kind_case() == kStringValue; +} +inline void Value::set_has_string_value() { + _impl_._oneof_case_[0] = kStringValue; +} +inline void Value::clear_string_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (kind_case() == kStringValue) { + _impl_.kind_.string_value_.Destroy(); + clear_has_kind(); + } +} +inline const ::std::string& Value::string_value() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Value.string_value) + return _internal_string_value(); +} +template +PROTOBUF_ALWAYS_INLINE void Value::set_string_value(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (kind_case() != kStringValue) { + clear_kind(); + + set_has_string_value(); + _impl_.kind_.string_value_.InitDefault(); + } + _impl_.kind_.string_value_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Value.string_value) +} +inline ::std::string* PROTOBUF_NONNULL Value::mutable_string_value() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + if (kind_case() != kStringValue) { + clear_kind(); + + set_has_string_value(); + _impl_.kind_.string_value_.InitDefault(); + } + ::std::string* _s = _internal_mutable_string_value(); + // @@protoc_insertion_point(field_mutable:cel.expr.Value.string_value) + return _s; +} +inline const ::std::string& Value::_internal_string_value() const { + ::google::protobuf::internal::TSanRead(&_impl_); + if (kind_case() != kStringValue) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); + } + return _impl_.kind_.string_value_.Get(); +} +inline void Value::_internal_set_string_value(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.kind_.string_value_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Value::_internal_mutable_string_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.kind_.string_value_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Value::release_string_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Value.string_value) + if (kind_case() != kStringValue) { + return nullptr; + } + clear_has_kind(); + return _impl_.kind_.string_value_.Release(); +} +inline void Value::set_allocated_string_value(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (has_kind()) { + clear_kind(); + } + if (value != nullptr) { + set_has_string_value(); + _impl_.kind_.string_value_.InitAllocated(value, GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Value.string_value) +} + +// bytes bytes_value = 7; +inline bool Value::has_bytes_value() const { + return kind_case() == kBytesValue; +} +inline void Value::set_has_bytes_value() { + _impl_._oneof_case_[0] = kBytesValue; +} +inline void Value::clear_bytes_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (kind_case() == kBytesValue) { + _impl_.kind_.bytes_value_.Destroy(); + clear_has_kind(); + } +} +inline const ::std::string& Value::bytes_value() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Value.bytes_value) + return _internal_bytes_value(); +} +template +PROTOBUF_ALWAYS_INLINE void Value::set_bytes_value(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (kind_case() != kBytesValue) { + clear_kind(); + + set_has_bytes_value(); + _impl_.kind_.bytes_value_.InitDefault(); + } + _impl_.kind_.bytes_value_.SetBytes(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Value.bytes_value) +} +inline ::std::string* PROTOBUF_NONNULL Value::mutable_bytes_value() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + if (kind_case() != kBytesValue) { + clear_kind(); + + set_has_bytes_value(); + _impl_.kind_.bytes_value_.InitDefault(); + } + ::std::string* _s = _internal_mutable_bytes_value(); + // @@protoc_insertion_point(field_mutable:cel.expr.Value.bytes_value) + return _s; +} +inline const ::std::string& Value::_internal_bytes_value() const { + ::google::protobuf::internal::TSanRead(&_impl_); + if (kind_case() != kBytesValue) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); + } + return _impl_.kind_.bytes_value_.Get(); +} +inline void Value::_internal_set_bytes_value(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.kind_.bytes_value_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Value::_internal_mutable_bytes_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.kind_.bytes_value_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Value::release_bytes_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Value.bytes_value) + if (kind_case() != kBytesValue) { + return nullptr; + } + clear_has_kind(); + return _impl_.kind_.bytes_value_.Release(); +} +inline void Value::set_allocated_bytes_value(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (has_kind()) { + clear_kind(); + } + if (value != nullptr) { + set_has_bytes_value(); + _impl_.kind_.bytes_value_.InitAllocated(value, GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Value.bytes_value) +} + +// .cel.expr.EnumValue enum_value = 9; +inline bool Value::has_enum_value() const { + return kind_case() == kEnumValue; +} +inline bool Value::_internal_has_enum_value() const { + return kind_case() == kEnumValue; +} +inline void Value::set_has_enum_value() { + _impl_._oneof_case_[0] = kEnumValue; +} +inline void Value::clear_enum_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (kind_case() == kEnumValue) { + if (GetArena() == nullptr) { + delete _impl_.kind_.enum_value_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.kind_.enum_value_); + } + clear_has_kind(); + } +} +inline ::cel::expr::EnumValue* PROTOBUF_NULLABLE Value::release_enum_value() { + // @@protoc_insertion_point(field_release:cel.expr.Value.enum_value) + if (kind_case() == kEnumValue) { + clear_has_kind(); + auto* temp = reinterpret_cast<::cel::expr::EnumValue*>(_impl_.kind_.enum_value_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.kind_.enum_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::EnumValue& Value::_internal_enum_value() const { + return kind_case() == kEnumValue ? static_cast(*reinterpret_cast<::cel::expr::EnumValue*>(_impl_.kind_.enum_value_)) + : reinterpret_cast(::cel::expr::_EnumValue_default_instance_); +} +inline const ::cel::expr::EnumValue& Value::enum_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Value.enum_value) + return _internal_enum_value(); +} +inline ::cel::expr::EnumValue* PROTOBUF_NULLABLE Value::unsafe_arena_release_enum_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Value.enum_value) + if (kind_case() == kEnumValue) { + clear_has_kind(); + auto* temp = reinterpret_cast<::cel::expr::EnumValue*>(_impl_.kind_.enum_value_); + _impl_.kind_.enum_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Value::unsafe_arena_set_allocated_enum_value( + ::cel::expr::EnumValue* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_kind(); + if (value) { + set_has_enum_value(); + _impl_.kind_.enum_value_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Value.enum_value) +} +inline ::cel::expr::EnumValue* PROTOBUF_NONNULL Value::_internal_mutable_enum_value() { + if (kind_case() != kEnumValue) { + clear_kind(); + set_has_enum_value(); + _impl_.kind_.enum_value_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::cel::expr::EnumValue>(GetArena())); + } + return reinterpret_cast<::cel::expr::EnumValue*>(_impl_.kind_.enum_value_); +} +inline ::cel::expr::EnumValue* PROTOBUF_NONNULL Value::mutable_enum_value() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::EnumValue* _msg = _internal_mutable_enum_value(); + // @@protoc_insertion_point(field_mutable:cel.expr.Value.enum_value) + return _msg; +} + +// .google.protobuf.Any object_value = 10; +inline bool Value::has_object_value() const { + return kind_case() == kObjectValue; +} +inline bool Value::_internal_has_object_value() const { + return kind_case() == kObjectValue; +} +inline void Value::set_has_object_value() { + _impl_._oneof_case_[0] = kObjectValue; +} +inline ::google::protobuf::Any* PROTOBUF_NULLABLE Value::release_object_value() { + // @@protoc_insertion_point(field_release:cel.expr.Value.object_value) + if (kind_case() == kObjectValue) { + clear_has_kind(); + auto* temp = reinterpret_cast<::google::protobuf::Any*>(_impl_.kind_.object_value_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.kind_.object_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::protobuf::Any& Value::_internal_object_value() const { + return kind_case() == kObjectValue ? static_cast(*reinterpret_cast<::google::protobuf::Any*>(_impl_.kind_.object_value_)) + : reinterpret_cast(::google::protobuf::_Any_default_instance_); +} +inline const ::google::protobuf::Any& Value::object_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Value.object_value) + return _internal_object_value(); +} +inline ::google::protobuf::Any* PROTOBUF_NULLABLE Value::unsafe_arena_release_object_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Value.object_value) + if (kind_case() == kObjectValue) { + clear_has_kind(); + auto* temp = reinterpret_cast<::google::protobuf::Any*>(_impl_.kind_.object_value_); + _impl_.kind_.object_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Value::unsafe_arena_set_allocated_object_value( + ::google::protobuf::Any* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_kind(); + if (value) { + set_has_object_value(); + _impl_.kind_.object_value_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Value.object_value) +} +inline ::google::protobuf::Any* PROTOBUF_NONNULL Value::_internal_mutable_object_value() { + if (kind_case() != kObjectValue) { + clear_kind(); + set_has_object_value(); + _impl_.kind_.object_value_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Any>(GetArena())); + } + return reinterpret_cast<::google::protobuf::Any*>(_impl_.kind_.object_value_); +} +inline ::google::protobuf::Any* PROTOBUF_NONNULL Value::mutable_object_value() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Any* _msg = _internal_mutable_object_value(); + // @@protoc_insertion_point(field_mutable:cel.expr.Value.object_value) + return _msg; +} + +// .cel.expr.MapValue map_value = 11; +inline bool Value::has_map_value() const { + return kind_case() == kMapValue; +} +inline bool Value::_internal_has_map_value() const { + return kind_case() == kMapValue; +} +inline void Value::set_has_map_value() { + _impl_._oneof_case_[0] = kMapValue; +} +inline void Value::clear_map_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (kind_case() == kMapValue) { + if (GetArena() == nullptr) { + delete _impl_.kind_.map_value_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.kind_.map_value_); + } + clear_has_kind(); + } +} +inline ::cel::expr::MapValue* PROTOBUF_NULLABLE Value::release_map_value() { + // @@protoc_insertion_point(field_release:cel.expr.Value.map_value) + if (kind_case() == kMapValue) { + clear_has_kind(); + auto* temp = reinterpret_cast<::cel::expr::MapValue*>(_impl_.kind_.map_value_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.kind_.map_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::MapValue& Value::_internal_map_value() const { + return kind_case() == kMapValue ? static_cast(*reinterpret_cast<::cel::expr::MapValue*>(_impl_.kind_.map_value_)) + : reinterpret_cast(::cel::expr::_MapValue_default_instance_); +} +inline const ::cel::expr::MapValue& Value::map_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Value.map_value) + return _internal_map_value(); +} +inline ::cel::expr::MapValue* PROTOBUF_NULLABLE Value::unsafe_arena_release_map_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Value.map_value) + if (kind_case() == kMapValue) { + clear_has_kind(); + auto* temp = reinterpret_cast<::cel::expr::MapValue*>(_impl_.kind_.map_value_); + _impl_.kind_.map_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Value::unsafe_arena_set_allocated_map_value( + ::cel::expr::MapValue* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_kind(); + if (value) { + set_has_map_value(); + _impl_.kind_.map_value_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Value.map_value) +} +inline ::cel::expr::MapValue* PROTOBUF_NONNULL Value::_internal_mutable_map_value() { + if (kind_case() != kMapValue) { + clear_kind(); + set_has_map_value(); + _impl_.kind_.map_value_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::cel::expr::MapValue>(GetArena())); + } + return reinterpret_cast<::cel::expr::MapValue*>(_impl_.kind_.map_value_); +} +inline ::cel::expr::MapValue* PROTOBUF_NONNULL Value::mutable_map_value() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::MapValue* _msg = _internal_mutable_map_value(); + // @@protoc_insertion_point(field_mutable:cel.expr.Value.map_value) + return _msg; +} + +// .cel.expr.ListValue list_value = 12; +inline bool Value::has_list_value() const { + return kind_case() == kListValue; +} +inline bool Value::_internal_has_list_value() const { + return kind_case() == kListValue; +} +inline void Value::set_has_list_value() { + _impl_._oneof_case_[0] = kListValue; +} +inline void Value::clear_list_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (kind_case() == kListValue) { + if (GetArena() == nullptr) { + delete _impl_.kind_.list_value_; + } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) { + ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.kind_.list_value_); + } + clear_has_kind(); + } +} +inline ::cel::expr::ListValue* PROTOBUF_NULLABLE Value::release_list_value() { + // @@protoc_insertion_point(field_release:cel.expr.Value.list_value) + if (kind_case() == kListValue) { + clear_has_kind(); + auto* temp = reinterpret_cast<::cel::expr::ListValue*>(_impl_.kind_.list_value_); + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.kind_.list_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::cel::expr::ListValue& Value::_internal_list_value() const { + return kind_case() == kListValue ? static_cast(*reinterpret_cast<::cel::expr::ListValue*>(_impl_.kind_.list_value_)) + : reinterpret_cast(::cel::expr::_ListValue_default_instance_); +} +inline const ::cel::expr::ListValue& Value::list_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Value.list_value) + return _internal_list_value(); +} +inline ::cel::expr::ListValue* PROTOBUF_NULLABLE Value::unsafe_arena_release_list_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:cel.expr.Value.list_value) + if (kind_case() == kListValue) { + clear_has_kind(); + auto* temp = reinterpret_cast<::cel::expr::ListValue*>(_impl_.kind_.list_value_); + _impl_.kind_.list_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Value::unsafe_arena_set_allocated_list_value( + ::cel::expr::ListValue* PROTOBUF_NULLABLE value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_kind(); + if (value) { + set_has_list_value(); + _impl_.kind_.list_value_ = reinterpret_cast<::google::protobuf::Message*>(value); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.Value.list_value) +} +inline ::cel::expr::ListValue* PROTOBUF_NONNULL Value::_internal_mutable_list_value() { + if (kind_case() != kListValue) { + clear_kind(); + set_has_list_value(); + _impl_.kind_.list_value_ = reinterpret_cast<::google::protobuf::Message*>( + ::google::protobuf::Message::DefaultConstruct<::cel::expr::ListValue>(GetArena())); + } + return reinterpret_cast<::cel::expr::ListValue*>(_impl_.kind_.list_value_); +} +inline ::cel::expr::ListValue* PROTOBUF_NONNULL Value::mutable_list_value() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::cel::expr::ListValue* _msg = _internal_mutable_list_value(); + // @@protoc_insertion_point(field_mutable:cel.expr.Value.list_value) + return _msg; +} + +// string type_value = 15; +inline bool Value::has_type_value() const { + return kind_case() == kTypeValue; +} +inline void Value::set_has_type_value() { + _impl_._oneof_case_[0] = kTypeValue; +} +inline void Value::clear_type_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (kind_case() == kTypeValue) { + _impl_.kind_.type_value_.Destroy(); + clear_has_kind(); + } +} +inline const ::std::string& Value::type_value() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.Value.type_value) + return _internal_type_value(); +} +template +PROTOBUF_ALWAYS_INLINE void Value::set_type_value(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (kind_case() != kTypeValue) { + clear_kind(); + + set_has_type_value(); + _impl_.kind_.type_value_.InitDefault(); + } + _impl_.kind_.type_value_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.Value.type_value) +} +inline ::std::string* PROTOBUF_NONNULL Value::mutable_type_value() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + if (kind_case() != kTypeValue) { + clear_kind(); + + set_has_type_value(); + _impl_.kind_.type_value_.InitDefault(); + } + ::std::string* _s = _internal_mutable_type_value(); + // @@protoc_insertion_point(field_mutable:cel.expr.Value.type_value) + return _s; +} +inline const ::std::string& Value::_internal_type_value() const { + ::google::protobuf::internal::TSanRead(&_impl_); + if (kind_case() != kTypeValue) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); + } + return _impl_.kind_.type_value_.Get(); +} +inline void Value::_internal_set_type_value(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.kind_.type_value_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL Value::_internal_mutable_type_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.kind_.type_value_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE Value::release_type_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.Value.type_value) + if (kind_case() != kTypeValue) { + return nullptr; + } + clear_has_kind(); + return _impl_.kind_.type_value_.Release(); +} +inline void Value::set_allocated_type_value(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (has_kind()) { + clear_kind(); + } + if (value != nullptr) { + set_has_type_value(); + _impl_.kind_.type_value_.InitAllocated(value, GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.Value.type_value) +} + +inline bool Value::has_kind() const { + return kind_case() != KIND_NOT_SET; +} +inline void Value::clear_has_kind() { + _impl_._oneof_case_[0] = KIND_NOT_SET; +} +inline Value::KindCase Value::kind_case() const { + return Value::KindCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// EnumValue + +// string type = 1; +inline void EnumValue::clear_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_.ClearToEmpty(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::std::string& EnumValue::type() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.EnumValue.type) + return _internal_type(); +} +template +PROTOBUF_ALWAYS_INLINE void EnumValue::set_type(Arg_&& arg, Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + _impl_.type_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:cel.expr.EnumValue.type) +} +inline ::std::string* PROTOBUF_NONNULL EnumValue::mutable_type() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::std::string* _s = _internal_mutable_type(); + // @@protoc_insertion_point(field_mutable:cel.expr.EnumValue.type) + return _s; +} +inline const ::std::string& EnumValue::_internal_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.type_.Get(); +} +inline void EnumValue::_internal_set_type(const ::std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_.Set(value, GetArena()); +} +inline ::std::string* PROTOBUF_NONNULL EnumValue::_internal_mutable_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.type_.Mutable( GetArena()); +} +inline ::std::string* PROTOBUF_NULLABLE EnumValue::release_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.EnumValue.type) + if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) { + return nullptr; + } + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + auto* released = _impl_.type_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.type_.Set("", GetArena()); + } + return released; +} +inline void EnumValue::set_allocated_type(::std::string* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + _impl_.type_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.type_.IsDefault()) { + _impl_.type_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:cel.expr.EnumValue.type) +} + +// int32 value = 2; +inline void EnumValue::clear_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.value_ = 0; + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline ::int32_t EnumValue::value() const { + // @@protoc_insertion_point(field_get:cel.expr.EnumValue.value) + return _internal_value(); +} +inline void EnumValue::set_value(::int32_t value) { + _internal_set_value(value); + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + // @@protoc_insertion_point(field_set:cel.expr.EnumValue.value) +} +inline ::int32_t EnumValue::_internal_value() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.value_; +} +inline void EnumValue::_internal_set_value(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.value_ = value; +} + +// ------------------------------------------------------------------- + +// ListValue + +// repeated .cel.expr.Value values = 1; +inline int ListValue::_internal_values_size() const { + return _internal_values().size(); +} +inline int ListValue::values_size() const { + return _internal_values_size(); +} +inline void ListValue::clear_values() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.values_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::cel::expr::Value* PROTOBUF_NONNULL ListValue::mutable_values(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:cel.expr.ListValue.values) + return _internal_mutable_values()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Value>* PROTOBUF_NONNULL ListValue::mutable_values() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:cel.expr.ListValue.values) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_values(); +} +inline const ::cel::expr::Value& ListValue::values(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.ListValue.values) + return _internal_values().Get(index); +} +inline ::cel::expr::Value* PROTOBUF_NONNULL ListValue::add_values() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::cel::expr::Value* _add = + _internal_mutable_values()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:cel.expr.ListValue.values) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Value>& ListValue::values() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:cel.expr.ListValue.values) + return _internal_values(); +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::Value>& +ListValue::_internal_values() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.values_; +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::Value>* PROTOBUF_NONNULL +ListValue::_internal_mutable_values() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.values_; +} + +// ------------------------------------------------------------------- + +// MapValue_Entry + +// .cel.expr.Value key = 1; +inline bool MapValue_Entry::has_key() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U); + PROTOBUF_ASSUME(!value || _impl_.key_ != nullptr); + return value; +} +inline void MapValue_Entry::clear_key() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.key_ != nullptr) _impl_.key_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000001U); +} +inline const ::cel::expr::Value& MapValue_Entry::_internal_key() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Value* p = _impl_.key_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Value_default_instance_); +} +inline const ::cel::expr::Value& MapValue_Entry::key() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.MapValue.Entry.key) + return _internal_key(); +} +inline void MapValue_Entry::unsafe_arena_set_allocated_key( + ::cel::expr::Value* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.key_); + } + _impl_.key_ = reinterpret_cast<::cel::expr::Value*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.MapValue.Entry.key) +} +inline ::cel::expr::Value* PROTOBUF_NULLABLE MapValue_Entry::release_key() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::cel::expr::Value* released = _impl_.key_; + _impl_.key_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Value* PROTOBUF_NULLABLE MapValue_Entry::unsafe_arena_release_key() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.MapValue.Entry.key) + + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + ::cel::expr::Value* temp = _impl_.key_; + _impl_.key_ = nullptr; + return temp; +} +inline ::cel::expr::Value* PROTOBUF_NONNULL MapValue_Entry::_internal_mutable_key() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.key_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Value>(GetArena()); + _impl_.key_ = reinterpret_cast<::cel::expr::Value*>(p); + } + return _impl_.key_; +} +inline ::cel::expr::Value* PROTOBUF_NONNULL MapValue_Entry::mutable_key() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + ::cel::expr::Value* _msg = _internal_mutable_key(); + // @@protoc_insertion_point(field_mutable:cel.expr.MapValue.Entry.key) + return _msg; +} +inline void MapValue_Entry::set_allocated_key(::cel::expr::Value* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.key_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000001U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000001U); + } + + _impl_.key_ = reinterpret_cast<::cel::expr::Value*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.MapValue.Entry.key) +} + +// .cel.expr.Value value = 2; +inline bool MapValue_Entry::has_value() const { + bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U); + PROTOBUF_ASSUME(!value || _impl_.value_ != nullptr); + return value; +} +inline void MapValue_Entry::clear_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.value_ != nullptr) _impl_.value_->Clear(); + ClearHasBit(_impl_._has_bits_[0], + 0x00000002U); +} +inline const ::cel::expr::Value& MapValue_Entry::_internal_value() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::cel::expr::Value* p = _impl_.value_; + return p != nullptr ? *p : reinterpret_cast(::cel::expr::_Value_default_instance_); +} +inline const ::cel::expr::Value& MapValue_Entry::value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.MapValue.Entry.value) + return _internal_value(); +} +inline void MapValue_Entry::unsafe_arena_set_allocated_value( + ::cel::expr::Value* PROTOBUF_NULLABLE value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_); + } + _impl_.value_ = reinterpret_cast<::cel::expr::Value*>(value); + if (value != nullptr) { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:cel.expr.MapValue.Entry.value) +} +inline ::cel::expr::Value* PROTOBUF_NULLABLE MapValue_Entry::release_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Value* released = _impl_.value_; + _impl_.value_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::cel::expr::Value* PROTOBUF_NULLABLE MapValue_Entry::unsafe_arena_release_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:cel.expr.MapValue.Entry.value) + + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Value* temp = _impl_.value_; + _impl_.value_ = nullptr; + return temp; +} +inline ::cel::expr::Value* PROTOBUF_NONNULL MapValue_Entry::_internal_mutable_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.value_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::cel::expr::Value>(GetArena()); + _impl_.value_ = reinterpret_cast<::cel::expr::Value*>(p); + } + return _impl_.value_; +} +inline ::cel::expr::Value* PROTOBUF_NONNULL MapValue_Entry::mutable_value() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + ::cel::expr::Value* _msg = _internal_mutable_value(); + // @@protoc_insertion_point(field_mutable:cel.expr.MapValue.Entry.value) + return _msg; +} +inline void MapValue_Entry::set_allocated_value(::cel::expr::Value* PROTOBUF_NULLABLE value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = value->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + SetHasBit(_impl_._has_bits_[0], 0x00000002U); + } else { + ClearHasBit(_impl_._has_bits_[0], 0x00000002U); + } + + _impl_.value_ = reinterpret_cast<::cel::expr::Value*>(value); + // @@protoc_insertion_point(field_set_allocated:cel.expr.MapValue.Entry.value) +} + +// ------------------------------------------------------------------- + +// MapValue + +// repeated .cel.expr.MapValue.Entry entries = 1; +inline int MapValue::_internal_entries_size() const { + return _internal_entries().size(); +} +inline int MapValue::entries_size() const { + return _internal_entries_size(); +} +inline void MapValue::clear_entries() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.entries_.Clear(); + ClearHasBitForRepeated(_impl_._has_bits_[0], + 0x00000001U); +} +inline ::cel::expr::MapValue_Entry* PROTOBUF_NONNULL MapValue::mutable_entries(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:cel.expr.MapValue.entries) + return _internal_mutable_entries()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::MapValue_Entry>* PROTOBUF_NONNULL MapValue::mutable_entries() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_mutable_list:cel.expr.MapValue.entries) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_entries(); +} +inline const ::cel::expr::MapValue_Entry& MapValue::entries(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:cel.expr.MapValue.entries) + return _internal_entries().Get(index); +} +inline ::cel::expr::MapValue_Entry* PROTOBUF_NONNULL MapValue::add_entries() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::cel::expr::MapValue_Entry* _add = + _internal_mutable_entries()->InternalAddWithArena( + ::google::protobuf::MessageLite::internal_visibility(), GetArena()); + SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U); + // @@protoc_insertion_point(field_add:cel.expr.MapValue.entries) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::MapValue_Entry>& MapValue::entries() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:cel.expr.MapValue.entries) + return _internal_entries(); +} +inline const ::google::protobuf::RepeatedPtrField<::cel::expr::MapValue_Entry>& +MapValue::_internal_entries() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.entries_; +} +inline ::google::protobuf::RepeatedPtrField<::cel::expr::MapValue_Entry>* PROTOBUF_NONNULL +MapValue::_internal_mutable_entries() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.entries_; +} + +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif // __GNUC__ + +// @@protoc_insertion_point(namespace_scope) +} // namespace expr +} // namespace cel + + +// @@protoc_insertion_point(global_scope) + +#include "google/protobuf/port_undef.inc" + +#endif // cel_2fexpr_2fvalue_2eproto_2epb_2eh diff --git a/crates/protovalidate-rs/gen/internal/empty_descriptor_set_embed.inc b/crates/protovalidate-rs/gen/internal/empty_descriptor_set_embed.inc new file mode 100644 index 00000000..cdc59856 --- /dev/null +++ b/crates/protovalidate-rs/gen/internal/empty_descriptor_set_embed.inc @@ -0,0 +1 @@ +0x0a, 0xff, 0x11, 0x0a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x7d, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x42, 0x0a, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x4a, 0xbe, 0x10, 0x0a, 0x06, 0x12, 0x04, 0x1e, 0x00, 0x32, 0x10, 0x0a, 0xcc, 0x0c, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x1e, 0x00, 0x12, 0x32, 0xc1, 0x0c, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x20, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x20, 0x2d, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x27, 0x73, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x0a, 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x32, 0x30, 0x30, 0x38, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x0a, 0x0a, 0x20, 0x52, 0x65, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x6f, 0x72, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x0a, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x72, 0x65, 0x0a, 0x20, 0x6d, 0x65, 0x74, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x52, 0x65, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x0a, 0x20, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x69, 0x73, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x72, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x52, 0x65, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x69, 0x73, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x72, 0x0a, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x2f, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x4e, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x6e, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x74, 0x73, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x73, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x0a, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x48, 0x49, 0x53, 0x20, 0x53, 0x4f, 0x46, 0x54, 0x57, 0x41, 0x52, 0x45, 0x20, 0x49, 0x53, 0x20, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x44, 0x20, 0x42, 0x59, 0x20, 0x54, 0x48, 0x45, 0x20, 0x43, 0x4f, 0x50, 0x59, 0x52, 0x49, 0x47, 0x48, 0x54, 0x20, 0x48, 0x4f, 0x4c, 0x44, 0x45, 0x52, 0x53, 0x20, 0x41, 0x4e, 0x44, 0x20, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x4f, 0x52, 0x53, 0x0a, 0x20, 0x22, 0x41, 0x53, 0x20, 0x49, 0x53, 0x22, 0x20, 0x41, 0x4e, 0x44, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x20, 0x4f, 0x52, 0x20, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x20, 0x57, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x54, 0x49, 0x45, 0x53, 0x2c, 0x20, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x49, 0x4e, 0x47, 0x2c, 0x20, 0x42, 0x55, 0x54, 0x20, 0x4e, 0x4f, 0x54, 0x0a, 0x20, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x20, 0x54, 0x4f, 0x2c, 0x20, 0x54, 0x48, 0x45, 0x20, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x20, 0x57, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x54, 0x49, 0x45, 0x53, 0x20, 0x4f, 0x46, 0x20, 0x4d, 0x45, 0x52, 0x43, 0x48, 0x41, 0x4e, 0x54, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x20, 0x41, 0x4e, 0x44, 0x20, 0x46, 0x49, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x20, 0x46, 0x4f, 0x52, 0x0a, 0x20, 0x41, 0x20, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x55, 0x4c, 0x41, 0x52, 0x20, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x20, 0x41, 0x52, 0x45, 0x20, 0x44, 0x49, 0x53, 0x43, 0x4c, 0x41, 0x49, 0x4d, 0x45, 0x44, 0x2e, 0x20, 0x49, 0x4e, 0x20, 0x4e, 0x4f, 0x20, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x20, 0x53, 0x48, 0x41, 0x4c, 0x4c, 0x20, 0x54, 0x48, 0x45, 0x20, 0x43, 0x4f, 0x50, 0x59, 0x52, 0x49, 0x47, 0x48, 0x54, 0x0a, 0x20, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x20, 0x4f, 0x52, 0x20, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x4f, 0x52, 0x53, 0x20, 0x42, 0x45, 0x20, 0x4c, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x20, 0x46, 0x4f, 0x52, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x2c, 0x20, 0x49, 0x4e, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x2c, 0x20, 0x49, 0x4e, 0x43, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x41, 0x4c, 0x2c, 0x0a, 0x20, 0x53, 0x50, 0x45, 0x43, 0x49, 0x41, 0x4c, 0x2c, 0x20, 0x45, 0x58, 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x52, 0x59, 0x2c, 0x20, 0x4f, 0x52, 0x20, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x20, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x53, 0x20, 0x28, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x49, 0x4e, 0x47, 0x2c, 0x20, 0x42, 0x55, 0x54, 0x20, 0x4e, 0x4f, 0x54, 0x0a, 0x20, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x20, 0x54, 0x4f, 0x2c, 0x20, 0x50, 0x52, 0x4f, 0x43, 0x55, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x20, 0x4f, 0x46, 0x20, 0x53, 0x55, 0x42, 0x53, 0x54, 0x49, 0x54, 0x55, 0x54, 0x45, 0x20, 0x47, 0x4f, 0x4f, 0x44, 0x53, 0x20, 0x4f, 0x52, 0x20, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x3b, 0x20, 0x4c, 0x4f, 0x53, 0x53, 0x20, 0x4f, 0x46, 0x20, 0x55, 0x53, 0x45, 0x2c, 0x0a, 0x20, 0x44, 0x41, 0x54, 0x41, 0x2c, 0x20, 0x4f, 0x52, 0x20, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x54, 0x53, 0x3b, 0x20, 0x4f, 0x52, 0x20, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53, 0x53, 0x20, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x55, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x29, 0x20, 0x48, 0x4f, 0x57, 0x45, 0x56, 0x45, 0x52, 0x20, 0x43, 0x41, 0x55, 0x53, 0x45, 0x44, 0x20, 0x41, 0x4e, 0x44, 0x20, 0x4f, 0x4e, 0x20, 0x41, 0x4e, 0x59, 0x0a, 0x20, 0x54, 0x48, 0x45, 0x4f, 0x52, 0x59, 0x20, 0x4f, 0x46, 0x20, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x2c, 0x20, 0x57, 0x48, 0x45, 0x54, 0x48, 0x45, 0x52, 0x20, 0x49, 0x4e, 0x20, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x41, 0x43, 0x54, 0x2c, 0x20, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x20, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x2c, 0x20, 0x4f, 0x52, 0x20, 0x54, 0x4f, 0x52, 0x54, 0x0a, 0x20, 0x28, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x49, 0x4e, 0x47, 0x20, 0x4e, 0x45, 0x47, 0x4c, 0x49, 0x47, 0x45, 0x4e, 0x43, 0x45, 0x20, 0x4f, 0x52, 0x20, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x57, 0x49, 0x53, 0x45, 0x29, 0x20, 0x41, 0x52, 0x49, 0x53, 0x49, 0x4e, 0x47, 0x20, 0x49, 0x4e, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x57, 0x41, 0x59, 0x20, 0x4f, 0x55, 0x54, 0x20, 0x4f, 0x46, 0x20, 0x54, 0x48, 0x45, 0x20, 0x55, 0x53, 0x45, 0x0a, 0x20, 0x4f, 0x46, 0x20, 0x54, 0x48, 0x49, 0x53, 0x20, 0x53, 0x4f, 0x46, 0x54, 0x57, 0x41, 0x52, 0x45, 0x2c, 0x20, 0x45, 0x56, 0x45, 0x4e, 0x20, 0x49, 0x46, 0x20, 0x41, 0x44, 0x56, 0x49, 0x53, 0x45, 0x44, 0x20, 0x4f, 0x46, 0x20, 0x54, 0x48, 0x45, 0x20, 0x50, 0x4f, 0x53, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x20, 0x4f, 0x46, 0x20, 0x53, 0x55, 0x43, 0x48, 0x20, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x2e, 0x0a, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x20, 0x00, 0x18, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x22, 0x00, 0x45, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x22, 0x00, 0x45, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x23, 0x00, 0x2c, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x01, 0x12, 0x03, 0x23, 0x00, 0x2c, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x24, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x08, 0x12, 0x03, 0x24, 0x00, 0x2b, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x25, 0x00, 0x22, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0a, 0x12, 0x03, 0x25, 0x00, 0x22, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x26, 0x00, 0x21, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x24, 0x12, 0x03, 0x26, 0x00, 0x21, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x27, 0x00, 0x3b, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x25, 0x12, 0x03, 0x27, 0x00, 0x3b, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x28, 0x00, 0x1f, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x1f, 0x12, 0x03, 0x28, 0x00, 0x1f, 0x0a, 0xbb, 0x02, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x03, 0x32, 0x00, 0x10, 0x1a, 0xaf, 0x02, 0x20, 0x41, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x72, 0x65, 0x2d, 0x75, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x0a, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x41, 0x50, 0x49, 0x73, 0x2e, 0x20, 0x41, 0x20, 0x74, 0x79, 0x70, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x69, 0x74, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x0a, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x41, 0x50, 0x49, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x46, 0x6f, 0x6f, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x70, 0x63, 0x20, 0x42, 0x61, 0x72, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x32, 0x08, 0x0d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, diff --git a/crates/protovalidate-rs/gen/parser/internal/CelBaseVisitor.cpp b/crates/protovalidate-rs/gen/parser/internal/CelBaseVisitor.cpp new file mode 100644 index 00000000..488dddde --- /dev/null +++ b/crates/protovalidate-rs/gen/parser/internal/CelBaseVisitor.cpp @@ -0,0 +1,9 @@ + +// Generated from external/cel-cpp+/parser/internal/Cel.g4 by ANTLR 4.13.2 + + +#include "CelBaseVisitor.h" + + +using namespace cel_parser_internal; + diff --git a/crates/protovalidate-rs/gen/parser/internal/CelBaseVisitor.h b/crates/protovalidate-rs/gen/parser/internal/CelBaseVisitor.h new file mode 100644 index 00000000..6e17890c --- /dev/null +++ b/crates/protovalidate-rs/gen/parser/internal/CelBaseVisitor.h @@ -0,0 +1,167 @@ + +// Generated from external/cel-cpp+/parser/internal/Cel.g4 by ANTLR 4.13.2 + +#pragma once + + +#include "antlr4-runtime.h" +#include "CelVisitor.h" + + +namespace cel_parser_internal { + +/** + * This class provides an empty implementation of CelVisitor, which can be + * extended to create a visitor which only needs to handle a subset of the available methods. + */ +class CelBaseVisitor : public CelVisitor { +public: + + virtual std::any visitStart(CelParser::StartContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitExpr(CelParser::ExprContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitConditionalOr(CelParser::ConditionalOrContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitConditionalAnd(CelParser::ConditionalAndContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitRelation(CelParser::RelationContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitCalc(CelParser::CalcContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitMemberExpr(CelParser::MemberExprContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitLogicalNot(CelParser::LogicalNotContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitNegate(CelParser::NegateContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitMemberCall(CelParser::MemberCallContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitSelect(CelParser::SelectContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitPrimaryExpr(CelParser::PrimaryExprContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitIndex(CelParser::IndexContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitIdent(CelParser::IdentContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitGlobalCall(CelParser::GlobalCallContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitNested(CelParser::NestedContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitCreateList(CelParser::CreateListContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitCreateMap(CelParser::CreateMapContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitCreateMessage(CelParser::CreateMessageContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitConstantLiteral(CelParser::ConstantLiteralContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitExprList(CelParser::ExprListContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitListInit(CelParser::ListInitContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitFieldInitializerList(CelParser::FieldInitializerListContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitOptField(CelParser::OptFieldContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitMapInitializerList(CelParser::MapInitializerListContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitSimpleIdentifier(CelParser::SimpleIdentifierContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitEscapedIdentifier(CelParser::EscapedIdentifierContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitOptExpr(CelParser::OptExprContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitInt(CelParser::IntContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitUint(CelParser::UintContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitDouble(CelParser::DoubleContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitString(CelParser::StringContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitBytes(CelParser::BytesContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitBoolTrue(CelParser::BoolTrueContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitBoolFalse(CelParser::BoolFalseContext *ctx) override { + return visitChildren(ctx); + } + + virtual std::any visitNull(CelParser::NullContext *ctx) override { + return visitChildren(ctx); + } + + +}; + +} // namespace cel_parser_internal diff --git a/crates/protovalidate-rs/gen/parser/internal/CelLexer.cpp b/crates/protovalidate-rs/gen/parser/internal/CelLexer.cpp new file mode 100644 index 00000000..1d77d264 --- /dev/null +++ b/crates/protovalidate-rs/gen/parser/internal/CelLexer.cpp @@ -0,0 +1,308 @@ + +// Generated from external/cel-cpp+/parser/internal/Cel.g4 by ANTLR 4.13.2 + + +#include "CelLexer.h" + + +using namespace antlr4; + +using namespace cel_parser_internal; + + +using namespace antlr4; + +namespace { + +struct CelLexerStaticData final { + CelLexerStaticData(std::vector ruleNames, + std::vector channelNames, + std::vector modeNames, + std::vector literalNames, + std::vector symbolicNames) + : ruleNames(std::move(ruleNames)), channelNames(std::move(channelNames)), + modeNames(std::move(modeNames)), literalNames(std::move(literalNames)), + symbolicNames(std::move(symbolicNames)), + vocabulary(this->literalNames, this->symbolicNames) {} + + CelLexerStaticData(const CelLexerStaticData&) = delete; + CelLexerStaticData(CelLexerStaticData&&) = delete; + CelLexerStaticData& operator=(const CelLexerStaticData&) = delete; + CelLexerStaticData& operator=(CelLexerStaticData&&) = delete; + + std::vector decisionToDFA; + antlr4::atn::PredictionContextCache sharedContextCache; + const std::vector ruleNames; + const std::vector channelNames; + const std::vector modeNames; + const std::vector literalNames; + const std::vector symbolicNames; + const antlr4::dfa::Vocabulary vocabulary; + antlr4::atn::SerializedATNView serializedATN; + std::unique_ptr atn; +}; + +::antlr4::internal::OnceFlag cellexerLexerOnceFlag; +#if ANTLR4_USE_THREAD_LOCAL_CACHE +static thread_local +#endif +std::unique_ptr cellexerLexerStaticData = nullptr; + +void cellexerLexerInitialize() { +#if ANTLR4_USE_THREAD_LOCAL_CACHE + if (cellexerLexerStaticData != nullptr) { + return; + } +#else + assert(cellexerLexerStaticData == nullptr); +#endif + auto staticData = std::make_unique( + std::vector{ + "EQUALS", "NOT_EQUALS", "IN", "LESS", "LESS_EQUALS", "GREATER_EQUALS", + "GREATER", "LOGICAL_AND", "LOGICAL_OR", "LBRACKET", "RPRACKET", "LBRACE", + "RBRACE", "LPAREN", "RPAREN", "DOT", "COMMA", "MINUS", "EXCLAM", "QUESTIONMARK", + "COLON", "PLUS", "STAR", "SLASH", "PERCENT", "CEL_TRUE", "CEL_FALSE", + "NUL", "BACKSLASH", "LETTER", "DIGIT", "EXPONENT", "HEXDIGIT", "RAW", + "ESC_SEQ", "ESC_CHAR_SEQ", "ESC_OCT_SEQ", "ESC_BYTE_SEQ", "ESC_UNI_SEQ", + "WHITESPACE", "COMMENT", "NUM_FLOAT", "NUM_INT", "NUM_UINT", "STRING", + "BYTES", "IDENTIFIER", "ESC_IDENTIFIER" + }, + std::vector{ + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }, + std::vector{ + "DEFAULT_MODE" + }, + std::vector{ + "", "'=='", "'!='", "'in'", "'<'", "'<='", "'>='", "'>'", "'&&'", + "'||'", "'['", "']'", "'{'", "'}'", "'('", "')'", "'.'", "','", "'-'", + "'!'", "'\\u003F'", "':'", "'+'", "'*'", "'/'", "'%'", "'true'", "'false'", + "'null'" + }, + std::vector{ + "", "EQUALS", "NOT_EQUALS", "IN", "LESS", "LESS_EQUALS", "GREATER_EQUALS", + "GREATER", "LOGICAL_AND", "LOGICAL_OR", "LBRACKET", "RPRACKET", "LBRACE", + "RBRACE", "LPAREN", "RPAREN", "DOT", "COMMA", "MINUS", "EXCLAM", "QUESTIONMARK", + "COLON", "PLUS", "STAR", "SLASH", "PERCENT", "CEL_TRUE", "CEL_FALSE", + "NUL", "WHITESPACE", "COMMENT", "NUM_FLOAT", "NUM_INT", "NUM_UINT", + "STRING", "BYTES", "IDENTIFIER", "ESC_IDENTIFIER" + } + ); + static const int32_t serializedATNSegment[] = { + 4,0,37,435,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7, + 6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14, + 7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21, + 7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28, + 7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35, + 7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42, + 7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,1,0,1,0,1,0,1, + 1,1,1,1,1,1,2,1,2,1,2,1,3,1,3,1,4,1,4,1,4,1,5,1,5,1,5,1,6,1,6,1,7,1,7, + 1,7,1,8,1,8,1,8,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14, + 1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,19,1,19,1,20,1,20,1,21, + 1,21,1,22,1,22,1,23,1,23,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,26,1,26, + 1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,29,1,29,1,30, + 1,30,1,31,1,31,3,31,179,8,31,1,31,4,31,182,8,31,11,31,12,31,183,1,32, + 1,32,1,33,1,33,1,34,1,34,1,34,1,34,3,34,194,8,34,1,35,1,35,1,35,1,36, + 1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38, + 1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38, + 227,8,38,1,39,4,39,230,8,39,11,39,12,39,231,1,39,1,39,1,40,1,40,1,40, + 1,40,5,40,240,8,40,10,40,12,40,243,9,40,1,40,1,40,1,41,4,41,248,8,41, + 11,41,12,41,249,1,41,1,41,4,41,254,8,41,11,41,12,41,255,1,41,3,41,259, + 8,41,1,41,4,41,262,8,41,11,41,12,41,263,1,41,1,41,1,41,1,41,4,41,270, + 8,41,11,41,12,41,271,1,41,3,41,275,8,41,3,41,277,8,41,1,42,4,42,280,8, + 42,11,42,12,42,281,1,42,1,42,1,42,1,42,4,42,288,8,42,11,42,12,42,289, + 3,42,292,8,42,1,43,4,43,295,8,43,11,43,12,43,296,1,43,1,43,1,43,1,43, + 1,43,1,43,4,43,305,8,43,11,43,12,43,306,1,43,1,43,3,43,311,8,43,1,44, + 1,44,1,44,5,44,316,8,44,10,44,12,44,319,9,44,1,44,1,44,1,44,1,44,5,44, + 325,8,44,10,44,12,44,328,9,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,5,44, + 337,8,44,10,44,12,44,340,9,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44, + 1,44,5,44,351,8,44,10,44,12,44,354,9,44,1,44,1,44,1,44,1,44,1,44,1,44, + 5,44,362,8,44,10,44,12,44,365,9,44,1,44,1,44,1,44,1,44,1,44,5,44,372, + 8,44,10,44,12,44,375,9,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,5,44, + 385,8,44,10,44,12,44,388,9,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44, + 1,44,1,44,5,44,400,8,44,10,44,12,44,403,9,44,1,44,1,44,1,44,1,44,3,44, + 409,8,44,1,45,1,45,1,45,1,46,1,46,3,46,416,8,46,1,46,1,46,1,46,5,46,421, + 8,46,10,46,12,46,424,9,46,1,47,1,47,1,47,1,47,4,47,430,8,47,11,47,12, + 47,431,1,47,1,47,4,338,352,386,401,0,48,1,1,3,2,5,3,7,4,9,5,11,6,13,7, + 15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19, + 39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,0,59,0,61,0, + 63,0,65,0,67,0,69,0,71,0,73,0,75,0,77,0,79,29,81,30,83,31,85,32,87,33, + 89,34,91,35,93,36,95,37,1,0,17,2,0,65,90,97,122,2,0,69,69,101,101,2,0, + 43,43,45,45,3,0,48,57,65,70,97,102,2,0,82,82,114,114,10,0,34,34,39,39, + 63,63,92,92,96,98,102,102,110,110,114,114,116,116,118,118,2,0,88,88,120, + 120,3,0,9,10,12,13,32,32,1,0,10,10,2,0,85,85,117,117,4,0,10,10,13,13, + 34,34,92,92,4,0,10,10,13,13,39,39,92,92,1,0,92,92,3,0,10,10,13,13,34, + 34,3,0,10,10,13,13,39,39,2,0,66,66,98,98,3,0,32,32,45,47,95,95,471,0, + 1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0, + 0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0, + 23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1, + 0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0, + 0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0, + 55,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1, + 0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,1,97,1,0,0, + 0,3,100,1,0,0,0,5,103,1,0,0,0,7,106,1,0,0,0,9,108,1,0,0,0,11,111,1,0, + 0,0,13,114,1,0,0,0,15,116,1,0,0,0,17,119,1,0,0,0,19,122,1,0,0,0,21,124, + 1,0,0,0,23,126,1,0,0,0,25,128,1,0,0,0,27,130,1,0,0,0,29,132,1,0,0,0,31, + 134,1,0,0,0,33,136,1,0,0,0,35,138,1,0,0,0,37,140,1,0,0,0,39,142,1,0,0, + 0,41,144,1,0,0,0,43,146,1,0,0,0,45,148,1,0,0,0,47,150,1,0,0,0,49,152, + 1,0,0,0,51,154,1,0,0,0,53,159,1,0,0,0,55,165,1,0,0,0,57,170,1,0,0,0,59, + 172,1,0,0,0,61,174,1,0,0,0,63,176,1,0,0,0,65,185,1,0,0,0,67,187,1,0,0, + 0,69,193,1,0,0,0,71,195,1,0,0,0,73,198,1,0,0,0,75,203,1,0,0,0,77,226, + 1,0,0,0,79,229,1,0,0,0,81,235,1,0,0,0,83,276,1,0,0,0,85,291,1,0,0,0,87, + 310,1,0,0,0,89,408,1,0,0,0,91,410,1,0,0,0,93,415,1,0,0,0,95,425,1,0,0, + 0,97,98,5,61,0,0,98,99,5,61,0,0,99,2,1,0,0,0,100,101,5,33,0,0,101,102, + 5,61,0,0,102,4,1,0,0,0,103,104,5,105,0,0,104,105,5,110,0,0,105,6,1,0, + 0,0,106,107,5,60,0,0,107,8,1,0,0,0,108,109,5,60,0,0,109,110,5,61,0,0, + 110,10,1,0,0,0,111,112,5,62,0,0,112,113,5,61,0,0,113,12,1,0,0,0,114,115, + 5,62,0,0,115,14,1,0,0,0,116,117,5,38,0,0,117,118,5,38,0,0,118,16,1,0, + 0,0,119,120,5,124,0,0,120,121,5,124,0,0,121,18,1,0,0,0,122,123,5,91,0, + 0,123,20,1,0,0,0,124,125,5,93,0,0,125,22,1,0,0,0,126,127,5,123,0,0,127, + 24,1,0,0,0,128,129,5,125,0,0,129,26,1,0,0,0,130,131,5,40,0,0,131,28,1, + 0,0,0,132,133,5,41,0,0,133,30,1,0,0,0,134,135,5,46,0,0,135,32,1,0,0,0, + 136,137,5,44,0,0,137,34,1,0,0,0,138,139,5,45,0,0,139,36,1,0,0,0,140,141, + 5,33,0,0,141,38,1,0,0,0,142,143,5,63,0,0,143,40,1,0,0,0,144,145,5,58, + 0,0,145,42,1,0,0,0,146,147,5,43,0,0,147,44,1,0,0,0,148,149,5,42,0,0,149, + 46,1,0,0,0,150,151,5,47,0,0,151,48,1,0,0,0,152,153,5,37,0,0,153,50,1, + 0,0,0,154,155,5,116,0,0,155,156,5,114,0,0,156,157,5,117,0,0,157,158,5, + 101,0,0,158,52,1,0,0,0,159,160,5,102,0,0,160,161,5,97,0,0,161,162,5,108, + 0,0,162,163,5,115,0,0,163,164,5,101,0,0,164,54,1,0,0,0,165,166,5,110, + 0,0,166,167,5,117,0,0,167,168,5,108,0,0,168,169,5,108,0,0,169,56,1,0, + 0,0,170,171,5,92,0,0,171,58,1,0,0,0,172,173,7,0,0,0,173,60,1,0,0,0,174, + 175,2,48,57,0,175,62,1,0,0,0,176,178,7,1,0,0,177,179,7,2,0,0,178,177, + 1,0,0,0,178,179,1,0,0,0,179,181,1,0,0,0,180,182,3,61,30,0,181,180,1,0, + 0,0,182,183,1,0,0,0,183,181,1,0,0,0,183,184,1,0,0,0,184,64,1,0,0,0,185, + 186,7,3,0,0,186,66,1,0,0,0,187,188,7,4,0,0,188,68,1,0,0,0,189,194,3,71, + 35,0,190,194,3,75,37,0,191,194,3,77,38,0,192,194,3,73,36,0,193,189,1, + 0,0,0,193,190,1,0,0,0,193,191,1,0,0,0,193,192,1,0,0,0,194,70,1,0,0,0, + 195,196,3,57,28,0,196,197,7,5,0,0,197,72,1,0,0,0,198,199,3,57,28,0,199, + 200,2,48,51,0,200,201,2,48,55,0,201,202,2,48,55,0,202,74,1,0,0,0,203, + 204,3,57,28,0,204,205,7,6,0,0,205,206,3,65,32,0,206,207,3,65,32,0,207, + 76,1,0,0,0,208,209,3,57,28,0,209,210,5,117,0,0,210,211,3,65,32,0,211, + 212,3,65,32,0,212,213,3,65,32,0,213,214,3,65,32,0,214,227,1,0,0,0,215, + 216,3,57,28,0,216,217,5,85,0,0,217,218,3,65,32,0,218,219,3,65,32,0,219, + 220,3,65,32,0,220,221,3,65,32,0,221,222,3,65,32,0,222,223,3,65,32,0,223, + 224,3,65,32,0,224,225,3,65,32,0,225,227,1,0,0,0,226,208,1,0,0,0,226,215, + 1,0,0,0,227,78,1,0,0,0,228,230,7,7,0,0,229,228,1,0,0,0,230,231,1,0,0, + 0,231,229,1,0,0,0,231,232,1,0,0,0,232,233,1,0,0,0,233,234,6,39,0,0,234, + 80,1,0,0,0,235,236,5,47,0,0,236,237,5,47,0,0,237,241,1,0,0,0,238,240, + 8,8,0,0,239,238,1,0,0,0,240,243,1,0,0,0,241,239,1,0,0,0,241,242,1,0,0, + 0,242,244,1,0,0,0,243,241,1,0,0,0,244,245,6,40,0,0,245,82,1,0,0,0,246, + 248,3,61,30,0,247,246,1,0,0,0,248,249,1,0,0,0,249,247,1,0,0,0,249,250, + 1,0,0,0,250,251,1,0,0,0,251,253,5,46,0,0,252,254,3,61,30,0,253,252,1, + 0,0,0,254,255,1,0,0,0,255,253,1,0,0,0,255,256,1,0,0,0,256,258,1,0,0,0, + 257,259,3,63,31,0,258,257,1,0,0,0,258,259,1,0,0,0,259,277,1,0,0,0,260, + 262,3,61,30,0,261,260,1,0,0,0,262,263,1,0,0,0,263,261,1,0,0,0,263,264, + 1,0,0,0,264,265,1,0,0,0,265,266,3,63,31,0,266,277,1,0,0,0,267,269,5,46, + 0,0,268,270,3,61,30,0,269,268,1,0,0,0,270,271,1,0,0,0,271,269,1,0,0,0, + 271,272,1,0,0,0,272,274,1,0,0,0,273,275,3,63,31,0,274,273,1,0,0,0,274, + 275,1,0,0,0,275,277,1,0,0,0,276,247,1,0,0,0,276,261,1,0,0,0,276,267,1, + 0,0,0,277,84,1,0,0,0,278,280,3,61,30,0,279,278,1,0,0,0,280,281,1,0,0, + 0,281,279,1,0,0,0,281,282,1,0,0,0,282,292,1,0,0,0,283,284,5,48,0,0,284, + 285,5,120,0,0,285,287,1,0,0,0,286,288,3,65,32,0,287,286,1,0,0,0,288,289, + 1,0,0,0,289,287,1,0,0,0,289,290,1,0,0,0,290,292,1,0,0,0,291,279,1,0,0, + 0,291,283,1,0,0,0,292,86,1,0,0,0,293,295,3,61,30,0,294,293,1,0,0,0,295, + 296,1,0,0,0,296,294,1,0,0,0,296,297,1,0,0,0,297,298,1,0,0,0,298,299,7, + 9,0,0,299,311,1,0,0,0,300,301,5,48,0,0,301,302,5,120,0,0,302,304,1,0, + 0,0,303,305,3,65,32,0,304,303,1,0,0,0,305,306,1,0,0,0,306,304,1,0,0,0, + 306,307,1,0,0,0,307,308,1,0,0,0,308,309,7,9,0,0,309,311,1,0,0,0,310,294, + 1,0,0,0,310,300,1,0,0,0,311,88,1,0,0,0,312,317,5,34,0,0,313,316,3,69, + 34,0,314,316,8,10,0,0,315,313,1,0,0,0,315,314,1,0,0,0,316,319,1,0,0,0, + 317,315,1,0,0,0,317,318,1,0,0,0,318,320,1,0,0,0,319,317,1,0,0,0,320,409, + 5,34,0,0,321,326,5,39,0,0,322,325,3,69,34,0,323,325,8,11,0,0,324,322, + 1,0,0,0,324,323,1,0,0,0,325,328,1,0,0,0,326,324,1,0,0,0,326,327,1,0,0, + 0,327,329,1,0,0,0,328,326,1,0,0,0,329,409,5,39,0,0,330,331,5,34,0,0,331, + 332,5,34,0,0,332,333,5,34,0,0,333,338,1,0,0,0,334,337,3,69,34,0,335,337, + 8,12,0,0,336,334,1,0,0,0,336,335,1,0,0,0,337,340,1,0,0,0,338,339,1,0, + 0,0,338,336,1,0,0,0,339,341,1,0,0,0,340,338,1,0,0,0,341,342,5,34,0,0, + 342,343,5,34,0,0,343,409,5,34,0,0,344,345,5,39,0,0,345,346,5,39,0,0,346, + 347,5,39,0,0,347,352,1,0,0,0,348,351,3,69,34,0,349,351,8,12,0,0,350,348, + 1,0,0,0,350,349,1,0,0,0,351,354,1,0,0,0,352,353,1,0,0,0,352,350,1,0,0, + 0,353,355,1,0,0,0,354,352,1,0,0,0,355,356,5,39,0,0,356,357,5,39,0,0,357, + 409,5,39,0,0,358,359,3,67,33,0,359,363,5,34,0,0,360,362,8,13,0,0,361, + 360,1,0,0,0,362,365,1,0,0,0,363,361,1,0,0,0,363,364,1,0,0,0,364,366,1, + 0,0,0,365,363,1,0,0,0,366,367,5,34,0,0,367,409,1,0,0,0,368,369,3,67,33, + 0,369,373,5,39,0,0,370,372,8,14,0,0,371,370,1,0,0,0,372,375,1,0,0,0,373, + 371,1,0,0,0,373,374,1,0,0,0,374,376,1,0,0,0,375,373,1,0,0,0,376,377,5, + 39,0,0,377,409,1,0,0,0,378,379,3,67,33,0,379,380,5,34,0,0,380,381,5,34, + 0,0,381,382,5,34,0,0,382,386,1,0,0,0,383,385,9,0,0,0,384,383,1,0,0,0, + 385,388,1,0,0,0,386,387,1,0,0,0,386,384,1,0,0,0,387,389,1,0,0,0,388,386, + 1,0,0,0,389,390,5,34,0,0,390,391,5,34,0,0,391,392,5,34,0,0,392,409,1, + 0,0,0,393,394,3,67,33,0,394,395,5,39,0,0,395,396,5,39,0,0,396,397,5,39, + 0,0,397,401,1,0,0,0,398,400,9,0,0,0,399,398,1,0,0,0,400,403,1,0,0,0,401, + 402,1,0,0,0,401,399,1,0,0,0,402,404,1,0,0,0,403,401,1,0,0,0,404,405,5, + 39,0,0,405,406,5,39,0,0,406,407,5,39,0,0,407,409,1,0,0,0,408,312,1,0, + 0,0,408,321,1,0,0,0,408,330,1,0,0,0,408,344,1,0,0,0,408,358,1,0,0,0,408, + 368,1,0,0,0,408,378,1,0,0,0,408,393,1,0,0,0,409,90,1,0,0,0,410,411,7, + 15,0,0,411,412,3,89,44,0,412,92,1,0,0,0,413,416,3,59,29,0,414,416,5,95, + 0,0,415,413,1,0,0,0,415,414,1,0,0,0,416,422,1,0,0,0,417,421,3,59,29,0, + 418,421,3,61,30,0,419,421,5,95,0,0,420,417,1,0,0,0,420,418,1,0,0,0,420, + 419,1,0,0,0,421,424,1,0,0,0,422,420,1,0,0,0,422,423,1,0,0,0,423,94,1, + 0,0,0,424,422,1,0,0,0,425,429,5,96,0,0,426,430,3,59,29,0,427,430,3,61, + 30,0,428,430,7,16,0,0,429,426,1,0,0,0,429,427,1,0,0,0,429,428,1,0,0,0, + 430,431,1,0,0,0,431,429,1,0,0,0,431,432,1,0,0,0,432,433,1,0,0,0,433,434, + 5,96,0,0,434,96,1,0,0,0,38,0,178,183,193,226,231,241,249,255,258,263, + 271,274,276,281,289,291,296,306,310,315,317,324,326,336,338,350,352,363, + 373,386,401,408,415,420,422,429,431,1,0,1,0 + }; + staticData->serializedATN = antlr4::atn::SerializedATNView(serializedATNSegment, sizeof(serializedATNSegment) / sizeof(serializedATNSegment[0])); + + antlr4::atn::ATNDeserializer deserializer; + staticData->atn = deserializer.deserialize(staticData->serializedATN); + + const size_t count = staticData->atn->getNumberOfDecisions(); + staticData->decisionToDFA.reserve(count); + for (size_t i = 0; i < count; i++) { + staticData->decisionToDFA.emplace_back(staticData->atn->getDecisionState(i), i); + } + cellexerLexerStaticData = std::move(staticData); +} + +} + +CelLexer::CelLexer(CharStream *input) : Lexer(input) { + CelLexer::initialize(); + _interpreter = new atn::LexerATNSimulator(this, *cellexerLexerStaticData->atn, cellexerLexerStaticData->decisionToDFA, cellexerLexerStaticData->sharedContextCache); +} + +CelLexer::~CelLexer() { + delete _interpreter; +} + +std::string CelLexer::getGrammarFileName() const { + return "Cel.g4"; +} + +const std::vector& CelLexer::getRuleNames() const { + return cellexerLexerStaticData->ruleNames; +} + +const std::vector& CelLexer::getChannelNames() const { + return cellexerLexerStaticData->channelNames; +} + +const std::vector& CelLexer::getModeNames() const { + return cellexerLexerStaticData->modeNames; +} + +const dfa::Vocabulary& CelLexer::getVocabulary() const { + return cellexerLexerStaticData->vocabulary; +} + +antlr4::atn::SerializedATNView CelLexer::getSerializedATN() const { + return cellexerLexerStaticData->serializedATN; +} + +const atn::ATN& CelLexer::getATN() const { + return *cellexerLexerStaticData->atn; +} + + + + +void CelLexer::initialize() { +#if ANTLR4_USE_THREAD_LOCAL_CACHE + cellexerLexerInitialize(); +#else + ::antlr4::internal::call_once(cellexerLexerOnceFlag, cellexerLexerInitialize); +#endif +} diff --git a/crates/protovalidate-rs/gen/parser/internal/CelLexer.h b/crates/protovalidate-rs/gen/parser/internal/CelLexer.h new file mode 100644 index 00000000..01f0dfd3 --- /dev/null +++ b/crates/protovalidate-rs/gen/parser/internal/CelLexer.h @@ -0,0 +1,57 @@ + +// Generated from external/cel-cpp+/parser/internal/Cel.g4 by ANTLR 4.13.2 + +#pragma once + + +#include "antlr4-runtime.h" + + +namespace cel_parser_internal { + + +class CelLexer : public antlr4::Lexer { +public: + enum { + EQUALS = 1, NOT_EQUALS = 2, IN = 3, LESS = 4, LESS_EQUALS = 5, GREATER_EQUALS = 6, + GREATER = 7, LOGICAL_AND = 8, LOGICAL_OR = 9, LBRACKET = 10, RPRACKET = 11, + LBRACE = 12, RBRACE = 13, LPAREN = 14, RPAREN = 15, DOT = 16, COMMA = 17, + MINUS = 18, EXCLAM = 19, QUESTIONMARK = 20, COLON = 21, PLUS = 22, STAR = 23, + SLASH = 24, PERCENT = 25, CEL_TRUE = 26, CEL_FALSE = 27, NUL = 28, WHITESPACE = 29, + COMMENT = 30, NUM_FLOAT = 31, NUM_INT = 32, NUM_UINT = 33, STRING = 34, + BYTES = 35, IDENTIFIER = 36, ESC_IDENTIFIER = 37 + }; + + explicit CelLexer(antlr4::CharStream *input); + + ~CelLexer() override; + + + std::string getGrammarFileName() const override; + + const std::vector& getRuleNames() const override; + + const std::vector& getChannelNames() const override; + + const std::vector& getModeNames() const override; + + const antlr4::dfa::Vocabulary& getVocabulary() const override; + + antlr4::atn::SerializedATNView getSerializedATN() const override; + + const antlr4::atn::ATN& getATN() const override; + + // By default the static state used to implement the lexer is lazily initialized during the first + // call to the constructor. You can call this function if you wish to initialize the static state + // ahead of time. + static void initialize(); + +private: + + // Individual action functions triggered by action() above. + + // Individual semantic predicate functions triggered by sempred() above. + +}; + +} // namespace cel_parser_internal diff --git a/crates/protovalidate-rs/gen/parser/internal/CelParser.cpp b/crates/protovalidate-rs/gen/parser/internal/CelParser.cpp new file mode 100644 index 00000000..752d6eee --- /dev/null +++ b/crates/protovalidate-rs/gen/parser/internal/CelParser.cpp @@ -0,0 +1,2484 @@ + +// Generated from external/cel-cpp+/parser/internal/Cel.g4 by ANTLR 4.13.2 + + +#include "CelVisitor.h" + +#include "CelParser.h" + + +using namespace antlrcpp; +using namespace cel_parser_internal; + +using namespace antlr4; + +namespace { + +struct CelParserStaticData final { + CelParserStaticData(std::vector ruleNames, + std::vector literalNames, + std::vector symbolicNames) + : ruleNames(std::move(ruleNames)), literalNames(std::move(literalNames)), + symbolicNames(std::move(symbolicNames)), + vocabulary(this->literalNames, this->symbolicNames) {} + + CelParserStaticData(const CelParserStaticData&) = delete; + CelParserStaticData(CelParserStaticData&&) = delete; + CelParserStaticData& operator=(const CelParserStaticData&) = delete; + CelParserStaticData& operator=(CelParserStaticData&&) = delete; + + std::vector decisionToDFA; + antlr4::atn::PredictionContextCache sharedContextCache; + const std::vector ruleNames; + const std::vector literalNames; + const std::vector symbolicNames; + const antlr4::dfa::Vocabulary vocabulary; + antlr4::atn::SerializedATNView serializedATN; + std::unique_ptr atn; +}; + +::antlr4::internal::OnceFlag celParserOnceFlag; +#if ANTLR4_USE_THREAD_LOCAL_CACHE +static thread_local +#endif +std::unique_ptr celParserStaticData = nullptr; + +void celParserInitialize() { +#if ANTLR4_USE_THREAD_LOCAL_CACHE + if (celParserStaticData != nullptr) { + return; + } +#else + assert(celParserStaticData == nullptr); +#endif + auto staticData = std::make_unique( + std::vector{ + "start", "expr", "conditionalOr", "conditionalAnd", "relation", "calc", + "unary", "member", "primary", "exprList", "listInit", "fieldInitializerList", + "optField", "mapInitializerList", "escapeIdent", "optExpr", "literal" + }, + std::vector{ + "", "'=='", "'!='", "'in'", "'<'", "'<='", "'>='", "'>'", "'&&'", + "'||'", "'['", "']'", "'{'", "'}'", "'('", "')'", "'.'", "','", "'-'", + "'!'", "'\\u003F'", "':'", "'+'", "'*'", "'/'", "'%'", "'true'", "'false'", + "'null'" + }, + std::vector{ + "", "EQUALS", "NOT_EQUALS", "IN", "LESS", "LESS_EQUALS", "GREATER_EQUALS", + "GREATER", "LOGICAL_AND", "LOGICAL_OR", "LBRACKET", "RPRACKET", "LBRACE", + "RBRACE", "LPAREN", "RPAREN", "DOT", "COMMA", "MINUS", "EXCLAM", "QUESTIONMARK", + "COLON", "PLUS", "STAR", "SLASH", "PERCENT", "CEL_TRUE", "CEL_FALSE", + "NUL", "WHITESPACE", "COMMENT", "NUM_FLOAT", "NUM_INT", "NUM_UINT", + "STRING", "BYTES", "IDENTIFIER", "ESC_IDENTIFIER" + } + ); + static const int32_t serializedATNSegment[] = { + 4,1,37,259,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2, + 7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7, + 14,2,15,7,15,2,16,7,16,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,3,1,44,8,1, + 1,2,1,2,1,2,5,2,49,8,2,10,2,12,2,52,9,2,1,3,1,3,1,3,5,3,57,8,3,10,3,12, + 3,60,9,3,1,4,1,4,1,4,1,4,1,4,1,4,5,4,68,8,4,10,4,12,4,71,9,4,1,5,1,5, + 1,5,1,5,1,5,1,5,1,5,1,5,1,5,5,5,82,8,5,10,5,12,5,85,9,5,1,6,1,6,4,6,89, + 8,6,11,6,12,6,90,1,6,1,6,4,6,95,8,6,11,6,12,6,96,1,6,3,6,100,8,6,1,7, + 1,7,1,7,1,7,1,7,1,7,3,7,108,8,7,1,7,1,7,1,7,1,7,1,7,1,7,3,7,116,8,7,1, + 7,1,7,1,7,1,7,3,7,122,8,7,1,7,1,7,1,7,5,7,127,8,7,10,7,12,7,130,9,7,1, + 8,3,8,133,8,8,1,8,1,8,3,8,137,8,8,1,8,1,8,1,8,3,8,142,8,8,1,8,1,8,1,8, + 1,8,1,8,1,8,1,8,3,8,151,8,8,1,8,3,8,154,8,8,1,8,1,8,1,8,3,8,159,8,8,1, + 8,3,8,162,8,8,1,8,1,8,3,8,166,8,8,1,8,1,8,1,8,5,8,171,8,8,10,8,12,8,174, + 9,8,1,8,1,8,3,8,178,8,8,1,8,3,8,181,8,8,1,8,1,8,3,8,185,8,8,1,9,1,9,1, + 9,5,9,190,8,9,10,9,12,9,193,9,9,1,10,1,10,1,10,5,10,198,8,10,10,10,12, + 10,201,9,10,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,5,11,211,8,11,10, + 11,12,11,214,9,11,1,12,3,12,217,8,12,1,12,1,12,1,13,1,13,1,13,1,13,1, + 13,1,13,1,13,1,13,5,13,229,8,13,10,13,12,13,232,9,13,1,14,1,14,3,14,236, + 8,14,1,15,3,15,239,8,15,1,15,1,15,1,16,3,16,244,8,16,1,16,1,16,1,16,3, + 16,249,8,16,1,16,1,16,1,16,1,16,1,16,1,16,3,16,257,8,16,1,16,0,3,8,10, + 14,17,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,0,3,1,0,1,7,1,0,23, + 25,2,0,18,18,22,22,290,0,34,1,0,0,0,2,37,1,0,0,0,4,45,1,0,0,0,6,53,1, + 0,0,0,8,61,1,0,0,0,10,72,1,0,0,0,12,99,1,0,0,0,14,101,1,0,0,0,16,184, + 1,0,0,0,18,186,1,0,0,0,20,194,1,0,0,0,22,202,1,0,0,0,24,216,1,0,0,0,26, + 220,1,0,0,0,28,235,1,0,0,0,30,238,1,0,0,0,32,256,1,0,0,0,34,35,3,2,1, + 0,35,36,5,0,0,1,36,1,1,0,0,0,37,43,3,4,2,0,38,39,5,20,0,0,39,40,3,4,2, + 0,40,41,5,21,0,0,41,42,3,2,1,0,42,44,1,0,0,0,43,38,1,0,0,0,43,44,1,0, + 0,0,44,3,1,0,0,0,45,50,3,6,3,0,46,47,5,9,0,0,47,49,3,6,3,0,48,46,1,0, + 0,0,49,52,1,0,0,0,50,48,1,0,0,0,50,51,1,0,0,0,51,5,1,0,0,0,52,50,1,0, + 0,0,53,58,3,8,4,0,54,55,5,8,0,0,55,57,3,8,4,0,56,54,1,0,0,0,57,60,1,0, + 0,0,58,56,1,0,0,0,58,59,1,0,0,0,59,7,1,0,0,0,60,58,1,0,0,0,61,62,6,4, + -1,0,62,63,3,10,5,0,63,69,1,0,0,0,64,65,10,1,0,0,65,66,7,0,0,0,66,68, + 3,8,4,2,67,64,1,0,0,0,68,71,1,0,0,0,69,67,1,0,0,0,69,70,1,0,0,0,70,9, + 1,0,0,0,71,69,1,0,0,0,72,73,6,5,-1,0,73,74,3,12,6,0,74,83,1,0,0,0,75, + 76,10,2,0,0,76,77,7,1,0,0,77,82,3,10,5,3,78,79,10,1,0,0,79,80,7,2,0,0, + 80,82,3,10,5,2,81,75,1,0,0,0,81,78,1,0,0,0,82,85,1,0,0,0,83,81,1,0,0, + 0,83,84,1,0,0,0,84,11,1,0,0,0,85,83,1,0,0,0,86,100,3,14,7,0,87,89,5,19, + 0,0,88,87,1,0,0,0,89,90,1,0,0,0,90,88,1,0,0,0,90,91,1,0,0,0,91,92,1,0, + 0,0,92,100,3,14,7,0,93,95,5,18,0,0,94,93,1,0,0,0,95,96,1,0,0,0,96,94, + 1,0,0,0,96,97,1,0,0,0,97,98,1,0,0,0,98,100,3,14,7,0,99,86,1,0,0,0,99, + 88,1,0,0,0,99,94,1,0,0,0,100,13,1,0,0,0,101,102,6,7,-1,0,102,103,3,16, + 8,0,103,128,1,0,0,0,104,105,10,3,0,0,105,107,5,16,0,0,106,108,5,20,0, + 0,107,106,1,0,0,0,107,108,1,0,0,0,108,109,1,0,0,0,109,127,3,28,14,0,110, + 111,10,2,0,0,111,112,5,16,0,0,112,113,5,36,0,0,113,115,5,14,0,0,114,116, + 3,18,9,0,115,114,1,0,0,0,115,116,1,0,0,0,116,117,1,0,0,0,117,127,5,15, + 0,0,118,119,10,1,0,0,119,121,5,10,0,0,120,122,5,20,0,0,121,120,1,0,0, + 0,121,122,1,0,0,0,122,123,1,0,0,0,123,124,3,2,1,0,124,125,5,11,0,0,125, + 127,1,0,0,0,126,104,1,0,0,0,126,110,1,0,0,0,126,118,1,0,0,0,127,130,1, + 0,0,0,128,126,1,0,0,0,128,129,1,0,0,0,129,15,1,0,0,0,130,128,1,0,0,0, + 131,133,5,16,0,0,132,131,1,0,0,0,132,133,1,0,0,0,133,134,1,0,0,0,134, + 185,5,36,0,0,135,137,5,16,0,0,136,135,1,0,0,0,136,137,1,0,0,0,137,138, + 1,0,0,0,138,139,5,36,0,0,139,141,5,14,0,0,140,142,3,18,9,0,141,140,1, + 0,0,0,141,142,1,0,0,0,142,143,1,0,0,0,143,185,5,15,0,0,144,145,5,14,0, + 0,145,146,3,2,1,0,146,147,5,15,0,0,147,185,1,0,0,0,148,150,5,10,0,0,149, + 151,3,20,10,0,150,149,1,0,0,0,150,151,1,0,0,0,151,153,1,0,0,0,152,154, + 5,17,0,0,153,152,1,0,0,0,153,154,1,0,0,0,154,155,1,0,0,0,155,185,5,11, + 0,0,156,158,5,12,0,0,157,159,3,26,13,0,158,157,1,0,0,0,158,159,1,0,0, + 0,159,161,1,0,0,0,160,162,5,17,0,0,161,160,1,0,0,0,161,162,1,0,0,0,162, + 163,1,0,0,0,163,185,5,13,0,0,164,166,5,16,0,0,165,164,1,0,0,0,165,166, + 1,0,0,0,166,167,1,0,0,0,167,172,5,36,0,0,168,169,5,16,0,0,169,171,5,36, + 0,0,170,168,1,0,0,0,171,174,1,0,0,0,172,170,1,0,0,0,172,173,1,0,0,0,173, + 175,1,0,0,0,174,172,1,0,0,0,175,177,5,12,0,0,176,178,3,22,11,0,177,176, + 1,0,0,0,177,178,1,0,0,0,178,180,1,0,0,0,179,181,5,17,0,0,180,179,1,0, + 0,0,180,181,1,0,0,0,181,182,1,0,0,0,182,185,5,13,0,0,183,185,3,32,16, + 0,184,132,1,0,0,0,184,136,1,0,0,0,184,144,1,0,0,0,184,148,1,0,0,0,184, + 156,1,0,0,0,184,165,1,0,0,0,184,183,1,0,0,0,185,17,1,0,0,0,186,191,3, + 2,1,0,187,188,5,17,0,0,188,190,3,2,1,0,189,187,1,0,0,0,190,193,1,0,0, + 0,191,189,1,0,0,0,191,192,1,0,0,0,192,19,1,0,0,0,193,191,1,0,0,0,194, + 199,3,30,15,0,195,196,5,17,0,0,196,198,3,30,15,0,197,195,1,0,0,0,198, + 201,1,0,0,0,199,197,1,0,0,0,199,200,1,0,0,0,200,21,1,0,0,0,201,199,1, + 0,0,0,202,203,3,24,12,0,203,204,5,21,0,0,204,212,3,2,1,0,205,206,5,17, + 0,0,206,207,3,24,12,0,207,208,5,21,0,0,208,209,3,2,1,0,209,211,1,0,0, + 0,210,205,1,0,0,0,211,214,1,0,0,0,212,210,1,0,0,0,212,213,1,0,0,0,213, + 23,1,0,0,0,214,212,1,0,0,0,215,217,5,20,0,0,216,215,1,0,0,0,216,217,1, + 0,0,0,217,218,1,0,0,0,218,219,3,28,14,0,219,25,1,0,0,0,220,221,3,30,15, + 0,221,222,5,21,0,0,222,230,3,2,1,0,223,224,5,17,0,0,224,225,3,30,15,0, + 225,226,5,21,0,0,226,227,3,2,1,0,227,229,1,0,0,0,228,223,1,0,0,0,229, + 232,1,0,0,0,230,228,1,0,0,0,230,231,1,0,0,0,231,27,1,0,0,0,232,230,1, + 0,0,0,233,236,5,36,0,0,234,236,5,37,0,0,235,233,1,0,0,0,235,234,1,0,0, + 0,236,29,1,0,0,0,237,239,5,20,0,0,238,237,1,0,0,0,238,239,1,0,0,0,239, + 240,1,0,0,0,240,241,3,2,1,0,241,31,1,0,0,0,242,244,5,18,0,0,243,242,1, + 0,0,0,243,244,1,0,0,0,244,245,1,0,0,0,245,257,5,32,0,0,246,257,5,33,0, + 0,247,249,5,18,0,0,248,247,1,0,0,0,248,249,1,0,0,0,249,250,1,0,0,0,250, + 257,5,31,0,0,251,257,5,34,0,0,252,257,5,35,0,0,253,257,5,26,0,0,254,257, + 5,27,0,0,255,257,5,28,0,0,256,243,1,0,0,0,256,246,1,0,0,0,256,248,1,0, + 0,0,256,251,1,0,0,0,256,252,1,0,0,0,256,253,1,0,0,0,256,254,1,0,0,0,256, + 255,1,0,0,0,257,33,1,0,0,0,36,43,50,58,69,81,83,90,96,99,107,115,121, + 126,128,132,136,141,150,153,158,161,165,172,177,180,184,191,199,212,216, + 230,235,238,243,248,256 + }; + staticData->serializedATN = antlr4::atn::SerializedATNView(serializedATNSegment, sizeof(serializedATNSegment) / sizeof(serializedATNSegment[0])); + + antlr4::atn::ATNDeserializer deserializer; + staticData->atn = deserializer.deserialize(staticData->serializedATN); + + const size_t count = staticData->atn->getNumberOfDecisions(); + staticData->decisionToDFA.reserve(count); + for (size_t i = 0; i < count; i++) { + staticData->decisionToDFA.emplace_back(staticData->atn->getDecisionState(i), i); + } + celParserStaticData = std::move(staticData); +} + +} + +CelParser::CelParser(TokenStream *input) : CelParser(input, antlr4::atn::ParserATNSimulatorOptions()) {} + +CelParser::CelParser(TokenStream *input, const antlr4::atn::ParserATNSimulatorOptions &options) : Parser(input) { + CelParser::initialize(); + _interpreter = new atn::ParserATNSimulator(this, *celParserStaticData->atn, celParserStaticData->decisionToDFA, celParserStaticData->sharedContextCache, options); +} + +CelParser::~CelParser() { + delete _interpreter; +} + +const atn::ATN& CelParser::getATN() const { + return *celParserStaticData->atn; +} + +std::string CelParser::getGrammarFileName() const { + return "Cel.g4"; +} + +const std::vector& CelParser::getRuleNames() const { + return celParserStaticData->ruleNames; +} + +const dfa::Vocabulary& CelParser::getVocabulary() const { + return celParserStaticData->vocabulary; +} + +antlr4::atn::SerializedATNView CelParser::getSerializedATN() const { + return celParserStaticData->serializedATN; +} + + +//----------------- StartContext ------------------------------------------------------------------ + +CelParser::StartContext::StartContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + +tree::TerminalNode* CelParser::StartContext::EOF() { + return getToken(CelParser::EOF, 0); +} + +CelParser::ExprContext* CelParser::StartContext::expr() { + return getRuleContext(0); +} + + +size_t CelParser::StartContext::getRuleIndex() const { + return CelParser::RuleStart; +} + + +std::any CelParser::StartContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitStart(this); + else + return visitor->visitChildren(this); +} + +CelParser::StartContext* CelParser::start() { + StartContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 0, CelParser::RuleStart); + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + exitRule(); + }); + try { + enterOuterAlt(_localctx, 1); + setState(34); + antlrcpp::downCast(_localctx)->e = expr(); + setState(35); + match(CelParser::EOF); + + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + + return _localctx; +} + +//----------------- ExprContext ------------------------------------------------------------------ + +CelParser::ExprContext::ExprContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + +std::vector CelParser::ExprContext::conditionalOr() { + return getRuleContexts(); +} + +CelParser::ConditionalOrContext* CelParser::ExprContext::conditionalOr(size_t i) { + return getRuleContext(i); +} + +tree::TerminalNode* CelParser::ExprContext::COLON() { + return getToken(CelParser::COLON, 0); +} + +tree::TerminalNode* CelParser::ExprContext::QUESTIONMARK() { + return getToken(CelParser::QUESTIONMARK, 0); +} + +CelParser::ExprContext* CelParser::ExprContext::expr() { + return getRuleContext(0); +} + + +size_t CelParser::ExprContext::getRuleIndex() const { + return CelParser::RuleExpr; +} + + +std::any CelParser::ExprContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitExpr(this); + else + return visitor->visitChildren(this); +} + +CelParser::ExprContext* CelParser::expr() { + ExprContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 2, CelParser::RuleExpr); + size_t _la = 0; + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + exitRule(); + }); + try { + enterOuterAlt(_localctx, 1); + setState(37); + antlrcpp::downCast(_localctx)->e = conditionalOr(); + setState(43); + _errHandler->sync(this); + + _la = _input->LA(1); + if (_la == CelParser::QUESTIONMARK) { + setState(38); + antlrcpp::downCast(_localctx)->op = match(CelParser::QUESTIONMARK); + setState(39); + antlrcpp::downCast(_localctx)->e1 = conditionalOr(); + setState(40); + match(CelParser::COLON); + setState(41); + antlrcpp::downCast(_localctx)->e2 = expr(); + } + + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + + return _localctx; +} + +//----------------- ConditionalOrContext ------------------------------------------------------------------ + +CelParser::ConditionalOrContext::ConditionalOrContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + +std::vector CelParser::ConditionalOrContext::conditionalAnd() { + return getRuleContexts(); +} + +CelParser::ConditionalAndContext* CelParser::ConditionalOrContext::conditionalAnd(size_t i) { + return getRuleContext(i); +} + +std::vector CelParser::ConditionalOrContext::LOGICAL_OR() { + return getTokens(CelParser::LOGICAL_OR); +} + +tree::TerminalNode* CelParser::ConditionalOrContext::LOGICAL_OR(size_t i) { + return getToken(CelParser::LOGICAL_OR, i); +} + + +size_t CelParser::ConditionalOrContext::getRuleIndex() const { + return CelParser::RuleConditionalOr; +} + + +std::any CelParser::ConditionalOrContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitConditionalOr(this); + else + return visitor->visitChildren(this); +} + +CelParser::ConditionalOrContext* CelParser::conditionalOr() { + ConditionalOrContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 4, CelParser::RuleConditionalOr); + size_t _la = 0; + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + exitRule(); + }); + try { + enterOuterAlt(_localctx, 1); + setState(45); + antlrcpp::downCast(_localctx)->e = conditionalAnd(); + setState(50); + _errHandler->sync(this); + _la = _input->LA(1); + while (_la == CelParser::LOGICAL_OR) { + setState(46); + antlrcpp::downCast(_localctx)->s9 = match(CelParser::LOGICAL_OR); + antlrcpp::downCast(_localctx)->ops.push_back(antlrcpp::downCast(_localctx)->s9); + setState(47); + antlrcpp::downCast(_localctx)->conditionalAndContext = conditionalAnd(); + antlrcpp::downCast(_localctx)->e1.push_back(antlrcpp::downCast(_localctx)->conditionalAndContext); + setState(52); + _errHandler->sync(this); + _la = _input->LA(1); + } + + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + + return _localctx; +} + +//----------------- ConditionalAndContext ------------------------------------------------------------------ + +CelParser::ConditionalAndContext::ConditionalAndContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + +std::vector CelParser::ConditionalAndContext::relation() { + return getRuleContexts(); +} + +CelParser::RelationContext* CelParser::ConditionalAndContext::relation(size_t i) { + return getRuleContext(i); +} + +std::vector CelParser::ConditionalAndContext::LOGICAL_AND() { + return getTokens(CelParser::LOGICAL_AND); +} + +tree::TerminalNode* CelParser::ConditionalAndContext::LOGICAL_AND(size_t i) { + return getToken(CelParser::LOGICAL_AND, i); +} + + +size_t CelParser::ConditionalAndContext::getRuleIndex() const { + return CelParser::RuleConditionalAnd; +} + + +std::any CelParser::ConditionalAndContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitConditionalAnd(this); + else + return visitor->visitChildren(this); +} + +CelParser::ConditionalAndContext* CelParser::conditionalAnd() { + ConditionalAndContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 6, CelParser::RuleConditionalAnd); + size_t _la = 0; + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + exitRule(); + }); + try { + enterOuterAlt(_localctx, 1); + setState(53); + antlrcpp::downCast(_localctx)->e = relation(0); + setState(58); + _errHandler->sync(this); + _la = _input->LA(1); + while (_la == CelParser::LOGICAL_AND) { + setState(54); + antlrcpp::downCast(_localctx)->s8 = match(CelParser::LOGICAL_AND); + antlrcpp::downCast(_localctx)->ops.push_back(antlrcpp::downCast(_localctx)->s8); + setState(55); + antlrcpp::downCast(_localctx)->relationContext = relation(0); + antlrcpp::downCast(_localctx)->e1.push_back(antlrcpp::downCast(_localctx)->relationContext); + setState(60); + _errHandler->sync(this); + _la = _input->LA(1); + } + + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + + return _localctx; +} + +//----------------- RelationContext ------------------------------------------------------------------ + +CelParser::RelationContext::RelationContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + +CelParser::CalcContext* CelParser::RelationContext::calc() { + return getRuleContext(0); +} + +std::vector CelParser::RelationContext::relation() { + return getRuleContexts(); +} + +CelParser::RelationContext* CelParser::RelationContext::relation(size_t i) { + return getRuleContext(i); +} + +tree::TerminalNode* CelParser::RelationContext::LESS() { + return getToken(CelParser::LESS, 0); +} + +tree::TerminalNode* CelParser::RelationContext::LESS_EQUALS() { + return getToken(CelParser::LESS_EQUALS, 0); +} + +tree::TerminalNode* CelParser::RelationContext::GREATER_EQUALS() { + return getToken(CelParser::GREATER_EQUALS, 0); +} + +tree::TerminalNode* CelParser::RelationContext::GREATER() { + return getToken(CelParser::GREATER, 0); +} + +tree::TerminalNode* CelParser::RelationContext::EQUALS() { + return getToken(CelParser::EQUALS, 0); +} + +tree::TerminalNode* CelParser::RelationContext::NOT_EQUALS() { + return getToken(CelParser::NOT_EQUALS, 0); +} + +tree::TerminalNode* CelParser::RelationContext::IN() { + return getToken(CelParser::IN, 0); +} + + +size_t CelParser::RelationContext::getRuleIndex() const { + return CelParser::RuleRelation; +} + + +std::any CelParser::RelationContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitRelation(this); + else + return visitor->visitChildren(this); +} + + +CelParser::RelationContext* CelParser::relation() { + return relation(0); +} + +CelParser::RelationContext* CelParser::relation(int precedence) { + ParserRuleContext *parentContext = _ctx; + size_t parentState = getState(); + CelParser::RelationContext *_localctx = _tracker.createInstance(_ctx, parentState); + CelParser::RelationContext *previousContext = _localctx; + (void)previousContext; // Silence compiler, in case the context is not used by generated code. + size_t startState = 8; + enterRecursionRule(_localctx, 8, CelParser::RuleRelation, precedence); + + size_t _la = 0; + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + unrollRecursionContexts(parentContext); + }); + try { + size_t alt; + enterOuterAlt(_localctx, 1); + setState(62); + calc(0); + _ctx->stop = _input->LT(-1); + setState(69); + _errHandler->sync(this); + alt = getInterpreter()->adaptivePredict(_input, 3, _ctx); + while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) { + if (alt == 1) { + if (!_parseListeners.empty()) + triggerExitRuleEvent(); + previousContext = _localctx; + _localctx = _tracker.createInstance(parentContext, parentState); + pushNewRecursionContext(_localctx, startState, RuleRelation); + setState(64); + + if (!(precpred(_ctx, 1))) throw FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(65); + antlrcpp::downCast(_localctx)->op = _input->LT(1); + _la = _input->LA(1); + if (!((((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 254) != 0))) { + antlrcpp::downCast(_localctx)->op = _errHandler->recoverInline(this); + } + else { + _errHandler->reportMatch(this); + consume(); + } + setState(66); + relation(2); + } + setState(71); + _errHandler->sync(this); + alt = getInterpreter()->adaptivePredict(_input, 3, _ctx); + } + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + return _localctx; +} + +//----------------- CalcContext ------------------------------------------------------------------ + +CelParser::CalcContext::CalcContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + +CelParser::UnaryContext* CelParser::CalcContext::unary() { + return getRuleContext(0); +} + +std::vector CelParser::CalcContext::calc() { + return getRuleContexts(); +} + +CelParser::CalcContext* CelParser::CalcContext::calc(size_t i) { + return getRuleContext(i); +} + +tree::TerminalNode* CelParser::CalcContext::STAR() { + return getToken(CelParser::STAR, 0); +} + +tree::TerminalNode* CelParser::CalcContext::SLASH() { + return getToken(CelParser::SLASH, 0); +} + +tree::TerminalNode* CelParser::CalcContext::PERCENT() { + return getToken(CelParser::PERCENT, 0); +} + +tree::TerminalNode* CelParser::CalcContext::PLUS() { + return getToken(CelParser::PLUS, 0); +} + +tree::TerminalNode* CelParser::CalcContext::MINUS() { + return getToken(CelParser::MINUS, 0); +} + + +size_t CelParser::CalcContext::getRuleIndex() const { + return CelParser::RuleCalc; +} + + +std::any CelParser::CalcContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitCalc(this); + else + return visitor->visitChildren(this); +} + + +CelParser::CalcContext* CelParser::calc() { + return calc(0); +} + +CelParser::CalcContext* CelParser::calc(int precedence) { + ParserRuleContext *parentContext = _ctx; + size_t parentState = getState(); + CelParser::CalcContext *_localctx = _tracker.createInstance(_ctx, parentState); + CelParser::CalcContext *previousContext = _localctx; + (void)previousContext; // Silence compiler, in case the context is not used by generated code. + size_t startState = 10; + enterRecursionRule(_localctx, 10, CelParser::RuleCalc, precedence); + + size_t _la = 0; + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + unrollRecursionContexts(parentContext); + }); + try { + size_t alt; + enterOuterAlt(_localctx, 1); + setState(73); + unary(); + _ctx->stop = _input->LT(-1); + setState(83); + _errHandler->sync(this); + alt = getInterpreter()->adaptivePredict(_input, 5, _ctx); + while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) { + if (alt == 1) { + if (!_parseListeners.empty()) + triggerExitRuleEvent(); + previousContext = _localctx; + setState(81); + _errHandler->sync(this); + switch (getInterpreter()->adaptivePredict(_input, 4, _ctx)) { + case 1: { + _localctx = _tracker.createInstance(parentContext, parentState); + pushNewRecursionContext(_localctx, startState, RuleCalc); + setState(75); + + if (!(precpred(_ctx, 2))) throw FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(76); + antlrcpp::downCast(_localctx)->op = _input->LT(1); + _la = _input->LA(1); + if (!((((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 58720256) != 0))) { + antlrcpp::downCast(_localctx)->op = _errHandler->recoverInline(this); + } + else { + _errHandler->reportMatch(this); + consume(); + } + setState(77); + calc(3); + break; + } + + case 2: { + _localctx = _tracker.createInstance(parentContext, parentState); + pushNewRecursionContext(_localctx, startState, RuleCalc); + setState(78); + + if (!(precpred(_ctx, 1))) throw FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(79); + antlrcpp::downCast(_localctx)->op = _input->LT(1); + _la = _input->LA(1); + if (!(_la == CelParser::MINUS + + || _la == CelParser::PLUS)) { + antlrcpp::downCast(_localctx)->op = _errHandler->recoverInline(this); + } + else { + _errHandler->reportMatch(this); + consume(); + } + setState(80); + calc(2); + break; + } + + default: + break; + } + } + setState(85); + _errHandler->sync(this); + alt = getInterpreter()->adaptivePredict(_input, 5, _ctx); + } + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + return _localctx; +} + +//----------------- UnaryContext ------------------------------------------------------------------ + +CelParser::UnaryContext::UnaryContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + + +size_t CelParser::UnaryContext::getRuleIndex() const { + return CelParser::RuleUnary; +} + +void CelParser::UnaryContext::copyFrom(UnaryContext *ctx) { + ParserRuleContext::copyFrom(ctx); +} + +//----------------- LogicalNotContext ------------------------------------------------------------------ + +CelParser::MemberContext* CelParser::LogicalNotContext::member() { + return getRuleContext(0); +} + +std::vector CelParser::LogicalNotContext::EXCLAM() { + return getTokens(CelParser::EXCLAM); +} + +tree::TerminalNode* CelParser::LogicalNotContext::EXCLAM(size_t i) { + return getToken(CelParser::EXCLAM, i); +} + +CelParser::LogicalNotContext::LogicalNotContext(UnaryContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::LogicalNotContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitLogicalNot(this); + else + return visitor->visitChildren(this); +} +//----------------- MemberExprContext ------------------------------------------------------------------ + +CelParser::MemberContext* CelParser::MemberExprContext::member() { + return getRuleContext(0); +} + +CelParser::MemberExprContext::MemberExprContext(UnaryContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::MemberExprContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitMemberExpr(this); + else + return visitor->visitChildren(this); +} +//----------------- NegateContext ------------------------------------------------------------------ + +CelParser::MemberContext* CelParser::NegateContext::member() { + return getRuleContext(0); +} + +std::vector CelParser::NegateContext::MINUS() { + return getTokens(CelParser::MINUS); +} + +tree::TerminalNode* CelParser::NegateContext::MINUS(size_t i) { + return getToken(CelParser::MINUS, i); +} + +CelParser::NegateContext::NegateContext(UnaryContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::NegateContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitNegate(this); + else + return visitor->visitChildren(this); +} +CelParser::UnaryContext* CelParser::unary() { + UnaryContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 12, CelParser::RuleUnary); + size_t _la = 0; + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + exitRule(); + }); + try { + size_t alt; + setState(99); + _errHandler->sync(this); + switch (getInterpreter()->adaptivePredict(_input, 8, _ctx)) { + case 1: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 1); + setState(86); + member(0); + break; + } + + case 2: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 2); + setState(88); + _errHandler->sync(this); + _la = _input->LA(1); + do { + setState(87); + antlrcpp::downCast(_localctx)->s19 = match(CelParser::EXCLAM); + antlrcpp::downCast(_localctx)->ops.push_back(antlrcpp::downCast(_localctx)->s19); + setState(90); + _errHandler->sync(this); + _la = _input->LA(1); + } while (_la == CelParser::EXCLAM); + setState(92); + member(0); + break; + } + + case 3: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 3); + setState(94); + _errHandler->sync(this); + alt = 1; + do { + switch (alt) { + case 1: { + setState(93); + antlrcpp::downCast(_localctx)->s18 = match(CelParser::MINUS); + antlrcpp::downCast(_localctx)->ops.push_back(antlrcpp::downCast(_localctx)->s18); + break; + } + + default: + throw NoViableAltException(this); + } + setState(96); + _errHandler->sync(this); + alt = getInterpreter()->adaptivePredict(_input, 7, _ctx); + } while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER); + setState(98); + member(0); + break; + } + + default: + break; + } + + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + + return _localctx; +} + +//----------------- MemberContext ------------------------------------------------------------------ + +CelParser::MemberContext::MemberContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + + +size_t CelParser::MemberContext::getRuleIndex() const { + return CelParser::RuleMember; +} + +void CelParser::MemberContext::copyFrom(MemberContext *ctx) { + ParserRuleContext::copyFrom(ctx); +} + +//----------------- MemberCallContext ------------------------------------------------------------------ + +CelParser::MemberContext* CelParser::MemberCallContext::member() { + return getRuleContext(0); +} + +tree::TerminalNode* CelParser::MemberCallContext::RPAREN() { + return getToken(CelParser::RPAREN, 0); +} + +tree::TerminalNode* CelParser::MemberCallContext::DOT() { + return getToken(CelParser::DOT, 0); +} + +tree::TerminalNode* CelParser::MemberCallContext::IDENTIFIER() { + return getToken(CelParser::IDENTIFIER, 0); +} + +tree::TerminalNode* CelParser::MemberCallContext::LPAREN() { + return getToken(CelParser::LPAREN, 0); +} + +CelParser::ExprListContext* CelParser::MemberCallContext::exprList() { + return getRuleContext(0); +} + +CelParser::MemberCallContext::MemberCallContext(MemberContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::MemberCallContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitMemberCall(this); + else + return visitor->visitChildren(this); +} +//----------------- SelectContext ------------------------------------------------------------------ + +CelParser::MemberContext* CelParser::SelectContext::member() { + return getRuleContext(0); +} + +tree::TerminalNode* CelParser::SelectContext::DOT() { + return getToken(CelParser::DOT, 0); +} + +CelParser::EscapeIdentContext* CelParser::SelectContext::escapeIdent() { + return getRuleContext(0); +} + +tree::TerminalNode* CelParser::SelectContext::QUESTIONMARK() { + return getToken(CelParser::QUESTIONMARK, 0); +} + +CelParser::SelectContext::SelectContext(MemberContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::SelectContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitSelect(this); + else + return visitor->visitChildren(this); +} +//----------------- PrimaryExprContext ------------------------------------------------------------------ + +CelParser::PrimaryContext* CelParser::PrimaryExprContext::primary() { + return getRuleContext(0); +} + +CelParser::PrimaryExprContext::PrimaryExprContext(MemberContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::PrimaryExprContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitPrimaryExpr(this); + else + return visitor->visitChildren(this); +} +//----------------- IndexContext ------------------------------------------------------------------ + +CelParser::MemberContext* CelParser::IndexContext::member() { + return getRuleContext(0); +} + +tree::TerminalNode* CelParser::IndexContext::RPRACKET() { + return getToken(CelParser::RPRACKET, 0); +} + +tree::TerminalNode* CelParser::IndexContext::LBRACKET() { + return getToken(CelParser::LBRACKET, 0); +} + +CelParser::ExprContext* CelParser::IndexContext::expr() { + return getRuleContext(0); +} + +tree::TerminalNode* CelParser::IndexContext::QUESTIONMARK() { + return getToken(CelParser::QUESTIONMARK, 0); +} + +CelParser::IndexContext::IndexContext(MemberContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::IndexContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitIndex(this); + else + return visitor->visitChildren(this); +} + +CelParser::MemberContext* CelParser::member() { + return member(0); +} + +CelParser::MemberContext* CelParser::member(int precedence) { + ParserRuleContext *parentContext = _ctx; + size_t parentState = getState(); + CelParser::MemberContext *_localctx = _tracker.createInstance(_ctx, parentState); + CelParser::MemberContext *previousContext = _localctx; + (void)previousContext; // Silence compiler, in case the context is not used by generated code. + size_t startState = 14; + enterRecursionRule(_localctx, 14, CelParser::RuleMember, precedence); + + size_t _la = 0; + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + unrollRecursionContexts(parentContext); + }); + try { + size_t alt; + enterOuterAlt(_localctx, 1); + _localctx = _tracker.createInstance(_localctx); + _ctx = _localctx; + previousContext = _localctx; + + setState(102); + primary(); + _ctx->stop = _input->LT(-1); + setState(128); + _errHandler->sync(this); + alt = getInterpreter()->adaptivePredict(_input, 13, _ctx); + while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) { + if (alt == 1) { + if (!_parseListeners.empty()) + triggerExitRuleEvent(); + previousContext = _localctx; + setState(126); + _errHandler->sync(this); + switch (getInterpreter()->adaptivePredict(_input, 12, _ctx)) { + case 1: { + auto newContext = _tracker.createInstance(_tracker.createInstance(parentContext, parentState)); + _localctx = newContext; + pushNewRecursionContext(newContext, startState, RuleMember); + setState(104); + + if (!(precpred(_ctx, 3))) throw FailedPredicateException(this, "precpred(_ctx, 3)"); + setState(105); + antlrcpp::downCast(_localctx)->op = match(CelParser::DOT); + setState(107); + _errHandler->sync(this); + + _la = _input->LA(1); + if (_la == CelParser::QUESTIONMARK) { + setState(106); + antlrcpp::downCast(_localctx)->opt = match(CelParser::QUESTIONMARK); + } + setState(109); + antlrcpp::downCast(_localctx)->id = escapeIdent(); + break; + } + + case 2: { + auto newContext = _tracker.createInstance(_tracker.createInstance(parentContext, parentState)); + _localctx = newContext; + pushNewRecursionContext(newContext, startState, RuleMember); + setState(110); + + if (!(precpred(_ctx, 2))) throw FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(111); + antlrcpp::downCast(_localctx)->op = match(CelParser::DOT); + setState(112); + antlrcpp::downCast(_localctx)->id = match(CelParser::IDENTIFIER); + setState(113); + antlrcpp::downCast(_localctx)->open = match(CelParser::LPAREN); + setState(115); + _errHandler->sync(this); + + _la = _input->LA(1); + if ((((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 135762105344) != 0)) { + setState(114); + antlrcpp::downCast(_localctx)->args = exprList(); + } + setState(117); + match(CelParser::RPAREN); + break; + } + + case 3: { + auto newContext = _tracker.createInstance(_tracker.createInstance(parentContext, parentState)); + _localctx = newContext; + pushNewRecursionContext(newContext, startState, RuleMember); + setState(118); + + if (!(precpred(_ctx, 1))) throw FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(119); + antlrcpp::downCast(_localctx)->op = match(CelParser::LBRACKET); + setState(121); + _errHandler->sync(this); + + _la = _input->LA(1); + if (_la == CelParser::QUESTIONMARK) { + setState(120); + antlrcpp::downCast(_localctx)->opt = match(CelParser::QUESTIONMARK); + } + setState(123); + antlrcpp::downCast(_localctx)->index = expr(); + setState(124); + match(CelParser::RPRACKET); + break; + } + + default: + break; + } + } + setState(130); + _errHandler->sync(this); + alt = getInterpreter()->adaptivePredict(_input, 13, _ctx); + } + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + return _localctx; +} + +//----------------- PrimaryContext ------------------------------------------------------------------ + +CelParser::PrimaryContext::PrimaryContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + + +size_t CelParser::PrimaryContext::getRuleIndex() const { + return CelParser::RulePrimary; +} + +void CelParser::PrimaryContext::copyFrom(PrimaryContext *ctx) { + ParserRuleContext::copyFrom(ctx); +} + +//----------------- CreateListContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::CreateListContext::RPRACKET() { + return getToken(CelParser::RPRACKET, 0); +} + +tree::TerminalNode* CelParser::CreateListContext::LBRACKET() { + return getToken(CelParser::LBRACKET, 0); +} + +tree::TerminalNode* CelParser::CreateListContext::COMMA() { + return getToken(CelParser::COMMA, 0); +} + +CelParser::ListInitContext* CelParser::CreateListContext::listInit() { + return getRuleContext(0); +} + +CelParser::CreateListContext::CreateListContext(PrimaryContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::CreateListContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitCreateList(this); + else + return visitor->visitChildren(this); +} +//----------------- IdentContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::IdentContext::IDENTIFIER() { + return getToken(CelParser::IDENTIFIER, 0); +} + +tree::TerminalNode* CelParser::IdentContext::DOT() { + return getToken(CelParser::DOT, 0); +} + +CelParser::IdentContext::IdentContext(PrimaryContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::IdentContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitIdent(this); + else + return visitor->visitChildren(this); +} +//----------------- ConstantLiteralContext ------------------------------------------------------------------ + +CelParser::LiteralContext* CelParser::ConstantLiteralContext::literal() { + return getRuleContext(0); +} + +CelParser::ConstantLiteralContext::ConstantLiteralContext(PrimaryContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::ConstantLiteralContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitConstantLiteral(this); + else + return visitor->visitChildren(this); +} +//----------------- NestedContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::NestedContext::LPAREN() { + return getToken(CelParser::LPAREN, 0); +} + +tree::TerminalNode* CelParser::NestedContext::RPAREN() { + return getToken(CelParser::RPAREN, 0); +} + +CelParser::ExprContext* CelParser::NestedContext::expr() { + return getRuleContext(0); +} + +CelParser::NestedContext::NestedContext(PrimaryContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::NestedContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitNested(this); + else + return visitor->visitChildren(this); +} +//----------------- CreateMessageContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::CreateMessageContext::RBRACE() { + return getToken(CelParser::RBRACE, 0); +} + +std::vector CelParser::CreateMessageContext::IDENTIFIER() { + return getTokens(CelParser::IDENTIFIER); +} + +tree::TerminalNode* CelParser::CreateMessageContext::IDENTIFIER(size_t i) { + return getToken(CelParser::IDENTIFIER, i); +} + +tree::TerminalNode* CelParser::CreateMessageContext::LBRACE() { + return getToken(CelParser::LBRACE, 0); +} + +tree::TerminalNode* CelParser::CreateMessageContext::COMMA() { + return getToken(CelParser::COMMA, 0); +} + +std::vector CelParser::CreateMessageContext::DOT() { + return getTokens(CelParser::DOT); +} + +tree::TerminalNode* CelParser::CreateMessageContext::DOT(size_t i) { + return getToken(CelParser::DOT, i); +} + +CelParser::FieldInitializerListContext* CelParser::CreateMessageContext::fieldInitializerList() { + return getRuleContext(0); +} + +CelParser::CreateMessageContext::CreateMessageContext(PrimaryContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::CreateMessageContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitCreateMessage(this); + else + return visitor->visitChildren(this); +} +//----------------- GlobalCallContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::GlobalCallContext::IDENTIFIER() { + return getToken(CelParser::IDENTIFIER, 0); +} + +tree::TerminalNode* CelParser::GlobalCallContext::RPAREN() { + return getToken(CelParser::RPAREN, 0); +} + +tree::TerminalNode* CelParser::GlobalCallContext::LPAREN() { + return getToken(CelParser::LPAREN, 0); +} + +tree::TerminalNode* CelParser::GlobalCallContext::DOT() { + return getToken(CelParser::DOT, 0); +} + +CelParser::ExprListContext* CelParser::GlobalCallContext::exprList() { + return getRuleContext(0); +} + +CelParser::GlobalCallContext::GlobalCallContext(PrimaryContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::GlobalCallContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitGlobalCall(this); + else + return visitor->visitChildren(this); +} +//----------------- CreateMapContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::CreateMapContext::RBRACE() { + return getToken(CelParser::RBRACE, 0); +} + +tree::TerminalNode* CelParser::CreateMapContext::LBRACE() { + return getToken(CelParser::LBRACE, 0); +} + +tree::TerminalNode* CelParser::CreateMapContext::COMMA() { + return getToken(CelParser::COMMA, 0); +} + +CelParser::MapInitializerListContext* CelParser::CreateMapContext::mapInitializerList() { + return getRuleContext(0); +} + +CelParser::CreateMapContext::CreateMapContext(PrimaryContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::CreateMapContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitCreateMap(this); + else + return visitor->visitChildren(this); +} +CelParser::PrimaryContext* CelParser::primary() { + PrimaryContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 16, CelParser::RulePrimary); + size_t _la = 0; + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + exitRule(); + }); + try { + setState(184); + _errHandler->sync(this); + switch (getInterpreter()->adaptivePredict(_input, 25, _ctx)) { + case 1: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 1); + setState(132); + _errHandler->sync(this); + + _la = _input->LA(1); + if (_la == CelParser::DOT) { + setState(131); + antlrcpp::downCast(_localctx)->leadingDot = match(CelParser::DOT); + } + setState(134); + antlrcpp::downCast(_localctx)->id = match(CelParser::IDENTIFIER); + break; + } + + case 2: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 2); + setState(136); + _errHandler->sync(this); + + _la = _input->LA(1); + if (_la == CelParser::DOT) { + setState(135); + antlrcpp::downCast(_localctx)->leadingDot = match(CelParser::DOT); + } + setState(138); + antlrcpp::downCast(_localctx)->id = match(CelParser::IDENTIFIER); + + setState(139); + antlrcpp::downCast(_localctx)->op = match(CelParser::LPAREN); + setState(141); + _errHandler->sync(this); + + _la = _input->LA(1); + if ((((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 135762105344) != 0)) { + setState(140); + antlrcpp::downCast(_localctx)->args = exprList(); + } + setState(143); + match(CelParser::RPAREN); + break; + } + + case 3: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 3); + setState(144); + match(CelParser::LPAREN); + setState(145); + antlrcpp::downCast(_localctx)->e = expr(); + setState(146); + match(CelParser::RPAREN); + break; + } + + case 4: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 4); + setState(148); + antlrcpp::downCast(_localctx)->op = match(CelParser::LBRACKET); + setState(150); + _errHandler->sync(this); + + _la = _input->LA(1); + if ((((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 135763153920) != 0)) { + setState(149); + antlrcpp::downCast(_localctx)->elems = listInit(); + } + setState(153); + _errHandler->sync(this); + + _la = _input->LA(1); + if (_la == CelParser::COMMA) { + setState(152); + match(CelParser::COMMA); + } + setState(155); + match(CelParser::RPRACKET); + break; + } + + case 5: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 5); + setState(156); + antlrcpp::downCast(_localctx)->op = match(CelParser::LBRACE); + setState(158); + _errHandler->sync(this); + + _la = _input->LA(1); + if ((((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 135763153920) != 0)) { + setState(157); + antlrcpp::downCast(_localctx)->entries = mapInitializerList(); + } + setState(161); + _errHandler->sync(this); + + _la = _input->LA(1); + if (_la == CelParser::COMMA) { + setState(160); + match(CelParser::COMMA); + } + setState(163); + match(CelParser::RBRACE); + break; + } + + case 6: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 6); + setState(165); + _errHandler->sync(this); + + _la = _input->LA(1); + if (_la == CelParser::DOT) { + setState(164); + antlrcpp::downCast(_localctx)->leadingDot = match(CelParser::DOT); + } + setState(167); + antlrcpp::downCast(_localctx)->identifierToken = match(CelParser::IDENTIFIER); + antlrcpp::downCast(_localctx)->ids.push_back(antlrcpp::downCast(_localctx)->identifierToken); + setState(172); + _errHandler->sync(this); + _la = _input->LA(1); + while (_la == CelParser::DOT) { + setState(168); + antlrcpp::downCast(_localctx)->s16 = match(CelParser::DOT); + antlrcpp::downCast(_localctx)->ops.push_back(antlrcpp::downCast(_localctx)->s16); + setState(169); + antlrcpp::downCast(_localctx)->identifierToken = match(CelParser::IDENTIFIER); + antlrcpp::downCast(_localctx)->ids.push_back(antlrcpp::downCast(_localctx)->identifierToken); + setState(174); + _errHandler->sync(this); + _la = _input->LA(1); + } + setState(175); + antlrcpp::downCast(_localctx)->op = match(CelParser::LBRACE); + setState(177); + _errHandler->sync(this); + + _la = _input->LA(1); + if ((((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 206159478784) != 0)) { + setState(176); + antlrcpp::downCast(_localctx)->entries = fieldInitializerList(); + } + setState(180); + _errHandler->sync(this); + + _la = _input->LA(1); + if (_la == CelParser::COMMA) { + setState(179); + match(CelParser::COMMA); + } + setState(182); + match(CelParser::RBRACE); + break; + } + + case 7: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 7); + setState(183); + literal(); + break; + } + + default: + break; + } + + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + + return _localctx; +} + +//----------------- ExprListContext ------------------------------------------------------------------ + +CelParser::ExprListContext::ExprListContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + +std::vector CelParser::ExprListContext::expr() { + return getRuleContexts(); +} + +CelParser::ExprContext* CelParser::ExprListContext::expr(size_t i) { + return getRuleContext(i); +} + +std::vector CelParser::ExprListContext::COMMA() { + return getTokens(CelParser::COMMA); +} + +tree::TerminalNode* CelParser::ExprListContext::COMMA(size_t i) { + return getToken(CelParser::COMMA, i); +} + + +size_t CelParser::ExprListContext::getRuleIndex() const { + return CelParser::RuleExprList; +} + + +std::any CelParser::ExprListContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitExprList(this); + else + return visitor->visitChildren(this); +} + +CelParser::ExprListContext* CelParser::exprList() { + ExprListContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 18, CelParser::RuleExprList); + size_t _la = 0; + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + exitRule(); + }); + try { + enterOuterAlt(_localctx, 1); + setState(186); + antlrcpp::downCast(_localctx)->exprContext = expr(); + antlrcpp::downCast(_localctx)->e.push_back(antlrcpp::downCast(_localctx)->exprContext); + setState(191); + _errHandler->sync(this); + _la = _input->LA(1); + while (_la == CelParser::COMMA) { + setState(187); + match(CelParser::COMMA); + setState(188); + antlrcpp::downCast(_localctx)->exprContext = expr(); + antlrcpp::downCast(_localctx)->e.push_back(antlrcpp::downCast(_localctx)->exprContext); + setState(193); + _errHandler->sync(this); + _la = _input->LA(1); + } + + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + + return _localctx; +} + +//----------------- ListInitContext ------------------------------------------------------------------ + +CelParser::ListInitContext::ListInitContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + +std::vector CelParser::ListInitContext::optExpr() { + return getRuleContexts(); +} + +CelParser::OptExprContext* CelParser::ListInitContext::optExpr(size_t i) { + return getRuleContext(i); +} + +std::vector CelParser::ListInitContext::COMMA() { + return getTokens(CelParser::COMMA); +} + +tree::TerminalNode* CelParser::ListInitContext::COMMA(size_t i) { + return getToken(CelParser::COMMA, i); +} + + +size_t CelParser::ListInitContext::getRuleIndex() const { + return CelParser::RuleListInit; +} + + +std::any CelParser::ListInitContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitListInit(this); + else + return visitor->visitChildren(this); +} + +CelParser::ListInitContext* CelParser::listInit() { + ListInitContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 20, CelParser::RuleListInit); + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + exitRule(); + }); + try { + size_t alt; + enterOuterAlt(_localctx, 1); + setState(194); + antlrcpp::downCast(_localctx)->optExprContext = optExpr(); + antlrcpp::downCast(_localctx)->elems.push_back(antlrcpp::downCast(_localctx)->optExprContext); + setState(199); + _errHandler->sync(this); + alt = getInterpreter()->adaptivePredict(_input, 27, _ctx); + while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) { + if (alt == 1) { + setState(195); + match(CelParser::COMMA); + setState(196); + antlrcpp::downCast(_localctx)->optExprContext = optExpr(); + antlrcpp::downCast(_localctx)->elems.push_back(antlrcpp::downCast(_localctx)->optExprContext); + } + setState(201); + _errHandler->sync(this); + alt = getInterpreter()->adaptivePredict(_input, 27, _ctx); + } + + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + + return _localctx; +} + +//----------------- FieldInitializerListContext ------------------------------------------------------------------ + +CelParser::FieldInitializerListContext::FieldInitializerListContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + +std::vector CelParser::FieldInitializerListContext::optField() { + return getRuleContexts(); +} + +CelParser::OptFieldContext* CelParser::FieldInitializerListContext::optField(size_t i) { + return getRuleContext(i); +} + +std::vector CelParser::FieldInitializerListContext::COLON() { + return getTokens(CelParser::COLON); +} + +tree::TerminalNode* CelParser::FieldInitializerListContext::COLON(size_t i) { + return getToken(CelParser::COLON, i); +} + +std::vector CelParser::FieldInitializerListContext::expr() { + return getRuleContexts(); +} + +CelParser::ExprContext* CelParser::FieldInitializerListContext::expr(size_t i) { + return getRuleContext(i); +} + +std::vector CelParser::FieldInitializerListContext::COMMA() { + return getTokens(CelParser::COMMA); +} + +tree::TerminalNode* CelParser::FieldInitializerListContext::COMMA(size_t i) { + return getToken(CelParser::COMMA, i); +} + + +size_t CelParser::FieldInitializerListContext::getRuleIndex() const { + return CelParser::RuleFieldInitializerList; +} + + +std::any CelParser::FieldInitializerListContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitFieldInitializerList(this); + else + return visitor->visitChildren(this); +} + +CelParser::FieldInitializerListContext* CelParser::fieldInitializerList() { + FieldInitializerListContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 22, CelParser::RuleFieldInitializerList); + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + exitRule(); + }); + try { + size_t alt; + enterOuterAlt(_localctx, 1); + setState(202); + antlrcpp::downCast(_localctx)->optFieldContext = optField(); + antlrcpp::downCast(_localctx)->fields.push_back(antlrcpp::downCast(_localctx)->optFieldContext); + setState(203); + antlrcpp::downCast(_localctx)->s21 = match(CelParser::COLON); + antlrcpp::downCast(_localctx)->cols.push_back(antlrcpp::downCast(_localctx)->s21); + setState(204); + antlrcpp::downCast(_localctx)->exprContext = expr(); + antlrcpp::downCast(_localctx)->values.push_back(antlrcpp::downCast(_localctx)->exprContext); + setState(212); + _errHandler->sync(this); + alt = getInterpreter()->adaptivePredict(_input, 28, _ctx); + while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) { + if (alt == 1) { + setState(205); + match(CelParser::COMMA); + setState(206); + antlrcpp::downCast(_localctx)->optFieldContext = optField(); + antlrcpp::downCast(_localctx)->fields.push_back(antlrcpp::downCast(_localctx)->optFieldContext); + setState(207); + antlrcpp::downCast(_localctx)->s21 = match(CelParser::COLON); + antlrcpp::downCast(_localctx)->cols.push_back(antlrcpp::downCast(_localctx)->s21); + setState(208); + antlrcpp::downCast(_localctx)->exprContext = expr(); + antlrcpp::downCast(_localctx)->values.push_back(antlrcpp::downCast(_localctx)->exprContext); + } + setState(214); + _errHandler->sync(this); + alt = getInterpreter()->adaptivePredict(_input, 28, _ctx); + } + + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + + return _localctx; +} + +//----------------- OptFieldContext ------------------------------------------------------------------ + +CelParser::OptFieldContext::OptFieldContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + +CelParser::EscapeIdentContext* CelParser::OptFieldContext::escapeIdent() { + return getRuleContext(0); +} + +tree::TerminalNode* CelParser::OptFieldContext::QUESTIONMARK() { + return getToken(CelParser::QUESTIONMARK, 0); +} + + +size_t CelParser::OptFieldContext::getRuleIndex() const { + return CelParser::RuleOptField; +} + + +std::any CelParser::OptFieldContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitOptField(this); + else + return visitor->visitChildren(this); +} + +CelParser::OptFieldContext* CelParser::optField() { + OptFieldContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 24, CelParser::RuleOptField); + size_t _la = 0; + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + exitRule(); + }); + try { + enterOuterAlt(_localctx, 1); + setState(216); + _errHandler->sync(this); + + _la = _input->LA(1); + if (_la == CelParser::QUESTIONMARK) { + setState(215); + antlrcpp::downCast(_localctx)->opt = match(CelParser::QUESTIONMARK); + } + setState(218); + escapeIdent(); + + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + + return _localctx; +} + +//----------------- MapInitializerListContext ------------------------------------------------------------------ + +CelParser::MapInitializerListContext::MapInitializerListContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + +std::vector CelParser::MapInitializerListContext::optExpr() { + return getRuleContexts(); +} + +CelParser::OptExprContext* CelParser::MapInitializerListContext::optExpr(size_t i) { + return getRuleContext(i); +} + +std::vector CelParser::MapInitializerListContext::COLON() { + return getTokens(CelParser::COLON); +} + +tree::TerminalNode* CelParser::MapInitializerListContext::COLON(size_t i) { + return getToken(CelParser::COLON, i); +} + +std::vector CelParser::MapInitializerListContext::expr() { + return getRuleContexts(); +} + +CelParser::ExprContext* CelParser::MapInitializerListContext::expr(size_t i) { + return getRuleContext(i); +} + +std::vector CelParser::MapInitializerListContext::COMMA() { + return getTokens(CelParser::COMMA); +} + +tree::TerminalNode* CelParser::MapInitializerListContext::COMMA(size_t i) { + return getToken(CelParser::COMMA, i); +} + + +size_t CelParser::MapInitializerListContext::getRuleIndex() const { + return CelParser::RuleMapInitializerList; +} + + +std::any CelParser::MapInitializerListContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitMapInitializerList(this); + else + return visitor->visitChildren(this); +} + +CelParser::MapInitializerListContext* CelParser::mapInitializerList() { + MapInitializerListContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 26, CelParser::RuleMapInitializerList); + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + exitRule(); + }); + try { + size_t alt; + enterOuterAlt(_localctx, 1); + setState(220); + antlrcpp::downCast(_localctx)->optExprContext = optExpr(); + antlrcpp::downCast(_localctx)->keys.push_back(antlrcpp::downCast(_localctx)->optExprContext); + setState(221); + antlrcpp::downCast(_localctx)->s21 = match(CelParser::COLON); + antlrcpp::downCast(_localctx)->cols.push_back(antlrcpp::downCast(_localctx)->s21); + setState(222); + antlrcpp::downCast(_localctx)->exprContext = expr(); + antlrcpp::downCast(_localctx)->values.push_back(antlrcpp::downCast(_localctx)->exprContext); + setState(230); + _errHandler->sync(this); + alt = getInterpreter()->adaptivePredict(_input, 30, _ctx); + while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) { + if (alt == 1) { + setState(223); + match(CelParser::COMMA); + setState(224); + antlrcpp::downCast(_localctx)->optExprContext = optExpr(); + antlrcpp::downCast(_localctx)->keys.push_back(antlrcpp::downCast(_localctx)->optExprContext); + setState(225); + antlrcpp::downCast(_localctx)->s21 = match(CelParser::COLON); + antlrcpp::downCast(_localctx)->cols.push_back(antlrcpp::downCast(_localctx)->s21); + setState(226); + antlrcpp::downCast(_localctx)->exprContext = expr(); + antlrcpp::downCast(_localctx)->values.push_back(antlrcpp::downCast(_localctx)->exprContext); + } + setState(232); + _errHandler->sync(this); + alt = getInterpreter()->adaptivePredict(_input, 30, _ctx); + } + + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + + return _localctx; +} + +//----------------- EscapeIdentContext ------------------------------------------------------------------ + +CelParser::EscapeIdentContext::EscapeIdentContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + + +size_t CelParser::EscapeIdentContext::getRuleIndex() const { + return CelParser::RuleEscapeIdent; +} + +void CelParser::EscapeIdentContext::copyFrom(EscapeIdentContext *ctx) { + ParserRuleContext::copyFrom(ctx); +} + +//----------------- EscapedIdentifierContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::EscapedIdentifierContext::ESC_IDENTIFIER() { + return getToken(CelParser::ESC_IDENTIFIER, 0); +} + +CelParser::EscapedIdentifierContext::EscapedIdentifierContext(EscapeIdentContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::EscapedIdentifierContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitEscapedIdentifier(this); + else + return visitor->visitChildren(this); +} +//----------------- SimpleIdentifierContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::SimpleIdentifierContext::IDENTIFIER() { + return getToken(CelParser::IDENTIFIER, 0); +} + +CelParser::SimpleIdentifierContext::SimpleIdentifierContext(EscapeIdentContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::SimpleIdentifierContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitSimpleIdentifier(this); + else + return visitor->visitChildren(this); +} +CelParser::EscapeIdentContext* CelParser::escapeIdent() { + EscapeIdentContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 28, CelParser::RuleEscapeIdent); + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + exitRule(); + }); + try { + setState(235); + _errHandler->sync(this); + switch (_input->LA(1)) { + case CelParser::IDENTIFIER: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 1); + setState(233); + antlrcpp::downCast(_localctx)->id = match(CelParser::IDENTIFIER); + break; + } + + case CelParser::ESC_IDENTIFIER: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 2); + setState(234); + antlrcpp::downCast(_localctx)->id = match(CelParser::ESC_IDENTIFIER); + break; + } + + default: + throw NoViableAltException(this); + } + + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + + return _localctx; +} + +//----------------- OptExprContext ------------------------------------------------------------------ + +CelParser::OptExprContext::OptExprContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + +CelParser::ExprContext* CelParser::OptExprContext::expr() { + return getRuleContext(0); +} + +tree::TerminalNode* CelParser::OptExprContext::QUESTIONMARK() { + return getToken(CelParser::QUESTIONMARK, 0); +} + + +size_t CelParser::OptExprContext::getRuleIndex() const { + return CelParser::RuleOptExpr; +} + + +std::any CelParser::OptExprContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitOptExpr(this); + else + return visitor->visitChildren(this); +} + +CelParser::OptExprContext* CelParser::optExpr() { + OptExprContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 30, CelParser::RuleOptExpr); + size_t _la = 0; + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + exitRule(); + }); + try { + enterOuterAlt(_localctx, 1); + setState(238); + _errHandler->sync(this); + + _la = _input->LA(1); + if (_la == CelParser::QUESTIONMARK) { + setState(237); + antlrcpp::downCast(_localctx)->opt = match(CelParser::QUESTIONMARK); + } + setState(240); + antlrcpp::downCast(_localctx)->e = expr(); + + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + + return _localctx; +} + +//----------------- LiteralContext ------------------------------------------------------------------ + +CelParser::LiteralContext::LiteralContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} + + +size_t CelParser::LiteralContext::getRuleIndex() const { + return CelParser::RuleLiteral; +} + +void CelParser::LiteralContext::copyFrom(LiteralContext *ctx) { + ParserRuleContext::copyFrom(ctx); +} + +//----------------- BytesContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::BytesContext::BYTES() { + return getToken(CelParser::BYTES, 0); +} + +CelParser::BytesContext::BytesContext(LiteralContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::BytesContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitBytes(this); + else + return visitor->visitChildren(this); +} +//----------------- UintContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::UintContext::NUM_UINT() { + return getToken(CelParser::NUM_UINT, 0); +} + +CelParser::UintContext::UintContext(LiteralContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::UintContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitUint(this); + else + return visitor->visitChildren(this); +} +//----------------- NullContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::NullContext::NUL() { + return getToken(CelParser::NUL, 0); +} + +CelParser::NullContext::NullContext(LiteralContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::NullContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitNull(this); + else + return visitor->visitChildren(this); +} +//----------------- BoolFalseContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::BoolFalseContext::CEL_FALSE() { + return getToken(CelParser::CEL_FALSE, 0); +} + +CelParser::BoolFalseContext::BoolFalseContext(LiteralContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::BoolFalseContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitBoolFalse(this); + else + return visitor->visitChildren(this); +} +//----------------- StringContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::StringContext::STRING() { + return getToken(CelParser::STRING, 0); +} + +CelParser::StringContext::StringContext(LiteralContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::StringContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitString(this); + else + return visitor->visitChildren(this); +} +//----------------- DoubleContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::DoubleContext::NUM_FLOAT() { + return getToken(CelParser::NUM_FLOAT, 0); +} + +tree::TerminalNode* CelParser::DoubleContext::MINUS() { + return getToken(CelParser::MINUS, 0); +} + +CelParser::DoubleContext::DoubleContext(LiteralContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::DoubleContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitDouble(this); + else + return visitor->visitChildren(this); +} +//----------------- BoolTrueContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::BoolTrueContext::CEL_TRUE() { + return getToken(CelParser::CEL_TRUE, 0); +} + +CelParser::BoolTrueContext::BoolTrueContext(LiteralContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::BoolTrueContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitBoolTrue(this); + else + return visitor->visitChildren(this); +} +//----------------- IntContext ------------------------------------------------------------------ + +tree::TerminalNode* CelParser::IntContext::NUM_INT() { + return getToken(CelParser::NUM_INT, 0); +} + +tree::TerminalNode* CelParser::IntContext::MINUS() { + return getToken(CelParser::MINUS, 0); +} + +CelParser::IntContext::IntContext(LiteralContext *ctx) { copyFrom(ctx); } + + +std::any CelParser::IntContext::accept(tree::ParseTreeVisitor *visitor) { + if (auto parserVisitor = dynamic_cast(visitor)) + return parserVisitor->visitInt(this); + else + return visitor->visitChildren(this); +} +CelParser::LiteralContext* CelParser::literal() { + LiteralContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 32, CelParser::RuleLiteral); + size_t _la = 0; + +#if __cplusplus > 201703L + auto onExit = finally([=, this] { +#else + auto onExit = finally([=] { +#endif + exitRule(); + }); + try { + setState(256); + _errHandler->sync(this); + switch (getInterpreter()->adaptivePredict(_input, 35, _ctx)) { + case 1: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 1); + setState(243); + _errHandler->sync(this); + + _la = _input->LA(1); + if (_la == CelParser::MINUS) { + setState(242); + antlrcpp::downCast(_localctx)->sign = match(CelParser::MINUS); + } + setState(245); + antlrcpp::downCast(_localctx)->tok = match(CelParser::NUM_INT); + break; + } + + case 2: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 2); + setState(246); + antlrcpp::downCast(_localctx)->tok = match(CelParser::NUM_UINT); + break; + } + + case 3: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 3); + setState(248); + _errHandler->sync(this); + + _la = _input->LA(1); + if (_la == CelParser::MINUS) { + setState(247); + antlrcpp::downCast(_localctx)->sign = match(CelParser::MINUS); + } + setState(250); + antlrcpp::downCast(_localctx)->tok = match(CelParser::NUM_FLOAT); + break; + } + + case 4: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 4); + setState(251); + antlrcpp::downCast(_localctx)->tok = match(CelParser::STRING); + break; + } + + case 5: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 5); + setState(252); + antlrcpp::downCast(_localctx)->tok = match(CelParser::BYTES); + break; + } + + case 6: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 6); + setState(253); + antlrcpp::downCast(_localctx)->tok = match(CelParser::CEL_TRUE); + break; + } + + case 7: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 7); + setState(254); + antlrcpp::downCast(_localctx)->tok = match(CelParser::CEL_FALSE); + break; + } + + case 8: { + _localctx = _tracker.createInstance(_localctx); + enterOuterAlt(_localctx, 8); + setState(255); + antlrcpp::downCast(_localctx)->tok = match(CelParser::NUL); + break; + } + + default: + break; + } + + } + catch (RecognitionException &e) { + _errHandler->reportError(this, e); + _localctx->exception = std::current_exception(); + _errHandler->recover(this, _localctx->exception); + } + + return _localctx; +} + +bool CelParser::sempred(RuleContext *context, size_t ruleIndex, size_t predicateIndex) { + switch (ruleIndex) { + case 4: return relationSempred(antlrcpp::downCast(context), predicateIndex); + case 5: return calcSempred(antlrcpp::downCast(context), predicateIndex); + case 7: return memberSempred(antlrcpp::downCast(context), predicateIndex); + + default: + break; + } + return true; +} + +bool CelParser::relationSempred(RelationContext *_localctx, size_t predicateIndex) { + switch (predicateIndex) { + case 0: return precpred(_ctx, 1); + + default: + break; + } + return true; +} + +bool CelParser::calcSempred(CalcContext *_localctx, size_t predicateIndex) { + switch (predicateIndex) { + case 1: return precpred(_ctx, 2); + case 2: return precpred(_ctx, 1); + + default: + break; + } + return true; +} + +bool CelParser::memberSempred(MemberContext *_localctx, size_t predicateIndex) { + switch (predicateIndex) { + case 3: return precpred(_ctx, 3); + case 4: return precpred(_ctx, 2); + case 5: return precpred(_ctx, 1); + + default: + break; + } + return true; +} + +void CelParser::initialize() { +#if ANTLR4_USE_THREAD_LOCAL_CACHE + celParserInitialize(); +#else + ::antlr4::internal::call_once(celParserOnceFlag, celParserInitialize); +#endif +} diff --git a/crates/protovalidate-rs/gen/parser/internal/CelParser.h b/crates/protovalidate-rs/gen/parser/internal/CelParser.h new file mode 100644 index 00000000..56fd882a --- /dev/null +++ b/crates/protovalidate-rs/gen/parser/internal/CelParser.h @@ -0,0 +1,697 @@ + +// Generated from external/cel-cpp+/parser/internal/Cel.g4 by ANTLR 4.13.2 + +#pragma once + + +#include "antlr4-runtime.h" + + +namespace cel_parser_internal { + + +class CelParser : public antlr4::Parser { +public: + enum { + EQUALS = 1, NOT_EQUALS = 2, IN = 3, LESS = 4, LESS_EQUALS = 5, GREATER_EQUALS = 6, + GREATER = 7, LOGICAL_AND = 8, LOGICAL_OR = 9, LBRACKET = 10, RPRACKET = 11, + LBRACE = 12, RBRACE = 13, LPAREN = 14, RPAREN = 15, DOT = 16, COMMA = 17, + MINUS = 18, EXCLAM = 19, QUESTIONMARK = 20, COLON = 21, PLUS = 22, STAR = 23, + SLASH = 24, PERCENT = 25, CEL_TRUE = 26, CEL_FALSE = 27, NUL = 28, WHITESPACE = 29, + COMMENT = 30, NUM_FLOAT = 31, NUM_INT = 32, NUM_UINT = 33, STRING = 34, + BYTES = 35, IDENTIFIER = 36, ESC_IDENTIFIER = 37 + }; + + enum { + RuleStart = 0, RuleExpr = 1, RuleConditionalOr = 2, RuleConditionalAnd = 3, + RuleRelation = 4, RuleCalc = 5, RuleUnary = 6, RuleMember = 7, RulePrimary = 8, + RuleExprList = 9, RuleListInit = 10, RuleFieldInitializerList = 11, + RuleOptField = 12, RuleMapInitializerList = 13, RuleEscapeIdent = 14, + RuleOptExpr = 15, RuleLiteral = 16 + }; + + explicit CelParser(antlr4::TokenStream *input); + + CelParser(antlr4::TokenStream *input, const antlr4::atn::ParserATNSimulatorOptions &options); + + ~CelParser() override; + + std::string getGrammarFileName() const override; + + const antlr4::atn::ATN& getATN() const override; + + const std::vector& getRuleNames() const override; + + const antlr4::dfa::Vocabulary& getVocabulary() const override; + + antlr4::atn::SerializedATNView getSerializedATN() const override; + + + class StartContext; + class ExprContext; + class ConditionalOrContext; + class ConditionalAndContext; + class RelationContext; + class CalcContext; + class UnaryContext; + class MemberContext; + class PrimaryContext; + class ExprListContext; + class ListInitContext; + class FieldInitializerListContext; + class OptFieldContext; + class MapInitializerListContext; + class EscapeIdentContext; + class OptExprContext; + class LiteralContext; + + class StartContext : public antlr4::ParserRuleContext { + public: + CelParser::ExprContext *e = nullptr; + StartContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + antlr4::tree::TerminalNode *EOF(); + ExprContext *expr(); + + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + + }; + + StartContext* start(); + + class ExprContext : public antlr4::ParserRuleContext { + public: + CelParser::ConditionalOrContext *e = nullptr; + antlr4::Token *op = nullptr; + CelParser::ConditionalOrContext *e1 = nullptr; + CelParser::ExprContext *e2 = nullptr; + ExprContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + std::vector conditionalOr(); + ConditionalOrContext* conditionalOr(size_t i); + antlr4::tree::TerminalNode *COLON(); + antlr4::tree::TerminalNode *QUESTIONMARK(); + ExprContext *expr(); + + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + + }; + + ExprContext* expr(); + + class ConditionalOrContext : public antlr4::ParserRuleContext { + public: + CelParser::ConditionalAndContext *e = nullptr; + antlr4::Token *s9 = nullptr; + std::vector ops; + CelParser::ConditionalAndContext *conditionalAndContext = nullptr; + std::vector e1; + ConditionalOrContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + std::vector conditionalAnd(); + ConditionalAndContext* conditionalAnd(size_t i); + std::vector LOGICAL_OR(); + antlr4::tree::TerminalNode* LOGICAL_OR(size_t i); + + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + + }; + + ConditionalOrContext* conditionalOr(); + + class ConditionalAndContext : public antlr4::ParserRuleContext { + public: + CelParser::RelationContext *e = nullptr; + antlr4::Token *s8 = nullptr; + std::vector ops; + CelParser::RelationContext *relationContext = nullptr; + std::vector e1; + ConditionalAndContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + std::vector relation(); + RelationContext* relation(size_t i); + std::vector LOGICAL_AND(); + antlr4::tree::TerminalNode* LOGICAL_AND(size_t i); + + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + + }; + + ConditionalAndContext* conditionalAnd(); + + class RelationContext : public antlr4::ParserRuleContext { + public: + antlr4::Token *op = nullptr; + RelationContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + CalcContext *calc(); + std::vector relation(); + RelationContext* relation(size_t i); + antlr4::tree::TerminalNode *LESS(); + antlr4::tree::TerminalNode *LESS_EQUALS(); + antlr4::tree::TerminalNode *GREATER_EQUALS(); + antlr4::tree::TerminalNode *GREATER(); + antlr4::tree::TerminalNode *EQUALS(); + antlr4::tree::TerminalNode *NOT_EQUALS(); + antlr4::tree::TerminalNode *IN(); + + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + + }; + + RelationContext* relation(); + RelationContext* relation(int precedence); + class CalcContext : public antlr4::ParserRuleContext { + public: + antlr4::Token *op = nullptr; + CalcContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + UnaryContext *unary(); + std::vector calc(); + CalcContext* calc(size_t i); + antlr4::tree::TerminalNode *STAR(); + antlr4::tree::TerminalNode *SLASH(); + antlr4::tree::TerminalNode *PERCENT(); + antlr4::tree::TerminalNode *PLUS(); + antlr4::tree::TerminalNode *MINUS(); + + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + + }; + + CalcContext* calc(); + CalcContext* calc(int precedence); + class UnaryContext : public antlr4::ParserRuleContext { + public: + UnaryContext(antlr4::ParserRuleContext *parent, size_t invokingState); + + UnaryContext() = default; + void copyFrom(UnaryContext *context); + using antlr4::ParserRuleContext::copyFrom; + + virtual size_t getRuleIndex() const override; + + + }; + + class LogicalNotContext : public UnaryContext { + public: + LogicalNotContext(UnaryContext *ctx); + + antlr4::Token *s19 = nullptr; + std::vector ops; + MemberContext *member(); + std::vector EXCLAM(); + antlr4::tree::TerminalNode* EXCLAM(size_t i); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class MemberExprContext : public UnaryContext { + public: + MemberExprContext(UnaryContext *ctx); + + MemberContext *member(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class NegateContext : public UnaryContext { + public: + NegateContext(UnaryContext *ctx); + + antlr4::Token *s18 = nullptr; + std::vector ops; + MemberContext *member(); + std::vector MINUS(); + antlr4::tree::TerminalNode* MINUS(size_t i); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + UnaryContext* unary(); + + class MemberContext : public antlr4::ParserRuleContext { + public: + MemberContext(antlr4::ParserRuleContext *parent, size_t invokingState); + + MemberContext() = default; + void copyFrom(MemberContext *context); + using antlr4::ParserRuleContext::copyFrom; + + virtual size_t getRuleIndex() const override; + + + }; + + class MemberCallContext : public MemberContext { + public: + MemberCallContext(MemberContext *ctx); + + antlr4::Token *op = nullptr; + antlr4::Token *id = nullptr; + antlr4::Token *open = nullptr; + CelParser::ExprListContext *args = nullptr; + MemberContext *member(); + antlr4::tree::TerminalNode *RPAREN(); + antlr4::tree::TerminalNode *DOT(); + antlr4::tree::TerminalNode *IDENTIFIER(); + antlr4::tree::TerminalNode *LPAREN(); + ExprListContext *exprList(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class SelectContext : public MemberContext { + public: + SelectContext(MemberContext *ctx); + + antlr4::Token *op = nullptr; + antlr4::Token *opt = nullptr; + CelParser::EscapeIdentContext *id = nullptr; + MemberContext *member(); + antlr4::tree::TerminalNode *DOT(); + EscapeIdentContext *escapeIdent(); + antlr4::tree::TerminalNode *QUESTIONMARK(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class PrimaryExprContext : public MemberContext { + public: + PrimaryExprContext(MemberContext *ctx); + + PrimaryContext *primary(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class IndexContext : public MemberContext { + public: + IndexContext(MemberContext *ctx); + + antlr4::Token *op = nullptr; + antlr4::Token *opt = nullptr; + CelParser::ExprContext *index = nullptr; + MemberContext *member(); + antlr4::tree::TerminalNode *RPRACKET(); + antlr4::tree::TerminalNode *LBRACKET(); + ExprContext *expr(); + antlr4::tree::TerminalNode *QUESTIONMARK(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + MemberContext* member(); + MemberContext* member(int precedence); + class PrimaryContext : public antlr4::ParserRuleContext { + public: + PrimaryContext(antlr4::ParserRuleContext *parent, size_t invokingState); + + PrimaryContext() = default; + void copyFrom(PrimaryContext *context); + using antlr4::ParserRuleContext::copyFrom; + + virtual size_t getRuleIndex() const override; + + + }; + + class CreateListContext : public PrimaryContext { + public: + CreateListContext(PrimaryContext *ctx); + + antlr4::Token *op = nullptr; + CelParser::ListInitContext *elems = nullptr; + antlr4::tree::TerminalNode *RPRACKET(); + antlr4::tree::TerminalNode *LBRACKET(); + antlr4::tree::TerminalNode *COMMA(); + ListInitContext *listInit(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class IdentContext : public PrimaryContext { + public: + IdentContext(PrimaryContext *ctx); + + antlr4::Token *leadingDot = nullptr; + antlr4::Token *id = nullptr; + antlr4::tree::TerminalNode *IDENTIFIER(); + antlr4::tree::TerminalNode *DOT(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class ConstantLiteralContext : public PrimaryContext { + public: + ConstantLiteralContext(PrimaryContext *ctx); + + LiteralContext *literal(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class NestedContext : public PrimaryContext { + public: + NestedContext(PrimaryContext *ctx); + + CelParser::ExprContext *e = nullptr; + antlr4::tree::TerminalNode *LPAREN(); + antlr4::tree::TerminalNode *RPAREN(); + ExprContext *expr(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class CreateMessageContext : public PrimaryContext { + public: + CreateMessageContext(PrimaryContext *ctx); + + antlr4::Token *leadingDot = nullptr; + antlr4::Token *identifierToken = nullptr; + std::vector ids; + antlr4::Token *s16 = nullptr; + std::vector ops; + antlr4::Token *op = nullptr; + CelParser::FieldInitializerListContext *entries = nullptr; + antlr4::tree::TerminalNode *RBRACE(); + std::vector IDENTIFIER(); + antlr4::tree::TerminalNode* IDENTIFIER(size_t i); + antlr4::tree::TerminalNode *LBRACE(); + antlr4::tree::TerminalNode *COMMA(); + std::vector DOT(); + antlr4::tree::TerminalNode* DOT(size_t i); + FieldInitializerListContext *fieldInitializerList(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class GlobalCallContext : public PrimaryContext { + public: + GlobalCallContext(PrimaryContext *ctx); + + antlr4::Token *leadingDot = nullptr; + antlr4::Token *id = nullptr; + antlr4::Token *op = nullptr; + CelParser::ExprListContext *args = nullptr; + antlr4::tree::TerminalNode *IDENTIFIER(); + antlr4::tree::TerminalNode *RPAREN(); + antlr4::tree::TerminalNode *LPAREN(); + antlr4::tree::TerminalNode *DOT(); + ExprListContext *exprList(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class CreateMapContext : public PrimaryContext { + public: + CreateMapContext(PrimaryContext *ctx); + + antlr4::Token *op = nullptr; + CelParser::MapInitializerListContext *entries = nullptr; + antlr4::tree::TerminalNode *RBRACE(); + antlr4::tree::TerminalNode *LBRACE(); + antlr4::tree::TerminalNode *COMMA(); + MapInitializerListContext *mapInitializerList(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + PrimaryContext* primary(); + + class ExprListContext : public antlr4::ParserRuleContext { + public: + CelParser::ExprContext *exprContext = nullptr; + std::vector e; + ExprListContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + std::vector expr(); + ExprContext* expr(size_t i); + std::vector COMMA(); + antlr4::tree::TerminalNode* COMMA(size_t i); + + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + + }; + + ExprListContext* exprList(); + + class ListInitContext : public antlr4::ParserRuleContext { + public: + CelParser::OptExprContext *optExprContext = nullptr; + std::vector elems; + ListInitContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + std::vector optExpr(); + OptExprContext* optExpr(size_t i); + std::vector COMMA(); + antlr4::tree::TerminalNode* COMMA(size_t i); + + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + + }; + + ListInitContext* listInit(); + + class FieldInitializerListContext : public antlr4::ParserRuleContext { + public: + CelParser::OptFieldContext *optFieldContext = nullptr; + std::vector fields; + antlr4::Token *s21 = nullptr; + std::vector cols; + CelParser::ExprContext *exprContext = nullptr; + std::vector values; + FieldInitializerListContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + std::vector optField(); + OptFieldContext* optField(size_t i); + std::vector COLON(); + antlr4::tree::TerminalNode* COLON(size_t i); + std::vector expr(); + ExprContext* expr(size_t i); + std::vector COMMA(); + antlr4::tree::TerminalNode* COMMA(size_t i); + + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + + }; + + FieldInitializerListContext* fieldInitializerList(); + + class OptFieldContext : public antlr4::ParserRuleContext { + public: + antlr4::Token *opt = nullptr; + OptFieldContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + EscapeIdentContext *escapeIdent(); + antlr4::tree::TerminalNode *QUESTIONMARK(); + + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + + }; + + OptFieldContext* optField(); + + class MapInitializerListContext : public antlr4::ParserRuleContext { + public: + CelParser::OptExprContext *optExprContext = nullptr; + std::vector keys; + antlr4::Token *s21 = nullptr; + std::vector cols; + CelParser::ExprContext *exprContext = nullptr; + std::vector values; + MapInitializerListContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + std::vector optExpr(); + OptExprContext* optExpr(size_t i); + std::vector COLON(); + antlr4::tree::TerminalNode* COLON(size_t i); + std::vector expr(); + ExprContext* expr(size_t i); + std::vector COMMA(); + antlr4::tree::TerminalNode* COMMA(size_t i); + + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + + }; + + MapInitializerListContext* mapInitializerList(); + + class EscapeIdentContext : public antlr4::ParserRuleContext { + public: + EscapeIdentContext(antlr4::ParserRuleContext *parent, size_t invokingState); + + EscapeIdentContext() = default; + void copyFrom(EscapeIdentContext *context); + using antlr4::ParserRuleContext::copyFrom; + + virtual size_t getRuleIndex() const override; + + + }; + + class EscapedIdentifierContext : public EscapeIdentContext { + public: + EscapedIdentifierContext(EscapeIdentContext *ctx); + + antlr4::Token *id = nullptr; + antlr4::tree::TerminalNode *ESC_IDENTIFIER(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class SimpleIdentifierContext : public EscapeIdentContext { + public: + SimpleIdentifierContext(EscapeIdentContext *ctx); + + antlr4::Token *id = nullptr; + antlr4::tree::TerminalNode *IDENTIFIER(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + EscapeIdentContext* escapeIdent(); + + class OptExprContext : public antlr4::ParserRuleContext { + public: + antlr4::Token *opt = nullptr; + CelParser::ExprContext *e = nullptr; + OptExprContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + ExprContext *expr(); + antlr4::tree::TerminalNode *QUESTIONMARK(); + + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + + }; + + OptExprContext* optExpr(); + + class LiteralContext : public antlr4::ParserRuleContext { + public: + LiteralContext(antlr4::ParserRuleContext *parent, size_t invokingState); + + LiteralContext() = default; + void copyFrom(LiteralContext *context); + using antlr4::ParserRuleContext::copyFrom; + + virtual size_t getRuleIndex() const override; + + + }; + + class BytesContext : public LiteralContext { + public: + BytesContext(LiteralContext *ctx); + + antlr4::Token *tok = nullptr; + antlr4::tree::TerminalNode *BYTES(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class UintContext : public LiteralContext { + public: + UintContext(LiteralContext *ctx); + + antlr4::Token *tok = nullptr; + antlr4::tree::TerminalNode *NUM_UINT(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class NullContext : public LiteralContext { + public: + NullContext(LiteralContext *ctx); + + antlr4::Token *tok = nullptr; + antlr4::tree::TerminalNode *NUL(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class BoolFalseContext : public LiteralContext { + public: + BoolFalseContext(LiteralContext *ctx); + + antlr4::Token *tok = nullptr; + antlr4::tree::TerminalNode *CEL_FALSE(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class StringContext : public LiteralContext { + public: + StringContext(LiteralContext *ctx); + + antlr4::Token *tok = nullptr; + antlr4::tree::TerminalNode *STRING(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class DoubleContext : public LiteralContext { + public: + DoubleContext(LiteralContext *ctx); + + antlr4::Token *sign = nullptr; + antlr4::Token *tok = nullptr; + antlr4::tree::TerminalNode *NUM_FLOAT(); + antlr4::tree::TerminalNode *MINUS(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class BoolTrueContext : public LiteralContext { + public: + BoolTrueContext(LiteralContext *ctx); + + antlr4::Token *tok = nullptr; + antlr4::tree::TerminalNode *CEL_TRUE(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + class IntContext : public LiteralContext { + public: + IntContext(LiteralContext *ctx); + + antlr4::Token *sign = nullptr; + antlr4::Token *tok = nullptr; + antlr4::tree::TerminalNode *NUM_INT(); + antlr4::tree::TerminalNode *MINUS(); + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; + + LiteralContext* literal(); + + + bool sempred(antlr4::RuleContext *_localctx, size_t ruleIndex, size_t predicateIndex) override; + + bool relationSempred(RelationContext *_localctx, size_t predicateIndex); + bool calcSempred(CalcContext *_localctx, size_t predicateIndex); + bool memberSempred(MemberContext *_localctx, size_t predicateIndex); + + // By default the static state used to implement the parser is lazily initialized during the first + // call to the constructor. You can call this function if you wish to initialize the static state + // ahead of time. + static void initialize(); + +private: +}; + +} // namespace cel_parser_internal diff --git a/crates/protovalidate-rs/gen/parser/internal/CelVisitor.cpp b/crates/protovalidate-rs/gen/parser/internal/CelVisitor.cpp new file mode 100644 index 00000000..18224394 --- /dev/null +++ b/crates/protovalidate-rs/gen/parser/internal/CelVisitor.cpp @@ -0,0 +1,9 @@ + +// Generated from external/cel-cpp+/parser/internal/Cel.g4 by ANTLR 4.13.2 + + +#include "CelVisitor.h" + + +using namespace cel_parser_internal; + diff --git a/crates/protovalidate-rs/gen/parser/internal/CelVisitor.h b/crates/protovalidate-rs/gen/parser/internal/CelVisitor.h new file mode 100644 index 00000000..a5a99d20 --- /dev/null +++ b/crates/protovalidate-rs/gen/parser/internal/CelVisitor.h @@ -0,0 +1,98 @@ + +// Generated from external/cel-cpp+/parser/internal/Cel.g4 by ANTLR 4.13.2 + +#pragma once + + +#include "antlr4-runtime.h" +#include "CelParser.h" + + +namespace cel_parser_internal { + +/** + * This class defines an abstract visitor for a parse tree + * produced by CelParser. + */ +class CelVisitor : public antlr4::tree::AbstractParseTreeVisitor { +public: + + /** + * Visit parse trees produced by CelParser. + */ + virtual std::any visitStart(CelParser::StartContext *context) = 0; + + virtual std::any visitExpr(CelParser::ExprContext *context) = 0; + + virtual std::any visitConditionalOr(CelParser::ConditionalOrContext *context) = 0; + + virtual std::any visitConditionalAnd(CelParser::ConditionalAndContext *context) = 0; + + virtual std::any visitRelation(CelParser::RelationContext *context) = 0; + + virtual std::any visitCalc(CelParser::CalcContext *context) = 0; + + virtual std::any visitMemberExpr(CelParser::MemberExprContext *context) = 0; + + virtual std::any visitLogicalNot(CelParser::LogicalNotContext *context) = 0; + + virtual std::any visitNegate(CelParser::NegateContext *context) = 0; + + virtual std::any visitMemberCall(CelParser::MemberCallContext *context) = 0; + + virtual std::any visitSelect(CelParser::SelectContext *context) = 0; + + virtual std::any visitPrimaryExpr(CelParser::PrimaryExprContext *context) = 0; + + virtual std::any visitIndex(CelParser::IndexContext *context) = 0; + + virtual std::any visitIdent(CelParser::IdentContext *context) = 0; + + virtual std::any visitGlobalCall(CelParser::GlobalCallContext *context) = 0; + + virtual std::any visitNested(CelParser::NestedContext *context) = 0; + + virtual std::any visitCreateList(CelParser::CreateListContext *context) = 0; + + virtual std::any visitCreateMap(CelParser::CreateMapContext *context) = 0; + + virtual std::any visitCreateMessage(CelParser::CreateMessageContext *context) = 0; + + virtual std::any visitConstantLiteral(CelParser::ConstantLiteralContext *context) = 0; + + virtual std::any visitExprList(CelParser::ExprListContext *context) = 0; + + virtual std::any visitListInit(CelParser::ListInitContext *context) = 0; + + virtual std::any visitFieldInitializerList(CelParser::FieldInitializerListContext *context) = 0; + + virtual std::any visitOptField(CelParser::OptFieldContext *context) = 0; + + virtual std::any visitMapInitializerList(CelParser::MapInitializerListContext *context) = 0; + + virtual std::any visitSimpleIdentifier(CelParser::SimpleIdentifierContext *context) = 0; + + virtual std::any visitEscapedIdentifier(CelParser::EscapedIdentifierContext *context) = 0; + + virtual std::any visitOptExpr(CelParser::OptExprContext *context) = 0; + + virtual std::any visitInt(CelParser::IntContext *context) = 0; + + virtual std::any visitUint(CelParser::UintContext *context) = 0; + + virtual std::any visitDouble(CelParser::DoubleContext *context) = 0; + + virtual std::any visitString(CelParser::StringContext *context) = 0; + + virtual std::any visitBytes(CelParser::BytesContext *context) = 0; + + virtual std::any visitBoolTrue(CelParser::BoolTrueContext *context) = 0; + + virtual std::any visitBoolFalse(CelParser::BoolFalseContext *context) = 0; + + virtual std::any visitNull(CelParser::NullContext *context) = 0; + + +}; + +} // namespace cel_parser_internal diff --git a/crates/protovalidate-rs/shim/pv_shim.cc b/crates/protovalidate-rs/shim/pv_shim.cc new file mode 100644 index 00000000..f92b99d6 --- /dev/null +++ b/crates/protovalidate-rs/shim/pv_shim.cc @@ -0,0 +1,260 @@ +// Copyright (c) 2023-2026 Buf Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "pv_shim.h" + +#include +#include +#include +#include +#include + +#include "absl/container/flat_hash_set.h" +#include "absl/status/status.h" +#include "absl/strings/str_cat.h" +#include "absl/strings/string_view.h" +#include "absl/status/statusor.h" +#include "absl/synchronization/mutex.h" +#include "buf/validate/validator.h" +#include "google/protobuf/arena.h" +#include "google/protobuf/descriptor.h" +#include "google/protobuf/descriptor.pb.h" +#include "google/protobuf/dynamic_message.h" +#include "google/protobuf/message.h" + +namespace { + +// Collects BuildFile errors so they reach the caller instead of being logged. +// Without one, protobuf writes descriptor errors to ABSL_LOG(ERROR) and +// BuildFile just returns null, which makes bad descriptors hard to diagnose +// from Python. +class StringErrorCollector : public google::protobuf::DescriptorPool::ErrorCollector { + public: + void RecordError(absl::string_view filename, absl::string_view element_name, + const google::protobuf::Message* descriptor, + ErrorLocation location, absl::string_view message) override { + if (!text_.empty()) text_ += "; "; + absl::StrAppend(&text_, filename, ": ", element_name, ": ", message); + } + + const std::string& text() const { return text_; } + + private: + std::string text_; +}; + +char* CopyCString(const std::string& value) { + char* out = static_cast(std::malloc(value.size() + 1)); + if (out == nullptr) return nullptr; + std::memcpy(out, value.data(), value.size() + 1); + return out; +} + +void SetError(char** error, const std::string& message) { + if (error != nullptr) *error = CopyCString(message); +} + +// Classifies a status from Validate, which runs only after CompileRules has +// accepted every message type reachable from the descriptor, so a failure +// here happened while rules were being evaluated. The mapping mirrors +// protovalidate-cc's own conformance runner, in +// buf/validate/conformance/runner.cc: InvalidArgument means a rule failed +// while being evaluated. FailedPrecondition means compilation, reachable +// only for types CompileRules cannot see ahead of time, such as a message +// unpacked out of an Any. +int ClassifyStatus(const absl::Status& status) { + switch (status.code()) { + case absl::StatusCode::kInvalidArgument: + return PV_ERR_RUNTIME; + case absl::StatusCode::kFailedPrecondition: + return PV_ERR_COMPILATION; + default: + return PV_ERR_UNEXPECTED; + } +} + +// Compiles the rules of a message type and every message type reachable from +// its fields. +// +// Rules otherwise compile lazily inside Validate, and protovalidate-cc +// reports some compile-time failures with the same status code as runtime +// CEL failures (NewFieldRules in buf/validate/internal/field_rules.cc returns +// InvalidArgument for a rule whose type does not match its field), so the +// status of Validate alone cannot tell the two apart. Compiling ahead keeps +// the phases separate: a failure here is a compilation error, classified as +// such. +// +// The walk cannot rely on Add's own field recursion: Add returns a cached +// per-descriptor status without revisiting fields, so once a type has +// compiled cleanly, only walking the fields here resurfaces an error cached +// for one of its nested types. `seen` breaks recursion cycles. +absl::Status CompileRules( + buf::validate::ValidatorFactory& factory, + const google::protobuf::Descriptor* descriptor, + absl::flat_hash_set& seen) { + if (!seen.insert(descriptor).second) return absl::OkStatus(); + if (absl::Status status = factory.Add(descriptor); !status.ok()) { + return status; + } + for (int i = 0; i < descriptor->field_count(); i++) { + const google::protobuf::FieldDescriptor* field = descriptor->field(i); + if (field->cpp_type() != google::protobuf::FieldDescriptor::CPPTYPE_MESSAGE) { + continue; + } + if (absl::Status status = CompileRules(factory, field->message_type(), seen); + !status.ok()) { + return status; + } + } + return absl::OkStatus(); +} + +} // namespace + +// The pool is an overlay on the descriptors compiled into this extension +// (well-known types plus buf.validate), so the rule extensions protovalidate-cc +// reads always match the C++ types it was built against, and user files are +// only consulted for names the underlay does not define. +// +// Files are added with BuildFile rather than by feeding a DescriptorDatabase. +// A database-backed pool would be the more usual choice, but protobuf requires +// that such a database not be mutated during the pool's lifetime -- "changes to +// the content of the DescriptorDatabase may not be reflected in subsequent +// lookups" -- and this engine learns about descriptors incrementally, as Python +// encounters new message types. BuildFile on an overlay pool is the supported +// way to add files after construction; it is what python-protobuf's own +// DescriptorPool.Add does. +// +// The consequence for callers: a file's imports must be added before the file +// itself, since BuildFile resolves dependencies eagerly. +struct pv_engine { + pv_engine() + : pool(google::protobuf::DescriptorPool::generated_pool()), + message_factory(&pool) {} + + google::protobuf::DescriptorPool pool; + google::protobuf::DynamicMessageFactory message_factory; + std::unique_ptr validator_factory; + // Message types whose reachable rules have compiled cleanly, so the steady + // state skips the CompileRules walk. Types that failed stay out and are + // walked again, keeping the error a compilation error on every call. + absl::Mutex compiled_mutex; + absl::flat_hash_set compiled + ABSL_GUARDED_BY(compiled_mutex); +}; + +extern "C" { + +pv_engine* pv_engine_new(char** error) { + auto engine = std::make_unique(); + auto factory = buf::validate::ValidatorFactory::New(); + if (!factory.ok()) { + SetError(error, std::string(factory.status().message())); + return nullptr; + } + engine->validator_factory = std::move(*factory); + engine->validator_factory->SetMessageFactory(&engine->message_factory, + &engine->pool); + return engine.release(); +} + +void pv_engine_free(pv_engine* engine) { delete engine; } + +int pv_engine_add_file(pv_engine* engine, const uint8_t* file_descriptor_proto, + size_t len, char** error) { + google::protobuf::FileDescriptorProto proto; + if (!proto.ParseFromArray(file_descriptor_proto, static_cast(len))) { + SetError(error, "could not parse FileDescriptorProto"); + return PV_ERR_ARGUMENT; + } + // Already known, either from the linked-in descriptors or a previous add. + // Callers may re-send descriptors without tracking what we have seen. + if (engine->pool.FindFileByName(proto.name()) != nullptr) return PV_OK; + + StringErrorCollector collector; + if (engine->pool.BuildFileCollectingErrors(proto, &collector) == nullptr) { + std::string message = "could not add " + proto.name() + " to descriptor pool"; + if (!collector.text().empty()) message += ": " + collector.text(); + SetError(error, message); + return PV_ERR_ARGUMENT; + } + return PV_OK; +} + +int pv_engine_validate(pv_engine* engine, const char* type_name, + size_t type_name_len, const uint8_t* payload, + size_t payload_len, int fail_fast, uint8_t** out, + size_t* out_len, char** error) { + absl::string_view name(type_name, type_name_len); + const google::protobuf::Descriptor* descriptor = + engine->pool.FindMessageTypeByName(name); + if (descriptor == nullptr) { + SetError(error, absl::StrCat("unknown message type: ", name)); + return PV_ERR_ARGUMENT; + } + + bool known; + { + absl::ReaderMutexLock lock(&engine->compiled_mutex); + known = engine->compiled.contains(descriptor); + } + if (!known) { + absl::flat_hash_set seen; + absl::Status compiled = + CompileRules(*engine->validator_factory, descriptor, seen); + if (!compiled.ok()) { + SetError(error, std::string(compiled.message())); + return PV_ERR_COMPILATION; + } + absl::WriterMutexLock lock(&engine->compiled_mutex); + engine->compiled.insert(descriptor); + } + + google::protobuf::Arena arena; + google::protobuf::Message* message = + engine->message_factory.GetPrototype(descriptor)->New(&arena); + if (!message->ParseFromArray(payload, static_cast(payload_len))) { + SetError(error, absl::StrCat("could not parse payload as ", name)); + return PV_ERR_ARGUMENT; + } + + auto validator = + engine->validator_factory->NewValidator(&arena, fail_fast != 0); + auto result = validator.Validate(*message); + if (!result.ok()) { + SetError(error, std::string(result.status().message())); + return ClassifyStatus(result.status()); + } + + // Serialized straight into the output buffer; the +1 keeps the allocation + // nonzero (and the pointer meaningful) when there are no violations. + size_t size = result->proto().ByteSizeLong(); + uint8_t* buffer = static_cast(std::malloc(size + 1)); + if (buffer == nullptr) { + SetError(error, "out of memory"); + return PV_ERR_RUNTIME; + } + if (!result->proto().SerializeToArray(buffer, static_cast(size))) { + std::free(buffer); + SetError(error, "could not serialize violations"); + return PV_ERR_RUNTIME; + } + *out = buffer; + *out_len = size; + return PV_OK; +} + +void pv_free(void* ptr) { std::free(ptr); } + +} // extern "C" diff --git a/crates/protovalidate-rs/shim/pv_shim.h b/crates/protovalidate-rs/shim/pv_shim.h new file mode 100644 index 00000000..8c15c83e --- /dev/null +++ b/crates/protovalidate-rs/shim/pv_shim.h @@ -0,0 +1,84 @@ +// Copyright (c) 2023-2026 Buf Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// C ABI over protovalidate-cc. Nothing but bytes and primitives crosses this +// boundary: descriptors arrive as serialized google.protobuf.FileDescriptorProto, +// payloads as serialized messages, results as a serialized +// buf.validate.Violations. + +#ifndef PROTOVALIDATE_EXT_PV_SHIM_H_ +#define PROTOVALIDATE_EXT_PV_SHIM_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct pv_engine pv_engine; + +// Status codes returned by the fallible entry points. The Python layer maps +// these onto exception types, and the conformance harness buckets results by +// exception type, so the compilation/runtime distinction is observable +// behaviour rather than an internal detail. +enum { + PV_OK = 0, + PV_ERR_COMPILATION = 1, // rules could not be compiled + PV_ERR_RUNTIME = 2, // a rule failed while being evaluated + PV_ERR_ARGUMENT = 3, // bad descriptor / unknown type / unparsable payload + PV_ERR_UNEXPECTED = 4, // a status protovalidate-cc does not otherwise use +}; + +// Creates an engine: a descriptor pool layered over the descriptors linked into +// this extension (well-known types and buf.validate), a dynamic message +// factory, and a protovalidate ValidatorFactory bound to both. +// +// On failure returns NULL and, if `error` is non-NULL, stores a malloc'd +// message in *error which the caller must release with pv_free. +pv_engine* pv_engine_new(char** error); + +void pv_engine_free(pv_engine* engine); + +// Adds one serialized FileDescriptorProto to the engine's pool. Adding a file +// whose name is already known is a no-op success, so callers may re-send +// descriptors without tracking what the engine has seen. +// +// Files may reference imports that have not been added yet; the pool is +// database-backed and resolves lazily when a type is first looked up. +int pv_engine_add_file(pv_engine* engine, const uint8_t* file_descriptor_proto, + size_t len, char** error); + +// Validates `payload`, a serialized message of the fully-qualified type named +// by `type_name` and `type_name_len`. The name need not be NUL-terminated: +// the pool lookup takes a string view, so callers pass their own string +// storage directly. +// +// On PV_OK, *out receives a malloc'd buffer of length *out_len holding a +// serialized buf.validate.Violations — empty when the message is valid. The +// caller must release it with pv_free. On failure returns one of the +// PV_ERR_* codes and stores a malloc'd message in *error. +int pv_engine_validate(pv_engine* engine, const char* type_name, + size_t type_name_len, const uint8_t* payload, + size_t payload_len, int fail_fast, uint8_t** out, + size_t* out_len, char** error); + +// Releases a buffer returned by pv_engine_validate or an error string. +void pv_free(void* ptr); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // PROTOVALIDATE_EXT_PV_SHIM_H_ diff --git a/crates/protovalidate-rs/src/lib.rs b/crates/protovalidate-rs/src/lib.rs new file mode 100644 index 00000000..832e78f6 --- /dev/null +++ b/crates/protovalidate-rs/src/lib.rs @@ -0,0 +1,176 @@ +//! Safe interface to the C shim over protovalidate-cc. +//! +//! The raw ABI mirrors `shim/pv_shim.h`, which this crate's build script +//! compiles together with the protovalidate-cc sources, and stays private: +//! [`Engine`] is the API. + +use std::ffi::{CStr, c_char, c_int}; +use std::ptr; + +const PV_OK: c_int = 0; +const PV_ERR_COMPILATION: c_int = 1; +const PV_ERR_RUNTIME: c_int = 2; +const PV_ERR_ARGUMENT: c_int = 3; +const PV_ERR_UNEXPECTED: c_int = 4; + +/// Opaque raw engine handle. +#[repr(C)] +struct PvEngine { + _opaque: [u8; 0], +} + +unsafe extern "C" { + fn pv_engine_new(error: *mut *mut c_char) -> *mut PvEngine; + fn pv_engine_free(engine: *mut PvEngine); + fn pv_engine_add_file( + engine: *mut PvEngine, + file_descriptor_proto: *const u8, + len: usize, + error: *mut *mut c_char, + ) -> c_int; + fn pv_engine_validate( + engine: *mut PvEngine, + type_name: *const c_char, + type_name_len: usize, + payload: *const u8, + payload_len: usize, + fail_fast: c_int, + out: *mut *mut u8, + out_len: *mut usize, + error: *mut *mut c_char, + ) -> c_int; + fn pv_free(ptr: *mut u8); +} + +/// An engine failure, classified by the shim's status code. +pub enum PvError { + Compilation(String), + Evaluation(String), + Argument(String), + Unexpected(String), + Unknown(i32, String), +} + +/// Takes ownership of a shim-allocated error string. +unsafe fn take_error(error: *mut c_char) -> String { + if error.is_null() { + return "unknown error".to_owned(); + } + let message = unsafe { CStr::from_ptr(error) } + .to_string_lossy() + .into_owned(); + unsafe { pv_free(error.cast()) }; + message +} + +/// Takes ownership of a shim-allocated error string, classified by `code`. +unsafe fn status_error(code: c_int, error: *mut c_char) -> PvError { + let message = unsafe { take_error(error) }; + match code { + PV_ERR_COMPILATION => PvError::Compilation(message), + PV_ERR_RUNTIME => PvError::Evaluation(message), + PV_ERR_ARGUMENT => PvError::Argument(message), + PV_ERR_UNEXPECTED => PvError::Unexpected(message), + code => PvError::Unknown(code, message), + } +} + +/// The C++ engine. +pub struct Engine(*mut PvEngine); + +// SAFETY: the engine has no thread affinity, so it may move between threads. +unsafe impl Send for Engine {} +// SAFETY: protovalidate-cc documents `validate` as thread-safe, while `add_file` requires exclusive access. +unsafe impl Sync for Engine {} + +impl Engine { + pub fn new() -> Result { + let mut error: *mut c_char = ptr::null_mut(); + let engine = unsafe { pv_engine_new(&raw mut error) }; + if engine.is_null() { + return Err(unsafe { take_error(error) }); + } + Ok(Self(engine)) + } + + /// Adds a serialized `FileDescriptorProto` to the engine's pool. + pub fn add_file(&mut self, bytes: &[u8]) -> Result<(), PvError> { + let mut error: *mut c_char = ptr::null_mut(); + let code = + unsafe { pv_engine_add_file(self.0, bytes.as_ptr(), bytes.len(), &raw mut error) }; + if code == PV_OK { + Ok(()) + } else { + Err(unsafe { status_error(code, error) }) + } + } + + /// Validates a serialized message against the rules of `type_name`, + /// returning the serialized `buf.validate.Violations`, or `None` when the + /// message is valid. + pub fn validate( + &self, + type_name: &str, + payload: &[u8], + fail_fast: bool, + ) -> Result, PvError> { + let mut error: *mut c_char = ptr::null_mut(); + let mut out: *mut u8 = ptr::null_mut(); + let mut out_len: usize = 0; + let code = unsafe { + pv_engine_validate( + self.0, + // The shim takes pointer + length -- the pool lookup is an + // absl::string_view -- so the name needs no NUL terminator + // and no copy. + type_name.as_ptr().cast::(), + type_name.len(), + payload.as_ptr(), + payload.len(), + c_int::from(fail_fast), + &raw mut out, + &raw mut out_len, + &raw mut error, + ) + }; + if code != PV_OK { + return Err(unsafe { status_error(code, error) }); + } + if out_len == 0 { + unsafe { pv_free(out) }; + return Ok(None); + } + Ok(Some(PvBuffer { + ptr: out, + len: out_len, + })) + } +} + +impl Drop for Engine { + fn drop(&mut self) { + unsafe { pv_engine_free(self.0) }; + } +} + +/// A byte buffer owned by the shim, freed on drop. +pub struct PvBuffer { + ptr: *mut u8, + len: usize, +} + +// SAFETY: exclusively owned, never aliased. +unsafe impl Send for PvBuffer {} + +impl PvBuffer { + pub fn as_slice(&self) -> &[u8] { + // SAFETY: the shim wrote `len` initialized bytes, owned until drop. + unsafe { std::slice::from_raw_parts(self.ptr, self.len) } + } +} + +impl Drop for PvBuffer { + fn drop(&mut self) { + unsafe { pv_free(self.ptr) }; + } +} diff --git a/crates/protovalidate-rs/third_party/abseil-cpp b/crates/protovalidate-rs/third_party/abseil-cpp new file mode 160000 index 00000000..d407ef12 --- /dev/null +++ b/crates/protovalidate-rs/third_party/abseil-cpp @@ -0,0 +1 @@ +Subproject commit d407ef122a08203648451e0fec77b3f868b71112 diff --git a/crates/protovalidate-rs/third_party/antlr4 b/crates/protovalidate-rs/third_party/antlr4 new file mode 160000 index 00000000..cc82115a --- /dev/null +++ b/crates/protovalidate-rs/third_party/antlr4 @@ -0,0 +1 @@ +Subproject commit cc82115a4e7f53d71d9d905caa2c2dfa4da58899 diff --git a/crates/protovalidate-rs/third_party/cel-cpp b/crates/protovalidate-rs/third_party/cel-cpp new file mode 160000 index 00000000..f8ed1bdd --- /dev/null +++ b/crates/protovalidate-rs/third_party/cel-cpp @@ -0,0 +1 @@ +Subproject commit f8ed1bdd658435dee2de9dfd7712a57cf5fe07f2 diff --git a/crates/protovalidate-rs/third_party/protobuf b/crates/protovalidate-rs/third_party/protobuf new file mode 160000 index 00000000..edaa823d --- /dev/null +++ b/crates/protovalidate-rs/third_party/protobuf @@ -0,0 +1 @@ +Subproject commit edaa823d8b36a8656d7b2b9241b7d0bfe50af878 diff --git a/crates/protovalidate-rs/third_party/protovalidate-cc b/crates/protovalidate-rs/third_party/protovalidate-cc new file mode 160000 index 00000000..5f8219d2 --- /dev/null +++ b/crates/protovalidate-rs/third_party/protovalidate-cc @@ -0,0 +1 @@ +Subproject commit 5f8219d280b4ad65abd0adcd17b50d0ed30d2406 diff --git a/crates/protovalidate-rs/third_party/re2 b/crates/protovalidate-rs/third_party/re2 new file mode 160000 index 00000000..927f5d53 --- /dev/null +++ b/crates/protovalidate-rs/third_party/re2 @@ -0,0 +1 @@ +Subproject commit 927f5d53caf8111721e734cf24724686bb745f55 diff --git a/poe_tasks.toml b/poe_tasks.toml index e4d8278c..578be13c 100644 --- a/poe_tasks.toml +++ b/poe_tasks.toml @@ -31,6 +31,7 @@ cmd = "uv run --group docs zensical serve" sequence = [ "generate-cel", "generate-protovalidate", + "generate-stub", "generate-test", "format-license-header", "format-protos", @@ -42,6 +43,21 @@ script = "scripts.generate_cel:main" [tasks.generate-protovalidate] script = "scripts.generate_protovalidate:main" +[tasks.generate-stub] +help = "Generate the native extension's type stub from pyo3 introspection" +sequence = [ + # We use the release profile to prevent compile cache churn from executing + # this and the standard build, but need to make sure to disable stripping + # which is needed for generation. Since it's a link argument, it doesn't + # affect compile caching. + { cmd = "maturin generate-stubs --profile release --out protovalidate", env = { CARGO_PROFILE_RELEASE_STRIP = "none" } }, + "format-license-header", + # Unsafe fixes are docstring rewrites (trailing whitespace, one-lining); + # safe on a generated file whose docstrings come from Rust doc comments. + { cmd = "ruff check --fix --unsafe-fixes protovalidate/_protovalidate.pyi" }, + { cmd = "ruff format protovalidate/_protovalidate.pyi" }, +] + [tasks.generate-test] sequence = [ { script = "poethepoet.scripts:rm('test/gen/tests')" }, @@ -49,11 +65,16 @@ sequence = [ { cmd = "fix-protobuf-imports test/gen" }, ] +[tasks.generate-vendored] +help = "Generate vendored sources for the native extension" +script = "scripts.extract_native_sources:main" + [tasks.format] help = "Apply all possible auto-formatting to files" sequence = [ "format-python", "format-protos", + "format-rust", "format-toml", "format-license-header" ] @@ -76,6 +97,13 @@ sequence = [ { cmd = "ruff format" } ] +[tasks.format-rust] +help = "Format native extension code" +sequence = [ + { cmd = "cargo clippy --fix --allow-dirty" }, + { cmd = "cargo fmt" }, +] + [tasks.format-toml] help = "Apply formatting to TOML files" cmd = "tombi format" @@ -85,6 +113,7 @@ help = "Apply all possible linting to files" sequence = [ "lint-python", "lint-protos", + "lint-rust", "lint-toml", "lint-license-header", { cmd = "uv lock --check" } @@ -101,6 +130,13 @@ sequence = [ { cmd = "buf format -d --exit-code", cwd = "test" }, ] +[tasks.lint-rust] +help = "Lint native extension code" +sequence = [ + { cmd = "cargo clippy" }, + { cmd = "cargo fmt --check" }, +] + [tasks.lint-python] help = "Apply linting to Python files" sequence = [ diff --git a/protovalidate/__init__.py b/protovalidate/__init__.py index 3068ddb7..43045aa5 100644 --- a/protovalidate/__init__.py +++ b/protovalidate/__init__.py @@ -12,20 +12,27 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""The semantic validation library for Protobuf in Python.""" +"""The semantic validation library for Protobuf in Python. + +Validation is performed by protovalidate-cc, compiled into the +``protovalidate._protovalidate`` extension module. Apart from +``ValidationError``, which PyO3 cannot define while ``abi3`` is enabled, +everything here is implemented natively and re-exported at the path it has +always had. +""" from __future__ import annotations from typing import TYPE_CHECKING -from protovalidate._core import Violation -from protovalidate._gen.buf.validate.validate_pb import ( +from ._errors import CompilationError, EvaluationError, ValidationError +from ._gen.buf.validate.validate_pb import ( FieldPath as FieldPathPb, FieldPathElement as FieldPathElementPb, Violation as ViolationPb, Violations as ViolationsPb, ) -from protovalidate._validator import CompilationError, ValidationError, Validator +from ._protovalidate import Validator, Violation if TYPE_CHECKING: from google.protobuf import message as google_message @@ -45,6 +52,7 @@ def validate( Raises: CompilationError: If the static rules could not be compiled. + EvaluationError: If a rule failed while being evaluated. ValidationError: If the message is invalid. The violations raised as part of this error should always be equal to the list of violations returned by `collect_violations`. """ @@ -65,12 +73,14 @@ def collect_violations( Raises: CompilationError: If the static rules could not be compiled. + EvaluationError: If a rule failed while being evaluated. """ return _default_validator.collect_violations(message, fail_fast=fail_fast) __all__ = [ "CompilationError", + "EvaluationError", "FieldPathElementPb", "FieldPathPb", "ValidationError", diff --git a/protovalidate/_backend.py b/protovalidate/_backend.py deleted file mode 100644 index 03aeb18a..00000000 --- a/protovalidate/_backend.py +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Which CEL backend is available.""" - -from __future__ import annotations - - -def _detect() -> bool: - try: - import cel_expr_python # noqa: F401, PLC0415 - import google.protobuf.message # noqa: F401, PLC0415 - except ImportError: - return False - return True - - -CEL_EXPR_AVAILABLE = _detect() diff --git a/protovalidate/_cel_field_presence.py b/protovalidate/_cel_field_presence.py deleted file mode 100644 index 36534a94..00000000 --- a/protovalidate/_cel_field_presence.py +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import annotations - -import threading -from typing import TYPE_CHECKING - -import celpy -import celpy.celtypes - -if TYPE_CHECKING: - from lark import Tree - -_has_state = threading.local() - - -def in_has() -> bool: - """Returns true if inside of CEL interpreter `has` macro. - - This enables working around an issue in cel-python where it is not possible - to implement protobuf semantics around the `has` macro. - - https://github.com/cloud-custodian/cel-python/issues/73 - """ - return getattr(_has_state, "in_has", False) - - -class InterpretedRunner(celpy.InterpretedRunner): - def evaluate(self, context: celpy.Context) -> celpy.celtypes.Value: - class Evaluator(celpy.Evaluator): - def macro_has_eval(self, exprlist: Tree) -> celpy.celtypes.BoolType: - _has_state.in_has = True - result = super().macro_has_eval(exprlist) - _has_state.in_has = False - return result - - e = Evaluator(ast=self.ast, activation=self.new_activation()) - return e.evaluate(context) diff --git a/protovalidate/_celexpr/_utils.py b/protovalidate/_celexpr/_utils.py deleted file mode 100644 index a995c525..00000000 --- a/protovalidate/_celexpr/_utils.py +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -from __future__ import annotations - -from google.protobuf import descriptor as google_descriptor - -# protobuf 7+ removed FieldDescriptor.label / LABEL_REPEATED in favour of is_repeated. -_FieldDescriptorClass = google_descriptor.FieldDescriptor -if hasattr(_FieldDescriptorClass, "is_repeated"): - - def is_repeated(field: google_descriptor.FieldDescriptor) -> bool: - return field.is_repeated - -else: - - def is_repeated(field: google_descriptor.FieldDescriptor) -> bool: - return field.label == google_descriptor.FieldDescriptor.LABEL_REPEATED diff --git a/protovalidate/_celexpr/bridge.py b/protovalidate/_celexpr/bridge.py deleted file mode 100644 index 5128f771..00000000 --- a/protovalidate/_celexpr/bridge.py +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Bridges protobuf-py messages into google.protobuf for cel-expr-python.""" - -from __future__ import annotations - -from typing import TYPE_CHECKING - -from google.protobuf import ( - descriptor_pb2 as google_descriptor_pb2, - descriptor_pool as google_descriptor_pool, - message as google_message, - message_factory as google_message_factory, -) - -if TYPE_CHECKING: - import protobuf - from protobuf import DescFile, DescMessage - - -class GoogleBridge: - """Bridges from protobuf-py messages to google.protobuf for use with cel-expr-python.""" - - def __init__(self) -> None: - self._pool: google_descriptor_pool.DescriptorPool = ( - google_descriptor_pool.Default() - ) - self._mirrored: set[str] = set() - self._classes: dict[str, type[google_message.Message]] = {} - - def _mirror_file(self, desc_file: DescFile) -> None: - """Registers a protobuf-py DescFile and deps into the google pool.""" - if desc_file.name in self._mirrored: - return - self._mirrored.add(desc_file.name) - for dep in desc_file.dependencies: - self._mirror_file(dep) - try: - self._pool.FindFileByName(desc_file.name) - except KeyError: - proto = google_descriptor_pb2.FileDescriptorProto.FromString( - desc_file.proto.to_binary() - ) - self._pool.Add(proto) - - def google_class(self, desc: DescMessage) -> type[google_message.Message]: - """The google message class mirroring a protobuf-py DescMessage.""" - cls = self._classes.get(desc.type_name) - if cls is None: - self._mirror_file(desc.file) - google_desc = self._pool.FindMessageTypeByName(desc.type_name) - cls = google_message_factory.GetMessageClass(google_desc) - self._classes[desc.type_name] = cls - return cls - - def to_google(self, msg: protobuf.Message) -> google_message.Message: - """Re-creates a protobuf-py message as a google.protobuf message.""" - bridged = self.google_class(type(msg).desc())() - bridged.ParseFromString(msg.to_binary()) - return bridged diff --git a/protovalidate/_celexpr/extra_func.py b/protovalidate/_celexpr/extra_func.py deleted file mode 100644 index e03c7198..00000000 --- a/protovalidate/_celexpr/extra_func.py +++ /dev/null @@ -1,292 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""cel-expr-python registration for protovalidate's custom CEL functions.""" - -from __future__ import annotations - -from cel_expr_python import cel -from google.protobuf import ( - descriptor as google_descriptor, - message as google_message, - wrappers_pb2 as google_wrappers_pb2, -) - -from protovalidate import _funcs - -from ._utils import is_repeated - - -def cel_get_field(message: object, field_name: object) -> object: - if not isinstance(message, google_message.Message): - msg = "invalid argument, expected message" - raise TypeError(msg) - if not isinstance(field_name, str): - msg = "invalid argument, expected string" - raise TypeError(msg) - if field_name not in message.DESCRIPTOR.fields_by_name: - msg = f"no such field: {field_name}" - raise ValueError(msg) - field = message.DESCRIPTOR.fields_by_name[field_name] - value = getattr(message, field.name) - if field.message_type is not None and field.message_type.GetOptions().map_entry: - return dict(value) - if is_repeated(field): - return list(value) - if field.type == google_descriptor.FieldDescriptor.TYPE_BYTES: - # Route bytes through BytesValue so the value is owned by the runtime; - # raw Python bytes returns are corrupted by a runtime conversion bug. - return google_wrappers_pb2.BytesValue(value=value) - return value - - -def cel_unique(val: object) -> bool: - if not isinstance(val, list): - msg = "invalid argument, expected list" - raise TypeError(msg) - # Track seen values keyed by (type, value) so that distinct CEL types that - # are equal in Python (notably bool vs int: ``True == 1``) are not treated - # as duplicates, and so that bytes are never confused with strings. - seen: set = set() - for item in val: - # The runtime hands bytes values to Python as (unhashable) bytearrays. - hashable = bytes(item) if isinstance(item, bytearray) else item - key = (type(hashable), hashable) - if key in seen: - return False - seen.add(key) - return True - - -def _bytes_starts_with(value: object, prefix: object) -> bool: - return bytes(value).startswith(bytes(prefix)) # ty: ignore[invalid-argument-type] - - -def _bytes_ends_with(value: object, suffix: object) -> bool: - return bytes(value).endswith(bytes(suffix)) # ty: ignore[invalid-argument-type] - - -def _bytes_contains(value: object, sub: object) -> bool: - return bytes(sub) in bytes(value) # ty: ignore[invalid-argument-type] - - -def make_extension() -> cel.CelExtension: - """Build the CEL extension with protovalidate's custom functions. - - ``matches`` is not registered: the cel-cpp runtime already evaluates it - with RE2, which is the engine the protovalidate spec requires. ``format`` - comes from the bundled strings extension. The bytes overloads of - ``startsWith``/``endsWith``/``contains`` are protovalidate additions to - the standard string-only functions. - """ - _b, _s, _i, _d, _l, _dyn = ( - cel.Type.BOOL, - cel.Type.STRING, - cel.Type.INT, - cel.Type.DOUBLE, - cel.Type.LIST, - cel.Type.DYN, - ) - return cel.CelExtension( - "protovalidate", - [ - cel.FunctionDecl( - "getField", - [cel.Overload("get_field", _dyn, [_dyn, _s], impl=cel_get_field)], - ), - cel.FunctionDecl( - "isNan", - [ - cel.Overload( - "double_is_nan", - _b, - [_d], - is_member=True, - impl=_funcs.cel_is_nan, - ) - ], - ), - cel.FunctionDecl( - "isInf", - [ - cel.Overload( - "double_is_inf", - _b, - [_d], - is_member=True, - impl=_funcs.cel_is_inf, - ), - cel.Overload( - "double_int_is_inf", - _b, - [_d, _i], - is_member=True, - impl=_funcs.cel_is_inf, - ), - ], - ), - cel.FunctionDecl( - "isIp", - [ - cel.Overload( - "string_is_ip", _b, [_s], is_member=True, impl=_funcs.cel_is_ip - ), - cel.Overload( - "string_int_is_ip", - _b, - [_s, _i], - is_member=True, - impl=_funcs.cel_is_ip, - ), - ], - ), - cel.FunctionDecl( - "isIpPrefix", - [ - cel.Overload( - "string_is_ip_prefix", - _b, - [_s], - is_member=True, - impl=_funcs.cel_is_ip_prefix, - ), - cel.Overload( - "string_int_is_ip_prefix", - _b, - [_s, _i], - is_member=True, - impl=_funcs.cel_is_ip_prefix, - ), - cel.Overload( - "string_bool_is_ip_prefix", - _b, - [_s, _b], - is_member=True, - impl=_funcs.cel_is_ip_prefix, - ), - cel.Overload( - "string_int_bool_is_ip_prefix", - _b, - [_s, _i, _b], - is_member=True, - impl=_funcs.cel_is_ip_prefix, - ), - ], - ), - cel.FunctionDecl( - "isEmail", - [ - cel.Overload( - "string_is_email", - _b, - [_s], - is_member=True, - impl=_funcs.cel_is_email, - ) - ], - ), - cel.FunctionDecl( - "isUri", - [ - cel.Overload( - "string_is_uri", - _b, - [_s], - is_member=True, - impl=_funcs.cel_is_uri, - ) - ], - ), - cel.FunctionDecl( - "isUriRef", - [ - cel.Overload( - "string_is_uri_ref", - _b, - [_s], - is_member=True, - impl=_funcs.cel_is_uri_ref, - ) - ], - ), - cel.FunctionDecl( - "isHostname", - [ - cel.Overload( - "string_is_hostname", - _b, - [_s], - is_member=True, - impl=_funcs.cel_is_hostname, - ) - ], - ), - cel.FunctionDecl( - "isHostAndPort", - [ - cel.Overload( - "string_bool_is_host_and_port", - _b, - [_s, _b], - is_member=True, - impl=_funcs.cel_is_host_and_port, - ) - ], - ), - cel.FunctionDecl( - "unique", - [ - cel.Overload( - "list_unique", _b, [_l], is_member=True, impl=cel_unique - ) - ], - ), - cel.FunctionDecl( - "startsWith", - [ - cel.Overload( - "bytes_starts_with", - _b, - [cel.Type.BYTES, cel.Type.BYTES], - is_member=True, - impl=_bytes_starts_with, - ) - ], - ), - cel.FunctionDecl( - "endsWith", - [ - cel.Overload( - "bytes_ends_with", - _b, - [cel.Type.BYTES, cel.Type.BYTES], - is_member=True, - impl=_bytes_ends_with, - ) - ], - ), - cel.FunctionDecl( - "contains", - [ - cel.Overload( - "bytes_contains", - _b, - [cel.Type.BYTES, cel.Type.BYTES], - is_member=True, - impl=_bytes_contains, - ) - ], - ), - ], - ) diff --git a/protovalidate/_celexpr/rules.py b/protovalidate/_celexpr/rules.py deleted file mode 100644 index 7c84d55d..00000000 --- a/protovalidate/_celexpr/rules.py +++ /dev/null @@ -1,1214 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""The rule engine.""" - -from __future__ import annotations - -import dataclasses -import datetime -import functools -import typing - -import protobuf -from cel_expr_python import cel -from cel_expr_python.ext import ext_strings -from google.protobuf import ( - any_pb2 as google_any_pb2, - descriptor as google_descriptor, - descriptor_pool as google_descriptor_pool, - message as google_message, - wrappers_pb2 as google_wrappers_pb2, -) -from protobuf import Oneof -from protobuf.wkt import FieldDescriptorProto - -# Backend-agnostic primitives shared with the celpy engine (protovalidate.internal.rules). -from protovalidate._core import CompilationError, RuleContext, Rules, Violation -from protovalidate._gen.buf.validate import validate_pb - -from ._utils import is_repeated - -if typing.TYPE_CHECKING: - from collections.abc import Container - - from protovalidate._celexpr.bridge import GoogleBridge - -_FIELD_TYPE_NAMES: dict[int, str] = { - google_descriptor.FieldDescriptor.TYPE_MESSAGE: "message", - google_descriptor.FieldDescriptor.TYPE_GROUP: "group", - google_descriptor.FieldDescriptor.TYPE_ENUM: "enum", - google_descriptor.FieldDescriptor.TYPE_BOOL: "bool", - google_descriptor.FieldDescriptor.TYPE_BYTES: "bytes", - google_descriptor.FieldDescriptor.TYPE_STRING: "string", - google_descriptor.FieldDescriptor.TYPE_FLOAT: "float", - google_descriptor.FieldDescriptor.TYPE_DOUBLE: "double", - google_descriptor.FieldDescriptor.TYPE_INT32: "int32", - google_descriptor.FieldDescriptor.TYPE_INT64: "int64", - google_descriptor.FieldDescriptor.TYPE_SINT32: "sint32", - google_descriptor.FieldDescriptor.TYPE_SINT64: "sint64", - google_descriptor.FieldDescriptor.TYPE_SFIXED32: "sfixed32", - google_descriptor.FieldDescriptor.TYPE_SFIXED64: "sfixed64", - google_descriptor.FieldDescriptor.TYPE_UINT32: "uint32", - google_descriptor.FieldDescriptor.TYPE_UINT64: "uint64", - google_descriptor.FieldDescriptor.TYPE_FIXED32: "fixed32", - google_descriptor.FieldDescriptor.TYPE_FIXED64: "fixed64", -} - - -def _get_type_name(fd: typing.Any) -> str: - return _FIELD_TYPE_NAMES.get(fd, "unknown") - - -def _proto_message_has_field( - msg: google_message.Message, field: google_descriptor.FieldDescriptor -) -> typing.Any: - if field.is_extension: - return msg.HasExtension(field) # ty: ignore[invalid-argument-type] - return msg.HasField(field.name) - - -def _proto_message_get_field( - msg: google_message.Message, field: google_descriptor.FieldDescriptor -) -> typing.Any: - if field.is_extension: - return msg.Extensions[field] # ty: ignore[invalid-argument-type] - return getattr(msg, field.name) - - -_UNSIGNED_FIELD_TYPES = frozenset( - ( - google_descriptor.FieldDescriptor.TYPE_UINT32, - google_descriptor.FieldDescriptor.TYPE_UINT64, - google_descriptor.FieldDescriptor.TYPE_FIXED32, - google_descriptor.FieldDescriptor.TYPE_FIXED64, - ) -) - - -def _scalar_field_value_to_cel( - val: typing.Any, field: google_descriptor.FieldDescriptor -) -> typing.Any: - # The runtime converts Python scalars and messages (including the - # well-known wrapper, timestamp, and duration types) to CEL values - # natively, so most values pass through unchanged. The exceptions ride in - # on well-known wrapper messages, which the runtime unwraps natively: - # - # - Bytes: raw Python bytes trigger a runtime bug where values reaching - # custom functions or equality against message fields are corrupted. - # - Unsigned ints: a Python int always converts to a CEL int; the wrapper - # is the only way to produce a CEL uint for uint-typed fields. - # - Strings containing NUL: the conversion truncates at the first NUL. - if field.type == google_descriptor.FieldDescriptor.TYPE_BYTES: - return google_wrappers_pb2.BytesValue(value=val) - if field.type in _UNSIGNED_FIELD_TYPES: - if field.type in ( - google_descriptor.FieldDescriptor.TYPE_UINT32, - google_descriptor.FieldDescriptor.TYPE_FIXED32, - ): - return google_wrappers_pb2.UInt32Value(value=val) - return google_wrappers_pb2.UInt64Value(value=val) - if field.type == google_descriptor.FieldDescriptor.TYPE_STRING and "\x00" in val: - return google_wrappers_pb2.StringValue(value=val) - return val - - -def _field_value_to_cel( - val: typing.Any, field: google_descriptor.FieldDescriptor -) -> typing.Any: - if is_repeated(field): - if field.message_type is not None and field.message_type.GetOptions().map_entry: - return dict(val) - return list(val) - return _scalar_field_value_to_cel(val, field) - - -def _is_empty_field( - msg: google_message.Message, field: google_descriptor.FieldDescriptor -) -> bool: - if field.has_presence: - return not _proto_message_has_field(msg, field) - if is_repeated(field): - return len(_proto_message_get_field(msg, field)) == 0 - return _proto_message_get_field(msg, field) == field.default_value - - -def field_to_cel( - msg: google_message.Message, field: google_descriptor.FieldDescriptor -) -> typing.Any: - return _field_value_to_cel(_proto_message_get_field(msg, field), field) - - -def _ftype(google_type: int) -> FieldDescriptorProto.Type: - """Maps a google FieldDescriptor.type int to the protobuf-py enum value.""" - return FieldDescriptorProto.Type(google_type) - - -def _field_to_element( - field: google_descriptor.FieldDescriptor, -) -> validate_pb.FieldPathElement: - """A FieldPathElement for a (google) field of the message being validated.""" - return validate_pb.FieldPathElement( - field_number=field.number, - field_name=field.name if not field.is_extension else f"[{field.full_name}]", - field_type=_ftype(field.type), - ) - - -def _indexed_field_element( - field: google_descriptor.FieldDescriptor, index: int -) -> validate_pb.FieldPathElement: - return validate_pb.FieldPathElement( - field_number=field.number, - field_name=field.name if not field.is_extension else f"[{field.full_name}]", - field_type=_ftype(field.type), - subscript=Oneof(field="index", value=index), - ) - - -def _oneof_to_element( - oneof: google_descriptor.OneofDescriptor, -) -> validate_pb.FieldPathElement: - return validate_pb.FieldPathElement(field_name=oneof.name) - - -_INT_KEY_TYPES = frozenset( - ( - google_descriptor.FieldDescriptor.TYPE_INT32, - google_descriptor.FieldDescriptor.TYPE_SFIXED32, - google_descriptor.FieldDescriptor.TYPE_INT64, - google_descriptor.FieldDescriptor.TYPE_SFIXED64, - google_descriptor.FieldDescriptor.TYPE_SINT32, - google_descriptor.FieldDescriptor.TYPE_SINT64, - ) -) -_UINT_KEY_TYPES = frozenset( - ( - google_descriptor.FieldDescriptor.TYPE_UINT32, - google_descriptor.FieldDescriptor.TYPE_FIXED32, - google_descriptor.FieldDescriptor.TYPE_UINT64, - google_descriptor.FieldDescriptor.TYPE_FIXED64, - ) -) - - -def _map_key_element( - field: google_descriptor.FieldDescriptor, - key: typing.Any, - key_field: google_descriptor.FieldDescriptor, - value_field: google_descriptor.FieldDescriptor, -) -> validate_pb.FieldPathElement: - subscript: Oneof - if key_field.type == google_descriptor.FieldDescriptor.TYPE_BOOL: - subscript = Oneof(field="bool_key", value=key) - elif key_field.type in _INT_KEY_TYPES: - subscript = Oneof(field="int_key", value=key) - elif key_field.type in _UINT_KEY_TYPES: - subscript = Oneof(field="uint_key", value=key) - elif key_field.type == google_descriptor.FieldDescriptor.TYPE_STRING: - subscript = Oneof(field="string_key", value=key) - else: - msg = "unexpected map type" - raise CompilationError(msg) - return validate_pb.FieldPathElement( - field_number=field.number, - field_name=field.name if not field.is_extension else f"[{field.full_name}]", - field_type=_ftype(field.type), - key_type=_ftype(key_field.type), - value_type=_ftype(value_field.type), - subscript=subscript, - ) - - -# Rule-spec path elements reference the buf.validate rule messages themselves, -# whose descriptors come from the bundled protobuf-py stub. -def _spec_element(pb_field: protobuf.DescField) -> validate_pb.FieldPathElement: - return validate_pb.FieldPathElement( - field_number=pb_field.number, - field_name=pb_field.name, - field_type=pb_field.proto.type, - ) - - -def _indexed_spec_element( - pb_field: protobuf.DescField, index: int -) -> validate_pb.FieldPathElement: - return validate_pb.FieldPathElement( - field_number=pb_field.number, - field_name=pb_field.name, - field_type=pb_field.proto.type, - subscript=Oneof(field="index", value=index), - ) - - -def _spec_field(rules_cls: typing.Any, name: str) -> protobuf.DescField: - return rules_cls.desc()._fields_by_name[name] - - -def _which_type(field_level: typing.Any) -> str | None: - """The set sub-field name of a FieldRules ``type`` oneof, or None.""" - return field_level.type.field if field_level.type is not None else None - - -@functools.lru_cache(maxsize=1) -def _google_predefined_ext() -> typing.Any: - """The google ``buf.validate.predefined`` extension descriptor. - - Resolved lazily off the global pool, into which the bridge mirrors - ``buf.validate`` (and the user's files, which define any custom predefined - rule extensions) when it bridges rule messages. - """ - return google_descriptor_pool.Default().FindExtensionByName( - "buf.validate.predefined" - ) - - -def _message_child(pb_field: protobuf.DescField) -> protobuf.DescMessage | None: - """The protobuf-py descriptor of a message-typed field, list item, or map value.""" - value = pb_field.value - if isinstance(value, protobuf.DescFieldValueMessage): - return value.message - if isinstance(value, protobuf.DescFieldValueList) and isinstance( - value.element, protobuf.DescMessage - ): - return value.element - if isinstance(value, protobuf.DescFieldValueMap) and isinstance( - value.value, protobuf.DescMessage - ): - return value.value - return None - - -@dataclasses.dataclass -class CelRunner: - runner: cel.Expression - rule: typing.Any - rule_value: typing.Any | None = None - rule_cel: typing.Any | None = None - rule_path: validate_pb.FieldPath | None = None - - -class CelRules(Rules): - """A rule that has rules written in CEL. - - ``_rules`` holds the *google* rule message (the buf.validate rules bridged - from protobuf-py), so it can be bound as the ``rules`` CEL variable. - """ - - _cel: list[CelRunner] - _rules: google_message.Message | None = None - _uses_now: bool = False - - def __init__(self, rules_google: google_message.Message | None) -> None: - self._cel = [] - self._rules = rules_google - - def _validate_cel( - self, - ctx: RuleContext, - *, - this_value: typing.Any | None = None, - this_cel: typing.Any | None = None, - for_key: bool = False, - ) -> None: - if not self._cel: - return - activation: dict[str, typing.Any] = {} - if this_cel is not None: - activation["this"] = this_cel - activation["rules"] = self._rules - if self._uses_now: - activation["now"] = datetime.datetime.now(tz=datetime.timezone.utc) - for runner in self._cel: - activation["rule"] = runner.rule_cel - result = runner.runner.eval(data=activation) - result_type = result.type() - if result_type == cel.Type.BOOL: - if not result.plain_value(): - msg = runner.rule.message - if len(msg) == 0: - msg = f'"{runner.rule.expression}" returned false' - ctx.add( - Violation( - field_value=this_value, - rule=runner.rule_path, - rule_value=runner.rule_value, - rule_id=runner.rule.id, - message=msg, - for_key=for_key, - ) - ) - elif result_type == cel.Type.STRING: - # Formatting bytes with %s can yield a CEL string that is not - # valid UTF-8, which cannot convert to a Python str. - try: - result_message = result.plain_value() - except TypeError: - result_message = f'"{runner.rule.expression}" returned false' - if result_message: - ctx.add( - Violation( - field_value=this_value, - rule=runner.rule_path, - rule_value=runner.rule_value, - rule_id=runner.rule.id, - message=result_message, # ty: ignore[invalid-argument-type] - for_key=for_key, - ) - ) - elif result_type == cel.Type.ERROR: - raise RuntimeError(str(result.plain_value())) - - def add_rule( - self, - env: cel.Env, - rules: typing.Any, - *, - rule_field: google_descriptor.FieldDescriptor | None = None, - rule_path: validate_pb.FieldPath | None = None, - ) -> None: - if isinstance(rules, str): - expression = rules - rules = validate_pb.Rule(id=expression, expression=expression) - if "now" in rules.expression: - self._uses_now = True - try: - prog = env.compile(rules.expression) - except RuntimeError as ex: - raise CompilationError(str(ex)) from ex - rule_value = None - rule_cel = None - if rule_field is not None and self._rules is not None: - rule_value = _proto_message_get_field(self._rules, rule_field) - rule_cel = field_to_cel(self._rules, rule_field) - self._cel.append( - CelRunner( - runner=prog, - rule=rules, - rule_value=rule_value, - rule_cel=rule_cel, - rule_path=rule_path, - ) - ) - - -class MessageOneofRule(Rules): - """Validates a single buf.validate.MessageOneofRule given via the message option (buf.validate.message).oneof.""" - - def __init__( - self, fields: list[google_descriptor.FieldDescriptor], *, required: bool - ) -> None: - self._fields = fields - self._required = required - - def validate(self, ctx: RuleContext, message: google_message.Message) -> None: - num_set_fields = sum( - 1 for field in self._fields if not _is_empty_field(message, field) - ) - if num_set_fields > 1: - ctx.add( - Violation( - rule_id="message.oneof", - message=f"only one of {', '.join(field.name for field in self._fields)} can be set", - ) - ) - if self._required and num_set_fields == 0: - ctx.add( - Violation( - rule_id="message.oneof", - message=f"one of {', '.join(field.name for field in self._fields)} must be set", - ) - ) - - -class MessageRules(CelRules): - """Message-level rules.""" - - _oneofs: list[MessageOneofRule] - - def __init__( - self, - rules_google: google_message.Message | None, - desc: google_descriptor.Descriptor, - ) -> None: - super().__init__(rules_google) - self._oneofs = [] - self._desc = desc - - def validate(self, ctx: RuleContext, message: google_message.Message) -> None: - if self._cel: - self._validate_cel(ctx, this_cel=message) - if ctx.done: - return - for oneof in self._oneofs: - oneof.validate(ctx, message) - if ctx.done: - return - - def add_oneof(self, rule: typing.Any) -> None: - fields = [] - seen = set() - if len(rule.fields) == 0: - msg = f"at least one field must be specified in oneof rule for the message {self._desc.full_name}" - raise CompilationError(msg) - for name in rule.fields: - if name in self._desc.fields_by_name: - if name in seen: - msg = f"duplicate {name} in oneof rule for the message {self._desc.full_name}" - raise CompilationError(msg) - fields.append(self._desc.fields_by_name[name]) - seen.add(name) - else: - msg = f'field "{name}" not found in message {self._desc.full_name}' - raise CompilationError(msg) - self._oneofs.append(MessageOneofRule(fields, required=rule.required)) - - -def check_field_type( - field: google_descriptor.FieldDescriptor, - expected: int, - wrapper_name: str | None = None, -) -> None: - if field.type != expected and ( - field.type != google_descriptor.FieldDescriptor.TYPE_MESSAGE - or field.message_type.full_name != wrapper_name - ): - field_type_str = _get_type_name(field.type) - if expected == 0: - if wrapper_name is not None: - expected_type_str = wrapper_name - else: - expected_type_str = _get_type_name( - google_descriptor.FieldDescriptor.TYPE_MESSAGE - ) - else: - expected_type_str = _get_type_name(expected) - msg = f"field {field.name} has type {field_type_str} but expected {expected_type_str}" - raise CompilationError(msg) - - -class FieldRules(CelRules): - """Field-level rules.""" - - _ignore_empty = False - _required = False - - _required_rule_path: typing.ClassVar[validate_pb.FieldPath] = validate_pb.FieldPath( - elements=[_spec_element(_spec_field(validate_pb.FieldRules, "required"))] - ) - - def __init__( - self, - env: cel.Env, - bridge: GoogleBridge, - field: google_descriptor.FieldDescriptor, - field_level: typing.Any, - *, - for_items: bool = False, - force_ignore_empty: bool = False, - ) -> None: - type_case = _which_type(field_level) - rules_pb = field_level.type.value if type_case is not None else None - super().__init__(bridge.to_google(rules_pb) if rules_pb is not None else None) - self._field = field - self._ignore_empty = ( - field_level.ignore == validate_pb.Ignore.IF_ZERO_VALUE - or force_ignore_empty - or (field.has_presence and not for_items) - ) - self._required = field_level.required - if rules_pb is not None: - # Each set rule sub-field (standard rules like `gt`, and custom - # extension rules alike) may carry a private predefined-rule - # extension whose CEL implements it. Read these off the bridged - # google rules message: it is parsed against the global pool, into - # which the bridge has mirrored both buf.validate and the user's - # files, so custom extension rules decode (they would otherwise - # remain undecoded on the relocatable protobuf-py stub). - g_rules = self._rules - assert ( # noqa: S101 - g_rules is not None - ) # rules_pb set implies the bridged rules - assert ( # noqa: S101 - type_case is not None - ) # rules_pb set implies a type oneof - type_field = _spec_field(validate_pb.FieldRules, type_case) - predefined_ext = _google_predefined_ext() - for rule_field, _value in g_rules.ListFields(): - options = rule_field.GetOptions() - if not options.HasExtension(predefined_ext): - continue - for cel_rule in options.Extensions[predefined_ext].cel: - self.add_rule( - env, - cel_rule, - rule_field=rule_field, - rule_path=validate_pb.FieldPath( - elements=[ - _field_to_element(rule_field), - _spec_element(type_field), - ] - ), - ) - cel_expression_field = _spec_field(validate_pb.FieldRules, "cel_expression") - for i, cel_rule in enumerate(field_level.cel_expression): - self.add_rule( - env, - cel_rule, - rule_path=validate_pb.FieldPath( - elements=[_indexed_spec_element(cel_expression_field, i)] - ), - ) - cel_field = _spec_field(validate_pb.FieldRules, "cel") - for i, cel_rule in enumerate(field_level.cel): - self.add_rule( - env, - cel_rule, - rule_path=validate_pb.FieldPath( - elements=[_indexed_spec_element(cel_field, i)] - ), - ) - - def validate(self, ctx: RuleContext, message: google_message.Message) -> None: - if _is_empty_field(message, self._field): - if self._required: - ctx.add( - Violation( - field=validate_pb.FieldPath( - elements=[_field_to_element(self._field)] - ), - rule=FieldRules._required_rule_path, - rule_value=self._required, - rule_id="required", - message="value is required", - ) - ) - return - if self._ignore_empty: - return - val = _proto_message_get_field(message, self._field) - cel_val = _field_value_to_cel(val, self._field) - sub_ctx = ctx.sub_context() - self._validate_value(sub_ctx, val) - self._validate_cel(sub_ctx, this_value=val, this_cel=cel_val) - if sub_ctx.has_errors(): - element = _field_to_element(self._field) - sub_ctx.add_field_path_element(element) - ctx.add_errors(sub_ctx) - - def validate_item( - self, ctx: RuleContext, value: typing.Any, *, for_key: bool = False - ) -> None: - self._validate_value(ctx, value, for_key=for_key) - self._validate_cel( - ctx, - this_value=value, - this_cel=_scalar_field_value_to_cel(value, self._field), - for_key=for_key, - ) - - def _validate_value( - self, ctx: RuleContext, value: typing.Any, *, for_key: bool = False - ) -> None: - pass - - -class AnyRules(FieldRules): - """Rules for an Any field.""" - - _in_rule_path: typing.ClassVar[validate_pb.FieldPath] = validate_pb.FieldPath( - elements=[ - _spec_element(_spec_field(validate_pb.AnyRules, "in")), - _spec_element(_spec_field(validate_pb.FieldRules, "any")), - ] - ) - - _not_in_rule_path: typing.ClassVar[validate_pb.FieldPath] = validate_pb.FieldPath( - elements=[ - _spec_element(_spec_field(validate_pb.AnyRules, "not_in")), - _spec_element(_spec_field(validate_pb.FieldRules, "any")), - ] - ) - - def __init__( - self, - env: cel.Env, - bridge: GoogleBridge, - field: google_descriptor.FieldDescriptor, - field_level: typing.Any, - ) -> None: - super().__init__(env, bridge, field, field_level) - any_rules = field_level.type.value - self._in = list(any_rules.in_) or [] - self._not_in: Container[str] = list(any_rules.not_in) or [] - - def _validate_value( - self, ctx: RuleContext, value: google_any_pb2.Any, *, for_key: bool = False - ) -> None: - if len(self._in) > 0 and value.type_url not in self._in: - ctx.add( - Violation( - rule=AnyRules._in_rule_path, - rule_value=self._in, - rule_id="any.in", - message="type URL must be in the allow list", - for_key=for_key, - ) - ) - if value.type_url in self._not_in: - ctx.add( - Violation( - rule=AnyRules._not_in_rule_path, - rule_value=self._not_in, - rule_id="any.not_in", - message="type URL must not be in the block list", - for_key=for_key, - ) - ) - - -class EnumRules(FieldRules): - """Rules for an enum field.""" - - _defined_only = False - - _defined_only_rule_path: typing.ClassVar[validate_pb.FieldPath] = ( - validate_pb.FieldPath( - elements=[ - _spec_element(_spec_field(validate_pb.EnumRules, "defined_only")), - _spec_element(_spec_field(validate_pb.FieldRules, "enum")), - ] - ) - ) - - def __init__( - self, - env: cel.Env, - bridge: GoogleBridge, - field: google_descriptor.FieldDescriptor, - field_level: typing.Any, - *, - for_items: bool = False, - force_ignore_empty: bool = False, - ) -> None: - super().__init__( - env, - bridge, - field, - field_level, - for_items=for_items, - force_ignore_empty=force_ignore_empty, - ) - if field_level.type.value.defined_only: - self._defined_only = True - - def validate(self, ctx: RuleContext, message: google_message.Message) -> None: - super().validate(ctx, message) - if ctx.done: - return - if ( - self._defined_only - and getattr(message, self._field.name) - not in self._field.enum_type.values_by_number - ): - ctx.add( - Violation( - field=validate_pb.FieldPath( - elements=[_field_to_element(self._field)] - ), - rule=EnumRules._defined_only_rule_path, - rule_value=self._defined_only, - rule_id="enum.defined_only", - message="value must be one of the defined enum values", - ) - ) - - -class RepeatedRules(FieldRules): - """Rules for a repeated field.""" - - _item_rules: FieldRules | None = None - - _items_rules_suffix: typing.ClassVar[list[validate_pb.FieldPathElement]] = [ - _spec_element(_spec_field(validate_pb.RepeatedRules, "items")), - _spec_element(_spec_field(validate_pb.FieldRules, "repeated")), - ] - - def __init__( - self, - env: cel.Env, - bridge: GoogleBridge, - field: google_descriptor.FieldDescriptor, - field_level: typing.Any, - item_rules: FieldRules | None, - ) -> None: - super().__init__(env, bridge, field, field_level) - if item_rules is not None: - self._item_rules = item_rules - - def validate(self, ctx: RuleContext, message: google_message.Message) -> None: - super().validate(ctx, message) - if ctx.done: - return - value = getattr(message, self._field.name) - if self._item_rules is not None: - for i, item in enumerate(value): - if self._item_rules._ignore_empty and not item: - continue - sub_ctx = ctx.sub_context() - self._item_rules.validate_item(sub_ctx, item) - if sub_ctx.has_errors(): - sub_ctx.add_field_path_element( - _indexed_field_element(self._field, i) - ) - sub_ctx.add_rule_path_elements(RepeatedRules._items_rules_suffix) - ctx.add_errors(sub_ctx) - if ctx.done: - return - - -class MapRules(FieldRules): - """Rules for a map field.""" - - _key_rules: FieldRules | None = None - _value_rules: FieldRules | None = None - - _key_rules_suffix: typing.ClassVar[list[validate_pb.FieldPathElement]] = [ - _spec_element(_spec_field(validate_pb.MapRules, "keys")), - _spec_element(_spec_field(validate_pb.FieldRules, "map")), - ] - - _value_rules_suffix: typing.ClassVar[list[validate_pb.FieldPathElement]] = [ - _spec_element(_spec_field(validate_pb.MapRules, "values")), - _spec_element(_spec_field(validate_pb.FieldRules, "map")), - ] - - def __init__( - self, - env: cel.Env, - bridge: GoogleBridge, - field: google_descriptor.FieldDescriptor, - field_level: typing.Any, - key_rules: FieldRules | None, - value_rules: FieldRules | None, - ) -> None: - super().__init__(env, bridge, field, field_level) - if key_rules is not None: - self._key_rules = key_rules - if value_rules is not None: - self._value_rules = value_rules - - def validate(self, ctx: RuleContext, message: google_message.Message) -> None: - super().validate(ctx, message) - if ctx.done: - return - value = getattr(message, self._field.name) - key_field = self._field.message_type.fields_by_name["key"] - value_field = self._field.message_type.fields_by_name["value"] - for k, v in value.items(): - key_ctx = ctx.sub_context() - if self._key_rules is not None and (not self._key_rules._ignore_empty or k): - self._key_rules.validate_item(key_ctx, k, for_key=True) - if key_ctx.has_errors(): - key_ctx.add_rule_path_elements(MapRules._key_rules_suffix) - map_ctx = ctx.sub_context() - if self._value_rules is not None and ( - not self._value_rules._ignore_empty or v - ): - self._value_rules.validate_item(map_ctx, v) - if map_ctx.has_errors(): - map_ctx.add_rule_path_elements(MapRules._value_rules_suffix) - map_ctx.add_errors(key_ctx) - if map_ctx.has_errors(): - map_ctx.add_field_path_element( - _map_key_element(self._field, k, key_field, value_field) - ) - ctx.add_errors(map_ctx) - - -class OneofRules(Rules): - """Rules for a oneof definition.""" - - required = True - - def __init__( - self, oneof: google_descriptor.OneofDescriptor, rules: typing.Any - ) -> None: - self._oneof = oneof - if not rules.required: - self.required = False - - def validate(self, ctx: RuleContext, message: google_message.Message) -> None: - if not message.WhichOneof(self._oneof.name): - if self.required: - ctx.add( - Violation( - field=validate_pb.FieldPath( - elements=[_oneof_to_element(self._oneof)] - ), - rule_id="required", - message="exactly one field is required in oneof", - ) - ) - return - - -class RuleFactory: - """Factory for creating and caching rules, keyed on protobuf-py descriptors.""" - - _env: cel.Env - - def __init__(self, extension: cel.CelExtensionBase, bridge: GoogleBridge) -> None: - self._bridge = bridge - # cel-expr-python evaluates against — and type-checks bindings against — - # the global pool the bridge populates. - self._env = cel.NewEnv( - descriptor_pool=google_descriptor_pool.Default(), - variables={ - "this": cel.Type.DYN, - "rules": cel.Type.DYN, - "rule": cel.Type.DYN, - "now": cel.Type.TIMESTAMP, - }, - extensions=[ext_strings.ExtStrings(), extension], - ) - self._cache: dict[str, list[Rules] | Exception] = {} - - def get(self, desc: protobuf.DescMessage) -> list[Rules]: - key = desc.type_name - if key not in self._cache: - try: - self._cache[key] = self._new_rules(desc) - except Exception as e: # noqa: BLE001 - self._cache[key] = e - result = self._cache[key] - if isinstance(result, Exception): - raise result - return result - - def _new_message_rule( - self, rules: typing.Any, desc: google_descriptor.Descriptor - ) -> MessageRules: - result = MessageRules(self._bridge.to_google(rules), desc) - for oneof in rules.oneof: - result.add_oneof(oneof) - for expr in rules.cel_expression: - result.add_rule(self._env, expr) - for cel_rule in rules.cel: - result.add_rule(self._env, cel_rule) - return result - - def _new_scalar_field_rule( - self, - field: google_descriptor.FieldDescriptor, - field_level: typing.Any, - *, - for_items: bool = False, - force_ignore_empty: bool = False, - ) -> FieldRules | None: - if field_level.ignore == validate_pb.Ignore.ALWAYS: - return None - type_case = _which_type(field_level) - kw = {"for_items": for_items, "force_ignore_empty": force_ignore_empty} - if type_case is None: - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "duration": - check_field_type(field, 0, "google.protobuf.Duration") - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "field_mask": - check_field_type(field, 0, "google.protobuf.FieldMask") - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "timestamp": - check_field_type(field, 0, "google.protobuf.Timestamp") - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "enum": - check_field_type(field, google_descriptor.FieldDescriptor.TYPE_ENUM) - return EnumRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "bool": - check_field_type( - field, - google_descriptor.FieldDescriptor.TYPE_BOOL, - "google.protobuf.BoolValue", - ) - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "bytes": - check_field_type( - field, - google_descriptor.FieldDescriptor.TYPE_BYTES, - "google.protobuf.BytesValue", - ) - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "fixed32": - check_field_type(field, google_descriptor.FieldDescriptor.TYPE_FIXED32) - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "fixed64": - check_field_type(field, google_descriptor.FieldDescriptor.TYPE_FIXED64) - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "float": - check_field_type( - field, - google_descriptor.FieldDescriptor.TYPE_FLOAT, - "google.protobuf.FloatValue", - ) - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "double": - check_field_type( - field, - google_descriptor.FieldDescriptor.TYPE_DOUBLE, - "google.protobuf.DoubleValue", - ) - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "int32": - check_field_type( - field, - google_descriptor.FieldDescriptor.TYPE_INT32, - "google.protobuf.Int32Value", - ) - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "int64": - check_field_type( - field, - google_descriptor.FieldDescriptor.TYPE_INT64, - "google.protobuf.Int64Value", - ) - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "sfixed32": - check_field_type(field, google_descriptor.FieldDescriptor.TYPE_SFIXED32) - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "sfixed64": - check_field_type(field, google_descriptor.FieldDescriptor.TYPE_SFIXED64) - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "sint32": - check_field_type(field, google_descriptor.FieldDescriptor.TYPE_SINT32) - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "sint64": - check_field_type(field, google_descriptor.FieldDescriptor.TYPE_SINT64) - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "uint32": - check_field_type( - field, - google_descriptor.FieldDescriptor.TYPE_UINT32, - "google.protobuf.UInt32Value", - ) - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "uint64": - check_field_type( - field, - google_descriptor.FieldDescriptor.TYPE_UINT64, - "google.protobuf.UInt64Value", - ) - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "string": - check_field_type( - field, - google_descriptor.FieldDescriptor.TYPE_STRING, - "google.protobuf.StringValue", - ) - return FieldRules(self._env, self._bridge, field, field_level, **kw) - if type_case == "any": - check_field_type(field, 0, "google.protobuf.Any") - return AnyRules(self._env, self._bridge, field, field_level) - msg = f"unknown rule type {type_case!r}" - raise CompilationError(msg) - - def _new_field_rule( - self, - field: google_descriptor.FieldDescriptor, - field_level: typing.Any, - *, - force_ignore_empty: bool = False, - ) -> FieldRules | None: - if not is_repeated(field): - return self._new_scalar_field_rule( - field, field_level, force_ignore_empty=force_ignore_empty - ) - type_case = _which_type(field_level) - if field.message_type is not None and field.message_type.GetOptions().map_entry: - map_rules = field_level.type.value if type_case == "map" else None - key_rules = None - value_rules = None - if map_rules is not None and map_rules.keys is not None: - key_field = field.message_type.fields_by_name["key"] - key_rules = self._new_scalar_field_rule( - key_field, map_rules.keys, for_items=True - ) - if map_rules is not None and map_rules.values is not None: - value_field = field.message_type.fields_by_name["value"] - value_rules = self._new_scalar_field_rule( - value_field, map_rules.values, for_items=True - ) - return MapRules( - self._env, self._bridge, field, field_level, key_rules, value_rules - ) - item_rule = None - rep_rules = field_level.type.value if type_case == "repeated" else None - if rep_rules is not None and rep_rules.items is not None: - item_rule = self._new_scalar_field_rule(field, rep_rules.items) - return RepeatedRules(self._env, self._bridge, field, field_level, item_rule) - - def _new_rules(self, pb_desc: protobuf.DescMessage) -> list[Rules]: - gdesc = typing.cast( - "google_descriptor.Descriptor", - self._bridge.google_class(pb_desc).DESCRIPTOR, - ) - result: list[Rules] = [] - all_msg_oneof_fields: set[str] = set() - - msg_opts = pb_desc.proto.options - if msg_opts is not None and validate_pb.ext_message in msg_opts: - message_level: typing.Any = msg_opts[validate_pb.ext_message] - for oneof in message_level.oneof: - all_msg_oneof_fields.update(oneof.fields) - if rule := self._new_message_rule(message_level, gdesc): - result.append(rule) - - pb_oneofs = {o.name: o for o in pb_desc.oneofs} - for goneof in gdesc.oneofs: - pb_oneof = pb_oneofs.get(goneof.name) - if pb_oneof is None: - continue - oneof_opts = pb_oneof.proto.options - if oneof_opts is not None and validate_pb.ext_oneof in oneof_opts: - result.append(OneofRules(goneof, oneof_opts[validate_pb.ext_oneof])) - - ignore_field = _spec_field(validate_pb.FieldRules, "ignore") - for gfield in gdesc.fields: - pb_field = pb_desc._fields_by_name.get(gfield.name) - field_level: typing.Any = None - if pb_field is not None: - field_opts = pb_field.proto.options - if field_opts is not None and validate_pb.ext_field in field_opts: - field_level = field_opts[validate_pb.ext_field] - if field_level is not None: - # A field in a message-level oneof rule that does not set its own - # ignore behaviour is treated as ignore-if-zero-value. - force_ignore_empty = ( - ignore_field not in field_level - and gfield.name in all_msg_oneof_fields - ) - if field_level.ignore == validate_pb.Ignore.ALWAYS: - continue - if r := self._new_field_rule( - gfield, field_level, force_ignore_empty=force_ignore_empty - ): - result.append(r) - if _which_type(field_level) == "repeated": - rep: typing.Any = field_level.type.value # ty: ignore[unresolved-attribute] - if ( - rep.items is not None - and rep.items.ignore == validate_pb.Ignore.ALWAYS - ): - continue - if gfield.message_type is None or pb_field is None: - continue - sub_desc = _message_child(pb_field) - if sub_desc is None: - continue - if gfield.message_type.GetOptions().map_entry: - key_field = gfield.message_type.fields_by_name["key"] - value_field = gfield.message_type.fields_by_name["value"] - result.append( - MapValMsgRule(self, gfield, key_field, value_field, sub_desc) - ) - elif is_repeated(gfield): - result.append(RepeatedMsgRule(self, gfield, sub_desc)) - else: - result.append(SubMsgRule(self, gfield, sub_desc)) - return result - - -class SubMsgRule(Rules): - def __init__( - self, - factory: RuleFactory, - field: google_descriptor.FieldDescriptor, - sub_desc: protobuf.DescMessage, - ) -> None: - self._factory = factory - self._field = field - self._sub_desc = sub_desc - - def validate(self, ctx: RuleContext, message: google_message.Message) -> None: - if not message.HasField(self._field.name): - return - rules = self._factory.get(self._sub_desc) - if not rules: - return - val = getattr(message, self._field.name) - sub_ctx = ctx.sub_context() - for rule in rules: - rule.validate(sub_ctx, val) - if sub_ctx.has_errors(): - sub_ctx.add_field_path_element(_field_to_element(self._field)) - ctx.add_errors(sub_ctx) - - -class MapValMsgRule(Rules): - def __init__( - self, - factory: RuleFactory, - field: google_descriptor.FieldDescriptor, - key_field: google_descriptor.FieldDescriptor, - value_field: google_descriptor.FieldDescriptor, - sub_desc: protobuf.DescMessage, - ) -> None: - self._factory = factory - self._field = field - self._key_field = key_field - self._value_field = value_field - self._sub_desc = sub_desc - - def validate(self, ctx: RuleContext, message: google_message.Message) -> None: - val = getattr(message, self._field.name) - if not val: - return - rules = self._factory.get(self._sub_desc) - if not rules: - return - for k, v in val.items(): - sub_ctx = ctx.sub_context() - for rule in rules: - rule.validate(sub_ctx, v) - if sub_ctx.has_errors(): - sub_ctx.add_field_path_element( - _map_key_element(self._field, k, self._key_field, self._value_field) - ) - ctx.add_errors(sub_ctx) - - -class RepeatedMsgRule(Rules): - def __init__( - self, - factory: RuleFactory, - field: google_descriptor.FieldDescriptor, - sub_desc: protobuf.DescMessage, - ) -> None: - self._factory = factory - self._field = field - self._sub_desc = sub_desc - - def validate(self, ctx: RuleContext, message: google_message.Message) -> None: - val = getattr(message, self._field.name) - if not val: - return - rules = self._factory.get(self._sub_desc) - if not rules: - return - for idx, item in enumerate(val): - sub_ctx = ctx.sub_context() - for rule in rules: - rule.validate(sub_ctx, item) - if sub_ctx.has_errors(): - sub_ctx.add_field_path_element(_indexed_field_element(self._field, idx)) - ctx.add_errors(sub_ctx) diff --git a/protovalidate/_core.py b/protovalidate/_core.py deleted file mode 100644 index 8bed0bd1..00000000 --- a/protovalidate/_core.py +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Backend-agnostic rule-engine primitives shared by both CEL backends.""" - -from __future__ import annotations - -import abc -import typing - -from protovalidate._gen.buf.validate import validate_pb - - -class CompilationError(Exception): - """An error raised when a rule fails to compile.""" - - -class Violation: - """A singular rule violation.""" - - field_value: typing.Any - rule_value: typing.Any - - def __init__( - self, - *, - field_value: typing.Any = None, - rule_value: typing.Any = None, - field: validate_pb.FieldPath | None = None, - rule: validate_pb.FieldPath | None = None, - rule_id: str = "", - message: str = "", - for_key: bool = False, - ) -> None: - self.field_value = field_value - self.rule_value = rule_value - self._field_elements: list[validate_pb.FieldPathElement] = ( - list(field.elements) if field is not None else [] - ) - self._rule_elements: list[validate_pb.FieldPathElement] = ( - list(rule.elements) if rule is not None else [] - ) - self._rule_id = rule_id - self._message = message - self._for_key = for_key - - def append_field_element(self, element: validate_pb.FieldPathElement) -> None: - self._field_elements.append(element) - - def extend_rule_elements( - self, elements: list[validate_pb.FieldPathElement] - ) -> None: - self._rule_elements.extend(elements) - - def finalize_paths(self) -> None: - self._field_elements.reverse() - self._rule_elements.reverse() - - @property - def proto(self) -> validate_pb.Violation: - kwargs: dict[str, typing.Any] = { - "rule_id": self._rule_id, - "message": self._message, - "for_key": self._for_key, - } - if self._field_elements: - kwargs["field"] = validate_pb.FieldPath(elements=list(self._field_elements)) - if self._rule_elements: - kwargs["rule"] = validate_pb.FieldPath(elements=list(self._rule_elements)) - return validate_pb.Violation(**kwargs) - - -class RuleContext: - """The state associated with a single rule evaluation.""" - - _violations: list[Violation] - - def __init__(self, *, fail_fast: bool = False) -> None: - self._fail_fast = fail_fast - self._violations = [] - - @property - def violations(self) -> list[Violation]: - return self._violations - - def add(self, violation: Violation) -> None: - self._violations.append(violation) - - def add_errors(self, other_ctx: RuleContext) -> None: - self._violations.extend(other_ctx.violations) - - def add_field_path_element(self, element: validate_pb.FieldPathElement) -> None: - for violation in self._violations: - violation.append_field_element(element) - - def add_rule_path_elements( - self, elements: list[validate_pb.FieldPathElement] - ) -> None: - for violation in self._violations: - violation.extend_rule_elements(elements) - - @property - def done(self) -> bool: - return self._fail_fast and self.has_errors() - - def has_errors(self) -> bool: - return len(self._violations) > 0 - - def sub_context(self) -> RuleContext: - return RuleContext(fail_fast=self._fail_fast) - - -class Rules(abc.ABC): - """The rules associated with a single 'rules' message.""" - - @abc.abstractmethod - def validate(self, ctx: RuleContext, message: typing.Any) -> None: - """Validate the message against the rules in this rule.""" - ... diff --git a/protovalidate/_errors.py b/protovalidate/_errors.py new file mode 100644 index 00000000..918fa18e --- /dev/null +++ b/protovalidate/_errors.py @@ -0,0 +1,66 @@ +# Copyright (c) 2023-2026 Buf Technologies, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +from typing import TYPE_CHECKING + +from protovalidate._gen.buf.validate import validate_pb + +if TYPE_CHECKING: + from protovalidate import Violation + +__all__ = ["CompilationError", "EvaluationError", "ValidationError"] + + +class CompilationError(Exception): + """An error raised when a rule fails to compile.""" + + __slots__ = () + + +class EvaluationError(RuntimeError): + """An error raised when a rule fails while being evaluated.""" + + __slots__ = () + + +class ValidationError(ValueError): + """An error raised when a message fails to validate. + + Attributes: + violations: A list of Violation objects that describe the validation errors. + """ + + __slots__ = ("_violations",) + + _violations: list[Violation] + + def __init__(self, msg: str, violations: list[Violation]) -> None: + super().__init__(msg) + self._violations = violations + + def to_proto(self) -> validate_pb.Violations: + """Provides the Protobuf form of the validation errors. + + Returns: + The validation errors as a `validate_pb.Violations` Protobuf message. + """ + return validate_pb.Violations( + violations=[violation.proto for violation in self._violations] + ) + + @property + def violations(self) -> list[Violation]: + return self._violations diff --git a/protovalidate/_extra_func.py b/protovalidate/_extra_func.py deleted file mode 100644 index 5c131ad4..00000000 --- a/protovalidate/_extra_func.py +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""celpy registration for protovalidate's custom CEL functions.""" - -from __future__ import annotations - -import functools -import typing - -import celpy -import re2 -from celpy import celtypes - -from protovalidate import _funcs, _string_format -from protovalidate._rules import MessageType - -if typing.TYPE_CHECKING: - from collections.abc import Callable - - -def _to_py(value: object) -> object: - """Convert a celpy celtypes value to a plain Python type for func evaluation. - - Most celtypes subclass their builtin, so this would be a no-op — except - ``celtypes.BoolType`` subclasses ``int`` (``bool`` cannot be subclassed), so - ``isinstance(x, bool)`` is ``False`` for a celpy bool. Normalizing here lets - the shared functions discriminate ``bool`` from ``int`` arguments correctly. - """ - if isinstance(value, celtypes.BoolType): - return bool(value) - if isinstance(value, celtypes.DoubleType): - return float(value) - if isinstance(value, celtypes.IntType | celtypes.UintType): - return int(value) - if isinstance(value, celtypes.StringType): - return str(value) - if isinstance(value, celtypes.BytesType): - return bytes(value) - if isinstance(value, celtypes.ListType): - return [_to_py(v) for v in value] - if isinstance(value, celtypes.MapType): - return {_to_py(k): _to_py(v) for k, v in value.items()} - return value - - -def _wrap(fn: Callable[..., object]) -> celpy.CELFunction: - """Adapt a plain Python func result to celpy.""" - - @functools.wraps(fn) - def wrapper(*args: celtypes.Value) -> celpy.Result: - try: - result = fn(*[_to_py(arg) for arg in args]) - except ValueError as ex: - raise celpy.CELEvalError(str(ex)) from ex - if isinstance(result, bool): - return celtypes.BoolType(result) - if isinstance(result, str): - return celtypes.StringType(result) - return typing.cast("celpy.Result", result) - - return wrapper - - -def cel_get_field(message: celtypes.Value, field_name: celtypes.Value) -> celpy.Result: - if not isinstance(message, MessageType): - msg = "invalid argument, expected message" - raise celpy.CELEvalError(msg) - if not isinstance(field_name, celtypes.StringType): - msg = "invalid argument, expected string" - raise celpy.CELEvalError(msg) - field = message.get_field(field_name) - if not field: - msg = f"no such field: {field_name}" - raise celpy.CELEvalError(msg) - return message.convert_field(field) - - -def cel_unique(val: celtypes.Value) -> celpy.Result: - if not isinstance(val, celtypes.ListType | list): - msg = "invalid argument, expected list" - raise celpy.CELEvalError(msg) - seen: set[celtypes.Value] = set() - for item in val: - if item in seen: - return celtypes.BoolType(False) # noqa: FBT003 - seen.add(item) - return celtypes.BoolType(True) # noqa: FBT003 - - -def cel_matches(text: str, pattern: str) -> celpy.Result: - try: - m = re2.search(pattern, text) - except re2.error as ex: - return celpy.CELEvalError("match error", ex.__class__, ex.args) - - return celtypes.BoolType(m is not None) - - -def make_extra_funcs() -> dict[str, celpy.CELFunction]: - string_fmt = _string_format.StringFormat() - return { - # Missing standard functions - "format": string_fmt.format, - # Overridden standard functions - "matches": cel_matches, - # protovalidate specific functions - "getField": cel_get_field, - "isNan": _wrap(_funcs.cel_is_nan), - "isInf": _wrap(_funcs.cel_is_inf), - "isIp": _wrap(_funcs.cel_is_ip), - "isIpPrefix": _wrap(_funcs.cel_is_ip_prefix), - "isEmail": _wrap(_funcs.cel_is_email), - "isUri": _wrap(_funcs.cel_is_uri), - "isUriRef": _wrap(_funcs.cel_is_uri_ref), - "isHostname": _wrap(_funcs.cel_is_hostname), - "isHostAndPort": _wrap(_funcs.cel_is_host_and_port), - "unique": cel_unique, - } diff --git a/protovalidate/_funcs.py b/protovalidate/_funcs.py deleted file mode 100644 index eb76ffe5..00000000 --- a/protovalidate/_funcs.py +++ /dev/null @@ -1,1578 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Pure-Python implementations of protovalidate's custom CEL functions.""" - -from __future__ import annotations - -import math -from typing import overload -from urllib import parse as urlparse - -import re2 - -# See https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address -_email_regex = re2.compile( - r"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$" -) - - -def cel_is_ip(val: object, ver: object | None = None) -> bool: - """Return True if the string is an IPv4 or IPv6 address, optionally limited to a specific version. - - Version 0 or None means either 4 or 6. Passing a version other than 0, 4, or 6 always returns False. - - IPv4 addresses are expected in the dotted decimal format, for example "192.168.5.21". - IPv6 addresses are expected in their text representation, for example "::1" or "2001:0DB8:ABCD:0012::0". - - Both formats are well-defined in the internet standard RFC 3986. Zone - identifiers for IPv6 addresses (for example "fe80::a%en1") are supported. - - """ - if not isinstance(val, str): - msg = "invalid argument, expected string" - raise TypeError(msg) - if ver is not None and (not isinstance(ver, int) or isinstance(ver, bool)): - msg = "invalid argument, expected int" - raise TypeError(msg) - - version = 0 if ver is None else ver - - return _is_ip(val, version) - - -def _is_ip(string: str, version: int) -> bool: - """Internal implementation.""" - valid = False - if version == 6: - valid = Ipv6(string).address() - elif version == 4: - valid = Ipv4(string).address() - elif version == 0: - valid = Ipv4(string).address() or Ipv6(string).address() - - return valid - - -@overload -def cel_is_ip_prefix(val: str, /) -> bool: ... -@overload -def cel_is_ip_prefix(val: str, strict: bool, /) -> bool: ... # noqa: FBT001 -@overload -def cel_is_ip_prefix(val: str, version: int, /) -> bool: ... -@overload -def cel_is_ip_prefix(val: str, version: int, strict: bool, /) -> bool: ... # noqa: FBT001 - - -def cel_is_ip_prefix( - val: str, - strict_or_version: bool | int | None = None, # noqa: FBT001 - strict_param: bool | None = None, # noqa: FBT001 - /, -) -> bool: - """Checks if the string is a valid IP with prefix length. - - The check may be optionally limited to a specific version (v4 or v6), and - optionally requiring the host portion to be all zeros. - - An address prefix divides an IP address into a network portion, and a host portion. - The prefix length specifies how many bits the network portion has. - For example, the IPv6 prefix "2001:db8:abcd:0012::0/64" designates the - left-most 64 bits as the network prefix. The range of the network is 2**64 - addresses, from 2001:db8:abcd:0012::0 to 2001:db8:abcd:0012:ffff:ffff:ffff:ffff. - - An address prefix may include a specific host address, for example - "2001:db8:abcd:0012::1f/64". With strict = true, this is not permitted. The - host portion must be all zeros, as in "2001:db8:abcd:0012::0/64". - - The same principle applies to IPv4 addresses. "192.168.1.0/24" designates - the first 24 bits of the 32-bit IPv4 as the network prefix. - - """ - if not isinstance(val, str): - msg = "invalid argument, expected string" - raise TypeError(msg) - version = 0 - strict = False - if strict_param is not None: - if not isinstance(strict_param, bool): - msg = "invalid argument, expected bool" - raise TypeError(msg) - if not isinstance(strict_or_version, int) or isinstance( - strict_or_version, bool - ): - msg = "invalid argument, expected int" - raise TypeError(msg) - strict = strict_param - version = strict_or_version - elif strict_or_version is not None: - match strict_or_version: - case bool(): - strict = strict_or_version - case int(): - version = strict_or_version - case _: - msg = "invalid argument, expected bool or int" - raise TypeError(msg) - - return _is_ip_prefix(val, version, strict=strict) - - -def _is_ip_prefix(string: str, version: int, *, strict: bool = False) -> bool: - """Internal implementation.""" - valid = False - if version == 6: - v6 = Ipv6(string) - valid = v6.address_prefix() and (not strict or v6.is_prefix_only()) - elif version == 4: - v4 = Ipv4(string) - valid = v4.address_prefix() and (not strict or v4.is_prefix_only()) - elif version == 0: - valid = _is_ip_prefix(string, 6, strict=strict) or _is_ip_prefix( - string, 4, strict=strict - ) - - return valid - - -def cel_is_email(string: object) -> bool: - """Return True if the string is an email address, for example "foo@example.com". - - Conforms to the definition for a valid email address from the HTML standard. - Note that this standard willfully deviates from RFC 5322, which allows many - unexpected forms of email addresses and will easily match a typographical - error. - - """ - if not isinstance(string, str): - msg = "invalid argument, expected string" - raise TypeError(msg) - return _email_regex.fullmatch(string) is not None - - -def cel_is_uri(string: object) -> bool: - """Return True if the string is a URI, for example "https://example.com/foo/bar?baz=quux#frag". - - URI is defined in the internet standard RFC 3986. - Zone Identifiers in IPv6 address literals are supported (RFC 6874). - - """ - if not isinstance(string, str): - msg = "invalid argument, expected string" - raise TypeError(msg) - return Uri(str(string)).uri() - - -def cel_is_uri_ref(string: object) -> bool: - """Checks if the string is a URI Reference. - - A URI reference is a URI such as "https://example.com/foo/bar?baz=quux#frag" or - a Relative Reference such as "./foo/bar?query". - - URI, URI Reference, and Relative Reference are defined in the internet standard RFC 3986. - Zone Identifiers in IPv6 address literals are supported (RFC 6874). - - """ - if not isinstance(string, str): - msg = "invalid argument, expected string" - raise TypeError(msg) - return Uri(str(string)).uri_reference() - - -def cel_is_hostname(val: object) -> bool: - """Checks if the string is a valid hostname, for example "foo.example.com". - - A valid hostname follows the rules below: - - The name consists of one or more labels, separated by a dot ("."). - - Each label can be 1 to 63 alphanumeric characters. - - A label can contain hyphens ("-"), but must not start or end with a hyphen. - - The right-most label must not be digits only. - - The name can have a trailing dot, for example "foo.example.com.". - - The name can be 253 characters at most, excluding the optional trailing dot. - - """ - if not isinstance(val, str): - msg = "invalid argument, expected string" - raise TypeError(msg) - return _is_hostname(val) - - -def _is_hostname(val: str) -> bool: - """Internal implementation.""" - string = val.removesuffix(".").lower() - - # The 253-character limit excludes the optional trailing dot (RFC 3339) which - # we just stripped. - if len(string) > 253: - return False - - all_digits = False - parts = string.lower().split(sep=".") - - # split hostname on '.' and validate each part - for part in parts: - all_digits = True - - # if part is empty, longer than 63 chars, or starts/ends with '-', it is invalid - part_len = len(part) - - if part_len == 0 or part_len > 63 or part.startswith("-") or part.endswith("-"): - return False - - for c in part: - # if the character is not a-z, 0-9, or '-', it is invalid - if (c < "a" or c > "z") and (c < "0" or c > "9") and c != "-": - return False - - all_digits = all_digits and "0" <= c <= "9" - - # the last part cannot be all numbers - return not all_digits - - -def _is_port(val: str) -> bool: - if len(val) == 0: - return False - if len(val) > 1 and val[0] == "0": - return False - for c in val: - if c < "0" or c > "9": - return False - try: - return int(val) <= 65535 - except ValueError: - # Error converting to number - return False - - -def cel_is_host_and_port(string: object, port_required: object) -> bool: - """Return True if the string is a valid host/port pair, for example "example.com:8080". - - If the argument `port_required` is True, the port is required. If the argument - is False, the port is optional. - - The host can be one of: - - An IPv4 address in dotted decimal format, for example "192.168.0.1". - - An IPv6 address enclosed in square brackets, for example "[::1]". - - A hostname, for example "example.com". - - The port is separated by a colon. It must be non-empty, with a decimal number in the range of 0-65535, inclusive. - """ - if not isinstance(string, str): - msg = "invalid argument, expected string" - raise TypeError(msg) - if not isinstance(port_required, bool): - msg = "invalid argument, expected bool" - raise TypeError(msg) - return _is_host_and_port(string, port_required=bool(port_required)) - - -def _is_host_and_port(val: str, *, port_required: bool = False) -> bool: - if len(val) == 0: - return False - - split_idx = val.rfind(":") - - if val[0] == "[": - end = val.rfind("]") - end_plus = end + 1 - - if end_plus == len(val): - return not port_required and _is_ip(val[1:end], 6) - if end_plus == split_idx: - return _is_ip(val[1:end], 6) and _is_port(val[split_idx + 1 :]) - # malformed - return False - - if split_idx < 0: - return not port_required and (_is_hostname(val) or _is_ip(val, 4)) - - host = val[0:split_idx] - port = val[split_idx + 1 :] - - return (_is_hostname(host) or _is_ip(host, 4)) and _is_port(port) - - -def cel_is_nan(val: object) -> bool: - if not isinstance(val, float): - msg = "invalid argument, expected double" - raise TypeError(msg) - return math.isnan(val) - - -def cel_is_inf(val: object, sign: object | None = None) -> bool: - if not isinstance(val, float): - msg = "invalid argument, expected double" - raise TypeError(msg) - if sign is None: - return math.isinf(val) - - if not isinstance(sign, int) or isinstance(sign, bool): - msg = "invalid argument, expected int" - raise TypeError(msg) - if sign > 0: - return math.isinf(val) and val > 0 - if sign < 0: - return math.isinf(val) and val < 0 - return math.isinf(val) - - -class Ipv4: - """Ipv4 is a class used to parse a given string to determine if it is a valid IPv4 address or address prefix.""" - - _string: str - _index: int - _octets: bytearray - _prefix_len: int - - def __init__(self, string: str) -> None: - """Initialize an Ipv4 validation class with a given string.""" - super().__init__() - self._string = string - self._index = 0 - self._octets = bytearray() - self._prefix_len = 0 - - def address(self) -> bool: - """Parses an IPv4 Address in dotted decimal notation.""" - return self.__address_part() and self._index == len(self._string) - - def address_prefix(self) -> bool: - """Parses an IPv4 Address prefix.""" - return ( - self.__address_part() - and self.__take("/") - and self.__prefix_length() - and self._index == len(self._string) - ) - - def get_bits(self) -> int: - """Return the 32-bit value of an address parsed through address() or address_prefix(). - - Return -1 if no address was parsed successfully. - - """ - if len(self._octets) != 4: - return -1 - - return ( - (self._octets[0] << 24) - | (self._octets[1] << 16) - | (self._octets[2] << 8) - | self._octets[3] - ) - - def is_prefix_only(self) -> bool: - """Return True if all bits to the right of the prefix-length are all zeros. - - Behavior is undefined if address_prefix() has not been called before, or has returned False. - - """ - bits = self.get_bits() - - mask: int - if self._prefix_len == 32: - mask = 0xFFFFFFFF - else: - mask = ~(0xFFFFFFFF >> self._prefix_len) - - masked = bits & mask - - return bits == masked - - def __prefix_length(self) -> bool: - """Store value in prefix_len.""" - start = self._index - - while self.__digit(): - if self._index - start > 2: - # max prefix-length is 32 bits, so anything more than 2 digits is invalid - return False - - string = self._string[start : self._index] - if len(string) == 0: - # too short - return False - - if len(string) > 1 and string[0] == "0": - # bad leading 0 - return False - - try: - value = int(string) - - if value > 32: - # max 32 bits - return False - - self._prefix_len = value - except ValueError: - # Error converting to number - return False - else: - return True - - def __address_part(self) -> bool: - start = self._index - - if ( - self.__dec_octet() - and self.__take(".") - and self.__dec_octet() - and self.__take(".") - and self.__dec_octet() - and self.__take(".") - and self.__dec_octet() - ): - return True - - self._index = start - return False - - def __dec_octet(self) -> bool: - start = self._index - - while self.__digit(): - if self._index - start > 3: - # decimal octet can be three characters at most - return False - - string = self._string[start : self._index] - - if len(string) == 0: - # too short - return False - - if len(string) > 1 and string[0] == "0": - # bad leading 0 - return False - - try: - value = int(string) - - if value > 255: - return False - - self._octets.append(value) - except ValueError: - # Error converting to number - return False - else: - return True - - def __digit(self) -> bool: - """Report whether the current position is a digit. - - Parses the rule: - - DIGIT = %x30-39 ; 0-9 - - """ - if self._index >= len(self._string): - return False - - c = self._string[self._index] - if "0" <= c <= "9": - self._index += 1 - return True - - return False - - def __take(self, char: str) -> bool: - """Take the given char at the current position, incrementing the index if necessary.""" - if self._index >= len(self._string): - return False - - if self._string[self._index] == char: - self._index += 1 - return True - - return False - - -class Ipv6: - """Ipv6 is a class used to parse a given string to determine if it is a IPv6 address or address prefix.""" - - _string: str - _index: int - _pieces: list[int] # 16-bit pieces found - _double_colon_at: int # Number of 16-bit pieces found when double colon was found. - _double_colon_seen: bool - _dotted_raw: str # Dotted notation for right-most 32 bits. - _dotted_addr: Ipv4 | None # Dotted notation successfully parsed as Ipv4. - _zone_id_found: bool - _prefix_len: int # 0 -128 - - def __init__(self, string: str) -> None: - """Initialize a URI validation class with a given string.""" - super().__init__() - self._string = string - self._index = 0 - self._pieces = [] - self._double_colon_at = -1 - self._double_colon_seen = False - self._dotted_raw = "" - self._dotted_addr = None - self._zone_id_found = False - - def get_bits(self) -> int: - """Return the 128-bit value of an address parsed through address() or address_prefix(). - - Return 0 if no address was parsed successfully. - - """ - p16 = self._pieces - - # Handle dotted decimal, add to p16 - if self._dotted_addr is not None: - # Right-most 32 bits - dotted32 = self._dotted_addr.get_bits() - # High 16 bits - p16.append(dotted32 >> 16) - # Low 16 bits - p16.append(dotted32) - - # Handle double colon, fill pieces with 0 - if self._double_colon_seen: - while len(p16) < 8: - # Delete 0 entries at pos, insert a 0 - p16.insert(self._double_colon_at, 0x00000000) - - if len(p16) != 8: - return 0 - - return ( - p16[0] << 112 - | p16[1] << 96 - | p16[2] << 80 - | p16[3] << 64 - | p16[4] << 48 - | p16[5] << 32 - | p16[6] << 16 - | p16[7] - ) - - def is_prefix_only(self) -> bool: - """Return True if all bits to the right of the prefix-length are all zeros. - - Behavior is undefined if address_prefix() has not been called before, or has returned False. - - """ - bits = self.get_bits() - mask: int - if self._prefix_len >= 128: - mask = 0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF - elif self._prefix_len < 0: - mask = 0x00000000_00000000_00000000_00000000 - else: - mask = ~(0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF >> self._prefix_len) - - masked = bits & mask - return bits == masked - - def address(self) -> bool: - """Parse an IPv6 Address following RFC 4291, with optional zone id following RFC 4007.""" - return self.__address_part() and self._index == len(self._string) - - def address_prefix(self) -> bool: - """Parse an IPv6 Address Prefix following RFC 4291. Zone id is not permitted.""" - return ( - self.__address_part() - and not self._zone_id_found - and self.__take("/") - and self.__prefix_length() - and self._index == len(self._string) - ) - - def __prefix_length(self) -> bool: - """Store value in prefix_len.""" - start = self._index - - while self.__digit(): - if self._index - start > 3: - return False - - string = self._string[start : self._index] - - if len(string) == 0: - # too short - return False - - if len(string) > 1 and string[0] == "0": - # bad leading 0 - return False - - try: - value = int(string) - - if value > 128: - # max 128 bits - return False - - self._prefix_len = value - except ValueError: - # Error converting to number - return False - else: - return True - - def __address_part(self) -> bool: - """Store dotted notation for right-most 32 bits in dotted_raw / dotted_addr if found.""" - while self._index < len(self._string): - # dotted notation for right-most 32 bits, e.g. 0:0:0:0:0:ffff:192.1.56.10 - if (self._double_colon_seen or len(self._pieces) == 6) and self.__dotted(): - dotted = Ipv4(self._dotted_raw) - - if dotted.address(): - self._dotted_addr = dotted - return True - - return False - - try: - if self.__h16(): - continue - except ValueError: - return False - - if self.__take(":"): - if self.__take(":"): - if self._double_colon_seen: - return False - - self._double_colon_seen = True - self._double_colon_at = len(self._pieces) - - if self.__take(":"): - return False - elif self._index == 1 or self._index == len(self._string): - # invalid - string cannot start or end on single colon - return False - - continue - - if self._string[self._index] == "%" and not self.__zone_id(): - return False - - break - - if self._double_colon_seen: - return len(self._pieces) < 8 - return len(self._pieces) == 8 - - def __zone_id(self) -> bool: - """Determine whether the current position is a zoneID. - - There is no definition for the character set allowed in the zone - identifier. RFC 4007 permits basically any non-null string. - - RFC 6874: ZoneID = 1*( unreserved / pct-encoded ) - - """ - start = self._index - - if self.__take("%") and len(self._string) - self._index > 0: - # permit any non-null string - self._index = len(self._string) - self._zone_id_found = True - - return True - - self._index = start - self._zone_id_found = False - return False - - def __dotted(self) -> bool: - """Determine whether the current position is a dotted address. - - Parses the rule: - - 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT - - Stores match in _dotted_raw. - """ - start = self._index - self._dotted_raw = "" - - while self.__digit() or self.__take("."): - pass - - if self._index - start >= 7: - self._dotted_raw = self._string[start : self._index] - return True - - self._index = start - return False - - def __h16(self) -> bool: - """Determine whether the current position is a h16. - - Parses the rule: - - h16 = 1*4HEXDIG - - If 1-4 hex digits are found, the parsed 16-bit unsigned integer is stored - in pieces and True is returned. - If 0 hex digits are found, returns False. - If more than 4 hex digits are found or the found hex digits cannot be - converted to an int, a ValueError is raised. - """ - start = self._index - - while self.__hex_dig(): - pass - - string = self._string[start : self._index] - - if len(string) == 0: - # too short, just return false - # this is not an error condition, it just means we didn't find any - # hex digits at the current position. - return False - - if len(string) > 4: - # too long - # this is an error condition, it means we found a string of more than - # four valid hex digits, which is invalid in ipv6 addresses. - raise ValueError - - # Note that this will raise a ValueError also if string cannot be - # converted to an int. - value = int(string, 16) - - self._pieces.append(value) - - return True - - def __hex_dig(self) -> bool: - """Determine whether the current position is a hex digit. - - Parses the rule: - - HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F" - - """ - if self._index >= len(self._string): - return False - - c = self._string[self._index] - - if ("0" <= c <= "9") or ("a" <= c <= "f") or ("A" <= c <= "F"): - self._index += 1 - - return True - - return False - - def __digit(self) -> bool: - """Determine whether the current position is a digit. - - Parses the rule: - - DIGIT = %x30-39 ; 0-9 - - """ - if self._index >= len(self._string): - return False - - c = self._string[self._index] - if "0" <= c <= "9": - self._index += 1 - return True - - return False - - def __take(self, char: str) -> bool: - """Take the given char at the current index. - - If char is at the current index, increment the index. - - """ - if self._index >= len(self._string): - return False - - if self._string[self._index] == char: - self._index += 1 - return True - - return False - - -class Uri: - """Uri is a class used to parse a given string to determine if it is a valid URI or URI reference.""" - - _string: str - _index: int - _pct_encoded_found: bool - - def __init__(self, string: str) -> None: - """Initialize a URI validation class with a given string.""" - super().__init__() - self._string = string - self._index = 0 - - def uri(self) -> bool: - """Determine whether _string is a URI. - - Parses the rule: - - URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] - - """ - start = self._index - if not (self.__scheme() and self.__take(":") and self.__hier_part()): - self._index = start - return False - - if self.__take("?") and not self.__query(): - return False - - if self.__take("#") and not self.__fragment(): - return False - - if self._index != len(self._string): - self._index = start - return False - - return True - - def uri_reference(self) -> bool: - """Determine whether _string is a URI reference. - - Parses the rule: - - URI-reference = URI / relative-ref - - """ - return self.uri() or self.__relative_ref() - - def __hier_part(self) -> bool: - """Determine whether the current position is a hier-part. - - Parses the rule: - - hier-part = "//" authority path-abempty. - / path-absolute - / path-rootless - / path-empty - - """ - start = self._index - if ( - self.__take("/") - and self.__take("/") - and self.__authority() - and self.__path_abempty() - ): - return True - - self._index = start - return self.__path_absolute() or self.__path_rootless() or self.__path_empty() - - def __relative_ref(self) -> bool: - """Determine whether the current position is a relative reference. - - Parses the rule: - - relative-ref = relative-part [ "?" query ] [ "#" fragment ] - - """ - start = self._index - if not self.__relative_part(): - return False - - if self.__take("?") and not self.__query(): - self._index = start - return False - - if self.__take("#") and not self.__fragment(): - self._index = start - return False - - if self._index != len(self._string): - self._index = start - return False - - return True - - def __relative_part(self) -> bool: - """Determine whether the current position is a relative part. - - Parses the rule: - - relative-part = "//" authority path-abempty - / path-absolute - / path-noscheme - / path-empty - - """ - start = self._index - if ( - self.__take("/") - and self.__take("/") - and self.__authority() - and self.__path_abempty() - ): - return True - - self._index = start - return self.__path_absolute() or self.__path_noscheme() or self.__path_empty() - - def __scheme(self) -> bool: - """Determine whether the current position is a scheme. - - Parses the rule: - - scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ) - - Terminated by ":". - - """ - start = self._index - if self.__alpha(): - while ( - self.__alpha() - or self.__digit() - or self.__take("+") - or self.__take("-") - or self.__take(".") - ): - pass - - if self.__peek(":"): - return True - - self._index = start - return False - - def __authority(self) -> bool: - """Determine whether the current position is an authority. - - Parses the rule: - - authority = [ userinfo "@" ] host [ ":" port ] - - Lead by double slash ("") and terminated by "/", "?", "#", or end of URI. - - """ - start = self._index - if self.__userinfo() and not self.__take("@"): - self._index = start - return False - - if not self.__host(): - self._index = start - return False - - if self.__take(":") and not self.__port(): - self._index = start - return False - - if not self.__is_authority_end(): - self._index = start - return False - - return True - - def __is_authority_end(self) -> bool: - """Report whether the current position is the end of the authority. - - The authority component [...] is terminated by the next slash ("/"), - question mark ("?"), or number sign ("#") character, or by the - end of the URI. - - """ - return ( - self._index >= len(self._string) - or self._string[self._index] == "?" - or self._string[self._index] == "#" - or self._string[self._index] == "/" - ) - - def __userinfo(self) -> bool: - """Determine whether the current position is a userinfo. - - Parses the rule: - - userinfo = *( unreserved / pct-encoded / sub-delims / ":" ) - - Terminated by "@" in authority. - - """ - start = self._index - while ( - self.__unreserved() - or self.__pct_encoded() - or self.__sub_delims() - or self.__take(":") - ): - pass - - if self.__peek("@"): - return True - - self._index = start - return False - - @staticmethod - def __check_host_pct_encoded(string: str) -> bool: - """Verify that string is correctly percent-encoded.""" - try: - # unquote defaults to 'UTF-8' encoding. - urlparse.unquote(string, errors="strict") - except UnicodeError: - return False - - return True - - def __host(self) -> bool: - """Determine whether the current position is a host. - - Parses the rule: - - host = IP-literal / IPv4address / reg-name. - - """ - start = self._index - self._pct_encoded_found = False - - # Note: IPv4address is a subset of reg-name - if (self.__peek("[") and self.__ip_literal()) or self.__reg_name(): - if self._pct_encoded_found: - raw_host = self._string[start : self._index] - # RFC 3986: - # > URI producing applications must not use percent-encoding in host - # > unless it is used to represent a UTF-8 character sequence. - if not self.__check_host_pct_encoded(raw_host): - return False - - return True - - return False - - def __port(self) -> bool: - """Determine whether the current position is a port. - - Parses the rule: - - port = *DIGIT - - Terminated by end of authority. - - """ - start = self._index - while self.__digit(): - pass - - if self.__is_authority_end(): - return True - - self._index = start - return False - - def __ip_literal(self) -> bool: - """Determine whether the current position is a IP-literal. - - Parses the rule from RFC 6874: - - IP-literal = "[" ( IPv6address / IPv6addrz / IPvFuture ) "]" - - """ - start = self._index - - if self.__take("["): - curr_idx = self._index - if self.__ipv6_address() and self.__take("]"): - return True - - self._index = curr_idx - - if self.__ipv6_addrz() and self.__take("]"): - return True - - self._index = curr_idx - - if self.__ip_vfuture() and self.__take("]"): - return True - - self._index = start - return False - - def __ipv6_address(self) -> bool: - """Determine whether the current position is a IPv6address. - - Parses the rule "IPv6address". - - Relies on the implementation of _is_ip. - - """ - start = self._index - while self.__hex_dig() or self.__take(":"): - pass - - if _is_ip(self._string[start : self._index], 6): - return True - - self._index = start - return False - - def __ipv6_addrz(self) -> bool: - """Determine whether the current position is a IPv6addrz. - - Parses the rule from RFC 6874: - - IPv6addrz = IPv6address "%25" ZoneID - - """ - start = self._index - if ( - self.__ipv6_address() - and self.__take("%") - and self.__take("2") - and self.__take("5") - and self.__zone_id() - ): - return True - - self._index = start - - return False - - def __zone_id(self) -> bool: - """Determine whether the current position is a ZoneID. - - Parses the rule from RFC 6874: - - ZoneID = 1*( unreserved / pct-encoded ) - - """ - start = self._index - while self.__unreserved() or self.__pct_encoded(): - pass - - if self._index - start > 0: - return True - - self._index = start - - return False - - def __ip_vfuture(self) -> bool: - """Determine whether the current position is a IPvFuture. - - Parses the rule: - - IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" ) - - """ - start = self._index - - if self.__take("v") and self.__hex_dig(): - while self.__hex_dig(): - pass - - if self.__take("."): - j = 0 - while self.__unreserved() or self.__sub_delims() or self.__take(":"): - j += 1 - - if j >= 1: - return True - - self._index = start - - return False - - def __reg_name(self) -> bool: - """Determine whether the current position is a reg-name. - - Parses the rule: - - reg-name = *( unreserved / pct-encoded / sub-delims ) - - Terminates on start of port (":") or end of authority. - - """ - start = self._index - while self.__unreserved() or self.__pct_encoded() or self.__sub_delims(): - pass - - if self.__is_authority_end(): - # End of authority - return True - - if self.__peek(":"): - return True - - self._index = start - return False - - def __is_path_end(self) -> bool: - """Determine whether the current index has reached the end of path. - - > The path is terminated by the first question mark ("?") or - > number sign ("#") character, or by the end of the URI. - - """ - return ( - self._index >= len(self._string) - or self._string[self._index] == "?" - or self._string[self._index] == "#" - ) - - def __path_abempty(self) -> bool: - """Determine whether the current position is a path-abempty. - - Parses the rule: - - path-abempty = *( "/" segment ) - - Terminated by end of path: "?", "#", or end of URI. - - """ - start = self._index - while self.__take("/") and self.__segment(): - pass - - if self.__is_path_end(): - return True - - self._index = start - return False - - def __path_absolute(self) -> bool: - """Determine whether the current position is a path-absolute. - - Parses the rule: - - path-absolute = "/" [ segment-nz *( "/" segment ) ] - - Terminated by end of path: "?", "#", or end of URI. - - """ - start = self._index - - if self.__take("/"): - if self.__segment_nz(): - while self.__take("/") and self.__segment(): - pass - - if self.__is_path_end(): - return True - - self._index = start - return False - - def __path_noscheme(self) -> bool: - """Determine whether the current position is a path-noscheme. - - Parses the rule: - - path-noscheme = segment-nz-nc *( "/" segment ) - - Terminated by end of path: "?", "#", or end of URI. - - """ - start = self._index - if self.__segment_nz_nc(): - while self.__take("/") and self.__segment(): - pass - - if self.__is_path_end(): - return True - - self._index = start - return True - - def __path_rootless(self) -> bool: - """Determine whether the current position is a path-rootless. - - Parses the rule: - - path-rootless = segment-nz *( "/" segment ) - - Terminated by end of path: "?", "#", or end of URI. - - """ - start = self._index - - if self.__segment_nz(): - while self.__take("/") and self.__segment(): - pass - - if self.__is_path_end(): - return True - - self._index = start - return True - - def __path_empty(self) -> bool: - """Determine whether the current position is a path-empty. - - Parses the rule: - - path-empty = 0 - - Terminated by end of path: "?", "#", or end of URI. - - """ - return self.__is_path_end() - - def __segment(self) -> bool: - """Determine whether the current position is a segment. - - Parses the rule: - - segment = *pchar - - """ - while self.__pchar(): - pass - - return True - - def __segment_nz(self) -> bool: - """Determine whether the current position is a segment-nz. - - Parses the rule: - - segment-nz = 1*pchar - - """ - start = self._index - - if self.__pchar(): - while self.__pchar(): - pass - - return True - - self._index = start - return False - - def __segment_nz_nc(self) -> bool: - """Determine whether the current position is a segment-nz-nc. - - Parses the rule: - - segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" ) - ; non-zero-length segment without any colon ":" - - """ - start = self._index - - while ( - self.__unreserved() - or self.__pct_encoded() - or self.__sub_delims() - or self.__take("@") - ): - pass - - if self._index - start > 0: - return True - - self._index = start - return False - - def __pchar(self) -> bool: - """Determine whether the current position is a pchar. - - Parses the rule: - - pchar = unreserved / pct-encoded / sub-delims / ":" / "@" - - """ - return ( - self.__unreserved() - or self.__pct_encoded() - or self.__sub_delims() - or self.__take(":") - or self.__take("@") - ) - - def __query(self) -> bool: - """Determine whether the current position is a valid query. - - Parses the rule: - - query = *( pchar / "/" / "?" ) - - Terminated by "#" or end of URI. - - """ - start = self._index - - while self.__pchar() or self.__take("/") or self.__take("?"): - pass - - if self._index == len(self._string) or self.__peek("#"): - return True - - self._index = start - return False - - def __fragment(self) -> bool: - """Determine whether the current position is a fragment. - - Parses the rule: - - fragment = *( pchar / "/" / "?" ) - - Terminated by end of URI. - - """ - start = self._index - - while self.__pchar() or self.__take("/") or self.__take("?"): - pass - - if self._index == len(self._string): - return True - - self._index = start - return False - - def __pct_encoded(self) -> bool: - """Determine whether the current position is a pct-encoded. - - Parses the rule: - - pct-encoded = "%" HEXDIG HEXDIG - - Sets `_pct_encoded_found` to True if a valid triplet was found - - """ - start = self._index - - if self.__take("%") and self.__hex_dig() and self.__hex_dig(): - self._pct_encoded_found = True - return True - - self._index = start - - return False - - def __unreserved(self) -> bool: - """Determine whether the current position is a unreserved character. - - Parses the rule: - - unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" - - """ - return ( - self.__alpha() - or self.__digit() - or self.__take("-") - or self.__take("_") - or self.__take(".") - or self.__take("~") - ) - - def __sub_delims(self) -> bool: - """Determine whether the current position is a sub-delim. - - Parses the rule: - - sub-delims = "!" / "$" / "&" / "'" / "(" / ")" - / "*" / "+" / "," / ";" / "=" - - """ - return ( - self.__take("!") - or self.__take("$") - or self.__take("&") - or self.__take("'") - or self.__take("(") - or self.__take(")") - or self.__take("*") - or self.__take("+") - or self.__take(",") - or self.__take(";") - or self.__take("=") - ) - - def __alpha(self) -> bool: - """Determine whether the current position is an alpha character. - - Parses the rule: - - ALPHA = %x41-5A / %x61-7A ; A-Z / a-z - - """ - if self._index >= len(self._string): - return False - - c = self._string[self._index] - if ("A" <= c <= "Z") or ("a" <= c <= "z"): - self._index += 1 - return True - - return False - - def __digit(self) -> bool: - """Determine whether the current position is a digit. - - Parses the rule: - - DIGIT = %x30-39 ; 0-9 - - """ - if self._index >= len(self._string): - return False - - c = self._string[self._index] - if "0" <= c <= "9": - self._index += 1 - return True - - return False - - def __hex_dig(self) -> bool: - """Determine whether the current position is a hex digit. - - Parses the rule: - - HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F" - - """ - if self._index >= len(self._string): - return False - - c = self._string[self._index] - - if ("0" <= c <= "9") or ("a" <= c <= "f") or ("A" <= c <= "F"): - self._index += 1 - return True - - return False - - def __take(self, char: str) -> bool: - """Take the given char at the current index. - - If char is at the current index, increment the index. - - """ - if self._index >= len(self._string): - return False - - if self._string[self._index] == char: - self._index += 1 - return True - - return False - - def __peek(self, char: str) -> bool: - return self._index < len(self._string) and self._string[self._index] == char diff --git a/protovalidate/_legacy.py b/protovalidate/_legacy.py deleted file mode 100644 index 9454e28c..00000000 --- a/protovalidate/_legacy.py +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import annotations - -import typing - -from protobuf import Message -from protobuf.wkt import FileDescriptorProto, FileDescriptorSet - -if typing.TYPE_CHECKING: - from google.protobuf import ( - descriptor as google_descriptor, - message as google_message, - ) - - -class LegacyMessageConverter: - """Copies google.protobuf messages into protobuf-py dynamic messages.""" - - def __init__(self) -> None: - self._types: dict[google_descriptor.Descriptor, type[Message]] = {} - - def normalize(self, msg: Message | google_message.Message) -> Message: - """Normalize an input Protobuf message to a protobuf.Message. - - protobuf.Message is returned as-is, otherwise google.protobuf.Message is - copied into a protobuf.Message of the same type. - """ - if isinstance(msg, Message): - return msg - # Normalize upb descriptor type - desc = typing.cast("google_descriptor.Descriptor", msg.DESCRIPTOR) - cls = self._types.get(desc) - if cls is None: - cls = _message_class(desc) - self._types[desc] = cls - return cls.from_binary(msg.SerializeToString()) - - -def _message_class(desc: google_descriptor.Descriptor) -> type[Message]: - files: dict[str, FileDescriptorProto] = {} - _collect_files(desc.file, files) - registry = FileDescriptorSet(file=list(files.values())).to_registry() - result = registry.message(desc.full_name) - # The collected files declare the descriptor's type. - assert result is not None # noqa: S101 - return result.type - - -def _collect_files( - file: google_descriptor.FileDescriptor, out: dict[str, FileDescriptorProto] -) -> None: - if file.name in out: - return - for dep in file.dependencies: - _collect_files(dep, out) - out[file.name] = FileDescriptorProto.from_binary(file.serialized_pb) diff --git a/protovalidate/_protovalidate.pyi b/protovalidate/_protovalidate.pyi new file mode 100644 index 00000000..038f359d --- /dev/null +++ b/protovalidate/_protovalidate.pyi @@ -0,0 +1,106 @@ +# Copyright (c) 2023-2026 Buf Technologies, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""The native protovalidate engine.""" + +from typing import Any, final + +from google.protobuf.message import Message +from protobuf import Message as Message2, Registry + +from protovalidate._gen.buf.validate.validate_pb import ( + FieldPath, + Violation as Violation2, +) + +@final +class Validator: + """Validate Protobuf messages against static rules. + + Both protobuf-py messages and legacy google.protobuf messages are + accepted; either is handed to the native engine in serialized form. + + Each validator instance caches internal state generated from the static + rules, so reusing the same instance for multiple validations + significantly improves performance. + """ + def __new__(cls, /, registry: Registry | None = None) -> Validator: + """Create a new validator. + + Parameters: + registry: An optional Registry used to resolve custom + predefined-rule extensions. If omitted, only standard rules are applied. + """ + def collect_violations( + self, /, message: Message2 | Message, *, fail_fast: bool = False + ) -> list[Violation]: + """Validates the given message against the static rules defined in the message's descriptor. + + Compared to `validate`, `collect_violations` simply returns the violations as a list and puts + the burden of raising an appropriate exception on the caller. + + The violations returned from this method should always be equal to the violations + raised as part of the ValidationError in the call to `validate`. + + Parameters: + message: The message to validate. + fail_fast: If true, validation will stop after the first iteration. + + Returns: + A list of Violation objects that describe the validation errors. + + Raises: + CompilationError: If the static rules could not be compiled. + EvaluationError: If a rule failed while being evaluated. + """ + def validate( + self, /, message: Message2 | Message, *, fail_fast: bool = False + ) -> None: + """Validate the given message against the static rules defined in the message's descriptor. + + Parameters: + message: The message to validate. + fail_fast: If true, validation will stop after the first iteration. + + Raises: + CompilationError: If the static rules could not be compiled. + EvaluationError: If a rule failed while being evaluated. + ValidationError: If the message is invalid. The violations raised as part of this error should + always be equal to the list of violations returned by `collect_violations`. + """ + +@final +class Violation: + """A singular rule violation.""" + def __new__( + cls, + /, + *, + field_value: Any | None = None, + rule_value: Any | None = None, + field: FieldPath | None = None, + rule: FieldPath | None = None, + rule_id: str | None = None, + message: str | None = None, + for_key: bool = False, + ) -> Violation: + """Create a new violation.""" + @property + def field_value(self, /) -> Any: + """The value of the field that violated the rule.""" + @property + def proto(self, /) -> Violation2: + """The `buf.validate.Violation` form of this violation.""" + @property + def rule_value(self, /) -> Any: + """The value of the rule that was violated.""" diff --git a/protovalidate/_rules.py b/protovalidate/_rules.py deleted file mode 100644 index 7b324e9e..00000000 --- a/protovalidate/_rules.py +++ /dev/null @@ -1,1262 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import annotations - -import dataclasses -import datetime -import typing - -import celpy -from celpy import celtypes -from protobuf import ( - DescEnum, - DescExtension, - DescField, - DescFieldValue, - DescFieldValueEnum, - DescFieldValueList, - DescFieldValueMap, - DescFieldValueMessage, - DescFieldValueScalar, - DescMessage, - DescOneof, - Extension, - Message, - Oneof, - Registry, - ScalarType, -) -from protobuf.wkt import Duration, FieldDescriptorProto, Timestamp - -from protovalidate._cel_field_presence import InterpretedRunner, in_has -from protovalidate._core import CompilationError, RuleContext, Rules, Violation -from protovalidate._gen.buf.validate import validate_pb - -if typing.TYPE_CHECKING: - from collections.abc import Callable, Iterable - -_TYPE_CTORS: dict[ScalarType, Callable[..., celtypes.Value]] = { - ScalarType.BOOL: celtypes.BoolType, - ScalarType.BYTES: celtypes.BytesType, - ScalarType.STRING: celtypes.StringType, - ScalarType.FLOAT: celtypes.DoubleType, - ScalarType.DOUBLE: celtypes.DoubleType, - ScalarType.INT32: celtypes.IntType, - ScalarType.INT64: celtypes.IntType, - ScalarType.SINT32: celtypes.IntType, - ScalarType.SINT64: celtypes.IntType, - ScalarType.SFIXED32: celtypes.IntType, - ScalarType.SFIXED64: celtypes.IntType, - ScalarType.UINT32: celtypes.UintType, - ScalarType.UINT64: celtypes.UintType, - ScalarType.FIXED32: celtypes.UintType, - ScalarType.FIXED64: celtypes.UintType, -} - - -def _scalar_zero(scalar: ScalarType) -> str | bytes | bool | float | int: - match scalar: - case ScalarType.STRING: - return "" - case ScalarType.BYTES: - return b"" - case ScalarType.BOOL: - return False - case ScalarType.DOUBLE | ScalarType.FLOAT: - return 0.0 - case _: - return 0 - - -def _wire_type( - field: DescField | DescExtension | ScalarType | DescMessage | DescEnum, -) -> FieldDescriptorProto.Type: - """The FieldDescriptorProto.Type for a field path element, reported in validation messages.""" - match field: - case ScalarType(): - return FieldDescriptorProto.Type(int(field)) - case DescMessage(): - return FieldDescriptorProto.Type.MESSAGE - case DescEnum(): - return FieldDescriptorProto.Type.ENUM - case _: - match field.value: - case ( - DescFieldValueMessage(delimited_encoding=True) - | DescFieldValueList(delimited_encoding=True) - ): - return FieldDescriptorProto.Type.GROUP - case _: - return field.proto.type - - -def _path_name(field: DescField | DescExtension) -> str: - """The field name for a path element. Extensions are bracketed.""" - return f"[{field.type_name}]" if isinstance(field, DescExtension) else field.name - - -def _read_key(field: DescField | DescExtension) -> DescField | Extension: - return field.type if isinstance(field, DescExtension) else field - - -def _scalar_of( - subject: DescField | ScalarType | DescMessage | DescEnum, -) -> ScalarType | None: - match subject: - case ScalarType(): - return subject - case DescField(value=DescFieldValueScalar(scalar=scalar)): - return scalar - case _: - return None - - -def _message_of( - subject: DescField | ScalarType | DescMessage | DescEnum, -) -> DescMessage | None: - match subject: - case DescMessage(): - return subject - case DescField(value=DescFieldValueMessage(message=message)): - return message - case _: - return None - - -def _enum_of( - subject: DescField | ScalarType | DescMessage | DescEnum, -) -> DescEnum | None: - match subject: - case DescEnum(): - return subject - case DescField(value=DescFieldValueEnum(enum=enum)): - return enum - case _: - return None - - -def make_duration(msg: Duration) -> celtypes.DurationType: - return celtypes.DurationType(seconds=msg.seconds, nanos=msg.nanos) - - -def make_timestamp(msg: Timestamp) -> celtypes.TimestampType: - return celtypes.TimestampType(1970, 1, 1) + celtypes.DurationType( - seconds=msg.seconds, nanos=msg.nanos - ) - - -class MessageConverter: - """Converts protobuf-py values into celpy celtypes for CEL evaluation.""" - - def __init__(self) -> None: - self._fields_by_name: dict[DescMessage, dict[str, DescField]] = {} - # Well-known types convert to native CEL values rather than maps. - self._wkt: dict[str, Callable[..., celtypes.Value]] = { - "google.protobuf.Duration": make_duration, - "google.protobuf.Timestamp": make_timestamp, - "google.protobuf.StringValue": self._unwrap, - "google.protobuf.BytesValue": self._unwrap, - "google.protobuf.Int32Value": self._unwrap, - "google.protobuf.Int64Value": self._unwrap, - "google.protobuf.UInt32Value": self._unwrap, - "google.protobuf.UInt64Value": self._unwrap, - "google.protobuf.FloatValue": self._unwrap, - "google.protobuf.DoubleValue": self._unwrap, - "google.protobuf.BoolValue": self._unwrap, - } - - def fields_by_name(self, desc: DescMessage) -> dict[str, DescField]: - fields = self._fields_by_name.get(desc) - if fields is None: - fields = {field.name: field for field in desc.fields} - self._fields_by_name[desc] = fields - return fields - - def message(self, msg: Message) -> celtypes.Value: - wkt_ctor = self._wkt.get(type(msg).desc().type_name) - if wkt_ctor is not None: - return wkt_ctor(msg) - return MessageType(msg, self) - - def field(self, msg: Message, field: DescField | DescExtension) -> celtypes.Value: - key = _read_key(field) - if isinstance(field.value, DescFieldValueMessage) and key not in msg: - return None - return self.field_value(msg[key], field.value) - - def field_value(self, val: typing.Any, kind: DescFieldValue) -> celtypes.Value: - match kind: - case DescFieldValueMap(key=key_kind, value=value_kind): - result = celtypes.MapType() - for k, v in val.items(): - result[self.scalar(k, key_kind)] = self.scalar(v, value_kind) - return result - case DescFieldValueList(element=element): - return celtypes.ListType(self.scalar(item, element) for item in val) - case DescFieldValueMessage(): - return self.message(val) - case DescFieldValueEnum(): - return celtypes.IntType(int(val)) - case DescFieldValueScalar(scalar=scalar): - return self.scalar(val, scalar) - - def scalar( - self, val: typing.Any, kind: ScalarType | DescMessage | DescEnum - ) -> celtypes.Value: - match kind: - case DescMessage(): - return self.message(val) - case DescEnum(): - return celtypes.IntType(int(val)) - case ScalarType(): - ctor = _TYPE_CTORS.get(kind) - if ctor is None: - msg = "unknown field type" - raise CompilationError(msg) - return ctor(val) - - def zero(self, field: DescField) -> celtypes.Value: - match field.value: - case DescFieldValueMap(): - return celtypes.MapType() - case DescFieldValueList(): - return celtypes.ListType() - case DescFieldValueMessage(message=message): - return self.message(message.type()) - case DescFieldValueEnum(): - return celtypes.IntType(0) - case DescFieldValueScalar(scalar=scalar): - return self.scalar(_scalar_zero(scalar), scalar) - - def _unwrap(self, msg: Message) -> celtypes.Value: - return self.field(msg, self.fields_by_name(type(msg).desc())["value"]) - - -class MessageType(celtypes.MapType): - """A protobuf-py message wrapped as a celpy map for CEL evaluation.""" - - msg: Message - - def __init__(self, msg: Message, conv: MessageConverter) -> None: - super().__init__() - self.msg = msg - self._conv = conv - self._fields = conv.fields_by_name(type(msg).desc()) - for field in msg: - self[celtypes.StringType(field.name)] = conv.field(msg, field) - - def get_field(self, name: str) -> DescField | None: - return self._fields.get(name) - - def convert_field(self, field: DescField) -> celtypes.Value: - """Convert one of this message's fields to its CEL value.""" - return self._conv.field(self.msg, field) - - def __getitem__(self, key: str | celtypes.Value) -> celtypes.Value: - if isinstance(key, str): - field = self._fields[key] - if field not in self.msg: - if in_has(): - raise KeyError - return self._conv.zero(field) - return super().__getitem__(key) - - -def _field_to_element(field: DescField | DescExtension) -> validate_pb.FieldPathElement: - return validate_pb.FieldPathElement( - field_number=field.number, - field_name=_path_name(field), - field_type=_wire_type(field), - ) - - -def _indexed_field_element( - field: DescField, index: int -) -> validate_pb.FieldPathElement: - return validate_pb.FieldPathElement( - field_number=field.number, - field_name=field.name, - field_type=_wire_type(field), - subscript=Oneof(field="index", value=index), - ) - - -def _oneof_to_element(oneof: DescOneof) -> validate_pb.FieldPathElement: - return validate_pb.FieldPathElement(field_name=oneof.name) - - -def _map_key_element(field: DescField, key: typing.Any) -> validate_pb.FieldPathElement: - value = field.value - assert isinstance(value, DescFieldValueMap) # noqa: S101 - subscript: Oneof - match value.key: - case ScalarType.BOOL: - subscript = Oneof(field="bool_key", value=key) - case ( - ScalarType.INT32 - | ScalarType.SFIXED32 - | ScalarType.INT64 - | ScalarType.SFIXED64 - | ScalarType.SINT32 - | ScalarType.SINT64 - ): - subscript = Oneof(field="int_key", value=key) - case ( - ScalarType.UINT32 - | ScalarType.FIXED32 - | ScalarType.UINT64 - | ScalarType.FIXED64 - ): - subscript = Oneof(field="uint_key", value=key) - case ScalarType.STRING: - subscript = Oneof(field="string_key", value=key) - case _: - msg = "unexpected map type" - raise CompilationError(msg) - return validate_pb.FieldPathElement( - field_number=field.number, - field_name=field.name, - field_type=_wire_type(field), - key_type=_wire_type(value.key), - value_type=_wire_type(value.value), - subscript=subscript, - ) - - -def _spec_field(rules_cls: type[Message], name: str) -> DescField: - return next(f for f in rules_cls.desc().fields if f.name == name) - - -def _which_type(field_level: validate_pb.FieldRules) -> str | None: - return field_level.type.field if field_level.type is not None else None - - -@dataclasses.dataclass -class CelRunner: - runner: celpy.Runner - rule: validate_pb.Rule - rule_value: typing.Any | None = None - rule_cel: celtypes.Value | None = None - rule_path: validate_pb.FieldPath | None = None - - -class CelRules(Rules): - """A rule that has rules written in CEL.""" - - _cel: list[CelRunner] - _rules: Message | None = None - _rules_cel: celtypes.Value | None = None - _uses_now: bool = False - - def __init__( - self, - rules: Message | None, - *, - env: celpy.Environment, - funcs: dict[str, celpy.CELFunction], - conv: MessageConverter, - ) -> None: - self._env = env - self._funcs = funcs - self._conv = conv - self._cel = [] - if rules is not None: - self._rules = rules - self._rules_cel = conv.message(rules) - - def _validate_cel( - self, - ctx: RuleContext, - *, - this_value: typing.Any | None = None, - this_cel: celtypes.Value | None = None, - for_key: bool = False, - ) -> None: - if not self._cel: - return - activation: dict[str, celtypes.Value] = {} - if this_cel is not None: - activation["this"] = this_cel - activation["rules"] = self._rules_cel - if self._uses_now: - activation["now"] = celtypes.TimestampType( - datetime.datetime.now(tz=datetime.timezone.utc) - ) - for cel in self._cel: - activation["rule"] = cel.rule_cel - result = cel.runner.evaluate(activation) - match result: - case celtypes.BoolType() if not result: - message = cel.rule.message - if len(message) == 0: - message = f'"{cel.rule.expression}" returned false' - ctx.add( - Violation( - field_value=this_value, - rule=cel.rule_path, - rule_value=cel.rule_value, - rule_id=cel.rule.id, - message=message, - for_key=for_key, - ) - ) - case celtypes.StringType() if result: - ctx.add( - Violation( - field_value=this_value, - rule=cel.rule_path, - rule_value=cel.rule_value, - rule_id=cel.rule.id, - message=result, - for_key=for_key, - ) - ) - case Exception(): - raise result - - def add_rule( - self, - rules: validate_pb.Rule | str, - *, - rule_field: DescField | DescExtension | None = None, - rule_path: validate_pb.FieldPath | None = None, - ) -> None: - if isinstance(rules, str): - expression = rules - rules = validate_pb.Rule(id=expression, expression=expression) - if "now" in rules.expression: - self._uses_now = True - ast = self._env.compile(rules.expression) - prog = self._env.program(ast, functions=self._funcs) - rule_value = None - rule_cel = None - if rule_field is not None and self._rules is not None: - rule_value = self._rules[_read_key(rule_field)] - rule_cel = self._conv.field(self._rules, rule_field) - self._cel.append( - CelRunner( - runner=prog, - rule=rules, - rule_value=rule_value, - rule_cel=rule_cel, - rule_path=rule_path, - ) - ) - - -class MessageOneofRule(Rules): - """Validates a single buf.validate.MessageOneofRule given via the (buf.validate.message).oneof option.""" - - def __init__(self, fields: list[DescField], *, required: bool) -> None: - self._fields = fields - self._required = required - - def validate(self, ctx: RuleContext, message: Message) -> None: - num_set_fields = sum(1 for field in self._fields if field in message) - if num_set_fields > 1: - ctx.add( - Violation( - rule_id="message.oneof", - message=f"only one of {', '.join(field.name for field in self._fields)} can be set", - ) - ) - if self._required and num_set_fields == 0: - ctx.add( - Violation( - rule_id="message.oneof", - message=f"one of {', '.join(field.name for field in self._fields)} must be set", - ) - ) - - -class MessageRules(CelRules): - """Message-level rules.""" - - _oneofs: list[MessageOneofRule] - - def __init__( - self, - rules: Message | None, - desc: DescMessage, - *, - env: celpy.Environment, - funcs: dict[str, celpy.CELFunction], - conv: MessageConverter, - ) -> None: - super().__init__(rules, env=env, funcs=funcs, conv=conv) - self._oneofs = [] - self._desc = desc - - def validate(self, ctx: RuleContext, message: Message) -> None: - if self._cel: - self._validate_cel(ctx, this_cel=self._conv.message(message)) - if ctx.done: - return - for oneof in self._oneofs: - oneof.validate(ctx, message) - if ctx.done: - return - - def add_oneof(self, rule: validate_pb.MessageOneofRule) -> None: - fields = [] - seen = set() - if len(rule.fields) == 0: - msg = f"at least one field must be specified in oneof rule for the message {self._desc.type_name}" - raise CompilationError(msg) - desc_fields = {f.name: f for f in self._desc.fields} - for name in rule.fields: - if name in desc_fields: - if name in seen: - msg = f"duplicate {name} in oneof rule for the message {self._desc.type_name}" - raise CompilationError(msg) - fields.append(desc_fields[name]) - seen.add(name) - else: - msg = f'field "{name}" not found in message {self._desc.type_name}' - raise CompilationError(msg) - self._oneofs.append(MessageOneofRule(fields, required=rule.required)) - - -# For each scalar FieldRules.type case: the scalar the field must be, and the -# well-known wrapper message it may be instead. A None scalar means the field -# must be the wrapper message (no scalar form). -_RULE_FIELD_TYPES: dict[str, tuple[ScalarType | None, str | None]] = { - "duration": (None, "google.protobuf.Duration"), - "field_mask": (None, "google.protobuf.FieldMask"), - "timestamp": (None, "google.protobuf.Timestamp"), - "bool": (ScalarType.BOOL, "google.protobuf.BoolValue"), - "bytes": (ScalarType.BYTES, "google.protobuf.BytesValue"), - "fixed32": (ScalarType.FIXED32, None), - "fixed64": (ScalarType.FIXED64, None), - "float": (ScalarType.FLOAT, "google.protobuf.FloatValue"), - "double": (ScalarType.DOUBLE, "google.protobuf.DoubleValue"), - "int32": (ScalarType.INT32, "google.protobuf.Int32Value"), - "int64": (ScalarType.INT64, "google.protobuf.Int64Value"), - "sfixed32": (ScalarType.SFIXED32, None), - "sfixed64": (ScalarType.SFIXED64, None), - "sint32": (ScalarType.SINT32, None), - "sint64": (ScalarType.SINT64, None), - "uint32": (ScalarType.UINT32, "google.protobuf.UInt32Value"), - "uint64": (ScalarType.UINT64, "google.protobuf.UInt64Value"), - "string": (ScalarType.STRING, "google.protobuf.StringValue"), -} - - -def _type_mismatch( - subject: DescField | ScalarType | DescMessage | DescEnum, expected: str -) -> CompilationError: - actual = _wire_type(subject).name.lower() - name = subject.name if isinstance(subject, DescField) else actual - return CompilationError(f"field {name} has type {actual} but expected {expected}") - - -def _check_field_type( - subject: DescField | ScalarType | DescMessage | DescEnum, - expected: ScalarType | None, - wrapper_name: str | None = None, -) -> None: - if (expected is not None and _scalar_of(subject) == expected) or ( - (message := _message_of(subject)) is not None - and message.type_name == wrapper_name - ): - return - raise _type_mismatch( - subject, - (wrapper_name or "message") if expected is None else expected.name.lower(), - ) - - -class FieldRules(CelRules): - """Field-level rules.""" - - _ignore_empty = False - _required = False - - _required_rule_path: typing.ClassVar[validate_pb.FieldPath] = validate_pb.FieldPath( - elements=[_field_to_element(_spec_field(validate_pb.FieldRules, "required"))] - ) - - def __init__( - self, - env: celpy.Environment, - funcs: dict[str, celpy.CELFunction], - field: DescField | ScalarType | DescMessage | DescEnum, - field_level: validate_pb.FieldRules, - *, - for_items: bool = False, - force_ignore_empty: bool = False, - registry: Registry | None = None, - conv: MessageConverter, - ) -> None: - type_oneof = field_level.type - type_case = type_oneof.field if type_oneof is not None else None - rules_pb = type_oneof.value if type_oneof is not None else None - super().__init__(rules_pb, env=env, funcs=funcs, conv=conv) - self._field = field - self._ignore_empty = ( - field_level.ignore == validate_pb.Ignore.IF_ZERO_VALUE - or force_ignore_empty - # A presence-tracking field (not a map/list element) ignores empty by default. - or ( - not for_items - and isinstance(field, DescField) - and field.presence.name != "IMPLICIT" - ) - ) - self._required = field_level.required - if rules_pb is not None: - assert type_case is not None # noqa: S101 - type_field = _spec_field(validate_pb.FieldRules, type_case) - # For each set rule sub-field, look for the private predefined-rule - # extension that implements it. Standard rules carry these as - # declared fields known to the bundled stub. - for rule_field_desc in type(rules_pb).desc().fields: - if rule_field_desc not in rules_pb: - continue - opts = rule_field_desc.proto.options - if opts is None or validate_pb.ext_predefined not in opts: - continue - rule_field = rule_field_desc - for cel in opts[validate_pb.ext_predefined].cel: - self.add_rule( - cel, - rule_field=rule_field, - rule_path=validate_pb.FieldPath( - elements=[ - _field_to_element(rule_field), - _field_to_element(type_field), - ] - ), - ) - # Custom predefined rules are extensions on the rules message, - # read using the user-provided Registry. - if registry is not None: - rules_type_name = type(rules_pb).desc().type_name - for ext in registry: - if ( - not isinstance(ext, DescExtension) - or ext.extendee.type_name != rules_type_name - or ext.proto.options is None - or validate_pb.ext_predefined not in ext.proto.options - or ext.type not in rules_pb - ): - continue - ext_field = ext - for cel in ext.proto.options[validate_pb.ext_predefined].cel: - self.add_rule( - cel, - rule_field=ext_field, - rule_path=validate_pb.FieldPath( - elements=[ - _field_to_element(ext_field), - _field_to_element(type_field), - ] - ), - ) - cel_expression_field = _spec_field(validate_pb.FieldRules, "cel_expression") - for i, cel in enumerate(field_level.cel_expression): - self.add_rule( - cel, - rule_path=validate_pb.FieldPath( - elements=[_indexed_field_element(cel_expression_field, i)] - ), - ) - cel_field = _spec_field(validate_pb.FieldRules, "cel") - for i, cel in enumerate(field_level.cel): - self.add_rule( - cel, - rule_path=validate_pb.FieldPath( - elements=[_indexed_field_element(cel_field, i)] - ), - ) - - @property - def _read_field(self) -> DescField: - # validate() reads from a message, so it only runs on real fields, never - # on the leaf value types used for map/list element rules. - assert isinstance(self._field, DescField) # noqa: S101 - return self._field - - def validate(self, ctx: RuleContext, message: Message) -> None: - field = self._read_field - if field not in message: - if self._required: - ctx.add( - Violation( - field=validate_pb.FieldPath( - elements=[_field_to_element(field)] - ), - rule=FieldRules._required_rule_path, - rule_value=self._required, - rule_id="required", - message="value is required", - ) - ) - return - if self._ignore_empty: - return - val = message[field] - cel_val = self._conv.field_value(val, field.value) - sub_ctx = ctx.sub_context() - self._validate_value(sub_ctx, val) - self._validate_cel(sub_ctx, this_value=val, this_cel=cel_val) - if sub_ctx.has_errors(): - sub_ctx.add_field_path_element(_field_to_element(field)) - ctx.add_errors(sub_ctx) - - def validate_item( - self, - ctx: RuleContext, - value: typing.Any, - item_field: ScalarType | DescMessage | DescEnum, - *, - for_key: bool = False, - ) -> None: - self._validate_value(ctx, value, for_key=for_key) - self._validate_cel( - ctx, - this_value=value, - this_cel=self._conv.scalar(value, item_field), - for_key=for_key, - ) - - def _validate_value( - self, ctx: RuleContext, value: typing.Any, *, for_key: bool = False - ) -> None: - pass - - -class AnyRules(FieldRules): - """Rules for an Any field.""" - - _in_rule_path: typing.ClassVar[validate_pb.FieldPath] = validate_pb.FieldPath( - elements=[ - _field_to_element(_spec_field(validate_pb.AnyRules, "in")), - _field_to_element(_spec_field(validate_pb.FieldRules, "any")), - ] - ) - - _not_in_rule_path: typing.ClassVar[validate_pb.FieldPath] = validate_pb.FieldPath( - elements=[ - _field_to_element(_spec_field(validate_pb.AnyRules, "not_in")), - _field_to_element(_spec_field(validate_pb.FieldRules, "any")), - ] - ) - - def __init__( - self, - env: celpy.Environment, - funcs: dict[str, celpy.CELFunction], - field: DescField | ScalarType | DescMessage | DescEnum, - field_level: validate_pb.FieldRules, - *, - registry: Registry | None = None, - conv: MessageConverter, - ) -> None: - super().__init__(env, funcs, field, field_level, registry=registry, conv=conv) - type_oneof = field_level.type - assert type_oneof is not None # noqa: S101 - assert type_oneof.field == "any" # noqa: S101 - any_rules = type_oneof.value - self._in: list[str] = list(any_rules.in_) - self._not_in: list[str] = list(any_rules.not_in) - - def _validate_value( - self, ctx: RuleContext, value: typing.Any, *, for_key: bool = False - ) -> None: - if len(self._in) > 0 and value.type_url not in self._in: - ctx.add( - Violation( - rule=AnyRules._in_rule_path, - rule_value=self._in, - rule_id="any.in", - message="type URL must be in the allow list", - for_key=for_key, - ) - ) - if value.type_url in self._not_in: - ctx.add( - Violation( - rule=AnyRules._not_in_rule_path, - rule_value=self._not_in, - rule_id="any.not_in", - message="type URL must not be in the block list", - for_key=for_key, - ) - ) - - -class EnumRules(FieldRules): - """Rules for an enum field.""" - - _defined_only = False - - _defined_only_rule_path: typing.ClassVar[validate_pb.FieldPath] = ( - validate_pb.FieldPath( - elements=[ - _field_to_element(_spec_field(validate_pb.EnumRules, "defined_only")), - _field_to_element(_spec_field(validate_pb.FieldRules, "enum")), - ] - ) - ) - - def __init__( - self, - env: celpy.Environment, - funcs: dict[str, celpy.CELFunction], - field: DescField | ScalarType | DescMessage | DescEnum, - field_level: validate_pb.FieldRules, - *, - for_items: bool = False, - force_ignore_empty: bool = False, - registry: Registry | None = None, - conv: MessageConverter, - ) -> None: - super().__init__( - env, - funcs, - field, - field_level, - for_items=for_items, - force_ignore_empty=force_ignore_empty, - registry=registry, - conv=conv, - ) - type_oneof = field_level.type - assert type_oneof is not None # noqa: S101 - assert type_oneof.field == "enum" # noqa: S101 - if type_oneof.value.defined_only: - self._defined_only = True - enum = _enum_of(field) - # _new_scalar_field_rule only constructs EnumRules for enum-typed fields. - assert enum is not None # noqa: S101 - self._defined_numbers = {v.number for v in enum.values} - - def validate(self, ctx: RuleContext, message: Message) -> None: - super().validate(ctx, message) - if ctx.done: - return - field = self._read_field - if self._defined_only and int(message[field]) not in self._defined_numbers: - ctx.add( - Violation( - field=validate_pb.FieldPath(elements=[_field_to_element(field)]), - rule=EnumRules._defined_only_rule_path, - rule_value=self._defined_only, - rule_id="enum.defined_only", - message="value must be one of the defined enum values", - ) - ) - - -class RepeatedRules(FieldRules): - """Rules for a repeated field.""" - - _item_rules: FieldRules | None = None - - _items_rules_suffix: typing.ClassVar[list[validate_pb.FieldPathElement]] = [ - _field_to_element(_spec_field(validate_pb.RepeatedRules, "items")), - _field_to_element(_spec_field(validate_pb.FieldRules, "repeated")), - ] - - def __init__( - self, - env: celpy.Environment, - funcs: dict[str, celpy.CELFunction], - field: DescField, - field_level: validate_pb.FieldRules, - item_rules: FieldRules | None, - *, - registry: Registry | None = None, - conv: MessageConverter, - ) -> None: - super().__init__(env, funcs, field, field_level, registry=registry, conv=conv) - if item_rules is not None: - self._item_rules = item_rules - - def validate(self, ctx: RuleContext, message: Message) -> None: - super().validate(ctx, message) - if ctx.done: - return - if self._item_rules is None: - return - field = self._read_field - value = field.value - assert isinstance(value, DescFieldValueList) # noqa: S101 - for i, item in enumerate(message[field]): - if self._item_rules._ignore_empty and not item: - continue - sub_ctx = ctx.sub_context() - self._item_rules.validate_item(sub_ctx, item, value.element) - if sub_ctx.has_errors(): - sub_ctx.add_field_path_element(_indexed_field_element(field, i)) - sub_ctx.add_rule_path_elements(RepeatedRules._items_rules_suffix) - ctx.add_errors(sub_ctx) - if ctx.done: - return - - -class MapRules(FieldRules): - """Rules for a map field.""" - - _key_rules: FieldRules | None = None - _value_rules: FieldRules | None = None - - _key_rules_suffix: typing.ClassVar[list[validate_pb.FieldPathElement]] = [ - _field_to_element(_spec_field(validate_pb.MapRules, "keys")), - _field_to_element(_spec_field(validate_pb.FieldRules, "map")), - ] - - _value_rules_suffix: typing.ClassVar[list[validate_pb.FieldPathElement]] = [ - _field_to_element(_spec_field(validate_pb.MapRules, "values")), - _field_to_element(_spec_field(validate_pb.FieldRules, "map")), - ] - - def __init__( - self, - env: celpy.Environment, - funcs: dict[str, celpy.CELFunction], - field: DescField, - field_level: validate_pb.FieldRules, - key_rules: FieldRules | None, - value_rules: FieldRules | None, - *, - registry: Registry | None = None, - conv: MessageConverter, - ) -> None: - super().__init__(env, funcs, field, field_level, registry=registry, conv=conv) - if key_rules is not None: - self._key_rules = key_rules - if value_rules is not None: - self._value_rules = value_rules - - def validate(self, ctx: RuleContext, message: Message) -> None: - super().validate(ctx, message) - if ctx.done: - return - field = self._read_field - value = field.value - assert isinstance(value, DescFieldValueMap) # noqa: S101 - for k, v in message[field].items(): - key_ctx = ctx.sub_context() - if self._key_rules is not None and (not self._key_rules._ignore_empty or k): - self._key_rules.validate_item(key_ctx, k, value.key, for_key=True) - if key_ctx.has_errors(): - key_ctx.add_rule_path_elements(MapRules._key_rules_suffix) - map_ctx = ctx.sub_context() - if self._value_rules is not None and ( - not self._value_rules._ignore_empty or v - ): - self._value_rules.validate_item(map_ctx, v, value.value) - if map_ctx.has_errors(): - map_ctx.add_rule_path_elements(MapRules._value_rules_suffix) - map_ctx.add_errors(key_ctx) - if map_ctx.has_errors(): - map_ctx.add_field_path_element(_map_key_element(field, k)) - ctx.add_errors(map_ctx) - - -class OneofRules(Rules): - """Rules for a oneof definition.""" - - required = True - - def __init__(self, oneof: DescOneof, rules: validate_pb.OneofRules) -> None: - self._oneof = oneof - if not rules.required: - self.required = False - - def validate(self, ctx: RuleContext, message: Message) -> None: - if getattr(message, self._oneof.local_name) is None: - if self.required: - ctx.add( - Violation( - field=validate_pb.FieldPath( - elements=[_oneof_to_element(self._oneof)] - ), - rule_id="required", - message="exactly one field is required in oneof", - ) - ) - return - - -def _message_child(field: DescField) -> DescMessage | None: - """The sub-message a field recurses into.""" - match field.value: - case DescFieldValueMap(value=DescMessage() as message): - return message - case DescFieldValueList(element=DescMessage() as message): - return message - case DescFieldValueMessage(message=message): - return message - case _: - return None - - -class RuleFactory: - """Factory for creating and caching rules, keyed on protobuf-py descriptors.""" - - _env: celpy.Environment - _funcs: dict[str, celpy.CELFunction] - - def __init__( - self, funcs: dict[str, celpy.CELFunction], registry: Registry | None = None - ) -> None: - self._env = celpy.Environment(runner_class=InterpretedRunner) - self._funcs = funcs - self._registry = registry - self._conv = MessageConverter() - self._cache: dict[DescMessage, list[Rules] | Exception] = {} - - def get(self, desc: DescMessage) -> list[Rules]: - if desc not in self._cache: - try: - self._cache[desc] = self._new_rules(desc) - except Exception as e: # noqa: BLE001 - self._cache[desc] = e - result = self._cache[desc] - if isinstance(result, Exception): - raise result - return result - - def _new_message_rule( - self, rules: validate_pb.MessageRules, desc: DescMessage - ) -> MessageRules: - result = MessageRules( - rules, desc, env=self._env, funcs=self._funcs, conv=self._conv - ) - for oneof in rules.oneof: - result.add_oneof(oneof) - for expr in rules.cel_expression: - result.add_rule(expr) - for cel in rules.cel: - result.add_rule(cel) - return result - - def _new_scalar_field_rule( - self, - field: DescField | ScalarType | DescMessage | DescEnum, - field_level: validate_pb.FieldRules, - *, - for_items: bool = False, - force_ignore_empty: bool = False, - ) -> FieldRules | None: - if field_level.ignore == validate_pb.Ignore.ALWAYS: - return None - type_case = _which_type(field_level) - kw = { - "for_items": for_items, - "force_ignore_empty": force_ignore_empty, - "registry": self._registry, - "conv": self._conv, - } - match type_case: - case None: - return FieldRules(self._env, self._funcs, field, field_level, **kw) - case "enum": - if _enum_of(field) is None: - raise _type_mismatch(field, "enum") - return EnumRules(self._env, self._funcs, field, field_level, **kw) - case "any": - _check_field_type(field, None, "google.protobuf.Any") - return AnyRules( - self._env, - self._funcs, - field, - field_level, - registry=self._registry, - conv=self._conv, - ) - case _ if type_case in _RULE_FIELD_TYPES: - expected, wrapper = _RULE_FIELD_TYPES[type_case] - _check_field_type(field, expected, wrapper) - return FieldRules(self._env, self._funcs, field, field_level, **kw) - case _: - msg = f"unknown rule type {type_case!r}" - raise CompilationError(msg) - - def _new_field_rule( - self, - field: DescField, - rules: validate_pb.FieldRules, - *, - force_ignore_empty: bool = False, - ) -> FieldRules | None: - type_oneof = rules.type - match field.value: - case DescFieldValueMap() as value: - map_rules = ( - type_oneof.value - if type_oneof is not None and type_oneof.field == "map" - else None - ) - key_rules = None - value_rules = None - if map_rules is not None and map_rules.keys is not None: - key_rules = self._new_scalar_field_rule( - value.key, map_rules.keys, for_items=True - ) - if map_rules is not None and map_rules.values is not None: - value_rules = self._new_scalar_field_rule( - value.value, map_rules.values, for_items=True - ) - return MapRules( - self._env, - self._funcs, - field, - rules, - key_rules, - value_rules, - registry=self._registry, - conv=self._conv, - ) - case DescFieldValueList() as value: - item_rule = None - rep_rules = ( - type_oneof.value - if type_oneof is not None and type_oneof.field == "repeated" - else None - ) - if rep_rules is not None and rep_rules.items is not None: - item_rule = self._new_scalar_field_rule( - value.element, rep_rules.items - ) - return RepeatedRules( - self._env, - self._funcs, - field, - rules, - item_rule, - registry=self._registry, - conv=self._conv, - ) - case _: - return self._new_scalar_field_rule( - field, rules, force_ignore_empty=force_ignore_empty - ) - - def _new_rules(self, desc: DescMessage) -> list[Rules]: - result: list[Rules] = [] - all_msg_oneof_fields: set[str] = set() - - msg_opts = desc.proto.options - if msg_opts is not None and validate_pb.ext_message in msg_opts: - message_level: validate_pb.MessageRules = msg_opts[validate_pb.ext_message] - for oneof in message_level.oneof: - all_msg_oneof_fields.update(oneof.fields) - if rule := self._new_message_rule(message_level, desc): - result.append(rule) - - for oneof in desc.oneofs: - oneof_opts = oneof.proto.options - if oneof_opts is not None and validate_pb.ext_oneof in oneof_opts: - result.append(OneofRules(oneof, oneof_opts[validate_pb.ext_oneof])) - - ignore_field = _spec_field(validate_pb.FieldRules, "ignore") - for field in desc.fields: - field_opts = field.proto.options - field_level: validate_pb.FieldRules | None = None - if field_opts is not None and validate_pb.ext_field in field_opts: - field_level = field_opts[validate_pb.ext_field] - if field_level is not None: - force_ignore_empty = ( - ignore_field not in field_level - and field.name in all_msg_oneof_fields - ) - if field_level.ignore == validate_pb.Ignore.ALWAYS: - continue - if field_rule := self._new_field_rule( - field, field_level, force_ignore_empty=force_ignore_empty - ): - result.append(field_rule) - type_oneof = field_level.type - if type_oneof is not None and type_oneof.field == "repeated": - rep = type_oneof.value - if ( - rep.items is not None - and rep.items.ignore == validate_pb.Ignore.ALWAYS - ): - continue - sub_desc = _message_child(field) - if sub_desc is None: - continue - match field.value: - case DescFieldValueMap(): - result.append(MapValMsgRule(self, field, sub_desc)) - case DescFieldValueList(): - result.append(RepeatedMsgRule(self, field, sub_desc)) - case _: - result.append(SubMsgRule(self, field, sub_desc)) - return result - - -class _SubMessageRule(Rules): - """Recurses into a message-typed field's own rules. - - Subclasses supply how to enumerate the sub-messages to validate (singular, map values, list items) - as (sub_message, field_path_element) pairs. - """ - - def __init__( - self, factory: RuleFactory, field: DescField, sub_desc: DescMessage - ) -> None: - self._factory = factory - self._field = field - self._sub_desc = sub_desc - - def _validate_each( - self, - ctx: RuleContext, - items: Iterable[tuple[Message, validate_pb.FieldPathElement]], - ) -> None: - rules = self._factory.get(self._sub_desc) - if not rules: - return - for value, element in items: - sub_ctx = ctx.sub_context() - for rule in rules: - rule.validate(sub_ctx, value) - if sub_ctx.has_errors(): - sub_ctx.add_field_path_element(element) - ctx.add_errors(sub_ctx) - - -class SubMsgRule(_SubMessageRule): - def validate(self, ctx: RuleContext, message: Message) -> None: - if self._field in message: - self._validate_each( - ctx, [(message[self._field], _field_to_element(self._field))] - ) - - -class MapValMsgRule(_SubMessageRule): - def validate(self, ctx: RuleContext, message: Message) -> None: - val = message[self._field] - self._validate_each( - ctx, ((v, _map_key_element(self._field, k)) for k, v in val.items()) - ) - - -class RepeatedMsgRule(_SubMessageRule): - def validate(self, ctx: RuleContext, message: Message) -> None: - val = message[self._field] - self._validate_each( - ctx, - ( - (item, _indexed_field_element(self._field, i)) - for i, item in enumerate(val) - ), - ) diff --git a/protovalidate/_string_format.py b/protovalidate/_string_format.py deleted file mode 100644 index e40eb2ae..00000000 --- a/protovalidate/_string_format.py +++ /dev/null @@ -1,246 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import annotations - -import math -import re -from decimal import Decimal - -import celpy -from celpy import celtypes - - -class StringFormat: - """An implementation of string.format() in CEL.""" - - def __init__(self) -> None: - self.fmt = None - - def format(self, fmt: celtypes.Value, args: celtypes.Value) -> celpy.Result: - if not isinstance(fmt, celtypes.StringType): - return celpy.CELEvalError( - "format() requires a string as the first argument" - ) - if not isinstance(args, celtypes.ListType): - return celpy.CELEvalError("format() requires a list as the second argument") - # printf style formatting - i = 0 - j = 0 - result = "" - while i < len(fmt): - if fmt[i] != "%": - result += fmt[i] - i += 1 - continue - - if i + 1 < len(fmt) and fmt[i + 1] == "%": - result += "%" - i += 2 - continue - if j >= len(args): - return celpy.CELEvalError(f"index {j} out of range") - arg = args[j] - j += 1 - i += 1 - if i >= len(fmt): - return celpy.CELEvalError("format() incomplete format specifier") - precision = 6 - if fmt[i] == ".": - i += 1 - precision = 0 - while i < len(fmt) and fmt[i].isdigit(): - precision = precision * 10 + int(fmt[i]) - i += 1 - if i >= len(fmt): - return celpy.CELEvalError("format() incomplete format specifier") - if fmt[i] == "f": - result += self.__format_float(arg, precision) - elif fmt[i] == "e": - result += self.__format_exponential(arg, precision) - elif fmt[i] == "d": - result += self.__format_int(arg) - elif fmt[i] == "s": - result += self.__format_string(arg) - elif fmt[i] == "x": - result += self.__format_hex(arg) - elif fmt[i] == "X": - result += self.__format_hex(arg).upper() - elif fmt[i] == "o": - result += self.__format_oct(arg) - elif fmt[i] == "b": - result += self.__format_bin(arg) - else: - return celpy.CELEvalError( - f'could not parse formatting clause: unrecognized formatting clause "{fmt[i]}"' - ) - i += 1 - if j < len(args): - return celpy.CELEvalError("format() too many arguments for format string") - - return celtypes.StringType(result) - - def __validate_number( - self, arg: celtypes.DoubleType | celtypes.IntType | celtypes.UintType - ) -> str | None: - if math.isnan(arg): - return "NaN" - if math.isinf(arg): - if arg < 0: - return "-Infinity" - return "Infinity" - return None - - def __format_float(self, arg: celtypes.Value, precision: int) -> str: - if isinstance(arg, celtypes.DoubleType): - result = self.__validate_number(arg) - if result is not None: - return result - return f"{arg:.{precision}f}" - msg = ( - "error during formatting: fixed-point clause can only be used on doubles, was given " - f"{self.__type_str(type(arg))}" - ) - raise celpy.CELEvalError(msg) - - def __format_exponential(self, arg: celtypes.Value, precision: int) -> str: - if isinstance(arg, celtypes.DoubleType): - result = self.__validate_number(arg) - if result is not None: - return result - return f"{arg:.{precision}e}" - msg = ( - "error during formatting: scientific clause can only be used on doubles, was given " - f"{self.__type_str(type(arg))}" - ) - raise celpy.CELEvalError(msg) - - def __format_int(self, arg: celtypes.Value) -> str: - if isinstance(arg, celtypes.IntType | celtypes.UintType | celtypes.DoubleType): - result = self.__validate_number(arg) - if result is not None: - return result - return f"{arg}" - msg = ( - "error during formatting: decimal clause can only be used on integers, was given " - f"{self.__type_str(type(arg))}" - ) - raise celpy.CELEvalError(msg) - - def __format_hex(self, arg: celtypes.Value) -> str: - if isinstance(arg, celtypes.IntType | celtypes.UintType): - return f"{arg:x}" - if isinstance(arg, celtypes.BytesType): - return arg.hex() - if isinstance(arg, celtypes.StringType): - return arg.encode("utf-8").hex() - msg = ( - "error during formatting: only integers, byte buffers, and strings can be formatted as hex, was given " - f"{self.__type_str(type(arg))}" - ) - raise celpy.CELEvalError(msg) - - def __format_oct(self, arg: celtypes.Value) -> str: - if isinstance(arg, celtypes.IntType | celtypes.UintType): - return f"{arg:o}" - msg = ( - "error during formatting: octal clause can only be used on integers, was given " - f"{self.__type_str(type(arg))}" - ) - raise celpy.CELEvalError(msg) - - def __format_bin(self, arg: celtypes.Value) -> str: - if isinstance(arg, celtypes.IntType | celtypes.UintType | celtypes.BoolType): - return f"{arg:b}" - msg = ( - "error during formatting: only integers and bools can be formatted as binary, was given " - f"{self.__type_str(type(arg))}" - ) - raise celpy.CELEvalError(msg) - - def __format_string(self, arg: celtypes.Value) -> str: - if arg is None: - return "null" - if isinstance(arg, type): - return self.__type_str(arg) - if isinstance(arg, celtypes.BoolType): - # True -> true - return str(arg).lower() - if isinstance(arg, celtypes.BytesType): - decoded = arg.decode("utf-8", errors="replace") - # Collapse any contiguous placeholders into one - return re.sub("\\ufffd+", "\ufffd", decoded) - - if isinstance(arg, celtypes.DoubleType): - result = self.__validate_number(arg) - if result is not None: - return result - return f"{arg:g}" - if isinstance(arg, celtypes.DurationType): - return self.__format_duration(arg) - if isinstance(arg, (celtypes.IntType, celtypes.UintType)): - result = self.__validate_number(arg) - if result is not None: - return result - return f"{arg}" - if isinstance(arg, celtypes.ListType): - return self.__format_list(arg) - if isinstance(arg, celtypes.MapType): - return self.__format_map(arg) - if isinstance(arg, celtypes.StringType): - return arg - if isinstance(arg, celtypes.TimestampType): - base = arg.isoformat() - if arg.getMilliseconds() != 0: - base = arg.isoformat(timespec="milliseconds") - return base.removesuffix("+00:00") + "Z" - return "unknown" - - def __format_list(self, arg: celtypes.ListType) -> str: - return "[" + ", ".join(self.__format_string(val) for val in arg) + "]" - - def __format_map(self, arg: celtypes.MapType) -> str: - m = { - self.__format_string(cel_key): self.__format_string(cel_val) - for cel_key, cel_val in arg.items() - } - return "{" + ", ".join(key + ": " + val for key, val in sorted(m.items())) + "}" - - def __format_duration(self, arg: celtypes.DurationType) -> str: - return f"{arg.seconds + Decimal(arg.microseconds) / Decimal(1_000_000):f}s" - - def __type_str(self, arg: celtypes.Type) -> str: - if arg is type(None): - return "null_type" - if arg is celtypes.BoolType: - return "bool" - if arg is celtypes.BytesType: - return "bytes" - if arg is celtypes.DoubleType: - return "double" - if arg is celtypes.DurationType: - return "google.protobuf.Duration" - if arg is celtypes.IntType: - return "int" - if arg is celtypes.ListType: - return "list" - if arg is celtypes.MapType: - return "map" - if arg is celtypes.StringType: - return "string" - if arg is celtypes.TimestampType: - return "google.protobuf.Timestamp" - if arg is celtypes.UintType: - return "uint" - return "unknown" diff --git a/protovalidate/_validator.py b/protovalidate/_validator.py deleted file mode 100644 index 31ec98ae..00000000 --- a/protovalidate/_validator.py +++ /dev/null @@ -1,208 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import annotations - -import typing -from typing import TYPE_CHECKING - -from protobuf import Message, Registry - -from protovalidate import _backend, _extra_func, _rules -from protovalidate._core import CompilationError, RuleContext, Violation -from protovalidate._gen.buf.validate import validate_pb - -if TYPE_CHECKING: - from google.protobuf import message as google_message - - -__all__ = [ - "CompilationError", - "ValidationError", - "Validator", - "Violation", - "Violations", -] -Violations = validate_pb.Violations - - -class _Engine(typing.Protocol): - """A CEL backend: turns a protobuf-py message into a list of violations.""" - - def collect_violations( - self, message: Message, *, fail_fast: bool - ) -> list[Violation]: ... - - -class _CelpyEngine: - """The pure-Python celpy engine, evaluating directly over protobuf-py.""" - - def __init__(self, registry: Registry | None) -> None: - self._factory = _rules.RuleFactory(_extra_func.make_extra_funcs(), registry) - - def collect_violations( - self, message: Message, *, fail_fast: bool - ) -> list[Violation]: - ctx = RuleContext(fail_fast=fail_fast) - for rule in self._factory.get(type(message).desc()): - rule.validate(ctx, message) - if ctx.done: - break - for violation in ctx.violations: - violation.finalize_paths() - return ctx.violations - - -class _CelExprEngine: - """The cel-expr-python (cel-cpp) engine. - - Rules are discovered from protobuf-py descriptors, but the CEL runtime only - ingests google.protobuf, so every validated message is bridged to a google - dynamic message (a serialize/parse round trip) before evaluation. The user's - ``registry`` is not needed: custom predefined-rule extensions resolve off the - global google pool the bridge mirrors into. - """ - - def __init__(self, registry: Registry | None) -> None: # noqa: ARG002 - accepted for API symmetry - from protovalidate import _celexpr # noqa: PLC0415 - - self._bridge = _celexpr.GoogleBridge() - self._factory = _celexpr.RuleFactory(_celexpr.make_extension(), self._bridge) - - def collect_violations( - self, message: Message, *, fail_fast: bool - ) -> list[Violation]: - bridged = self._bridge.to_google(message) - ctx = RuleContext(fail_fast=fail_fast) - for rule in self._factory.get(type(message).desc()): - rule.validate(ctx, bridged) - if ctx.done: - break - for violation in ctx.violations: - violation.finalize_paths() - return ctx.violations - - -class Validator: - """Validates Protobuf messages against static rules. - - Both protobuf-py messages and legacy google.protobuf messages are - accepted. A google.protobuf message is validated by copying it into a - protobuf-py message of the same type; violation field values then refer - to that copy. - - Each validator instance caches internal state generated from the static - rules, so reusing the same instance for multiple validations - significantly improves performance. - """ - - _engine: _Engine - - def __init__(self, registry: Registry | None = None) -> None: - """Creates a new validator. - - Parameters: - registry: An optional Registry used to resolve custom - predefined-rule extensions. If omitted, only standard rules are applied. - """ - try: - import google.protobuf.message # noqa: F401, PLC0415 - - from protovalidate._legacy import LegacyMessageConverter # noqa: PLC0415 - - self._legacy = LegacyMessageConverter() - except ImportError: - self._legacy = None - if _backend.CEL_EXPR_AVAILABLE: - self._engine = _CelExprEngine(registry) - else: - self._engine = _CelpyEngine(registry) - - def validate( - self, message: Message | google_message.Message, *, fail_fast: bool = False - ) -> None: - """Validates the given message against the static rules defined in the message's descriptor. - - Parameters: - message: The message to validate. - fail_fast: If true, validation will stop after the first iteration. - - Raises: - CompilationError: If the static rules could not be compiled. - ValidationError: If the message is invalid. The violations raised as part of this error should - always be equal to the list of violations returned by `collect_violations`. - """ - coerced = self._coerce(message) - violations = self.collect_violations(coerced, fail_fast=fail_fast) - if len(violations) > 0: - msg = f"invalid {type(coerced).desc().name}" - raise ValidationError(msg, violations) - - def collect_violations( - self, message: Message | google_message.Message, *, fail_fast: bool = False - ) -> list[Violation]: - """Validates the given message against the static rules defined in the message's descriptor. - - Compared to `validate`, `collect_violations` simply returns the violations as a list and puts - the burden of raising an appropriate exception on the caller. - - The violations returned from this method should always be equal to the violations - raised as part of the ValidationError in the call to `validate`. - - Parameters: - message: The message to validate. - fail_fast: If true, validation will stop after the first iteration. - - Returns: - A list of Violation objects that describe the validation errors. - - Raises: - CompilationError: If the static rules could not be compiled. - """ - coerced = self._coerce(message) - return self._engine.collect_violations(coerced, fail_fast=fail_fast) - - def _coerce(self, message: Message | google_message.Message) -> Message: - if self._legacy: - return self._legacy.normalize(message) - assert isinstance(message, Message) # noqa: S101 - return message - - -class ValidationError(ValueError): - """An error raised when a message fails to validate. - - Attributes: - violations: A list of Violation objects that describe the validation errors. - """ - - _violations: list[Violation] - - def __init__(self, msg: str, violations: list[Violation]) -> None: - super().__init__(msg) - self._violations = violations - - def to_proto(self) -> validate_pb.Violations: - """Provides the Protobuf form of the validation errors. - - Returns: - The validation errors as a `validate_pb.Violations` Protobuf message. - """ - return validate_pb.Violations( - violations=[violation.proto for violation in self._violations] - ) - - @property - def violations(self) -> list[Violation]: - return self._violations diff --git a/pyproject.toml b/pyproject.toml index c7c96825..1934c129 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,16 +17,6 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "cel-python>=0.5", - "google-re2>=1", - # We need at least this version, which started publishing wheels for Python 3.13. - # Ref: https://github.com/google/re2/issues/516 - "google-re2>=1.1.20250722; python_version == '3.13'", - # We need at least this version, which started publishing wheels for Python 3.14. - # Ref: https://github.com/google/re2/issues/580 - "google-re2>=1.1.20251105; python_version == '3.14'", - # 1.1 started supporting 3.12. - "google-re2>=1.1; python_version == '3.12'", "protobuf-py>=0.2.0", ] @@ -36,14 +26,6 @@ Homepage = "https://github.com/bufbuild/protovalidate-py" Issues = "https://github.com/bufbuild/protovalidate-py/issues" Source = "https://github.com/bufbuild/protovalidate-py" -# cel-expr has limited wheel support and no sdist for on-the-fly installation, so -# we can't add it as a primary dependency. Users can opt-in if their platform supports it. -[project.optional-dependencies] -cel-expr = [ - "cel-expr-python>=0.1.3; python_version >= '3.11'", - "protobuf>=6.31.0; python_version >= '3.11'", -] - [dependency-groups] # We ensure all dependencies are installed by default so IDE works properly for development. dev = [ @@ -55,9 +37,10 @@ dev = [ dev-required = [ "buf-bin==1.72.0", "fix-protobuf-imports==0.1.7", - "google-re2-stubs==0.1.1", "license-header==0.0.1", + "maturin==1.14.1", "poethepoet==0.48.0", + "pydantic==2.13.4", "pytest==9.1.1", "pytest-benchmark==5.2.3", "ruff==0.16.2", @@ -69,16 +52,15 @@ dev-required = [ # Optional dependencies, used for development of optional features. We run tests without # these installed to ensure missing optional dependencies does not introduce breakage. # Unlike most dev dependencies, we don't pin to allow testing old and new -# versions. Floored at 6.31.0 required by the cel-expr-python backend. +# versions. dev-optional = [ - "cel-expr-python>=0.1.3; python_version >= '3.11'", "protobuf>=6.31.0", ] docs = ["mkdocstrings-python==2.0.5", "zensical==0.0.53"] [build-system] -requires = ["uv_build>=0.12.1,<0.13"] -build-backend = "uv_build" +requires = ["maturin>=1.12,<2.0"] +build-backend = "maturin" ## License headers [tool.licenseheader] @@ -89,7 +71,26 @@ ignore = [ "buf.yaml", "buf.gen.yaml", "test/conformance/nonconforming.yaml", + "**/third_party/**", +] + +[tool.maturin] +# A submodule keeps its own .git directory, which is not part of the source. +exclude = [ + { path = "crates/**/.git/**/*", format = "sdist" }, + { path = "crates/**/.git", format = "sdist" }, +] +features = ["pyo3/extension-module", "pyo3/abi3-py310"] +# The C++ sources are submodules, so they are picked up from the working tree +# rather than from `git ls-files`, which stops at a submodule boundary. +include = [ + { path = "crates/**/*", format = "sdist" }, + { path = "build.rs", format = "sdist" }, + { path = "Cargo.lock", format = "sdist" }, ] +module-name = "protovalidate._protovalidate" +# Mixed project: Rust in src/, the Python package alongside it. +python-source = "." [tool.pytest] addopts = [ @@ -105,7 +106,7 @@ testpaths = ["test"] [tool.ruff] target-version = "py310" -exclude = ["*_pb2.py", "*_pb2.pyi"] +exclude = ["*_pb2.py", "*_pb2.pyi", "third_party"] [tool.ruff.format] skip-magic-trailing-comma = true @@ -161,9 +162,20 @@ ignore = [ "S101", # assert is expected in tests ] "**/scripts/*.py" = [ - # missing docstrings; unnecessary in scripts. - "D1", + "D1", # missing docstrings; unnecessary in scripts. + "T201", # print is the user interface of a CLI script + "S603", # subprocess with list args and no shell is the tool-running pattern + "S607", # bazel and git are expected on PATH, not at a fixed location ] +"protovalidate/_protovalidate.pyi" = [ + # Generated by `poe generate-stub`. The docstrings come from the Rust doc + # comments and are the point of generating the stub. + "PYI021", +] + +[tool.ruff.lint.flake8-type-checking] +# Pydantic resolves annotations at runtime, so their imports can't be deferred. +runtime-evaluated-base-classes = ["pydantic.BaseModel"] [tool.ruff.lint.isort] required-imports = ["from __future__ import annotations"] @@ -174,6 +186,17 @@ split-on-trailing-comma = false [tool.ruff.lint.pydocstyle] convention = "google" -[tool.uv.build-backend] -module-name = "protovalidate" -module-root = "" +[tool.tombi] +files.exclude = [ + "**/third_party/**", +] + +[tool.uv] +cache-keys = [ + { file = "pyproject.toml" }, + { file = "Cargo.toml" }, + { file = "Cargo.lock" }, + { file = "build.rs" }, + { file = "src/**" }, + { file = "crates/**" }, +] diff --git a/scripts/extract/versions.json b/scripts/extract/versions.json new file mode 100644 index 00000000..c8eebc38 --- /dev/null +++ b/scripts/extract/versions.json @@ -0,0 +1,18 @@ +{ + "_comment": [ + "Edit version and run scripts/extract_native_sources.py to update the native extension." + ], + "protovalidate_cc": { + "comment": ["1.2.0 not released yet so target unreleased commit"], + "archive": "https://github.com/bufbuild/protovalidate-cc/archive/{ref}.tar.gz", + "ref": "5f8219d280b4ad65abd0adcd17b50d0ed30d2406", + "sha256": "e7b03936881be348ffeeba10f12d6507828f536f53750cbd6de7f1bedacc0e6b" + }, + "module_overrides": { + "_comment": ["Use newer cel-cpp for Windows compatibility."], + "cel-cpp": "0.15.0" + }, + "bazel": { + "java_runtime_version": "remotejdk_17" + } +} diff --git a/scripts/extract_native_sources.py b/scripts/extract_native_sources.py new file mode 100755 index 00000000..dacd0499 --- /dev/null +++ b/scripts/extract_native_sources.py @@ -0,0 +1,875 @@ +#!/usr/bin/env python3 +# Copyright (c) 2023-2026 Buf Technologies, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Regenerate the C++ build inputs for the native extension. + +To bump the targeted protovalidate-cc version, edit scripts/extract/versions.json +and run this script: it moves the third_party/ submodules to match and rewrites +everything derived from them. It requires Bazel - it is only used during the bump +and not during normal builds. + +What it does: + +1. Fetches protovalidate-cc at the pinned ref and overrides transitive dependency + versions as needed. +2. Builds a probe binary from the extension's real shim + (crates/protovalidate-rs/shim) plus a trivial main. Compiling the shim + validates it against the pinned versions; the binary's link anchors the + closure below. +3. Reads the probe's *link* closure to decide which C++ source files the + extension needs. We need to actually build a binary instead of using + a deps() query since that includes tooling/test dependencies and doesn't + reflect the actual source we use / need to vendor, only the dependency graph. +4. Checks the third_party/ submodules out at the versions bazel resolved, so + the sources cargo compiles are the ones bazel just described. Submodules + with uncommitted changes are left alone and stop the run. +5. Writes one filelist per static library naming those source files, as + paths into the submodules -- checking as it goes that each one is present, + so any remaining mismatch fails here rather than at compile time. +6. Copies the bazel-generated sources (ANTLR parser, .pb.cc/.pb.h, cel-cpp's + descriptor-set embed) into the crate's gen/. These are the only sources + checked in, because no upstream tree contains them and regenerating them + would require protoc and a JVM at build time. + +The action graph also contains actions that do not compile sources of the +extension -- exec-configuration tooling like protoc, and `parse_headers` +header-validation compiles. Nothing filters them explicitly: selection is +driven by what the probe's link actually consumed, so they fall out. +""" + +from __future__ import annotations + +import collections +import hashlib +import json +import re +import shutil +import subprocess +import sys +import tarfile +import typing +import urllib.request +from pathlib import Path + +REPO_ROOT = Path(__file__).resolve().parent.parent +CONFIG_PATH = REPO_ROOT / "scripts" / "extract" / "versions.json" +WORK_DIR = REPO_ROOT / ".tmp" / "native-extract" +CRATE = REPO_ROOT / "crates" / "protovalidate-rs" + + +class Repo(typing.NamedTuple): + """Where a bazel repo's sources live in the crate.""" + + # Filelist basename; one static library is built per upstream project. + library: str + # Directory under the crate's third_party/, or None when the repo + # contributes generated code only (its .proto inputs are never compiled). + submodule: str | None + # Path within the submodule that the bazel module root maps to, mirroring + # the registry entry's strip_prefix. + prefix: str = "" + # Upstream git tag for the resolved module version. + tag: str = "{version}" + # Include roots within the submodule, mirroring the ones build.rs passes to + # the compiler. A bazel-generated file that the submodule already provides + # under one of these is not checked in again; see vendor_generated. + include_roots: tuple[str, ...] = ("",) + + +# Canonical bazel repo name -> where its sources live. +REPOS = { + "abseil-cpp+": Repo("absl", "abseil-cpp"), + "protobuf+": Repo( + "protobuf", + "protobuf", + tag="v{version}", + include_roots=("src", "third_party/utf8_range"), + ), + "re2+": Repo("re2", "re2"), + "antlr4-cpp-runtime+": Repo( + "antlr4", + "antlr4", + prefix="runtime/Cpp", + include_roots=("runtime/Cpp/runtime/src",), + ), + "cel-cpp+": Repo("celcpp", "cel-cpp", tag="v{version}"), + "cel-spec+": Repo("celcpp", None), + "protovalidate+": Repo("protovalidate", None), + "_main": Repo("protovalidate", "protovalidate-cc"), +} +# Registry module name -> bazel repo name, for driving the submodules. +MODULE_TO_REPO = { + "abseil-cpp": "abseil-cpp+", + "protobuf": "protobuf+", + "re2": "re2+", + "antlr4-cpp-runtime": "antlr4-cpp-runtime+", + "cel-cpp": "cel-cpp+", +} +REPO_TO_MODULE = {repo: module for module, repo in MODULE_TO_REPO.items()} +# protovalidate doesn't use protobuf input/output streams (only bytes) so we +# skip vendoring zlib. If we didn't do this, zlib would still be stripped from +# the final binary since it's unused so this saves us some vendoring for free, +# but means we have one additional define to disable zlib support that upstream +# does not. +SKIP_REPOS = {"zlib+"} + +VENDOR_HEADER_SUFFIXES = (".h", ".hpp", ".inc", ".def") + +# The probe package this script injects into the extraction workspace. +PROBE_PACKAGE = "pv_extract" + + +def copy_file(src: Path, dst: Path) -> None: + dst.parent.mkdir(parents=True, exist_ok=True) + # Leave an unchanged file (and its mtime) alone so that re-extracting does + # not invalidate cargo's fingerprints for the generated sources. + if dst.is_file() and dst.read_bytes() == src.read_bytes(): + return + shutil.copy2(src, dst) + # bazel-out files are read-only and sometimes executable, and copy2 + # preserves modes: normalize so a second copy to the same destination + # (the same generated header reached via two staging trees) can write, + # and so git does not record stray executable bits. chmod does not + # touch mtime, so the commit-stamp story is unaffected. + dst.chmod(0o644) + + +def run(cmd: list[str], cwd: Path, *, capture: bool = False) -> str: + print(f" $ {' '.join(cmd[:6])}{' ...' if len(cmd) > 6 else ''}", flush=True) + if capture: + result = subprocess.run( + cmd, cwd=cwd, check=True, text=True, stdout=subprocess.PIPE + ) + return result.stdout + subprocess.run(cmd, cwd=cwd, check=True) + return "" + + +class Aquery: + """Indexed view over one `bazel aquery --output=jsonproto` result.""" + + def __init__(self, text: str) -> None: + data = json.loads(text) + self.data = data + self._artifacts = {a["id"]: a for a in data.get("artifacts", [])} + self._fragments = {f["id"]: f for f in data.get("pathFragments", [])} + self._depsets = {s["id"]: s for s in data.get("depSetOfFiles", [])} + + def path(self, artifact_id: int) -> str: + parts: list[str] = [] + fragment_id = self._artifacts[artifact_id]["pathFragmentId"] + while True: + fragment = self._fragments[fragment_id] + parts.append(fragment["label"]) + if "parentId" not in fragment: + break + fragment_id = fragment["parentId"] + return "/".join(reversed(parts)) + + def expand(self, depset_ids: list[int]) -> set[int]: + found: set[int] = set() + seen: set[int] = set() + stack = list(depset_ids) + while stack: + current = stack.pop() + if current in seen: + continue + seen.add(current) + depset = self._depsets.get(current) + if depset is None: + continue + found.update(depset.get("directArtifactIds", [])) + stack.extend(depset.get("transitiveDepSetIds", [])) + return found + + def actions(self, mnemonic: str) -> list[dict]: + return [a for a in self.data.get("actions", []) if a["mnemonic"] == mnemonic] + + +def fetch_source_archive(spec: dict, destination: Path) -> None: + """Downloads and unpacks a GitHub source archive at a pinned ref.""" + url = spec["archive"].format(ref=spec["ref"]) + cache = WORK_DIR / "cache" + cache.mkdir(parents=True, exist_ok=True) + archive = cache / f"{spec['ref']}.tar.gz" + + if not archive.exists(): + print(f"downloading {url}") + with urllib.request.urlopen(url) as response: # noqa: S310 - pinned https URL + archive.write_bytes(response.read()) + + digest = hashlib.sha256(archive.read_bytes()).hexdigest() + expected = spec.get("sha256") + if expected and digest != expected: + archive.unlink() + message = ( + f"checksum mismatch for {url}\n expected {expected}\n got {digest}" + ) + raise SystemExit(message) + if not expected: + print(f" note: no sha256 pinned; archive digest is {digest}") + + print(f"unpacking protovalidate-cc {spec['ref']}") + destination.mkdir(parents=True, exist_ok=True) + with tarfile.open(archive) as tar: + members = tar.getmembers() + # GitHub archives nest everything under a single `-/` + # directory. + root = members[0].name.split("/")[0] + for member in members: + parts = member.name.split("/") + if parts[0] != root: + message = f"unexpected archive layout: {member.name}" + raise SystemExit(message) + relative = "/".join(parts[1:]) + if not relative: + continue # the top-level directory entry itself + if relative.startswith("/") or ".." in parts: + message = f"refusing unsafe archive path: {member.name}" + raise SystemExit(message) + member.name = relative + tar.extract(member, destination, filter="data") + + +def prepare_workspace(config: dict) -> Path: + """Fetch protovalidate-cc at the pinned ref and apply our overrides.""" + pvcc = config["protovalidate_cc"] + work = WORK_DIR / "protovalidate-cc" + stamp = work / ".extract-ref" + if work.exists() and stamp.exists() and stamp.read_text().strip() == pvcc["ref"]: + print(f"reusing existing source tree at {work} ({pvcc['ref']})") + else: + if work.exists(): + shutil.rmtree(work) + fetch_source_archive(pvcc, work) + stamp.write_text(pvcc["ref"] + "\n") + + module = work / "MODULE.bazel" + text = module.read_text() + marker = "# --- protovalidate-python extraction overrides ---" + overrides = [ + f'single_version_override(\n module_name = "{name}",\n version = "{version}",\n)' + for name, version in config["module_overrides"].items() + if not name.startswith("_") + ] + updated = ( + text.partition(marker)[0].rstrip("\n") + + "\n\n" + + marker + + "\n" + + "\n".join(overrides) + + "\n" + ) + if updated != text: + module.write_text(updated) + # The lock pins the old resolution; drop it so bazel re-resolves with our overrides. + (work / "MODULE.bazel.lock").unlink(missing_ok=True) + + write_probe_package(work) + return work + + +def bazel_flags(config: dict) -> list[str]: + """Configuration flags for every bazel build/aquery the extraction runs.""" + flags = [ + # Ensure reproducibility across envs (default from Bazel 9). + "--incompatible_strict_action_env", + # Java needed to generate cel parser with ANTLR + f"--java_runtime_version={config['bazel']['java_runtime_version']}", + # protovalidate-cc and cel-cpp, etc can have different versions, and + # Bazel warns for this but it's fine to take the highest and not warn. + "--check_direct_dependencies=off", + ] + if sys.platform == "darwin": + # Flags needed for macOS builds of protovalidate-cc, which should be + # upstreamed there eventually. + flags += [ + "--repo_env=BAZEL_NO_APPLE_CPP_TOOLCHAIN=1", + "--macos_minimum_os=10.15", + "--cxxopt=-faligned-allocation", + ] + return flags + + +def write_probe_package(work: Path) -> None: + probe = work / PROBE_PACKAGE + if probe.exists(): + shutil.rmtree(probe) + probe.mkdir() + shim_dir = CRATE / "shim" + for name in ("pv_shim.h", "pv_shim.cc"): + shutil.copy(shim_dir / name, probe / name) + # The main only has to make the binary linkable. The vendored set comes + # from the link action's inputs -- every dep archive, target-level -- so + # nothing needs to reference the shim's symbols; pv_shim.cc being a src + # is what compile-checks the shim against the pins. + (probe / "probe_main.cc").write_text("int main() { return 0; }\n") + (probe / "BUILD").write_text( + "cc_binary(\n" + ' name = "probe",\n' + ' srcs = ["pv_shim.cc", "pv_shim.h", "probe_main.cc"],\n' + ' deps = ["//buf/validate:validator"],\n' + ")\n" + ) + + +def build_probe(work: Path, flags: list[str]) -> None: + """Builds the probe.""" + print("building probe") + run(["bazel", "build", *flags, f"//{PROBE_PACKAGE}:probe"], cwd=work) + + +def collect_link_closure( + work: Path, flags: list[str] +) -> tuple[dict[str, set[str]], dict[str, set[str]]]: + """Maps the probe's link inputs back to the source files that fed them. + + This is 3 steps: + + - Find all the .o and .a files used in the final link + - Find all the .o files in the used .a files + - Find the source file that produced the .o file + """ + probe = f"//{PROBE_PACKAGE}:probe" + expr = f'mnemonic("CppLink|CppArchive|CppCompile", deps({probe}))' + graph = Aquery( + run( + ["bazel", "aquery", *flags, "--output=jsonproto", expr], + cwd=work, + capture=True, + ) + ) + + # deps() reaches exec-configuration tooling like protoc, so the + # probe's own link action is picked out by its output path to get the + # real closure. + link_actions = [ + action + for action in graph.actions("CppLink") + if graph.path(action["outputIds"][0]).endswith(f"/{PROBE_PACKAGE}/probe") + ] + if len(link_actions) != 1: + message = f"expected exactly one probe link action, got {len(link_actions)}" + raise SystemExit(message) + link_inputs = { + graph.path(i) for i in graph.expand(link_actions[0]["inputDepSetIds"]) + } + + # Archives contributed by cc_library targets, expanded to their objects. + archive_objects: dict[str, set[str]] = {} + for action in graph.actions("CppArchive"): + out = graph.path(action["outputIds"][0]) + objects = {graph.path(i) for i in graph.expand(action["inputDepSetIds"])} + archive_objects[out] = {o for o in objects if o.endswith(".o")} + + needed = {p for p in link_inputs if p.endswith(".o")} + # Retrieve object file paths from inside archives. + for path in (p for p in link_inputs if p.endswith(".a")): + needed |= archive_objects[path] + + # Reverse mapping from a compile action's output to the source it + # compiles. + object_to_source: dict[str, str] = {} + for action in graph.actions("CppCompile"): + args = action["arguments"] + object_to_source[graph.path(action["outputIds"][0])] = args[ + args.index("-c") + 1 + ] + + sources: dict[str, set[str]] = collections.defaultdict(set) + generated: dict[str, set[str]] = collections.defaultdict(set) + for obj in needed: + source = object_to_source[obj] + repo = bazel_repo(source) + if repo in SKIP_REPOS: + continue + if repo == "_main" and source.startswith(f"{PROBE_PACKAGE}/"): + continue # the shim and probe main are not vendored sources + if source.startswith("bazel-out/"): + generated[repo].add(source) + else: + sources[repo].add(source) + + return sources, generated + + +def bazel_repo(source: str) -> str: + """The bazel repo a source path belongs to, generated outputs included.""" + if source.startswith("bazel-out/"): + if "/bin/external/" in source: + return source.split("/bin/external/", 1)[1].partition("/")[0] + return "_main" + if source.startswith("external/"): + return source.split("/")[1] + return "_main" + + +def generated_destination(source: str) -> str: + """Where a generated source belongs inside a crate's vendor/ directory. + + We strip prefixes Bazel adds depending on the type of file. + """ + for marker in ("_virtual_imports/", "_virtual_includes/"): + if marker in source: + tail = source.split(marker, 1)[1] + return tail.split("/", 1)[1] + if "/bin/external/" in source: + after = source.split("/bin/external/", 1)[1] + return after.split("/", 1)[1] + return source.split("/bin/", 1)[1] + + +# Maps bazel platform-select condition labels (canonical form, leading @s +# stripped) to cargo's CARGO_CFG_TARGET_OS values, which is how build.rs +# decides whether to compile a tagged file. +SELECT_KEY_TO_TARGET_OS = { + "platforms//os:windows": "windows", + "platforms//os:linux": "linux", + "platforms//os:osx": "macos", + "platforms//os:macos": "macos", +} + + +def parse_label(label: str) -> tuple[str, str]: + """Splits a canonical label into (repo, repo-relative path).""" + repo, _, rest = label.lstrip("@").partition("//") + package, _, name = rest.partition(":") + return repo or "_main", f"{package}/{name}" if package else name + + +def collect_platform_sources( + work: Path, sources: dict[str, set[str]] +) -> dict[str, set[tuple[str, str]]]: + """Finds sources that bazel adds via platform select(), per repo. + + The extraction host's link closure only contains that host's selection + (absl's time_zone_name_win.cc is in srcs only on windows), so the other + platforms' branches are read from the target graph: unconfigured `bazel + query` preserves select() structure when asked not to flatten it. Only + packages that already contribute a file to the closure are considered, + which keeps tooling-only packages out without a hand-maintained list. + """ + packages: dict[str, set[str]] = collections.defaultdict(set) + for repo, files in sources.items(): + for file in files: + rel = file if repo == "_main" else file.split(f"external/{repo}/", 1)[1] + packages[repo].add(str(Path(rel).parent)) + + text = run( + [ + "bazel", + "query", + "--output=streamed_jsonproto", + "--proto:flatten_selects=false", + "--consistent_labels", + f'kind("cc_.*", deps(//{PROBE_PACKAGE}:probe))', + ], + cwd=work, + capture=True, + ) + + found: dict[str, set[tuple[str, str]]] = collections.defaultdict(set) + for line in text.splitlines(): + if not line.strip(): + continue + target = json.loads(line) + rule = target.get("rule") + if rule is None: + continue + rule_repo, rule_path = parse_label(rule["name"]) + rule_package = str(Path(rule_path).parent) + if not any( + p == rule_package or p.startswith(f"{rule_package}/") + for p in packages.get(rule_repo, ()) + ): + continue + for attribute in rule.get("attribute", []): + if attribute["name"] != "srcs" or "selectorList" not in attribute: + continue + for element in attribute["selectorList"].get("elements", []): + for entry in element.get("entries", []): + target_os = SELECT_KEY_TO_TARGET_OS.get(entry["label"].lstrip("@")) + files = [ + parse_label(label)[1] + for label in entry.get("stringListValue", []) + if label.endswith((".cc", ".cpp")) + ] + if not files: + continue + if target_os is None: + if not entry["label"].endswith("//conditions:default"): + print( + f" warning: unmapped select key {entry['label']} " + f"with sources in {rule['name']}", + file=sys.stderr, + ) + continue + for file in files: + found[rule_repo].add((target_os, file)) + return found + + +def vendor( + work: Path, sources: dict[str, set[str]], generated: dict[str, set[str]] +) -> None: + """Regenerates the checked-in generated sources and the filelists. + + Upstream sources are not copied: they are git submodules under each crate's + third_party/, so all that is recorded for them is which C++ source files + to compile. + """ + execroot = Path( + run(["bazel", "info", "execution_root"], cwd=work, capture=True).strip() + ) + + filelists: dict[str, list[str]] = collections.defaultdict(list) + platform_sources = collect_platform_sources(work, sources) + record_sources(sources, platform_sources, filelists) + written = vendor_generated(execroot, generated, filelists) + prune_generated(written) + write_filelists(filelists) + + +def submodule_path(repo: str, rel: str) -> str: + """Crate-relative path of an upstream source file.""" + spec = REPOS[repo] + parts = ["third_party", spec.submodule] + if spec.prefix: + parts.append(spec.prefix) + parts.append(rel) + return "/".join(parts) + + +def record_sources( + sources: dict[str, set[str]], + platform_sources: dict[str, set[tuple[str, str]]], + filelists: dict[str, list[str]], +) -> None: + """Records upstream C++ source files as paths into the submodules.""" + missing: list[str] = [] + for repo, files in sorted(sources.items()): + spec = REPOS.get(repo) + if spec is None: + print(f" warning: no mapping for repo {repo}, skipping", file=sys.stderr) + continue + if spec.submodule is None: + message = f"{repo} contributes sources but has no submodule" + raise SystemExit(message) + key = spec.library + # Sources are keyed relative to the module root. + rel_files = sorted( + f if repo == "_main" else f.split(f"external/{repo}/", 1)[1] for f in files + ) + entries = [("", rel) for rel in rel_files] + entries += [ + (f"{target_os}:", rel) + for target_os, rel in sorted(platform_sources.get(repo, set())) + ] + for prefix, rel in entries: + path = submodule_path(repo, rel) + if not (CRATE / path).is_file(): + missing.append(f"{repo}: {path}") + filelists[key].append(prefix + path) + if missing: + listing = "\n ".join(missing[:20]) + message = ( + f"{len(missing)} source(s) missing from the submodules, e.g.:\n {listing}\n" + "Run `git submodule update --init --recursive`, and check the pins " + "match the versions bazel resolved (see the summary above)." + ) + raise SystemExit(message) + + +def upstream_copy(spec: Repo, dest: str) -> Path | None: + """The submodule's own copy of a bazel-generated file, if it has one.""" + if spec.submodule is None: + return None + root = CRATE / "third_party" / spec.submodule + for include_root in spec.include_roots: + candidate = root / include_root / dest if include_root else root / dest + if candidate.is_file(): + return candidate + return None + + +def _visibility_normalized(text: bytes) -> bytes: + """Drops DLL-visibility annotations before comparing generated code. + + Bazel regenerates WKTs as part of the build for static compilation, so we + ensure the submodule's version is valid by removing the annotations before + comparing. + """ + stripped = re.sub( + rb"PROTOBUF_EXPORT_TEMPLATE_(DECLARE|DEFINE)|PROTOBUF_EXPORT", b"", text + ) + return b" ".join(stripped.split()) + + +def vendor_generated( + execroot: Path, generated: dict[str, set[str]], filelists: dict[str, list[str]] +) -> set[Path]: + """Copies bazel-generated sources into the crate's gen/.""" + merged: dict[str, set[str]] = collections.defaultdict(set) + for repo, files in generated.items(): + merged[repo] |= files + for path in (execroot / "bazel-out").rglob("*"): + if path.suffix not in VENDOR_HEADER_SUFFIXES or not path.is_file(): + continue + source = str(path.relative_to(execroot)) + if "-exec" in source.split("/")[1]: + continue + merged[bazel_repo(source)].add(source) + written: set[Path] = set() + for repo, files in sorted(merged.items()): + if repo in SKIP_REPOS: + continue + spec = REPOS.get(repo) + if spec is None: + print(f" warning: no mapping for generated repo {repo}", file=sys.stderr) + continue + gen_dir = CRATE / "gen" + for source in sorted(files): + dest = generated_destination(source) + # A genrule that re-stages its inputs leaves them under its own + # output directory, so the repo tree reappears inside the path. + if "external/" in dest: + continue + payload = (execroot / source).read_bytes() + existing = upstream_copy(spec, dest) + if existing is not None: + if _visibility_normalized(existing.read_bytes()) != ( + _visibility_normalized(payload) + ): + message = ( + f"{existing.relative_to(CRATE)} differs from what bazel " + f"generated at {dest}. Compiling the submodule's copy would " + "no longer match what bazel built; check what changed upstream." + ) + raise SystemExit(message) + if dest.endswith((".cc", ".cpp")): + rel = existing.relative_to(CRATE).as_posix() + filelists[spec.library].append(rel) + continue + copy_file(execroot / source, gen_dir / dest) + written.add(gen_dir / dest) + if dest.endswith((".cc", ".cpp")): + filelists[spec.library].append(f"gen/{dest}") + return written + + +def prune_generated(written: set[Path]) -> None: + """Drops files a previous extraction left in gen/.""" + gen_dir = CRATE / "gen" + if not gen_dir.is_dir(): + return + for path in sorted(gen_dir.rglob("*"), reverse=True): + if path.is_file() and path not in written: + path.unlink() + elif path.is_dir() and not any(path.iterdir()): + path.rmdir() + + +def write_filelists(filelists: dict[str, list[str]]) -> None: + """Writes one filelist per static library, only when the content changes.""" + for library, files in sorted(filelists.items()): + path = CRATE / "filelists" / f"{library}.txt" + path.parent.mkdir(parents=True, exist_ok=True) + content = ( + "# Generated by scripts/extract_native_sources.py -- do not edit.\n" + "# C++ sources the extension compiles, relative to this crate's directory.\n" + "# A `windows:`/`linux:`/`macos:` prefix compiles a file on that OS only.\n" + + "\n".join(sorted(files)) + + "\n" + ) + if not path.exists() or path.read_text() != content: + path.write_text(content) + + +def module_versions(work: Path) -> dict[str, dict[str, str]]: + """Resolved module versions and the registry hashes that identify them.""" + lock = work / "MODULE.bazel.lock" + data = json.loads(lock.read_text()) + versions: dict[str, dict[str, str]] = {} + for url, digest in sorted(data.get("registryFileHashes", {}).items()): + if not url.endswith("/source.json"): + continue + parts = url.rstrip("/").split("/") + name, version = parts[-3], parts[-2] + versions[name] = {"version": version, "source_json_sha256": digest, "url": url} + return versions + + +def check_protovalidate_version(versions: dict) -> None: + """Fails if the linked protovalidate differs from what we target.""" + resolved = versions.get("protovalidate", {}).get("version") + targeted = None + versions_py = REPO_ROOT / "test" / "versions.py" + if versions_py.exists(): + for line in versions_py.read_text().splitlines(): + if line.startswith("PROTOVALIDATE_VERSION"): + # The line reads `= os.getenv("PROTOVALIDATE_VERSION", "v1.2.0")`, + # so pick out the version literal rather than a quoted position. + found = re.search(r'"v?(\d+\.\d+\.\d+[^"]*)"', line) + if found: + targeted = found.group(1) + break + if resolved and targeted and resolved != targeted: + message = ( + f"linked protovalidate is {resolved} but this package targets " + f"{targeted} (test/versions.py). Violation messages would differ " + f"from what conformance tests. Pin a protovalidate-cc ref that " + f"targets {targeted}, or move test/versions.py with it." + ) + raise SystemExit(message) + + +def git(path: Path, *args: str, check: bool = True) -> str: + """Runs a read-only git command in `path`, quietly.""" + result = subprocess.run( + ["git", "-C", str(path), *args], check=False, text=True, capture_output=True + ) + if result.returncode != 0: + if check: + message = f"git {' '.join(args)} in {path} failed: {result.stderr.strip()}" + raise SystemExit(message) + return "" + return result.stdout.strip() + + +def wanted_ref(repo: str, spec: Repo, versions: dict, config: dict) -> str | None: + """The upstream ref to move a submodule to to match a Bazel dependency version.""" + if repo == "_main": + return config["protovalidate_cc"]["ref"] + module = REPO_TO_MODULE.get(repo) + resolved = versions.get(module, {}).get("version") if module else None + if not resolved: + return None + # Registry-only republishes (`2025-11-05.bcr.1`) carry bazel packaging + # fixes; upstream is tagged without the suffix. + return spec.tag.format(version=resolved.split(".bcr.")[0]) + + +def resolve_in_submodule(path: Path, ref: str) -> str: + """Resolves a tag or commit to a commit id.""" + for candidate in (f"{ref}^{{commit}}", f"refs/tags/{ref}^{{commit}}"): + found = git(path, "rev-parse", "--verify", "--quiet", candidate, check=False) + if found: + return found + # Not present locally yet so fetch first. + for fetch_args in (["origin", "tag", ref], ["origin", ref]): + run( + ["git", "-C", str(path), "fetch", "--depth", "1", *fetch_args], + cwd=REPO_ROOT, + ) + found = git( + path, "rev-parse", "--verify", "--quiet", f"{ref}^{{commit}}", check=False + ) + if found: + return found + found = git( + path, "rev-parse", "--verify", "--quiet", "FETCH_HEAD^{commit}", check=False + ) + if found: + return found + message = f"could not resolve {ref} in {path}" + raise SystemExit(message) + + +def sync_submodules(versions: dict, config: dict) -> None: + """Checks the submodules out at the versions bazel resolved.""" + print("\nsubmodules:") + moved: list[str] = [] + for repo, spec in sorted(REPOS.items()): + if spec.submodule is None: + continue + ref = wanted_ref(repo, spec, versions, config) + if ref is None: + continue + path = CRATE / "third_party" / spec.submodule + if not (path / ".git").exists(): + run( + ["git", "submodule", "update", "--init", "--", str(path)], cwd=REPO_ROOT + ) + want = resolve_in_submodule(path, ref) + head = git(path, "rev-parse", "HEAD") + if head == want: + print(f" {spec.submodule:18s} {ref:14s} {head[:12]} ok") + continue + # Don't overwrite any pending changes in submodules which may be + # experimental work. + dirty = git(path, "status", "--porcelain") + if dirty: + message = ( + f"{path} has uncommitted changes and needs to move to {ref} " + f"({want[:12]}). Commit, stash, or discard them first." + ) + raise SystemExit(message) + run(["git", "-C", str(path), "checkout", "--detach", want], cwd=REPO_ROOT) + print(f" {spec.submodule:18s} {ref:14s} {head[:12]} -> {want[:12]}") + moved.append(spec.submodule) + if moved: + print(f" moved {len(moved)}; commit the updated gitlinks with the filelists") + + +def main() -> None: + config = json.loads(CONFIG_PATH.read_text()) + if not shutil.which("bazel"): + message = "bazel is required to run the extraction" + raise SystemExit(message) + + work = prepare_workspace(config) + build_flags = bazel_flags(config) + build_probe(work, build_flags) + sources, generated = collect_link_closure(work, build_flags) + versions = module_versions(work) + check_protovalidate_version(versions) + + def destination(repo: str) -> str: + spec = REPOS.get(repo) + return spec.library if spec else "??" + + print("\nC++ source files:") + total = 0 + for repo, files in sorted(sources.items(), key=lambda kv: -len(kv[1])): + print(f" {repo:24s} {len(files):4d} -> {destination(repo)}") + total += len(files) + for repo, files in sorted(generated.items()): + print(f" {repo + ' (generated)':24s} {len(files):4d} -> {destination(repo)}") + total += len(files) + print(f" {'TOTAL':24s} {total:4d}") + + sync_submodules(versions, config) + + print("\nwriting generated sources and filelists") + vendor(work, sources, generated) + + print("\nresolved module versions:") + for name, info in sorted(versions.items()): + if name in ( + "abseil-cpp", + "protobuf", + "re2", + "antlr4-cpp-runtime", + "cel-cpp", + "cel-spec", + "protovalidate", + ): + print(f" {name:22s} {info['version']}") + + print("\nnext: cargo test, then the conformance suite") + + +if __name__ == "__main__": + main() diff --git a/scripts/generate_cel.py b/scripts/generate_cel.py index b18313ed..0e01add8 100644 --- a/scripts/generate_cel.py +++ b/scripts/generate_cel.py @@ -30,8 +30,8 @@ def main() -> None: """Generates CEL conformance protos and fetches CEL testdata.""" shutil.rmtree(test_dir / "gen" / "cel", ignore_errors=True) - subprocess.run( # noqa: S603 - [ # noqa: S607 + subprocess.run( + [ "buf", "generate", f"buf.build/google/cel-spec:{CEL_SPEC_VERSION}", diff --git a/scripts/generate_protovalidate.py b/scripts/generate_protovalidate.py index 0091d052..97276fab 100644 --- a/scripts/generate_protovalidate.py +++ b/scripts/generate_protovalidate.py @@ -40,10 +40,10 @@ def main() -> None: protos_dir = repo / "proto" shutil.rmtree(protos_dir, ignore_errors=True) protos_dir.mkdir(parents=True, exist_ok=True) - subprocess.run(["buf", "export", protovalidate_path, "-o", protos_dir], check=True) # noqa: S603, S607 - subprocess.run(["buf", "generate"], cwd=repo, check=True) # noqa: S607 + subprocess.run(["buf", "export", protovalidate_path, "-o", protos_dir], check=True) + subprocess.run(["buf", "generate"], cwd=repo, check=True) - subprocess.run( # noqa: S603 - ["buf", "export", protovalidate_testing_path, "-o", repo / "test" / "proto"], # noqa: S607 + subprocess.run( + ["buf", "export", protovalidate_testing_path, "-o", repo / "test" / "proto"], check=True, ) diff --git a/src/constants.rs b/src/constants.rs new file mode 100644 index 00000000..e4d1e254 --- /dev/null +++ b/src/constants.rs @@ -0,0 +1,199 @@ +// Copyright (c) 2023-2026 Buf Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Interned strings, and the Python types the bindings reach for. + +use std::ops::Deref; +use std::sync::Arc; + +use pyo3::prelude::*; +use pyo3::sync::PyOnceLock; +use pyo3::types::{PyString, PyType}; + +/// Python types the bindings construct or parse with. +pub(crate) struct Types { + /// The class `protovalidate._gen.buf.validate.validate_pb.Violations`. + pub(crate) violations: Py, + /// The class `protovalidate._gen.buf.validate.validate_pb.Violation`. + pub(crate) violation: Py, + /// The class `protobuf.wkt.FieldOptions`. + pub(crate) field_options: Py, + /// The class `protobuf.wkt.MessageOptions`. + pub(crate) message_options: Py, +} + +/// Extension objects used to read rules out of descriptor options. +pub(crate) struct Extensions { + /// The extension `buf.validate.field`. + pub(crate) field: Py, + /// The extension `buf.validate.message`. + pub(crate) message: Py, +} + +pub(crate) struct ConstantsInner { + /// The string `DESCRIPTOR`. + pub(crate) descriptor_upper: Py, + /// The string `GetOptions`. + pub(crate) get_options: Py, + /// The string `SerializeToString`. + pub(crate) serialize_to_string: Py, + /// The string `dependencies`. + pub(crate) dependencies: Py, + /// The string `desc`. + pub(crate) desc: Py, + /// The string `elements`. + pub(crate) elements: Py, + /// The string `extensions`. + pub(crate) extensions: Py, + /// The string `field`. + pub(crate) field: Py, + /// The string `field_name`. + pub(crate) field_name: Py, + /// The string `field_number`. + pub(crate) field_number: Py, + /// The string `fields`. + pub(crate) fields: Py, + /// The string `fields_by_name`. + pub(crate) fields_by_name: Py, + /// The string `fields_by_number`. + pub(crate) fields_by_number: Py, + /// The string `file`. + pub(crate) file: Py, + /// The string `for_key`. + pub(crate) for_key: Py, + /// The string `from_binary`. + pub(crate) from_binary: Py, + /// The string `full_name`. + pub(crate) full_name: Py, + /// The string `message`. + pub(crate) message: Py, + /// The string `name`. + pub(crate) name: Py, + /// The string `number`. + pub(crate) number: Py, + /// The string `options`. + pub(crate) options: Py, + /// The string `proto`. + pub(crate) proto: Py, + /// The string `rule`. + pub(crate) rule: Py, + /// The string `rule_id`. + pub(crate) rule_id: Py, + /// The string `serialized_pb`. + pub(crate) serialized_pb: Py, + /// The string `subscript`. + pub(crate) subscript: Py, + /// The string `to_binary`. + pub(crate) to_binary: Py, + /// The string `type_name`. + pub(crate) type_name: Py, + /// The string `value`. + pub(crate) value: Py, + /// The string `violations`. + pub(crate) violations: Py, +} + +/// Cheaply cloneable handle to the interned objects. +#[derive(Clone)] +pub(crate) struct Constants { + inner: Arc, +} + +/// Static constants that can be cached per process. +impl Constants { + pub(crate) fn get(py: Python<'_>) -> Self { + static INSTANCE: PyOnceLock = PyOnceLock::new(); + + INSTANCE.get_or_init(py, || Self::new(py)).clone() + } + + fn new(py: Python<'_>) -> Self { + Self { + inner: Arc::new(ConstantsInner { + descriptor_upper: PyString::intern(py, "DESCRIPTOR").unbind(), + get_options: PyString::intern(py, "GetOptions").unbind(), + serialize_to_string: PyString::intern(py, "SerializeToString").unbind(), + dependencies: PyString::intern(py, "dependencies").unbind(), + desc: PyString::intern(py, "desc").unbind(), + elements: PyString::intern(py, "elements").unbind(), + extensions: PyString::intern(py, "extensions").unbind(), + field: PyString::intern(py, "field").unbind(), + field_name: PyString::intern(py, "field_name").unbind(), + field_number: PyString::intern(py, "field_number").unbind(), + fields: PyString::intern(py, "fields").unbind(), + fields_by_name: PyString::intern(py, "fields_by_name").unbind(), + fields_by_number: PyString::intern(py, "fields_by_number").unbind(), + file: PyString::intern(py, "file").unbind(), + for_key: PyString::intern(py, "for_key").unbind(), + from_binary: PyString::intern(py, "from_binary").unbind(), + full_name: PyString::intern(py, "full_name").unbind(), + message: PyString::intern(py, "message").unbind(), + name: PyString::intern(py, "name").unbind(), + number: PyString::intern(py, "number").unbind(), + options: PyString::intern(py, "options").unbind(), + proto: PyString::intern(py, "proto").unbind(), + rule: PyString::intern(py, "rule").unbind(), + rule_id: PyString::intern(py, "rule_id").unbind(), + serialized_pb: PyString::intern(py, "serialized_pb").unbind(), + subscript: PyString::intern(py, "subscript").unbind(), + to_binary: PyString::intern(py, "to_binary").unbind(), + type_name: PyString::intern(py, "type_name").unbind(), + value: PyString::intern(py, "value").unbind(), + violations: PyString::intern(py, "violations").unbind(), + }), + } + } +} + +/// Python types and extension objects, resolved on demand. +pub(crate) struct Imports { + pub(crate) types: Types, + pub(crate) extensions: Extensions, +} + +impl Imports { + pub(crate) fn resolve(py: Python<'_>) -> PyResult { + let validate = py.import("protovalidate._gen.buf.validate.validate_pb")?; + let wkt = py.import("protobuf.wkt")?; + Ok(Self { + types: Types { + violations: validate + .getattr("Violations")? + .cast_into::()? + .unbind(), + violation: validate + .getattr("Violation")? + .cast_into::()? + .unbind(), + field_options: wkt.getattr("FieldOptions")?.cast_into::()?.unbind(), + message_options: wkt + .getattr("MessageOptions")? + .cast_into::()? + .unbind(), + }, + extensions: Extensions { + field: validate.getattr("ext_field")?.unbind(), + message: validate.getattr("ext_message")?.unbind(), + }, + }) + } +} + +impl Deref for Constants { + type Target = ConstantsInner; + + fn deref(&self) -> &Self::Target { + &self.inner + } +} diff --git a/src/hints.rs b/src/hints.rs new file mode 100644 index 00000000..3c63f2af --- /dev/null +++ b/src/hints.rs @@ -0,0 +1,103 @@ +// Copyright (c) 2023-2026 Buf Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! No-cost wrappers whose job is carrying Python type hints for stub generation. +//! `PyO3` uses the static type information when generating stubs with introspection. + +use std::convert::Infallible; + +use pyo3::inspect::PyStaticExpr; +use pyo3::prelude::*; +use pyo3::types::PyList; +use pyo3::{Borrowed, type_hint_identifier, type_hint_subscript, type_hint_union}; + +use crate::violation::Violation; + +const VALIDATE_PB: &str = "protovalidate._gen.buf.validate.validate_pb"; + +/// A protobuf message of either runtime, hinted as the union of both. +#[derive(Clone, Copy)] +pub(crate) struct PbMessage<'a, 'py>(pub(crate) Borrowed<'a, 'py, PyAny>); + +impl<'a, 'py> FromPyObject<'a, 'py> for PbMessage<'a, 'py> { + type Error = Infallible; + + const INPUT_TYPE: PyStaticExpr = type_hint_union!( + type_hint_identifier!("protobuf", "Message"), + type_hint_identifier!("google.protobuf.message", "Message") + ); + + fn extract(obj: Borrowed<'a, 'py, PyAny>) -> Result { + Ok(Self(obj)) + } +} + +/// A protobuf-py `Registry`. +pub(crate) struct PbRegistry<'a, 'py>(pub(crate) Borrowed<'a, 'py, PyAny>); + +impl<'a, 'py> FromPyObject<'a, 'py> for PbRegistry<'a, 'py> { + type Error = Infallible; + + const INPUT_TYPE: PyStaticExpr = type_hint_identifier!("protobuf", "Registry"); + + fn extract(obj: Borrowed<'a, 'py, PyAny>) -> Result { + Ok(Self(obj)) + } +} + +/// A `buf.validate.FieldPath` message. +pub(crate) struct PbFieldPath<'a, 'py>(pub(crate) Borrowed<'a, 'py, PyAny>); + +impl<'a, 'py> FromPyObject<'a, 'py> for PbFieldPath<'a, 'py> { + type Error = Infallible; + + const INPUT_TYPE: PyStaticExpr = type_hint_identifier!(VALIDATE_PB, "FieldPath"); + + fn extract(obj: Borrowed<'a, 'py, PyAny>) -> Result { + Ok(Self(obj)) + } +} + +/// A list of [`Violation`] wrappers, hinted as `list[Violation]`. +pub(crate) struct ViolationList<'py>(pub(crate) Bound<'py, PyList>); + +impl<'py> IntoPyObject<'py> for ViolationList<'py> { + type Target = PyList; + type Output = Bound<'py, PyList>; + type Error = Infallible; + + const OUTPUT_TYPE: PyStaticExpr = type_hint_subscript!( + type_hint_identifier!("builtins", "list"), + ::TYPE_HINT + ); + + fn into_pyobject(self, _py: Python<'py>) -> Result { + Ok(self.0) + } +} + +/// A `buf.validate.Violation` message. +pub(crate) struct ViolationProto<'py>(pub(crate) Bound<'py, PyAny>); + +impl<'py> IntoPyObject<'py> for ViolationProto<'py> { + type Target = PyAny; + type Output = Bound<'py, PyAny>; + type Error = Infallible; + + const OUTPUT_TYPE: PyStaticExpr = type_hint_identifier!(VALIDATE_PB, "Violation"); + + fn into_pyobject(self, _py: Python<'py>) -> Result { + Ok(self.0) + } +} diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 00000000..e3e4047e --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,288 @@ +// Copyright (c) 2023-2026 Buf Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Python bindings for protovalidate-cc. + +mod constants; +mod hints; +mod proto; +mod violation; + +use std::collections::HashSet; +use std::sync::{Arc, RwLock}; + +use pyo3::exceptions::{PyException, PyRuntimeError, PyValueError}; +use pyo3::import_exception; +use pyo3::prelude::*; +use pyo3::sync::RwLockExt; +use pyo3::types::{PyBytes, PyList, PyString}; + +use protovalidate::{Engine, PvError}; + +use constants::{Constants, Imports}; +use hints::{PbMessage, PbRegistry, ViolationList}; +use proto::{ProtoAdapter, ProtoRuntime}; + +import_exception!(protovalidate._errors, ValidationError); +import_exception!(protovalidate._errors, CompilationError); +import_exception!(protovalidate._errors, EvaluationError); + +fn to_py_err(error: PvError) -> PyErr { + match error { + PvError::Compilation(message) => CompilationError::new_err(message), + PvError::Evaluation(message) => EvaluationError::new_err(message), + PvError::Argument(message) => PyValueError::new_err(message), + // Neither a compilation nor an evaluation failure; a plain Exception + // keeps it out of both buckets rather than mislabelling it. + PvError::Unexpected(message) => PyException::new_err(message), + PvError::Unknown(code, message) => { + PyException::new_err(format!("unknown status {code}: {message}")) + } + } +} + +/// Validate Protobuf messages against static rules. +/// +/// Both protobuf-py messages and legacy google.protobuf messages are +/// accepted; either is handed to the native engine in serialized form. +/// +/// Each validator instance caches internal state generated from the static +/// rules, so reusing the same instance for multiple validations +/// significantly improves performance. +#[pyclass(module = "protovalidate._protovalidate", frozen)] +struct Validator { + /// Engine isn't thread-safe when adding descriptors. Since this only happens when + /// warming up, we use a `RwLock` to allow the steady state to have no blocking. + engine: RwLock, + /// Descriptor files already added to the pool, by name. Mutated together + /// with the engine, under both write locks; see `register`. + registered: RwLock>, + /// Interned strings, shared by every call site. + constants: Constants, + /// Python types and extensions. + imports: Arc, +} + +#[pymethods] +impl Validator { + /// Create a new validator. + /// + /// Parameters: + /// registry: An optional Registry used to resolve custom + /// predefined-rule extensions. If omitted, only standard rules are applied. + #[new] + #[pyo3(signature = (registry = None))] + fn new(py: Python<'_>, registry: Option>) -> PyResult { + let engine = Engine::new().map_err(PyRuntimeError::new_err)?; + let validator = Self { + engine: RwLock::new(engine), + registered: RwLock::new(HashSet::new()), + constants: Constants::get(py), + imports: Arc::new(Imports::resolve(py)?), + }; + if let Some(registry) = registry { + validator.add_registry(py, ®istry.0)?; + } + Ok(validator) + } + + /// Validate the given message against the static rules defined in the message's descriptor. + /// + /// Parameters: + /// message: The message to validate. + /// fail_fast: If true, validation will stop after the first iteration. + /// + /// Raises: + /// CompilationError: If the static rules could not be compiled. + /// EvaluationError: If a rule failed while being evaluated. + /// ValidationError: If the message is invalid. The violations raised as part of this error should + /// always be equal to the list of violations returned by `collect_violations`. + #[allow(clippy::doc_markdown)] // A Python docstring. + #[pyo3(signature = (message, *, fail_fast = false))] + fn validate( + &self, + py: Python<'_>, + message: PbMessage<'_, '_>, + fail_fast: bool, + ) -> PyResult<()> { + let (adapter, violations) = self.collect(py, message, fail_fast)?; + if violations.0.is_empty() { + return Ok(()); + } + let name = adapter + .descriptor(py) + .getattr(&self.constants.name)? + .cast_into::()?; + Err(ValidationError::new_err(( + format!("invalid {}", name.to_str()?), + violations.0.unbind(), + ))) + } + + /// Validates the given message against the static rules defined in the message's descriptor. + /// + /// Compared to `validate`, `collect_violations` simply returns the violations as a list and puts + /// the burden of raising an appropriate exception on the caller. + /// + /// The violations returned from this method should always be equal to the violations + /// raised as part of the ValidationError in the call to `validate`. + /// + /// Parameters: + /// message: The message to validate. + /// fail_fast: If true, validation will stop after the first iteration. + /// + /// Returns: + /// A list of Violation objects that describe the validation errors. + /// + /// Raises: + /// CompilationError: If the static rules could not be compiled. + /// EvaluationError: If a rule failed while being evaluated. + #[allow(clippy::doc_markdown)] // A Python docstring. + #[pyo3(signature = (message, *, fail_fast = false))] + fn collect_violations<'py>( + &self, + py: Python<'py>, + message: PbMessage<'_, 'py>, + fail_fast: bool, + ) -> PyResult> { + Ok(self.collect(py, message, fail_fast)?.1) + } +} + +impl Validator { + /// Resolves a message and collects its violations. + fn collect<'py>( + &self, + py: Python<'py>, + message: PbMessage<'_, 'py>, + fail_fast: bool, + ) -> PyResult<(ProtoAdapter, ViolationList<'py>)> { + let adapter = ProtoAdapter::resolve(&message.0, &self.constants)?; + let file = adapter.descriptor(py).getattr(&self.constants.file)?; + self.register(py, &file, &adapter)?; + + let type_name = adapter.type_name(py, &self.constants)?; + let payload = adapter.runtime.payload(&message.0, &self.constants)?; + + let Some(serialized) = + self.evaluate(py, type_name.to_str()?, payload.as_bytes(), fail_fast)? + else { + // `descriptor` keeps the adapter borrowed for `'py`, so hand the + // caller a cheap reference clone rather than the local. + return Ok((adapter.clone_ref(py), ViolationList(PyList::empty(py)))); + }; + let violations = violation::build_violations( + py, + &serialized, + &message.0, + &adapter, + &self.constants, + &self.imports, + ) + .map(ViolationList)?; + Ok((adapter.clone_ref(py), violations)) + } + /// Registers every descriptor file a registry contributes. + fn add_registry(&self, py: Python<'_>, registry: &Bound<'_, PyAny>) -> PyResult<()> { + let mut registered = self.registered.write_py_attached(py).unwrap(); + let mut engine = self.engine.write_py_attached(py).unwrap(); + collect_registry(registry, &self.constants, &mut registered, &mut |bytes| { + engine.add_file(bytes.as_bytes()).map_err(to_py_err) + }) + } + + /// Registers a descriptor file and its imports, skipping known ones. + fn register( + &self, + py: Python<'_>, + file: &Bound<'_, PyAny>, + adapter: &ProtoAdapter, + ) -> PyResult<()> { + let name_attr = file.getattr(&self.constants.name)?; + let name = name_attr.cast::()?.to_str()?; + if self.is_registered(py, name) { + return Ok(()); + } + // Registration is rare (once per file), so holding the write locks + // across the collection walk costs little. + let mut registered = self.registered.write_py_attached(py).unwrap(); + let mut engine = self.engine.write_py_attached(py).unwrap(); + adapter + .runtime + .collect_files(file, &self.constants, &mut registered, &mut |bytes| { + engine.add_file(bytes.as_bytes()).map_err(to_py_err) + }) + } + + fn is_registered(&self, py: Python<'_>, name: &str) -> bool { + self.registered.read_py_attached(py).unwrap().contains(name) + } + + /// Runs validation over serialized bytes, returning serialized violations, + /// or `None` when the message is valid. + fn evaluate<'py>( + &self, + py: Python<'py>, + type_name: &str, + payload: &[u8], + fail_fast: bool, + ) -> PyResult>> { + let violations = py + .detach(|| { + let engine = self.engine.read().unwrap(); + engine.validate(type_name, payload, fail_fast) + }) + .map_err(to_py_err)?; + Ok(violations.map(|buffer| PyBytes::new(py, buffer.as_slice()))) + } +} + +/// Collects every file in a registry that declares extensions. +/// +/// Predefined-rule extensions may live in files nothing being validated +/// imports, in which case the lazy walk over message imports would never reach +/// them. Only files declaring extensions can carry such rules, so the rest of +/// the registry is left alone. +fn collect_registry( + registry: &Bound<'_, PyAny>, + constants: &Constants, + registered: &mut HashSet, + add: &mut dyn FnMut(&Bound<'_, PyBytes>) -> PyResult<()>, +) -> PyResult<()> { + for descriptor in registry.try_iter()? { + let descriptor = descriptor?; + let Ok(extensions) = descriptor.getattr(&constants.extensions) else { + continue; + }; + if extensions.len().unwrap_or(0) == 0 { + continue; + } + // A DescFile has no `file` attribute and stands for itself; nested + // extensions come from a message, which does. + let file = descriptor + .getattr(&constants.file) + .unwrap_or_else(|_| descriptor.clone()); + ProtoRuntime::ProtobufPy.collect_files(&file, constants, registered, add)?; + } + Ok(()) +} + +/// The native protovalidate engine. +#[pymodule(gil_used = false)] +mod _protovalidate { + #[pymodule_export] + use super::Validator; + #[pymodule_export] + use super::violation::Violation; +} diff --git a/src/proto.rs b/src/proto.rs new file mode 100644 index 00000000..6ff2df5d --- /dev/null +++ b/src/proto.rs @@ -0,0 +1,249 @@ +// Copyright (c) 2023-2026 Buf Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! The adapter over the two Python Protobuf runtimes. Everything that must be +//! asked differently of protobuf-py and google.protobuf -- descriptors, type +//! names, serialization, field access -- goes through [`ProtoAdapter`], so the +//! rest of the crate is runtime-agnostic. + +use std::collections::HashSet; + +use pyo3::exceptions::PyTypeError; +use pyo3::prelude::*; +use pyo3::types::{PyBytes, PyString, PyType}; + +use crate::constants::Constants; + +/// Which Python protobuf runtime a message comes from. +#[derive(Clone, Copy)] +pub enum ProtoRuntime { + /// protobuf-py: message classes carry a `desc` classmethod. + ProtobufPy, + /// google.protobuf: messages carry a `DESCRIPTOR` attribute. + Google, +} + +/// A message's runtime together with its resolved descriptor. +pub struct ProtoAdapter { + pub(crate) runtime: ProtoRuntime, + descriptor: Py, +} + +impl ProtoAdapter { + /// Resolves a message's runtime, capturing its descriptor. + pub(crate) fn resolve(message: &Bound<'_, PyAny>, constants: &Constants) -> PyResult { + // We skip isinstance in favor of duck typing since it is robust. It is important to call desc + // on the type rather than the message though. + if let Ok(descriptor) = message.get_type().call_method0(&constants.desc) { + return Ok(Self { + runtime: ProtoRuntime::ProtobufPy, + descriptor: descriptor.unbind(), + }); + } + if let Ok(descriptor) = message.getattr(&constants.descriptor_upper) { + return Ok(Self { + runtime: ProtoRuntime::Google, + descriptor: descriptor.unbind(), + }); + } + Err(PyTypeError::new_err("expected a protobuf message")) + } + + /// The descriptor this adapter was resolved from. + pub(crate) fn descriptor<'py>(&'py self, py: Python<'py>) -> &'py Bound<'py, PyAny> { + self.descriptor.bind(py) + } + + pub(crate) fn clone_ref(&self, py: Python<'_>) -> Self { + Self { + runtime: self.runtime, + descriptor: self.descriptor.clone_ref(py), + } + } + + /// The message's fully qualified type name. + pub(crate) fn type_name<'py>( + &self, + py: Python<'py>, + constants: &Constants, + ) -> PyResult> { + let attribute = match self.runtime { + ProtoRuntime::ProtobufPy => &constants.type_name, + ProtoRuntime::Google => &constants.full_name, + }; + self.descriptor + .bind(py) + .getattr(attribute)? + .cast_into() + .map_err(Into::into) + } + + /// Resolves one path element to a field of this adapter's message. + /// + /// Matching is by field number, which is what the path is authoritative + /// about; the name is only a fallback for paths that omit the number. + pub(crate) fn find_field<'py>( + &self, + py: Python<'py>, + element: &Bound<'py, PyAny>, + constants: &Constants, + ) -> PyResult>> { + let number: i32 = element + .getattr(&constants.field_number)? + .extract() + .unwrap_or(0); + let name = element.getattr(&constants.field_name)?; + + match self.runtime { + ProtoRuntime::ProtobufPy => { + let fields = self.descriptor.bind(py).getattr(&constants.fields)?; + if number != 0 { + for field in fields.try_iter()? { + let field = field?; + let candidate: i32 = field + .getattr(&constants.proto)? + .getattr(&constants.number)? + .extract()?; + if candidate == number { + return Ok(Some(field)); + } + } + } + if !name.is_none() { + for field in fields.try_iter()? { + let field = field?; + // Compared as Python strings; extracting either side + // would allocate a Rust String per candidate. + if field.getattr(&constants.name)?.eq(&name)? { + return Ok(Some(field)); + } + } + } + Ok(None) + } + ProtoRuntime::Google => { + let descriptor = self.descriptor.bind(py); + if number != 0 + && let Ok(found) = descriptor + .getattr(&constants.fields_by_number)? + .get_item(number) + { + return Ok(Some(found)); + } + if !name.is_none() + && let Ok(found) = descriptor + .getattr(&constants.fields_by_name)? + .get_item(&name) + { + return Ok(Some(found)); + } + Ok(None) + } + } + } +} + +impl ProtoRuntime { + /// The serialized message. + pub(crate) fn payload<'py>( + self, + message: &Bound<'py, PyAny>, + constants: &Constants, + ) -> PyResult> { + let method = match self { + Self::ProtobufPy => &constants.to_binary, + Self::Google => &constants.serialize_to_string, + }; + message + .call_method0(method)? + .cast_into() + .map_err(Into::into) + } + + /// Adds a descriptor file and its imports to the engine, imports first. + /// + /// The shim adds descriptors with `BuildFile`, which resolves dependencies + /// eagerly, so a file's imports have to be added before the file itself; + /// the recursion order preserves that. `registered` doubles as the walk's + /// visited set; a file is recorded only once `add` has accepted it. + pub(crate) fn collect_files( + self, + file: &Bound<'_, PyAny>, + constants: &Constants, + registered: &mut HashSet, + add: &mut dyn FnMut(&Bound<'_, PyBytes>) -> PyResult<()>, + ) -> PyResult<()> { + let name_attr = file.getattr(&constants.name)?; + let name = name_attr.cast::()?.to_str()?; + if registered.contains(name) { + return Ok(()); + } + let name = name.to_owned(); + for dependency in file.getattr(&constants.dependencies)?.try_iter()? { + self.collect_files(&dependency?, constants, registered, add)?; + } + let bytes: Bound<'_, PyBytes> = match self { + Self::ProtobufPy => file + .getattr(&constants.proto)? + .call_method0(&constants.to_binary)? + .cast_into()?, + // `serialized_pb` is already a serialized FileDescriptorProto + Self::Google => file.getattr(&constants.serialized_pb)?.cast_into()?, + }; + add(&bytes)?; + registered.insert(name); + Ok(()) + } + + /// A descriptor's options as a protobuf-py message. + pub(crate) fn options<'py>( + self, + py: Python<'py>, + descriptor: &Bound<'py, PyAny>, + reparse_type: &Py, + constants: &Constants, + ) -> PyResult> { + match self { + Self::ProtobufPy => descriptor + .getattr(&constants.proto)? + .getattr(&constants.options), + Self::Google => { + // We roundtrip the Google options into a protobuf-py message to + // match the return type of our public API. + let serialized = descriptor + .call_method0(&constants.get_options)? + .call_method0(&constants.serialize_to_string)?; + reparse_type + .bind(py) + .call_method1(&constants.from_binary, (serialized,)) + } + } + } + + /// Reads a field's value off a message. + pub(crate) fn read_field<'py>( + self, + message: &Bound<'py, PyAny>, + field: &Bound<'py, PyAny>, + constants: &Constants, + ) -> PyResult> { + match self { + Self::ProtobufPy => message.get_item(field), + Self::Google => { + let name = field.getattr(&constants.name)?; + message.getattr(name.cast_into::()?) + } + } + } +} diff --git a/src/violation.rs b/src/violation.rs new file mode 100644 index 00000000..4e86c537 --- /dev/null +++ b/src/violation.rs @@ -0,0 +1,397 @@ +// Copyright (c) 2023-2026 Buf Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! The `Violation` type, re-exported by `protovalidate` at its original path; +//! the construction of violation lists from the engine's serialized output; +//! and the path-walking that recovers `field_value` and `rule_value` from a +//! violation's field and rule paths on first access. + +use std::sync::Arc; + +use pyo3::prelude::*; +use pyo3::sync::PyOnceLock; +use pyo3::types::{PyBytes, PyDict, PyList, PyString}; + +use crate::constants::{Constants, Imports}; +use crate::hints::{PbFieldPath, ViolationProto}; +use crate::proto::ProtoAdapter; + +/// The recovered values, resolved together because the rule walk needs the +/// leaf field found by the field walk. +struct Values { + field: Py, + rule: Py, +} + +/// Where an engine-produced violation came from, kept for lazy resolution +/// of a violation field value. +struct Origin { + message: Py, + adapter: ProtoAdapter, + imports: Arc, +} + +/// A singular rule violation. +#[pyclass(module = "protovalidate._protovalidate", frozen)] +pub struct Violation { + /// The `buf.validate.Violation` form of this violation. + proto: Py, + /// `None` for hand-built violations, which have nothing to resolve from. + origin: Option, + values: PyOnceLock, +} + +impl Violation { + /// Wraps a violation the engine produced, deferring value resolution. + pub(crate) fn deferred( + proto: Py, + message: Py, + adapter: ProtoAdapter, + imports: Arc, + ) -> Self { + Self { + proto, + origin: Some(Origin { + message, + adapter, + imports, + }), + values: PyOnceLock::new(), + } + } + + /// Resolves both values on first use. + fn values(&self, py: Python<'_>) -> PyResult<&Values> { + self.values.get_or_try_init(py, || match &self.origin { + Some(origin) => { + let constants = Constants::get(py); + let (field, rule) = resolve_values( + py, + self.proto.bind(py), + origin.message.bind(py), + &origin.adapter, + &constants, + &origin.imports, + )?; + Ok(Values { field, rule }) + } + None => Ok(Values { + field: py.None(), + rule: py.None(), + }), + }) + } +} + +#[pymethods] +impl Violation { + /// Create a new violation. + #[new] + #[pyo3(signature = ( + *, + field_value = None, + rule_value = None, + field = None, + rule = None, + rule_id = None, + message = None, + for_key = false, + ))] + #[allow(clippy::too_many_arguments)] + fn py_new( + py: Python<'_>, + field_value: Option>, + rule_value: Option>, + field: Option>, + rule: Option>, + rule_id: Option>, + message: Option>, + for_key: bool, + ) -> PyResult { + let constants = Constants::get(py); + let imports = Imports::resolve(py)?; + let kwargs = PyDict::new(py); + kwargs.set_item(&constants.for_key, for_key)?; + if let Some(rule_id) = rule_id { + kwargs.set_item(&constants.rule_id, rule_id)?; + } + if let Some(message) = message { + kwargs.set_item(&constants.message, message)?; + } + if let Some(field) = field { + kwargs.set_item(&constants.field, field.0)?; + } + if let Some(rule) = rule { + kwargs.set_item(&constants.rule, rule.0)?; + } + let proto = imports + .types + .violation + .bind(py) + .call((), Some(&kwargs))? + .unbind(); + let values = PyOnceLock::new(); + let _ = values.set( + py, + Values { + field: field_value.unwrap_or_else(|| py.None()), + rule: rule_value.unwrap_or_else(|| py.None()), + }, + ); + Ok(Self { + proto, + origin: None, + values, + }) + } + + /// The `buf.validate.Violation` form of this violation. + #[getter] + fn proto<'py>(&self, py: Python<'py>) -> ViolationProto<'py> { + ViolationProto(self.proto.bind(py).clone()) + } + + /// The value of the field that violated the rule. + #[getter] + fn field_value(&self, py: Python<'_>) -> PyResult> { + Ok(self.values(py)?.field.clone_ref(py)) + } + + /// The value of the rule that was violated. + #[getter] + fn rule_value(&self, py: Python<'_>) -> PyResult> { + Ok(self.values(py)?.rule.clone_ref(py)) + } + + fn __repr__(&self, py: Python<'_>) -> PyResult { + Ok(format!("Violation({})", self.proto.bind(py).repr()?)) + } +} + +/// Recovers `(field_value, rule_value)` for one violation from its paths. +fn resolve_values( + py: Python<'_>, + proto: &Bound<'_, PyAny>, + message: &Bound<'_, PyAny>, + adapter: &ProtoAdapter, + constants: &Constants, + imports: &Imports, +) -> PyResult<(Py, Py)> { + let field = proto.getattr(&constants.field)?; + let rule = proto.getattr(&constants.rule)?; + let for_key: bool = proto.getattr(&constants.for_key)?.extract()?; + + let (field_value, leaf_field) = walk_field_path(py, message, &field, for_key, constants)?; + let rule_value = + resolve_rule_value(py, leaf_field.as_ref(), &rule, adapter, constants, imports)?; + Ok((field_value, rule_value)) +} + +/// One hop of a path walk: resolves the element's field on `current` and +/// reads its value, returning both. +/// +/// Re-resolving per hop keeps each step's descriptor at hand and makes +/// "not a message" fall out of resolution failing. `None` when the element +/// does not resolve. +fn step_element<'py>( + py: Python<'py>, + current: &Bound<'py, PyAny>, + element: &Bound<'py, PyAny>, + constants: &Constants, +) -> PyResult, Bound<'py, PyAny>)>> { + let Ok(hop) = ProtoAdapter::resolve(current, constants) else { + return Ok(None); + }; + let Some(field) = hop.find_field(py, element, constants)? else { + return Ok(None); + }; + let Ok(value) = hop.runtime.read_field(current, &field, constants) else { + return Ok(None); + }; + Ok(Some((value, field))) +} + +/// Walks a field path over the validated message. +/// +/// Returns the value and the field the path ended on; the latter owns the rules +/// the rule path is relative to. Both values are best effort: a path can +/// legitimately fail to resolve -- an extension the registry does not know, or a +/// field only present in wire data -- and an informational value is not worth +/// raising over, so unresolvable paths yield `None`. +fn walk_field_path<'py>( + py: Python<'py>, + message: &Bound<'py, PyAny>, + path: &Bound<'py, PyAny>, + for_key: bool, + constants: &Constants, +) -> PyResult<(Py, Option>)> { + if path.is_none() { + return Ok((py.None(), None)); + } + let elements = path.getattr(&constants.elements)?; + let count = elements.len().unwrap_or(0); + if count == 0 { + return Ok((py.None(), None)); + } + + let mut current = message.clone(); + let mut leaf: Option> = None; + for (index, element) in elements.try_iter()?.enumerate() { + let element = element?; + let Some((value, field)) = step_element(py, ¤t, &element, constants)? else { + return Ok((py.None(), None)); + }; + leaf = Some(field); + current = value; + + let subscript = element.getattr(&constants.subscript)?; + if !subscript.is_none() { + let key = subscript.getattr(&constants.value)?; + // A violation flagged `for_key` is about the map key itself, so the + // subscript is the value in question rather than a step towards it. + if for_key && index + 1 == count { + return Ok((key.unbind(), leaf)); + } + let Ok(value) = current.get_item(&key) else { + return Ok((py.None(), None)); + }; + current = value; + } + } + Ok((current.unbind(), leaf)) +} + +/// Walks a rule path over the rules that produced the violation. +/// +/// Field-level rules are rooted at the leaf field's `(buf.validate.field)` +/// options; a violation with no field path came from a message-level rule and is +/// rooted at `(buf.validate.message)`. The rules are protobuf-py messages +/// whichever flavour was validated, so the walk from there is uniform. +fn resolve_rule_value<'py>( + py: Python<'py>, + leaf_field: Option<&Bound<'py, PyAny>>, + path: &Bound<'py, PyAny>, + adapter: &ProtoAdapter, + constants: &Constants, + imports: &Imports, +) -> PyResult> { + if path.is_none() { + return Ok(py.None()); + } + let elements = path.getattr(&constants.elements)?; + if elements.len().unwrap_or(0) == 0 { + return Ok(py.None()); + } + + let root = if let Some(field) = leaf_field { + rules_of(py, field, adapter, constants, imports, RuleScope::Field)? + } else { + rules_of( + py, + adapter.descriptor(py), + adapter, + constants, + imports, + RuleScope::Message, + )? + }; + let Some(mut current) = root else { + return Ok(py.None()); + }; + + for element in elements.try_iter()? { + let element = element?; + // The rules are messages of whichever runtime parsed the options; + // per-hop resolution handles them uniformly. + let Some((value, _)) = step_element(py, ¤t, &element, constants)? else { + return Ok(py.None()); + }; + current = value; + + let subscript = element.getattr(&constants.subscript)?; + if !subscript.is_none() { + let Ok(value) = current.get_item(subscript.getattr(&constants.value)?) else { + return Ok(py.None()); + }; + current = value; + } + } + Ok(current.unbind()) +} + +/// Whether rules are being read off a field or a message type. +#[derive(Clone, Copy)] +enum RuleScope { + Field, + Message, +} + +/// The `buf.validate` rules attached to a descriptor, if any. +fn rules_of<'py>( + py: Python<'py>, + descriptor: &Bound<'py, PyAny>, + adapter: &ProtoAdapter, + constants: &Constants, + imports: &Imports, + scope: RuleScope, +) -> PyResult>> { + let reparse_type = match scope { + RuleScope::Field => &imports.types.field_options, + RuleScope::Message => &imports.types.message_options, + }; + let options = adapter + .runtime + .options(py, descriptor, reparse_type, constants)?; + let extension = match scope { + RuleScope::Field => &imports.extensions.field, + RuleScope::Message => &imports.extensions.message, + }; + Ok(options.get_item(extension.bind(py)).ok()) +} + +/// Turns the serialized `buf.validate.Violations` from C++ into wrappers. +/// +/// No value resolution happens here: each wrapper keeps the proto the C++ side +/// produced together with the message it came from, and `field_value` and +/// `rule_value` are recovered from the paths on first access. Raising a +/// `ValidationError` or reading `rule_id` never pays for path walking. +pub fn build_violations<'py>( + py: Python<'py>, + serialized: &Bound<'py, PyBytes>, + message: &Bound<'py, PyAny>, + adapter: &ProtoAdapter, + constants: &Constants, + imports: &Arc, +) -> PyResult> { + let parsed = imports + .types + .violations + .bind(py) + .call_method1(&constants.from_binary, (serialized,))?; + // protobuf-py repeated fields are guaranteed to be plain lists. + let violations = parsed + .getattr(&constants.violations)? + .cast_into::()?; + PyList::new( + py, + violations.iter().map(|violation| { + Violation::deferred( + violation.unbind(), + message.clone().unbind(), + adapter.clone_ref(py), + Arc::clone(imports), + ) + }), + ) +} diff --git a/test/_models.py b/test/_models.py new file mode 100644 index 00000000..a1f67c64 --- /dev/null +++ b/test/_models.py @@ -0,0 +1,552 @@ +# Copyright (c) 2023-2026 Buf Technologies, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Pydantic mirrors of the benchmark protos, for comparative benchmarking. + +Each model expresses the same rules as the `(buf.validate.field)` options on the +corresponding message in `test/proto/bench/v1`. Two principles decide how: + +- Where pydantic has a native feature for a rule, use it, even where it behaves + differently from ours. Pydantic's `UUID` is a real parser where `string.uuid` + is a regex; that is pydantic being better at the job, and pretending otherwise + would understate it. +- Where the rule is validation logic we wrote ourselves, reuse *our* + implementation rather than reimplementing it. `string.hostname` and + `string.host_and_port` call into `_bench_support`, which holds the last Python + copy of those predicates (the live ones are now C++), and + `string.email` reuses our pattern. This keeps the benchmark honest + about what it measures — the framework around the rule, not the rule — and + makes drift impossible. + +Divergences that survive those two rules are noted at each site. + +`to_payload` performs the manual proto -> pydantic-input conversion, producing +plain Python values. `from_proto` runs it through validation. The benchmark +builds the payload up front and times `model_validate` alone, so proto field +access and dict building stay out of the measurement. +""" + +from __future__ import annotations + +import enum +import ipaddress +from typing import TYPE_CHECKING, Annotated, Any, Literal +from uuid import UUID + +from pydantic import AfterValidator, BaseModel, Field +from pydantic.networks import IPv4Address, IPv6Address, IPvAnyAddress + +from .gen.bench.v1 import bench_pb, native_pb + +if TYPE_CHECKING: + from collections.abc import Callable + + +# Rule predicates lifted verbatim from the removed `protovalidate/_funcs.py`, +# except `_is_ip`, which used hand-written parsers that matched CEL semantics and +# pulled in more of that module than is worth carrying; `ipaddress` agrees with +# them on whether a host is an address, which is all it is used for here. +# +# The live implementations are now C++ inside protovalidate-cc and cannot be +# called from Python, so unlike the rest of this file these can drift from what +# the validator does. If the benchmark ever disagrees with it on a hostname or +# host_and_port case, suspect these first. +# Lifted verbatim from the removed `protovalidate/_funcs.py`. +EMAIL_PATTERN = ( + r"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?" + r"(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$" +) + + +def _is_hostname(val: str) -> bool: + """Internal implementation.""" + string = val.removesuffix(".").lower() + + # The 253-character limit excludes the optional trailing dot (RFC 3339) which + # we just stripped. + if len(string) > 253: + return False + + all_digits = False + parts = string.lower().split(sep=".") + + # split hostname on '.' and validate each part + for part in parts: + all_digits = True + + # if part is empty, longer than 63 chars, or starts/ends with '-', it is invalid + part_len = len(part) + + if part_len == 0 or part_len > 63 or part.startswith("-") or part.endswith("-"): + return False + + for c in part: + # if the character is not a-z, 0-9, or '-', it is invalid + if (c < "a" or c > "z") and (c < "0" or c > "9") and c != "-": + return False + + all_digits = all_digits and "0" <= c <= "9" + + # the last part cannot be all numbers + return not all_digits + + +def _is_host_and_port(val: str, *, port_required: bool = False) -> bool: + if len(val) == 0: + return False + + split_idx = val.rfind(":") + + if val[0] == "[": + end = val.rfind("]") + end_plus = end + 1 + + if end_plus == len(val): + return not port_required and _is_ip(val[1:end], 6) + if end_plus == split_idx: + return _is_ip(val[1:end], 6) and _is_port(val[split_idx + 1 :]) + # malformed + return False + + if split_idx < 0: + return not port_required and (_is_hostname(val) or _is_ip(val, 4)) + + host = val[0:split_idx] + port = val[split_idx + 1 :] + + return (_is_hostname(host) or _is_ip(host, 4)) and _is_port(port) + + +def _is_port(val: str) -> bool: + if len(val) == 0: + return False + if len(val) > 1 and val[0] == "0": + return False + for c in val: + if c < "0" or c > "9": + return False + try: + return int(val) <= 65535 + except ValueError: + # Error converting to number + return False + + +def _is_ip(string: str, version: int) -> bool: + """Whether `string` is an IP address of `version` (0 means either). + + protovalidate's own implementation uses hand-written parsers, which exist to + match CEL semantics exactly and pull in more of the removed module than is + worth carrying here. `ipaddress` agrees with them on whether a host is an + address, which is all this is used for. + """ + try: + parsed = ipaddress.ip_address(string) + except ValueError: + return False + if version == 0: + return True + return parsed.version == version + + +def _unique(value: list[Any]) -> list[Any]: + """Mirrors `repeated.unique`; pydantic v2 dropped `unique_items`. + + Same short-circuiting running-set walk as `_extra_func.cel_unique`. + """ + seen: set[Any] = set() + for item in value: + if item in seen: + msg = "repeated value must contain unique items" + raise ValueError(msg) + seen.add(item) + return value + + +_UniqueFloats = Annotated[list[float], AfterValidator(_unique)] +_UniqueBytes = Annotated[list[bytes], AfterValidator(_unique)] + + +def _hostname(value: str) -> str: + """Mirrors `string.hostname` by calling the same code the CEL rule does. + + Pydantic has no hostname type, and our loop is stricter than any regex we + could write here: it caps the name at 253 characters, allows a trailing dot, + and rejects an all-digit right-most label. + """ + if not _is_hostname(value): + msg = "must be a valid hostname" + raise ValueError(msg) + return value + + +def _host_and_port(value: str) -> str: + """Mirrors `string.host_and_port`, which is `isHostAndPort(true)` for us.""" + if not _is_host_and_port(value, port_required=True): + msg = "must be a valid host (hostname or IP address) and port pair" + raise ValueError(msg) + return value + + +def _const(expected: int) -> Callable[[int], int]: + """Mirrors the `const` rules when a sibling rule rules out `Literal`. + + `Literal[n]` is the native spelling, but pydantic silently ignores a + `Field(gt=...)` annotated alongside a `Literal`, so a field carrying both + `const` and a bound has to express the constant here instead. + """ + + def check(value: int) -> int: + if value != expected: + msg = f"must equal {expected}" + raise ValueError(msg) + return value + + return check + + +def _not_in(*disallowed: int) -> Callable[[int], int]: + """Mirrors `int32.not_in`; pydantic has no negated-membership rule.""" + excluded = frozenset(disallowed) + + def check(value: int) -> int: + if value in excluded: + msg = f"must not be in list {sorted(excluded)}" + raise ValueError(msg) + return value + + return check + + +class ProtoModel(BaseModel): + """Base for the pydantic mirrors, giving the benchmark a uniform entrypoint.""" + + # `msg` is Any rather than Message so subclasses can narrow it to the message + # type they mirror. + @classmethod + def to_payload(cls, msg: Any) -> dict[str, Any]: + """Converts a proto message to pydantic input without validating it.""" + raise NotImplementedError + + @classmethod + def from_proto(cls, msg: Any) -> ProtoModel: + return cls.model_validate(cls.to_payload(msg)) + + +class BenchScalar(ProtoModel): + x: Annotated[int, Field(gt=0)] + + @classmethod + def to_payload(cls, msg: bench_pb.BenchScalar) -> dict[str, Any]: + return {"x": msg.x} + + +class BenchRepeatedScalar(ProtoModel): + x: Annotated[list[int], Field(max_length=10)] + + @classmethod + def to_payload(cls, msg: bench_pb.BenchRepeatedScalar) -> dict[str, Any]: + return {"x": msg.x} + + +class BenchRepeatedMessage(ProtoModel): + x: Annotated[list[BenchScalar], Field(max_length=10)] + + @classmethod + def to_payload(cls, msg: bench_pb.BenchRepeatedMessage) -> dict[str, Any]: + return {"x": [BenchScalar.to_payload(item) for item in msg.x]} + + +class BenchRepeatedScalarUnique(ProtoModel): + x: _UniqueFloats + + @classmethod + def to_payload(cls, msg: bench_pb.BenchRepeatedScalarUnique) -> dict[str, Any]: + return {"x": msg.x} + + +class BenchRepeatedBytesUnique(ProtoModel): + x: _UniqueBytes + + @classmethod + def to_payload(cls, msg: bench_pb.BenchRepeatedBytesUnique) -> dict[str, Any]: + return {"x": msg.x} + + +class BenchMap(ProtoModel): + entries: Annotated[dict[str, str], Field(min_length=1)] + + @classmethod + def to_payload(cls, msg: bench_pb.BenchMap) -> dict[str, Any]: + return {"entries": msg.entries} + + +class BenchEnum(enum.IntEnum): + UNSPECIFIED = 0 + ONE = 1 + TWO = 2 + + +class BenchComplexSchema(ProtoModel): + s1: Annotated[str, Field(min_length=1)] + s2: Annotated[str, Field(max_length=100)] + i32: Annotated[int, Field(gt=0)] + i64: Annotated[int, Field(lt=1000)] + u32: Annotated[int, Field(ge=1)] + u64: Annotated[int, Field(le=1000)] + si32: Annotated[int, Field(gt=0)] + si64: Annotated[int, Field(lt=1000)] + f32: Annotated[int, Field(ge=1)] + f64: Annotated[int, Field(le=1000)] + sf32: Annotated[int, Field(gt=0)] + sf64: Annotated[int, Field(lt=1000)] + # `float.finite`/`double.finite` are `!isNan() && !isInf()` for us. + fl: Annotated[float, Field(allow_inf_nan=False)] + db: Annotated[float, Field(allow_inf_nan=False)] + bl: bool + by: Annotated[bytes, Field(min_length=1)] + + nested: BenchScalar | None = None + self_ref: BenchComplexSchema | None = None + + rep_str: Annotated[list[str], Field(max_length=10)] + rep_i32: Annotated[list[int], Field(min_length=1)] + rep_bytes: _UniqueBytes + rep_msg: Annotated[list[BenchScalar], Field(max_length=5)] + + map_str_str: Annotated[dict[str, str], Field(min_length=1)] + map_i32_i64: Annotated[dict[int, int], Field(max_length=10)] + map_u64_bool: dict[int, bool] + map_str_bytes: dict[Annotated[str, Field(min_length=1)], bytes] + # `map.values.required` on a message value means "must be set", which a + # non-optional model value already covers. + map_str_msg: dict[str, BenchScalar] + map_i64_msg: dict[int, BenchScalar] + + # `enum.defined_only` is what a Python enum type gives you for free. We have a + # native (non-CEL) fast path for this rule too. + enum_field: BenchEnum + + # proto oneofs have no pydantic equivalent; a union of the member types is the + # idiomatic modelling and preserves the per-member rules. + choice: ( + Annotated[str, Field(min_length=1)] + | Annotated[int, Field(gt=0)] + | BenchScalar + | None + ) = None + + @classmethod + def to_payload(cls, msg: bench_pb.BenchComplexSchema) -> dict[str, Any]: + oneof = msg.choice + choice: str | int | dict[str, Any] | None = None + if oneof is not None: + choice = ( + BenchScalar.to_payload(oneof.value) + if oneof.field == "oneof_msg" + else oneof.value + ) + return { + "s1": msg.s1, + "s2": msg.s2, + "i32": msg.i32, + "i64": msg.i64, + "u32": msg.u32, + "u64": msg.u64, + "si32": msg.si32, + "si64": msg.si64, + "f32": msg.f32, + "f64": msg.f64, + "sf32": msg.sf32, + "sf64": msg.sf64, + "fl": msg.fl, + "db": msg.db, + "bl": msg.bl, + "by": msg.by, + "nested": ( + BenchScalar.to_payload(msg.nested) if msg.nested is not None else None + ), + "self_ref": ( + cls.to_payload(msg.self_ref) if msg.self_ref is not None else None + ), + "rep_str": msg.rep_str, + "rep_i32": msg.rep_i32, + "rep_bytes": msg.rep_bytes, + "rep_msg": [BenchScalar.to_payload(item) for item in msg.rep_msg], + "map_str_str": msg.map_str_str, + "map_i32_i64": msg.map_i32_i64, + "map_u64_bool": msg.map_u64_bool, + "map_str_bytes": msg.map_str_bytes, + "map_str_msg": { + k: BenchScalar.to_payload(v) for k, v in msg.map_str_msg.items() + }, + "map_i64_msg": { + k: BenchScalar.to_payload(v) for k, v in msg.map_i64_msg.items() + }, + # Left as a plain int so the enum lookup — the `defined_only` check — + # happens inside the timed region. + "enum_field": int(msg.enum_field), + "choice": choice, + } + + +# `gt` paired with a lower `lt`/`lte` is an *exclusive* range for us: valid below +# the upper bound or above the lower one. A union of two constrained ints is +# pydantic's way to spell that disjunction. It reports one error per branch where +# we report one per field, but accepts and rejects exactly the same values. +_GtLtExclusive = Annotated[int, Field(gt=0)] | Annotated[int, Field(lt=-20)] +_GtLteExclusive = Annotated[int, Field(gt=0)] | Annotated[int, Field(le=-20)] +_GteLtExclusive = Annotated[int, Field(ge=0)] | Annotated[int, Field(lt=-20)] +_GteLteExclusive = Annotated[int, Field(ge=0)] | Annotated[int, Field(le=-20)] + + +class BenchGT(ProtoModel): + gt: Annotated[int, Field(gt=0)] + gte: Annotated[int, Field(ge=0)] + lt: Annotated[int, Field(lt=101)] + lte: Annotated[int, Field(le=101)] + gtltin: Annotated[int, Field(gt=0, lt=101)] + gtltein: Annotated[int, Field(gt=0, lt=101)] + gtltex: _GtLtExclusive + gtlteex: _GtLteExclusive + gteltin: Annotated[int, Field(ge=0, lt=101)] + gteltein: Annotated[int, Field(ge=0, lt=101)] + gteltex: _GteLtExclusive + gtelteex: _GteLteExclusive + const: Literal[10] + constgt: Annotated[int, Field(ge=0), AfterValidator(_const(10))] + in_test: Literal[1, 3, 5] + not_in_test: Annotated[int, AfterValidator(_not_in(1, 3, 5))] + + @classmethod + def to_payload(cls, msg: native_pb.BenchGT) -> dict[str, Any]: + return { + "gt": msg.gt, + "gte": msg.gte, + "lt": msg.lt, + "lte": msg.lte, + "gtltin": msg.gtltin, + "gtltein": msg.gtltein, + "gtltex": msg.gtltex, + "gtlteex": msg.gtlteex, + "gteltin": msg.gteltin, + "gteltein": msg.gteltein, + "gteltex": msg.gteltex, + "gtelteex": msg.gtelteex, + "const": msg.const, + "constgt": msg.constgt, + "in_test": msg.in_test, + "not_in_test": msg.not_in_test, + } + + +class TestByteMatching(ProtoModel): + # Our `bytes.ip*` and `bytes.uuid` rules only check the buffer length — 4 or 16 + # bytes, with a companion `*_empty` rule rejecting zero — whereas pydantic + # materialises a real address or UUID from the same packed bytes. Strictly more + # work, and strictly better. + ip_addr: IPvAnyAddress + ipv4_addr: IPv4Address + ipv6_addr: IPv6Address + uuid: UUID + + @classmethod + def to_payload(cls, msg: native_pb.TestByteMatching) -> dict[str, Any]: + return { + "ip_addr": msg.ip_addr, + "ipv4_addr": msg.ipv4_addr, + "ipv6_addr": msg.ipv6_addr, + "uuid": msg.uuid, + } + + +class StringMatching(ProtoModel): + hostname: Annotated[str, AfterValidator(_hostname)] + host_and_port: Annotated[str, AfterValidator(_host_and_port)] + # Reuses our compiled pattern rather than a hand-written one. Ours has no + # lookaround, so pydantic keeps its native Rust regex engine; that and re2 + # agree on this pattern, and the `^`/`$` anchors make `is_match` equivalent to + # the `fullmatch` we do. + email: Annotated[str, Field(pattern=EMAIL_PATTERN)] + # `string.uuid` is a plain `[0-9a-fA-F]`-and-dashes regex for us. Pydantic's + # UUID is a real parser, so it also accepts unhyphenated, braced and URN forms. + uuid: UUID + + @classmethod + def to_payload(cls, msg: native_pb.StringMatching) -> dict[str, Any]: + return { + "hostname": msg.hostname, + "host_and_port": msg.host_and_port, + "email": msg.email, + "uuid": msg.uuid, + } + + +class WrapperTesting(ProtoModel): + # Wrapper types are just nullable scalars; rules apply only when set, which is + # exactly what an optional pydantic field does. + i32: Annotated[int, Field(gt=10)] | None = None + d: Annotated[float, Field(gt=10)] | None = None + f: Annotated[float, Field(gt=10)] | None = None + i64: Annotated[int, Field(gt=10)] | None = None + u64: Annotated[int, Field(gt=10)] | None = None + u32: Annotated[int, Field(gt=10)] | None = None + b: Literal[True] | None = None + s: Literal["hello"] | None = None + bs: Annotated[bytes, Field(min_length=5, max_length=5)] | None = None + + @classmethod + def to_payload(cls, msg: native_pb.WrapperTesting) -> dict[str, Any]: + return { + "i32": msg.i32.value if msg.i32 is not None else None, + "d": msg.d.value if msg.d is not None else None, + "f": msg.f.value if msg.f is not None else None, + "i64": msg.i64.value if msg.i64 is not None else None, + "u64": msg.u64.value if msg.u64 is not None else None, + "u32": msg.u32.value if msg.u32 is not None else None, + "b": msg.b.value if msg.b is not None else None, + "s": msg.s.value if msg.s is not None else None, + "bs": msg.bs.value if msg.bs is not None else None, + } + + +class MultiRule(ProtoModel): + # Pydantic stops a field's validator chain at the first failure, so a value + # breaking both rules reports one error here and two in protovalidate. + many: Annotated[int, Field(gt=5), AfterValidator(_const(10))] + + @classmethod + def to_payload(cls, msg: native_pb.MultiRule) -> dict[str, Any]: + return {"many": msg.many} + + +_MODELS: dict[type[Any], type[ProtoModel]] = { + bench_pb.BenchScalar: BenchScalar, + bench_pb.BenchRepeatedScalar: BenchRepeatedScalar, + bench_pb.BenchRepeatedMessage: BenchRepeatedMessage, + bench_pb.BenchRepeatedScalarUnique: BenchRepeatedScalarUnique, + bench_pb.BenchRepeatedBytesUnique: BenchRepeatedBytesUnique, + bench_pb.BenchMap: BenchMap, + bench_pb.BenchComplexSchema: BenchComplexSchema, + native_pb.BenchGT: BenchGT, + native_pb.TestByteMatching: TestByteMatching, + native_pb.StringMatching: StringMatching, + native_pb.WrapperTesting: WrapperTesting, + native_pb.MultiRule: MultiRule, +} + + +def model_for(message: Any) -> type[ProtoModel] | None: + """Returns the pydantic mirror of `message`'s type, or None if there isn't one.""" + return _MODELS.get(type(message)) diff --git a/test/conformance/nonconforming.cel-expr.yaml b/test/conformance/nonconforming.cel-expr.yaml deleted file mode 100644 index 048eca22..00000000 --- a/test/conformance/nonconforming.cel-expr.yaml +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Expected conformance failures for the cel-expr-python backend. -# -# cel-expr-python (cel-cpp) evaluates nanosecond-precision duration and -# timestamp comparisons correctly, so the cases celpy skips in -# nonconforming.yaml all pass here. All known cases conform. diff --git a/test/conformance/nonconforming.yaml b/test/conformance/nonconforming.yaml index b46684df..2c33a804 100644 --- a/test/conformance/nonconforming.yaml +++ b/test/conformance/nonconforming.yaml @@ -1,9 +1,13 @@ -# celpy doesn't support nano seconds -# ref: https://github.com/cloud-custodian/cel-python/issues/43 -standard_rules/well_known_types/duration: - - gte_lte/invalid/above - - lte/invalid - - not in/valid -standard_rules/well_known_types/timestamp: - - gte_lte/invalid/above - - lte/invalid +# Copyright 2023-2026 Buf Technologies, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/test/conformance/runner.py b/test/conformance/runner.py index 6a69455e..389d5293 100644 --- a/test/conformance/runner.py +++ b/test/conformance/runner.py @@ -17,12 +17,10 @@ import sys from typing import TYPE_CHECKING -import celpy import protobuf from protobuf import Oneof, Registry, wkt as pb_wkt import protovalidate -from protovalidate import _backend from ..gen.buf.validate import validate_pb # noqa: TID252 from ..gen.buf.validate.conformance.harness.harness_pb import ( # noqa: TID252 @@ -37,12 +35,10 @@ message as google_message, ) -# Set to test google.protobuf messages instead of protobuf-py +# Set to exercise google.protobuf messages instead of protobuf-py. The native +# validator accepts both, so both are worth conformance coverage. _LEGACY = os.environ.get("PROTOVALIDATE_CONFORMANCE_LEGACY") == "1" -if os.environ.get("PROTOVALIDATE_CONFORMANCE_BACKEND") == "celpy": - _backend.CEL_EXPR_AVAILABLE = False - def build_google_pool( fdset: pb_wkt.FileDescriptorSet, @@ -92,11 +88,9 @@ def run_test_case( return TestResult(result=Oneof(field="success", value=True)) except protovalidate.CompilationError as e: return TestResult(result=Oneof(field="compilation_error", value=str(e))) - except celpy.CELEvalError as e: - # celpy surfaces evaluation failures as CELEvalError; cel-expr-python - # surfaces them as RuntimeError. - return TestResult(result=Oneof(field="runtime_error", value=str(e))) except RuntimeError as e: + # EvaluationError subclasses RuntimeError, which is what puts rule + # evaluation failures in the right conformance bucket. return TestResult(result=Oneof(field="runtime_error", value=str(e))) except Exception as e: # noqa: BLE001 return TestResult(result=Oneof(field="unexpected_error", value=str(e))) diff --git a/test/conformance/test_conformance.py b/test/conformance/test_conformance.py index b25afef7..e9af5052 100644 --- a/test/conformance/test_conformance.py +++ b/test/conformance/test_conformance.py @@ -22,14 +22,8 @@ import pytest -from test.conftest import BACKENDS from test.versions import PROTOVALIDATE_VERSION -_EXPECTED_FAILURES = { - "celpy": "nonconforming.yaml", - "cel-expr": "nonconforming.cel-expr.yaml", -} - def maybe_patch_args_with_debug(args: list[str]) -> list[str]: # Do a best effort to invoke the child with debugging. @@ -45,9 +39,10 @@ def maybe_patch_args_with_debug(args: list[str]) -> list[str]: return args -@pytest.mark.parametrize("cel_backend", BACKENDS) +# Both message flavours the validator accepts get conformance coverage: `py` is +# protobuf-py, `legacy` is google.protobuf. @pytest.mark.parametrize("legacy", [False, True], ids=["py", "legacy"]) -def test_conformance(*, legacy: bool, cel_backend: str) -> None: +def test_conformance(*, legacy: bool) -> None: # Workaround pydevd monkeypatching of -m invocation not being compatible # with Python 3.14 yet by executing a script that uses runpy itself. # pydevd does monkeypatch -c form correctly. @@ -71,7 +66,6 @@ def test_conformance(*, legacy: bool, cel_backend: str) -> None: ) env["PROTOVALIDATE_CONFORMANCE_LEGACY"] = "1" - env["PROTOVALIDATE_CONFORMANCE_BACKEND"] = cel_backend subprocess.run( # noqa: S603 [ # noqa: S607 @@ -79,7 +73,7 @@ def test_conformance(*, legacy: bool, cel_backend: str) -> None: "run", f"github.com/bufbuild/protovalidate/tools/protovalidate-conformance@{PROTOVALIDATE_VERSION}", "--strict_message", - f"--expected_failures={Path(__file__).parent / _EXPECTED_FAILURES[cel_backend]}", + f"--expected_failures={Path(__file__).parent / 'nonconforming.yaml'}", "--timeout", "10s", *command, diff --git a/test/conftest.py b/test/conftest.py index 4bdc3bad..a51d06f2 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -17,19 +17,7 @@ from typing import Any import protovalidate -from protovalidate import _backend -BACKENDS: list[str] = ["celpy", *(["cel-expr"] if _backend.CEL_EXPR_AVAILABLE else [])] - -def make_validator(cel_backend: str, **kwargs: Any) -> protovalidate.Validator: - original = _backend.CEL_EXPR_AVAILABLE - _backend.CEL_EXPR_AVAILABLE = cel_backend == "cel-expr" - try: - return protovalidate.Validator(**kwargs) - finally: - _backend.CEL_EXPR_AVAILABLE = original - - -def backend_validators(**kwargs: Any) -> list[protovalidate.Validator]: - return [make_validator(name, **kwargs) for name in BACKENDS] +def make_validator(**kwargs: Any) -> protovalidate.Validator: + return protovalidate.Validator(**kwargs) diff --git a/test/gen/tests/example/v1/validations_pb.py b/test/gen/tests/example/v1/validations_pb.py index f95590b0..70ff417d 100644 --- a/test/gen/tests/example/v1/validations_pb.py +++ b/test/gen/tests/example/v1/validations_pb.py @@ -299,6 +299,36 @@ def __init__( b: str unrelated: bool +_ProtovalidateMistypedRuleFields: TypeAlias = Literal["val"] + +class ProtovalidateMistypedRule(Message[_ProtovalidateMistypedRuleFields]): + """ + ```proto + message tests.example.v1.ProtovalidateMistypedRule + ``` + + Attributes: + val: + The duration rule cannot be compiled for a string field. + + ```proto + string val = 1; + ``` + """ + + __slots__ = ("val",) + + if TYPE_CHECKING: + + def __init__( + self, + *, + val: str = "", + ) -> None: + pass + + val: str + _TimestampGTNowFields: TypeAlias = Literal["val"] class TimestampGTNow(Message[_TimestampGTNowFields]): @@ -503,7 +533,7 @@ def __init__( _DESC = file_desc( - b'\n"tests/example/v1/validations.proto\x12\x10tests.example.v1\x1a\x1bbuf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto"T\n\x13MultipleValidations\x12 \n\x05title\x18\x01 \x01(\tR\x05titleB\n\xbaH\x07r\x05:\x03foo\x12\x1b\n\x04name\x18\x02 \x01(\tR\x04nameB\x07\xbaH\x04r\x02\x10\x05")\n\x0cDoubleFinite\x12\x19\n\x03val\x18\x01 \x01(\x01R\x03valB\x07\xbaH\x04\x12\x02@\x01";\n\x0eSFixed64ExLTGT\x12)\n\x03val\x18\x01 \x01(\x10R\x03valB\x17\xbaH\x14b\x12\x11\x00\x00\x00\x00\x00\x00\x00\x00!\n\x00\x00\x00\x00\x00\x00\x00")\n\x0cTestOneofMsg\x12\x19\n\x03val\x18\x01 \x01(\x08R\x03valB\x07\xbaH\x04j\x02\x08\x01"q\n\x05Oneof\x12\x1a\n\x01x\x18\x01 \x01(\tH\x00R\x01xB\n\xbaH\x07r\x05:\x03foo\x12\x17\n\x01y\x18\x02 \x01(\x05H\x00R\x01yB\x07\xbaH\x04\x1a\x02 \x00\x12.\n\x01z\x18\x03 \x01(\x0b2\x1e.tests.example.v1.TestOneofMsgH\x00R\x01zB\x03\n\x01o"[\n\x12ProtovalidateOneof\x12\x0c\n\x01a\x18\x01 \x01(\tR\x01a\x12\x0c\n\x01b\x18\x02 \x01(\tR\x01b\x12\x1c\n\tunrelated\x18\x03 \x01(\x08R\tunrelated:\x0b\xbaH\x08"\x06\n\x01a\n\x01b"e\n\x1aProtovalidateOneofRequired\x12\x0c\n\x01a\x18\x01 \x01(\tR\x01a\x12\x0c\n\x01b\x18\x02 \x01(\tR\x01b\x12\x1c\n\tunrelated\x18\x03 \x01(\x08R\tunrelated:\r\xbaH\n"\x08\n\x01a\n\x01b\x10\x01"p\n"ProtovalidateOneofUnknownFieldName\x12\x0c\n\x01a\x18\x01 \x01(\tR\x01a\x12\x0c\n\x01b\x18\x02 \x01(\tR\x01b\x12\x1c\n\tunrelated\x18\x03 \x01(\x08R\tunrelated:\x10\xbaH\r"\x0b\n\x01a\n\x01b\n\x03xxx"H\n\x0eTimestampGTNow\x126\n\x03val\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x03valB\x08\xbaH\x05\xb2\x01\x02@\x01"\x87\x01\n\tMapMinMax\x12B\n\x03val\x18\x01 \x03(\x0b2$.tests.example.v1.MapMinMax.ValEntryR\x03valB\n\xbaH\x07\x9a\x01\x04\x08\x02\x10\x04\x1a6\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x08R\x05value:\x028\x01"\x85\x01\n\x07MapKeys\x12B\n\x03val\x18\x01 \x03(\x0b2".tests.example.v1.MapKeys.ValEntryR\x03valB\x0c\xbaH\t\x9a\x01\x06"\x04B\x02\x10\x00\x1a6\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x12R\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01""\n\x05Embed\x12\x19\n\x03val\x18\x01 \x01(\x03R\x03valB\x07\xbaH\x04"\x02 \x00"K\n\x11RepeatedEmbedSkip\x126\n\x03val\x18\x01 \x03(\x0b2\x17.tests.example.v1.EmbedR\x03valB\x0b\xbaH\x08\x92\x01\x05"\x03\xd8\x01\x03"3\n\x0fInvalidRESyntax\x12 \n\x05value\x18\x01 \x01(\tR\x05valueB\n\xbaH\x07r\x052\x03^\\z"\xa9\x01\n\x12ConcatenatedValues\x12\x10\n\x03bar\x18\x01 \x03(\tR\x03bar\x12\x10\n\x03baz\x18\x02 \x03(\tR\x03baz:o\xbaHl\x1aj\n\x15globally_unique_names\x121all values in bar and baz must be globally unique\x1a\x1e(this.bar + this.baz).unique()B\x8a\x01\n\x14com.tests.example.v1B\x10ValidationsProtoP\x01\xa2\x02\x03TEX\xaa\x02\x10Tests.Example.V1\xca\x02\x10Tests\\Example\\V1\xe2\x02\x1cTests\\Example\\V1\\GPBMetadata\xea\x02\x12Tests::Example::V1b\x06proto3', + b'\n"tests/example/v1/validations.proto\x12\x10tests.example.v1\x1a\x1bbuf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto"T\n\x13MultipleValidations\x12 \n\x05title\x18\x01 \x01(\tR\x05titleB\n\xbaH\x07r\x05:\x03foo\x12\x1b\n\x04name\x18\x02 \x01(\tR\x04nameB\x07\xbaH\x04r\x02\x10\x05")\n\x0cDoubleFinite\x12\x19\n\x03val\x18\x01 \x01(\x01R\x03valB\x07\xbaH\x04\x12\x02@\x01";\n\x0eSFixed64ExLTGT\x12)\n\x03val\x18\x01 \x01(\x10R\x03valB\x17\xbaH\x14b\x12\x11\x00\x00\x00\x00\x00\x00\x00\x00!\n\x00\x00\x00\x00\x00\x00\x00")\n\x0cTestOneofMsg\x12\x19\n\x03val\x18\x01 \x01(\x08R\x03valB\x07\xbaH\x04j\x02\x08\x01"q\n\x05Oneof\x12\x1a\n\x01x\x18\x01 \x01(\tH\x00R\x01xB\n\xbaH\x07r\x05:\x03foo\x12\x17\n\x01y\x18\x02 \x01(\x05H\x00R\x01yB\x07\xbaH\x04\x1a\x02 \x00\x12.\n\x01z\x18\x03 \x01(\x0b2\x1e.tests.example.v1.TestOneofMsgH\x00R\x01zB\x03\n\x01o"[\n\x12ProtovalidateOneof\x12\x0c\n\x01a\x18\x01 \x01(\tR\x01a\x12\x0c\n\x01b\x18\x02 \x01(\tR\x01b\x12\x1c\n\tunrelated\x18\x03 \x01(\x08R\tunrelated:\x0b\xbaH\x08"\x06\n\x01a\n\x01b"e\n\x1aProtovalidateOneofRequired\x12\x0c\n\x01a\x18\x01 \x01(\tR\x01a\x12\x0c\n\x01b\x18\x02 \x01(\tR\x01b\x12\x1c\n\tunrelated\x18\x03 \x01(\x08R\tunrelated:\r\xbaH\n"\x08\n\x01a\n\x01b\x10\x01"p\n"ProtovalidateOneofUnknownFieldName\x12\x0c\n\x01a\x18\x01 \x01(\tR\x01a\x12\x0c\n\x01b\x18\x02 \x01(\tR\x01b\x12\x1c\n\tunrelated\x18\x03 \x01(\x08R\tunrelated:\x10\xbaH\r"\x0b\n\x01a\n\x01b\n\x03xxx"9\n\x19ProtovalidateMistypedRule\x12\x1c\n\x03val\x18\x01 \x01(\tR\x03valB\n\xbaH\x07\xaa\x01\x04*\x02\x08\x01"H\n\x0eTimestampGTNow\x126\n\x03val\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x03valB\x08\xbaH\x05\xb2\x01\x02@\x01"\x87\x01\n\tMapMinMax\x12B\n\x03val\x18\x01 \x03(\x0b2$.tests.example.v1.MapMinMax.ValEntryR\x03valB\n\xbaH\x07\x9a\x01\x04\x08\x02\x10\x04\x1a6\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x08R\x05value:\x028\x01"\x85\x01\n\x07MapKeys\x12B\n\x03val\x18\x01 \x03(\x0b2".tests.example.v1.MapKeys.ValEntryR\x03valB\x0c\xbaH\t\x9a\x01\x06"\x04B\x02\x10\x00\x1a6\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x12R\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01""\n\x05Embed\x12\x19\n\x03val\x18\x01 \x01(\x03R\x03valB\x07\xbaH\x04"\x02 \x00"K\n\x11RepeatedEmbedSkip\x126\n\x03val\x18\x01 \x03(\x0b2\x17.tests.example.v1.EmbedR\x03valB\x0b\xbaH\x08\x92\x01\x05"\x03\xd8\x01\x03"3\n\x0fInvalidRESyntax\x12 \n\x05value\x18\x01 \x01(\tR\x05valueB\n\xbaH\x07r\x052\x03^\\z"\xa9\x01\n\x12ConcatenatedValues\x12\x10\n\x03bar\x18\x01 \x03(\tR\x03bar\x12\x10\n\x03baz\x18\x02 \x03(\tR\x03baz:o\xbaHl\x1aj\n\x15globally_unique_names\x121all values in bar and baz must be globally unique\x1a\x1e(this.bar + this.baz).unique()B\x8a\x01\n\x14com.tests.example.v1B\x10ValidationsProtoP\x01\xa2\x02\x03TEX\xaa\x02\x10Tests.Example.V1\xca\x02\x10Tests\\Example\\V1\xe2\x02\x1cTests\\Example\\V1\\GPBMetadata\xea\x02\x12Tests::Example::V1b\x06proto3', [ validate_pb.desc(), timestamp_pb.desc(), @@ -517,6 +547,7 @@ def __init__( "ProtovalidateOneof": ProtovalidateOneof, "ProtovalidateOneofRequired": ProtovalidateOneofRequired, "ProtovalidateOneofUnknownFieldName": ProtovalidateOneofUnknownFieldName, + "ProtovalidateMistypedRule": ProtovalidateMistypedRule, "TimestampGTNow": TimestampGTNow, "MapMinMax": MapMinMax, "MapKeys": MapKeys, diff --git a/test/gen/tests/example/v1/validations_pb2.py b/test/gen/tests/example/v1/validations_pb2.py index cbab3517..a8405f4d 100644 --- a/test/gen/tests/example/v1/validations_pb2.py +++ b/test/gen/tests/example/v1/validations_pb2.py @@ -30,7 +30,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"tests/example/v1/validations.proto\x12\x10tests.example.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"T\n\x13MultipleValidations\x12 \n\x05title\x18\x01 \x01(\tB\n\xbaH\x07r\x05:\x03\x66ooR\x05title\x12\x1b\n\x04name\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x05R\x04name\")\n\x0c\x44oubleFinite\x12\x19\n\x03val\x18\x01 \x01(\x01\x42\x07\xbaH\x04\x12\x02@\x01R\x03val\";\n\x0eSFixed64ExLTGT\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x11\x00\x00\x00\x00\x00\x00\x00\x00!\n\x00\x00\x00\x00\x00\x00\x00R\x03val\")\n\x0cTestOneofMsg\x12\x19\n\x03val\x18\x01 \x01(\x08\x42\x07\xbaH\x04j\x02\x08\x01R\x03val\"q\n\x05Oneof\x12\x1a\n\x01x\x18\x01 \x01(\tB\n\xbaH\x07r\x05:\x03\x66ooH\x00R\x01x\x12\x17\n\x01y\x18\x02 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00H\x00R\x01y\x12.\n\x01z\x18\x03 \x01(\x0b\x32\x1e.tests.example.v1.TestOneofMsgH\x00R\x01zB\x03\n\x01o\"[\n\x12ProtovalidateOneof\x12\x0c\n\x01\x61\x18\x01 \x01(\tR\x01\x61\x12\x0c\n\x01\x62\x18\x02 \x01(\tR\x01\x62\x12\x1c\n\tunrelated\x18\x03 \x01(\x08R\tunrelated:\x0b\xbaH\x08\"\x06\n\x01\x61\n\x01\x62\"e\n\x1aProtovalidateOneofRequired\x12\x0c\n\x01\x61\x18\x01 \x01(\tR\x01\x61\x12\x0c\n\x01\x62\x18\x02 \x01(\tR\x01\x62\x12\x1c\n\tunrelated\x18\x03 \x01(\x08R\tunrelated:\r\xbaH\n\"\x08\n\x01\x61\n\x01\x62\x10\x01\"p\n\"ProtovalidateOneofUnknownFieldName\x12\x0c\n\x01\x61\x18\x01 \x01(\tR\x01\x61\x12\x0c\n\x01\x62\x18\x02 \x01(\tR\x01\x62\x12\x1c\n\tunrelated\x18\x03 \x01(\x08R\tunrelated:\x10\xbaH\r\"\x0b\n\x01\x61\n\x01\x62\n\x03xxx\"H\n\x0eTimestampGTNow\x12\x36\n\x03val\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xbaH\x05\xb2\x01\x02@\x01R\x03val\"\x87\x01\n\tMapMinMax\x12\x42\n\x03val\x18\x01 \x03(\x0b\x32$.tests.example.v1.MapMinMax.ValEntryB\n\xbaH\x07\x9a\x01\x04\x08\x02\x10\x04R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x08R\x05value:\x02\x38\x01\"\x85\x01\n\x07MapKeys\x12\x42\n\x03val\x18\x01 \x03(\x0b\x32\".tests.example.v1.MapKeys.ValEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04\x42\x02\x10\x00R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x12R\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\"\n\x05\x45mbed\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02 \x00R\x03val\"K\n\x11RepeatedEmbedSkip\x12\x36\n\x03val\x18\x01 \x03(\x0b\x32\x17.tests.example.v1.EmbedB\x0b\xbaH\x08\x92\x01\x05\"\x03\xd8\x01\x03R\x03val\"3\n\x0fInvalidRESyntax\x12 \n\x05value\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x32\x03^\\zR\x05value\"\xa9\x01\n\x12\x43oncatenatedValues\x12\x10\n\x03\x62\x61r\x18\x01 \x03(\tR\x03\x62\x61r\x12\x10\n\x03\x62\x61z\x18\x02 \x03(\tR\x03\x62\x61z:o\xbaHl\x1aj\n\x15globally_unique_names\x12\x31\x61ll values in bar and baz must be globally unique\x1a\x1e(this.bar + this.baz).unique()B\x8a\x01\n\x14\x63om.tests.example.v1B\x10ValidationsProtoP\x01\xa2\x02\x03TEX\xaa\x02\x10Tests.Example.V1\xca\x02\x10Tests\\Example\\V1\xe2\x02\x1cTests\\Example\\V1\\GPBMetadata\xea\x02\x12Tests::Example::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"tests/example/v1/validations.proto\x12\x10tests.example.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"T\n\x13MultipleValidations\x12 \n\x05title\x18\x01 \x01(\tB\n\xbaH\x07r\x05:\x03\x66ooR\x05title\x12\x1b\n\x04name\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x05R\x04name\")\n\x0c\x44oubleFinite\x12\x19\n\x03val\x18\x01 \x01(\x01\x42\x07\xbaH\x04\x12\x02@\x01R\x03val\";\n\x0eSFixed64ExLTGT\x12)\n\x03val\x18\x01 \x01(\x10\x42\x17\xbaH\x14\x62\x12\x11\x00\x00\x00\x00\x00\x00\x00\x00!\n\x00\x00\x00\x00\x00\x00\x00R\x03val\")\n\x0cTestOneofMsg\x12\x19\n\x03val\x18\x01 \x01(\x08\x42\x07\xbaH\x04j\x02\x08\x01R\x03val\"q\n\x05Oneof\x12\x1a\n\x01x\x18\x01 \x01(\tB\n\xbaH\x07r\x05:\x03\x66ooH\x00R\x01x\x12\x17\n\x01y\x18\x02 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00H\x00R\x01y\x12.\n\x01z\x18\x03 \x01(\x0b\x32\x1e.tests.example.v1.TestOneofMsgH\x00R\x01zB\x03\n\x01o\"[\n\x12ProtovalidateOneof\x12\x0c\n\x01\x61\x18\x01 \x01(\tR\x01\x61\x12\x0c\n\x01\x62\x18\x02 \x01(\tR\x01\x62\x12\x1c\n\tunrelated\x18\x03 \x01(\x08R\tunrelated:\x0b\xbaH\x08\"\x06\n\x01\x61\n\x01\x62\"e\n\x1aProtovalidateOneofRequired\x12\x0c\n\x01\x61\x18\x01 \x01(\tR\x01\x61\x12\x0c\n\x01\x62\x18\x02 \x01(\tR\x01\x62\x12\x1c\n\tunrelated\x18\x03 \x01(\x08R\tunrelated:\r\xbaH\n\"\x08\n\x01\x61\n\x01\x62\x10\x01\"p\n\"ProtovalidateOneofUnknownFieldName\x12\x0c\n\x01\x61\x18\x01 \x01(\tR\x01\x61\x12\x0c\n\x01\x62\x18\x02 \x01(\tR\x01\x62\x12\x1c\n\tunrelated\x18\x03 \x01(\x08R\tunrelated:\x10\xbaH\r\"\x0b\n\x01\x61\n\x01\x62\n\x03xxx\"9\n\x19ProtovalidateMistypedRule\x12\x1c\n\x03val\x18\x01 \x01(\tB\n\xbaH\x07\xaa\x01\x04*\x02\x08\x01R\x03val\"H\n\x0eTimestampGTNow\x12\x36\n\x03val\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xbaH\x05\xb2\x01\x02@\x01R\x03val\"\x87\x01\n\tMapMinMax\x12\x42\n\x03val\x18\x01 \x03(\x0b\x32$.tests.example.v1.MapMinMax.ValEntryB\n\xbaH\x07\x9a\x01\x04\x08\x02\x10\x04R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x08R\x05value:\x02\x38\x01\"\x85\x01\n\x07MapKeys\x12\x42\n\x03val\x18\x01 \x03(\x0b\x32\".tests.example.v1.MapKeys.ValEntryB\x0c\xbaH\t\x9a\x01\x06\"\x04\x42\x02\x10\x00R\x03val\x1a\x36\n\x08ValEntry\x12\x10\n\x03key\x18\x01 \x01(\x12R\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\"\n\x05\x45mbed\x12\x19\n\x03val\x18\x01 \x01(\x03\x42\x07\xbaH\x04\"\x02 \x00R\x03val\"K\n\x11RepeatedEmbedSkip\x12\x36\n\x03val\x18\x01 \x03(\x0b\x32\x17.tests.example.v1.EmbedB\x0b\xbaH\x08\x92\x01\x05\"\x03\xd8\x01\x03R\x03val\"3\n\x0fInvalidRESyntax\x12 \n\x05value\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x32\x03^\\zR\x05value\"\xa9\x01\n\x12\x43oncatenatedValues\x12\x10\n\x03\x62\x61r\x18\x01 \x03(\tR\x03\x62\x61r\x12\x10\n\x03\x62\x61z\x18\x02 \x03(\tR\x03\x62\x61z:o\xbaHl\x1aj\n\x15globally_unique_names\x12\x31\x61ll values in bar and baz must be globally unique\x1a\x1e(this.bar + this.baz).unique()B\x8a\x01\n\x14\x63om.tests.example.v1B\x10ValidationsProtoP\x01\xa2\x02\x03TEX\xaa\x02\x10Tests.Example.V1\xca\x02\x10Tests\\Example\\V1\xe2\x02\x1cTests\\Example\\V1\\GPBMetadata\xea\x02\x12Tests::Example::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -58,6 +58,8 @@ _globals['_PROTOVALIDATEONEOFREQUIRED']._serialized_options = b'\272H\n\"\010\n\001a\n\001b\020\001' _globals['_PROTOVALIDATEONEOFUNKNOWNFIELDNAME']._loaded_options = None _globals['_PROTOVALIDATEONEOFUNKNOWNFIELDNAME']._serialized_options = b'\272H\r\"\013\n\001a\n\001b\n\003xxx' + _globals['_PROTOVALIDATEMISTYPEDRULE'].fields_by_name['val']._loaded_options = None + _globals['_PROTOVALIDATEMISTYPEDRULE'].fields_by_name['val']._serialized_options = b'\272H\007\252\001\004*\002\010\001' _globals['_TIMESTAMPGTNOW'].fields_by_name['val']._loaded_options = None _globals['_TIMESTAMPGTNOW'].fields_by_name['val']._serialized_options = b'\272H\005\262\001\002@\001' _globals['_MAPMINMAX_VALENTRY']._loaded_options = None @@ -92,22 +94,24 @@ _globals['_PROTOVALIDATEONEOFREQUIRED']._serialized_end=660 _globals['_PROTOVALIDATEONEOFUNKNOWNFIELDNAME']._serialized_start=662 _globals['_PROTOVALIDATEONEOFUNKNOWNFIELDNAME']._serialized_end=774 - _globals['_TIMESTAMPGTNOW']._serialized_start=776 - _globals['_TIMESTAMPGTNOW']._serialized_end=848 - _globals['_MAPMINMAX']._serialized_start=851 - _globals['_MAPMINMAX']._serialized_end=986 - _globals['_MAPMINMAX_VALENTRY']._serialized_start=932 - _globals['_MAPMINMAX_VALENTRY']._serialized_end=986 - _globals['_MAPKEYS']._serialized_start=989 - _globals['_MAPKEYS']._serialized_end=1122 - _globals['_MAPKEYS_VALENTRY']._serialized_start=1068 - _globals['_MAPKEYS_VALENTRY']._serialized_end=1122 - _globals['_EMBED']._serialized_start=1124 - _globals['_EMBED']._serialized_end=1158 - _globals['_REPEATEDEMBEDSKIP']._serialized_start=1160 - _globals['_REPEATEDEMBEDSKIP']._serialized_end=1235 - _globals['_INVALIDRESYNTAX']._serialized_start=1237 - _globals['_INVALIDRESYNTAX']._serialized_end=1288 - _globals['_CONCATENATEDVALUES']._serialized_start=1291 - _globals['_CONCATENATEDVALUES']._serialized_end=1460 + _globals['_PROTOVALIDATEMISTYPEDRULE']._serialized_start=776 + _globals['_PROTOVALIDATEMISTYPEDRULE']._serialized_end=833 + _globals['_TIMESTAMPGTNOW']._serialized_start=835 + _globals['_TIMESTAMPGTNOW']._serialized_end=907 + _globals['_MAPMINMAX']._serialized_start=910 + _globals['_MAPMINMAX']._serialized_end=1045 + _globals['_MAPMINMAX_VALENTRY']._serialized_start=991 + _globals['_MAPMINMAX_VALENTRY']._serialized_end=1045 + _globals['_MAPKEYS']._serialized_start=1048 + _globals['_MAPKEYS']._serialized_end=1181 + _globals['_MAPKEYS_VALENTRY']._serialized_start=1127 + _globals['_MAPKEYS_VALENTRY']._serialized_end=1181 + _globals['_EMBED']._serialized_start=1183 + _globals['_EMBED']._serialized_end=1217 + _globals['_REPEATEDEMBEDSKIP']._serialized_start=1219 + _globals['_REPEATEDEMBEDSKIP']._serialized_end=1294 + _globals['_INVALIDRESYNTAX']._serialized_start=1296 + _globals['_INVALIDRESYNTAX']._serialized_end=1347 + _globals['_CONCATENATEDVALUES']._serialized_start=1350 + _globals['_CONCATENATEDVALUES']._serialized_end=1519 # @@protoc_insertion_point(module_scope) diff --git a/test/gen/tests/example/v1/validations_pb2.pyi b/test/gen/tests/example/v1/validations_pb2.pyi index b3878ff1..c6e3c002 100644 --- a/test/gen/tests/example/v1/validations_pb2.pyi +++ b/test/gen/tests/example/v1/validations_pb2.pyi @@ -86,6 +86,12 @@ class ProtovalidateOneofUnknownFieldName(_message.Message): unrelated: bool def __init__(self, a: _Optional[str] = ..., b: _Optional[str] = ..., unrelated: bool = ...) -> None: ... +class ProtovalidateMistypedRule(_message.Message): + __slots__ = ("val",) + VAL_FIELD_NUMBER: _ClassVar[int] + val: str + def __init__(self, val: _Optional[str] = ...) -> None: ... + class TimestampGTNow(_message.Message): __slots__ = ("val",) VAL_FIELD_NUMBER: _ClassVar[int] diff --git a/test/proto/tests/example/v1/validations.proto b/test/proto/tests/example/v1/validations.proto index 4bf0285f..f69c299f 100644 --- a/test/proto/tests/example/v1/validations.proto +++ b/test/proto/tests/example/v1/validations.proto @@ -85,6 +85,11 @@ message ProtovalidateOneofUnknownFieldName { }; } +message ProtovalidateMistypedRule { + // The duration rule cannot be compiled for a string field. + string val = 1 [(buf.validate.field).duration.gt = {seconds: 1}]; +} + message TimestampGTNow { google.protobuf.Timestamp val = 1 [(buf.validate.field).timestamp.gt_now = true]; } diff --git a/test/test_benchmark.py b/test/test_benchmark.py index f65447f3..db1ad528 100644 --- a/test/test_benchmark.py +++ b/test/test_benchmark.py @@ -14,7 +14,9 @@ from __future__ import annotations +import functools import random +from collections.abc import Callable from typing import TYPE_CHECKING, Any import pytest @@ -30,8 +32,10 @@ UInt32Value, UInt64Value, ) +from pydantic import ValidationError -from .conftest import BACKENDS, make_validator +from . import _models +from .conftest import make_validator from .gen.bench.v1.bench_pb import ( BenchComplexSchema, BenchEnum, @@ -51,7 +55,7 @@ ) if TYPE_CHECKING: - from collections.abc import Callable, Iterator + from collections.abc import Iterator from pytest_benchmark.fixture import BenchmarkFixture @@ -125,9 +129,41 @@ def gen_complex(depth: int) -> BenchComplexSchema: ) -@pytest.fixture(params=BACKENDS) -def validator(request: pytest.FixtureRequest) -> protovalidate.Validator: - return make_validator(request.param) +def _validate_pydantic( + model: type[_models.ProtoModel], payload: dict[str, Any] +) -> None: + """Validates a pre-built payload, swallowing failures. + + protovalidate's `collect_violations` reports rather than raises, so the + failing cases have to be caught here to keep the two paths comparable. + """ + try: # noqa: SIM105 # contextlib.suppress adds measurable overhead to the timed call + model.model_validate(payload) + except ValidationError: + pass + + +Engine = Callable[[Message], "tuple[Callable[[Any], Any], Any]"] + +ENGINES = ["native", "pydantic"] + + +@pytest.fixture(params=ENGINES) +def engine(request: pytest.FixtureRequest) -> Engine: + if request.param == "pydantic": + + def pydantic_engine(message: Message) -> tuple[Callable[[Any], Any], Any]: + model = _models.model_for(message) + if model is None: + pytest.skip(f"no pydantic equivalent for {type(message).__name__}") + return functools.partial(_validate_pydantic, model), model.to_payload( + message + ) + + return pydantic_engine + + validator: protovalidate.Validator = make_validator() + return lambda message: (validator.collect_violations, message) def param(*args: Any, id: str) -> pytest.param: # noqa: A002 @@ -176,10 +212,10 @@ def param(*args: Any, id: str) -> pytest.param: # noqa: A002 lte=50, gtltin=50, gtltein=50, - # gtltex, gtlteex, gteltex, gtelteex have unsatisfiable rules (lt < gt); - # Go's bench leaves them at zero which is treated as unset for proto3 scalars - # by the rules engine — protovalidate skips fields with rules.required=false - # unset zero values. Keeping them at 0 mirrors Go's fixture. + # gtltex, gtlteex, gteltex and gtelteex are left at zero, mirroring Go's + # fixture. Rules apply to zero-valued proto3 scalars, so gtltex and + # gtlteex (whose `gt`/`lt` pairs form an exclusive range excluding 0) + # each report a violation; this case is not violation-free. gteltin=50, gteltein=50, const=10, @@ -233,7 +269,7 @@ def test_benchmark( _id: str, message_factory: Callable[[], Message], benchmark: BenchmarkFixture, - validator: protovalidate.Validator, + engine: Engine, ) -> None: - message = message_factory() - benchmark(validator.collect_violations, message) + validate, message = engine(message_factory()) + benchmark(validate, message) diff --git a/test/test_concurrency.py b/test/test_concurrency.py new file mode 100644 index 00000000..dd03846e --- /dev/null +++ b/test/test_concurrency.py @@ -0,0 +1,59 @@ +# Copyright (c) 2023-2026 Buf Technologies, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +import threading + +from test.conftest import make_validator +from test.gen.bench.v1.bench_pb import BenchMap, BenchScalar +from test.gen.bench.v1.native_pb import MultiRule + +THREADS = 8 +ROUNDS = 50 + + +def test_concurrent_first_use() -> None: + """Shared-validator use from many threads, starting before registration. + + Regression test for a deadlock on GIL builds: registration used to walk + Python descriptors while holding the validator's locks, so the interpreter + could hand the GIL to another thread that then blocked on those locks with + the GIL held, while the lock holder needed the GIL back to finish. The + threads race first-time registration, validation, and lazy violation + resolution; a deadlock shows up as threads that never finish. + """ + validator = make_validator() + messages = [BenchScalar(x=42), BenchMap(entries={"k": "v"}), MultiRule(many=1)] + barrier = threading.Barrier(THREADS) + errors: list[Exception] = [] + + def run() -> None: + try: + barrier.wait(timeout=30) + for _ in range(ROUNDS): + for message in messages: + for violation in validator.collect_violations(message): + _ = violation.field_value + _ = violation.rule_value + except Exception as e: # noqa: BLE001 - re-raised via `errors` below + errors.append(e) + + threads = [threading.Thread(target=run, daemon=True) for _ in range(THREADS)] + for thread in threads: + thread.start() + for thread in threads: + thread.join(timeout=60) + assert not errors + assert all(not thread.is_alive() for thread in threads) diff --git a/test/test_format.py b/test/test_format.py deleted file mode 100644 index 38dabc8f..00000000 --- a/test/test_format.py +++ /dev/null @@ -1,150 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import annotations - -from itertools import chain -from pathlib import Path -from typing import TYPE_CHECKING, Any - -import celpy -import pytest -from celpy import celtypes -from protobuf import Oneof -from protobuf.txtpb import message_from_text - -from protovalidate import _extra_func -from protovalidate._cel_field_presence import InterpretedRunner - -from .gen.cel.expr.conformance.test import simple_pb -from .versions import CEL_SPEC_VERSION - -if TYPE_CHECKING: - from collections.abc import Iterable, MutableMapping - - from .gen.cel.expr import eval_pb - - -skipped_tests = [ - # cel-python seems to have a bug with ints and booleans in the same map which evaluate to the same value - # which the test data for this test has. For example: {1: 'value1', true: 'value2'}]). - # This throws an error like: - # "no such overload: IntType(0) != - # BoolType(False) ",)) - # TODO: Check if this bug is fixed in newer versions of cel-python. - "map support (all key types)" -] -skipped_error_tests = [ - # cel-python does not support Protobuf messages at the moment and these tests use a MessageType - # See https://github.com/cloud-custodian/cel-python/issues/43 - "object not allowed", - "object inside list", - "object inside map", -] - - -def load_test_data(file_name: Path) -> simple_pb.SimpleTestFile: - return message_from_text(simple_pb.SimpleTestFile, file_name.read_text()) - - -def build_variables(bindings: MutableMapping[str, eval_pb.ExprValue]) -> dict[Any, Any]: - binder = {} - for key, value in bindings.items(): - match value.kind: - case Oneof("value", val): - match val.kind: - case Oneof("string_value", s): - binder[key] = celtypes.StringType(s) - return binder - - -def get_expected_result(test: simple_pb.SimpleTest) -> str | None: - match test.result_matcher: - case Oneof("value", val): - match val.kind: - case Oneof("string_value", s): - return s - return None - - -def get_eval_error_message(test: simple_pb.SimpleTest) -> str | None: - match test.result_matcher: - case Oneof("eval_error", err_set): - if len(err_set.errors) == 1: - return celtypes.StringType(err_set.errors[0].message) - return None - - -# The test data from the cel-spec conformance tests -testdata_dir = Path(__file__).parent / "testdata" -cel_test_data = load_test_data( - testdata_dir / f"string_ext_{CEL_SPEC_VERSION}.textproto" -) -# Our supplemental tests of functionality not in the cel conformance file, but defined in the spec. -supplemental_test_data = load_test_data( - testdata_dir / "string_ext_supplemental.textproto" -) - -# Combine the test data from both files into one -sections = cel_test_data.section -sections.extend(supplemental_test_data.section) - -# Find the format tests which test successful formatting -_format_tests: Iterable[simple_pb.SimpleTest] = chain.from_iterable( - x.test for x in sections if x.name == "format" -) -# Find the format error tests which test errors during formatting -_format_error_tests: Iterable[simple_pb.SimpleTest] = chain.from_iterable( - x.test for x in sections if x.name == "format_errors" -) - -env = celpy.Environment(runner_class=InterpretedRunner) - - -def test_format_successes(subtests: pytest.Subtests) -> None: - """Tests success scenarios for string.format.""" - for format_test in _format_tests: - with subtests.test(msg=format_test.name): - if format_test.name in skipped_tests: - pytest.skip(f"skipped test: {format_test.name}") - ast = env.compile(format_test.expr) - prog = env.program(ast, functions=_extra_func.make_extra_funcs()) - - bindings = build_variables(format_test.bindings) - result = prog.evaluate(bindings) - expected = get_expected_result(format_test) - assert expected is not None, ( - f"[{format_test.name}]: expected a success result to be defined" - ) - assert result == expected - - -def test_format_errors(subtests: pytest.Subtests) -> None: - """Tests error scenarios for string.format.""" - for format_error_test in _format_error_tests: - with subtests.test(msg=format_error_test.name): - if format_error_test.name in skipped_error_tests: - pytest.skip(f"skipped test: {format_error_test.name}") - ast = env.compile(format_error_test.expr) - prog = env.program(ast, functions=_extra_func.make_extra_funcs()) - - bindings = build_variables(format_error_test.bindings) - with pytest.raises(celpy.CELEvalError) as exc_info: - prog.evaluate(bindings) - - msg = get_eval_error_message(format_error_test) - assert msg is not None, ( - f"[{format_error_test.name}]: expected an eval error to be defined" - ) - assert str(exc_info.value) == msg diff --git a/test/test_funcs.py b/test/test_funcs.py deleted file mode 100644 index b8125d98..00000000 --- a/test/test_funcs.py +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import annotations - -from protovalidate._funcs import _is_hostname - - -def test_hostname_trailing_dot_excluded_from_length() -> None: - name253 = ("a" * 63 + ".") * 3 + "a" * 61 - name254 = ("a" * 63 + ".") * 3 + "a" * 62 - assert len(name253) == 253 - assert len(name254) == 254 - # The 253-character limit excludes the optional trailing dot (RFC 3339). - assert _is_hostname(name253) - assert _is_hostname(name253 + ".") - assert not _is_hostname(name254) - assert not _is_hostname(name254 + ".") diff --git a/test/test_matches.py b/test/test_matches.py deleted file mode 100644 index b0cea0f4..00000000 --- a/test/test_matches.py +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright (c) 2023-2026 Buf Technologies, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import annotations - -import celpy -from celpy import celtypes - -from protovalidate._extra_func import cel_matches - - -def test_function_matches_re2() -> None: - empty_string = celtypes.StringType("") - # \z is valid re2 syntax for end of text - assert cel_matches(empty_string, "^\\z") - # \Z is invalid re2 syntax - assert isinstance(cel_matches(empty_string, "^\\Z"), celpy.CELEvalError) diff --git a/test/test_validate.py b/test/test_validate.py index 4bbf94f4..7edfc461 100644 --- a/test/test_validate.py +++ b/test/test_validate.py @@ -19,7 +19,7 @@ from protobuf import Oneof import protovalidate -from protovalidate import Violation, _rules +from protovalidate import Violation from ._utils import ( ValidatorProtocol, @@ -27,12 +27,12 @@ check_valid, compare_violations, ) -from .conftest import backend_validators +from .conftest import make_validator from .gen.tests.example.v1 import validations_pb validators: list[ValidatorProtocol] = [ protovalidate, # global module singleton - *backend_validators(), + make_validator(), ] @@ -41,7 +41,7 @@ def test_ninf(validator: ValidatorProtocol) -> None: msg = validations_pb.DoubleFinite() msg.val = float("-inf") - expected_violation = _rules.Violation( + expected_violation = Violation( message="must be finite", rule_id="double.finite", field_value=msg.val, @@ -56,7 +56,7 @@ def test_map_key(validator: ValidatorProtocol) -> None: msg = validations_pb.MapKeys() msg.val[1] = "a" - expected_violation = _rules.Violation( + expected_violation = Violation( message="must be less than 0", rule_id="sint64.lt", for_key=True, @@ -95,7 +95,7 @@ def test_protovalidate_oneof_violation(validator: ValidatorProtocol) -> None: msg.a = "A" msg.b = "B" - expected_violation = _rules.Violation( + expected_violation = Violation( message="only one of a, b can be set", rule_id="message.oneof" ) @@ -106,7 +106,7 @@ def test_protovalidate_oneof_violation(validator: ValidatorProtocol) -> None: def test_protovalidate_oneof_required_violation(validator: ValidatorProtocol) -> None: msg = validations_pb.ProtovalidateOneofRequired() - expected_violation = _rules.Violation( + expected_violation = Violation( message="one of a, b must be set", rule_id="message.oneof" ) @@ -125,6 +125,16 @@ def test_protovalidate_oneof_unknown_field_name(validator: ValidatorProtocol) -> ) +@pytest.mark.parametrize("validator", validators) +def test_protovalidate_mistyped_rule(validator: ValidatorProtocol) -> None: + """Tests that a compilation error is thrown when a rule's type does not match the field's type.""" + msg = validations_pb.ProtovalidateMistypedRule() + + check_compilation_errors( + validator, msg, "duration field validator on non-duration field" + ) + + @pytest.mark.parametrize("validator", validators) def test_repeated(validator: ValidatorProtocol) -> None: msg = validations_pb.RepeatedEmbedSkip(val=[validations_pb.Embed(val=-1)]) @@ -136,7 +146,7 @@ def test_repeated(validator: ValidatorProtocol) -> None: def test_maps(validator: ValidatorProtocol) -> None: msg = validations_pb.MapMinMax() - expected_violation = _rules.Violation( + expected_violation = Violation( message="map must be at least 2 entries", rule_id="map.min_pairs", field_value={}, @@ -160,14 +170,14 @@ def test_multiple_validations(validator: ValidatorProtocol) -> None: msg.title = "bar" msg.name = "blah" - expected_violation1 = _rules.Violation( + expected_violation1 = Violation( message="does not have prefix `foo`", rule_id="string.prefix", field_value=msg.title, rule_value="foo", ) - expected_violation2 = _rules.Violation( + expected_violation2 = Violation( message="must be at least 5 characters", rule_id="string.min_len", field_value=msg.name, @@ -191,7 +201,7 @@ def test_fail_fast(validator: ValidatorProtocol) -> None: msg.title = "bar" msg.name = "blah" - expected_violation = _rules.Violation( + expected_violation = Violation( message="does not have prefix `foo`", rule_id="string.prefix", field_value=msg.title, diff --git a/test/test_validate_legacy.py b/test/test_validate_legacy.py index dc126495..d91c9c97 100644 --- a/test/test_validate_legacy.py +++ b/test/test_validate_legacy.py @@ -25,7 +25,7 @@ from protovalidate import Violation from ._utils import ValidatorProtocol, check_valid, compare_violations -from .conftest import backend_validators +from .conftest import make_validator from .gen.tests.example.v1 import validations_pb2 if TYPE_CHECKING: @@ -33,7 +33,7 @@ validators: list[ValidatorProtocol] = [ protovalidate, # global module singleton - *backend_validators(), + make_validator(), ] diff --git a/uv.lock b/uv.lock index b4c23b07..1ed6fdbc 100644 --- a/uv.lock +++ b/uv.lock @@ -9,6 +9,15 @@ resolution-markers = [ "python_full_version < '3.11'", ] +[[package]] +name = "annotated-types" +version = "0.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5f/56/a8120250d128bed162cd73c76d45f6ef9991f3e068f62a8ee060afa3104a/annotated_types-0.8.0.tar.gz", hash = "sha256:13b2beaad985e05e2d6407ee4c4f35590b11f8d693a258a561055cac8f64cab7", size = 15893, upload-time = "2026-07-23T20:16:13.995Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl", hash = "sha256:f072f4d804ea359e4eaf198b1af7a8b0943881a87f31bb764f8bf219bb9419e0", size = 13427, upload-time = "2026-07-23T20:16:12.938Z" }, +] + [[package]] name = "buf-bin" version = "1.72.0" @@ -26,50 +35,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/e7/b4/f7c85432667929de32fb340f2793267f3d242450586ac155b65237d67722/buf_bin-1.72.0-py3-none-win_arm64.whl", hash = "sha256:a92484e502e11ebd90b528eef5c09e21eeb1d83fffeb29edef284a3f76e04025", size = 14649036, upload-time = "2026-07-17T20:40:20.217Z" }, ] -[[package]] -name = "cel-expr-python" -version = "0.1.3" -source = { registry = "https://pypi.org/simple" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/cb/42/8a9ee05d86317fd57b8f20853c84076745ef34e38f0ab969c930e6ba8b86/cel_expr_python-0.1.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:5b2ecfc4f4e8120928b446262b13977ee3326b535c1684bdc3eb2fb990298dba", size = 12607175, upload-time = "2026-06-25T23:02:58.642Z" }, - { url = "https://files.pythonhosted.org/packages/43/6d/3b89f7b3473c2c83220a6478b30dda7f9e960f074284e507128ded568c84/cel_expr_python-0.1.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11e4cf0a3b2bf7b4231df4ed1f359de006001f2680676c99631df86744f9c1f2", size = 12030643, upload-time = "2026-06-25T23:03:00.966Z" }, - { url = "https://files.pythonhosted.org/packages/f7/34/d27fbf56e4f844cff649f980534fc358a2210f61ef19a021ef4c9b4c4ca0/cel_expr_python-0.1.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc1d80c53affcaf7f31b09dd3e10d87add48833b1de51f037b8fcfb549e7362f", size = 15158230, upload-time = "2026-06-25T23:03:03.273Z" }, - { url = "https://files.pythonhosted.org/packages/72/bd/03fb13876057deb3028cd9bf80748f362958944f4a89565b239ada75931b/cel_expr_python-0.1.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:292ae505727bfcfc1986c8bf653c2580faa06f46af56b9087060eafdf2a08652", size = 16017630, upload-time = "2026-06-25T23:03:05.712Z" }, - { url = "https://files.pythonhosted.org/packages/50/e3/fc514c4d9884ae773f987186957e3b0fe57b8abb5a46d44daf58b91ba9db/cel_expr_python-0.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:8b56ebf586df6ec4dae0449d90bd9f6da0027bef407f2ffbb92701a9886ee43c", size = 7870074, upload-time = "2026-06-25T23:03:07.97Z" }, - { url = "https://files.pythonhosted.org/packages/b9/e7/b7cad8b31394c2123b19559d08caef14130cf8d17245005623acd7727e87/cel_expr_python-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5ab17a336e7f01e3868fc454630c05596fb8a16293833fa34a7a2f946faa835f", size = 12615855, upload-time = "2026-06-25T23:03:09.963Z" }, - { url = "https://files.pythonhosted.org/packages/23/39/585a1b08d634346cb7dbe158c24a2c4015a8b5f7221fddb471087f570338/cel_expr_python-0.1.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4e2694afe68a0484ee7c99a79887309511f6738e562a5d2c4ff566dc791e7ec6", size = 12033466, upload-time = "2026-06-25T23:03:12.437Z" }, - { url = "https://files.pythonhosted.org/packages/70/1a/cd8a88eccbca175e89d3f55c61e16c1e8f1ed407f3ac1d6b05019eeb4320/cel_expr_python-0.1.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4170d1e6a3cf359b0ec7c1fb50317daa3e3e3eb12b61311260714a1e02313fbe", size = 16450147, upload-time = "2026-06-25T23:03:14.636Z" }, - { url = "https://files.pythonhosted.org/packages/da/5c/fadbe060d821652909f7fbace3106c92dbc71bfad1faf06e8401c768c69e/cel_expr_python-0.1.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ab3b0a418b3911177a77ee69fef1f4199b4a053e2ddd1c339119e58c9cd72824", size = 17313058, upload-time = "2026-06-25T23:03:17.136Z" }, - { url = "https://files.pythonhosted.org/packages/3f/b3/721ba61eaca18a8d4abe8c9fe5942fa3281e53a6db6335e80236703f8719/cel_expr_python-0.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:925bbf323fdf2743491ddf411e40b5c4a12ab102e3bc7e0bfec0fed1c6defa3b", size = 15040270, upload-time = "2026-06-25T23:03:19.981Z" }, - { url = "https://files.pythonhosted.org/packages/a3/50/572b7f65ad961f1227ff58d2c39256b72ce5fcf5c86436a581060eeda867/cel_expr_python-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ac60fdb981d1435faadc536c0582ada321a3a392c18ba70e94e3f3caa0f37437", size = 12616486, upload-time = "2026-06-25T23:03:22.613Z" }, - { url = "https://files.pythonhosted.org/packages/88/ba/ca4dbc50ed3c97454f7b4eb3a6552ea3065cd4ef934a17481c897091765b/cel_expr_python-0.1.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b8eb8d3c92b11e99fffddb846ba68f8b1ba12a3bf1bc0ccdd8c2914c7458f3a4", size = 12034024, upload-time = "2026-06-25T23:03:24.738Z" }, - { url = "https://files.pythonhosted.org/packages/d5/b0/9c3830b5d105204a2ff2775d8e8f89e1cf68f62c28dec736dcdb468c9fb1/cel_expr_python-0.1.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ea4679e74567c145c824e1ef049ae340af5b2a1a4451324d215e58ed5db20969", size = 16449714, upload-time = "2026-06-25T23:03:26.919Z" }, - { url = "https://files.pythonhosted.org/packages/a9/65/65ebe0e73c700724b2f8b74ed65309f6326aaf9c2e907d9bc237ab139ae8/cel_expr_python-0.1.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aa80370ed20cee201a7671634f9c58dc17fd93f15addf680d7e0393969bc51b3", size = 17313510, upload-time = "2026-06-25T23:03:29.553Z" }, - { url = "https://files.pythonhosted.org/packages/34/cf/3532944395d9e4eba7157c2c0414ad7a621e0e3757e654f166190313782b/cel_expr_python-0.1.3-cp313-cp313-win_amd64.whl", hash = "sha256:cd6ff40b4a89af6b62ca24d431893d8fcce5cca6149f06926a0e88211a370645", size = 13724593, upload-time = "2026-06-25T23:03:32.332Z" }, - { url = "https://files.pythonhosted.org/packages/c7/33/ceba4fdc652d8f3e692cafd065e90eb35e51fd20141abcc0f13d235be995/cel_expr_python-0.1.3-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:665fbb261c4733e69a4022763c16f7655cfe6e057cd394ad9f36dfee92b9df8c", size = 12617454, upload-time = "2026-06-25T23:03:34.947Z" }, - { url = "https://files.pythonhosted.org/packages/9f/6e/3f36105e268e4dd0d8ad1ec233ef8ebca826eee8ad9cb22702bfd5631a34/cel_expr_python-0.1.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b3e1ba34748796624b2cf8c9bc664b79baccc0662c97299a1991278ef45d3aed", size = 12038419, upload-time = "2026-06-25T23:03:37.644Z" }, - { url = "https://files.pythonhosted.org/packages/89/02/65ab9b3a9dc2b73e798ce237c21811675e1acd898638036a829ccf90c77b/cel_expr_python-0.1.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0d2035831cfb9c0ae36c91e3de421828f8fa27173680e86676a7d6e0f68300a0", size = 16452974, upload-time = "2026-06-25T23:03:40.028Z" }, - { url = "https://files.pythonhosted.org/packages/c6/25/f352cdffd78175fe56ef50967a3a9e33d7770d46a0bd3294cbca9738df1e/cel_expr_python-0.1.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9b36c7a36ca865b147e1fc68f3f6faaae5b113e9de4d77e7eb751c95e1547a99", size = 17314171, upload-time = "2026-06-25T23:03:42.633Z" }, - { url = "https://files.pythonhosted.org/packages/c5/f5/71742755695bfbfbe55632e8f83a9e84cac65cb8aefa102353975df8209c/cel_expr_python-0.1.3-cp314-cp314-win_amd64.whl", hash = "sha256:4711f59f0dd3fcabf68a617685ab2857ed931cc10e2f1595abe7d4d99f921bba", size = 13902879, upload-time = "2026-06-25T23:03:45.135Z" }, -] - -[[package]] -name = "cel-python" -version = "0.5.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "google-re2" }, - { name = "jmespath" }, - { name = "lark" }, - { name = "pendulum" }, - { name = "pyyaml" }, - { name = "tomli", marker = "python_full_version < '3.11'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/61/4e/f821948a5bbd7a98a218720f831a62216f79a98e43b13d9ab2f98e37c5f8/cel_python-0.5.0.tar.gz", hash = "sha256:3eb0a619e8df0f338d0430cda01427a742e77e3c433a1c7c3ebd409cd804c45a", size = 13364027, upload-time = "2026-01-31T19:07:13.436Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/f8/38812adc3f787c2c2e8ba56f524185ed379656c10b40347a32796ba61c08/cel_python-0.5.0-py3-none-any.whl", hash = "sha256:d0f85008b89655c2bb18d797d2fa3f96f2ed80f4a3b43b0e8138c6646581e5f6", size = 84950, upload-time = "2026-01-31T19:07:11.821Z" }, -] - [[package]] name = "click" version = "8.4.2" @@ -136,80 +101,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" }, ] -[[package]] -name = "google-re2" -version = "1.1.20251105" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6b/60/805c654ba53d685513df955ee745f71920fe8e6a284faf0f9b9dc19b659c/google_re2-1.1.20251105.tar.gz", hash = "sha256:1db14a292ee8303b91e91e7c37e05ac17d3c467f29416c79ac70a78be3e65bda", size = 11676, upload-time = "2025-11-05T14:58:07.324Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/23/fb/36548d5d791d2d750dc6fc2ab87fbe50f0bcc054673e1cf64928908892a3/google_re2-1.1.20251105-1-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:88bd426c1904f3562049bf766301bbc4f7a4bcb8f61e92f8cc833faac1cf2a92", size = 483062, upload-time = "2025-11-05T14:56:49.848Z" }, - { url = "https://files.pythonhosted.org/packages/7f/5d/25afc138821a1958940ee4a9bc83a87b59a6dbedd7ef0db4ee04b572a3b0/google_re2-1.1.20251105-1-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:a486dc10bb07f3c34b9908541368e21ab6d77972569427200db077126668fbf3", size = 514075, upload-time = "2025-11-05T14:56:51.871Z" }, - { url = "https://files.pythonhosted.org/packages/70/00/5303bb660b6f75a71f75dc818a35082c30508d4dd5477891f13e831f39e8/google_re2-1.1.20251105-1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:a9aa02dc1345f0889c6ce1365d5f93d5b161b512f4c6df3cfadf3298493fb678", size = 484069, upload-time = "2025-11-05T14:56:53.479Z" }, - { url = "https://files.pythonhosted.org/packages/55/d3/8d11005db3000128055f6d3868a3216dd639721040eb988b3eccce852bc0/google_re2-1.1.20251105-1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:032160ad8c05739370813bcb15099854cd50faa933e0fe9607a2380659c750df", size = 515556, upload-time = "2025-11-05T14:56:55.163Z" }, - { url = "https://files.pythonhosted.org/packages/21/36/c7d3c8dd7578badb53b929f5c8cc78bbbec23163029a15fdce2dfabf78f4/google_re2-1.1.20251105-1-cp310-cp310-macosx_15_0_arm64.whl", hash = "sha256:39a7013477c8778b1ddcc0d43eff0ee4a0f66b76c9db21f9e7b7d1f74852633f", size = 481738, upload-time = "2025-11-05T14:56:56.429Z" }, - { url = "https://files.pythonhosted.org/packages/61/c3/2199a9edefa1ffea59e5e54ebca34a126e0a2c5b4b2c73db9c5b97b9895d/google_re2-1.1.20251105-1-cp310-cp310-macosx_15_0_x86_64.whl", hash = "sha256:f886c88d56233483c5fd5ed1234e7e72389b8331250100983443fa30855deb63", size = 507751, upload-time = "2025-11-05T14:56:58.035Z" }, - { url = "https://files.pythonhosted.org/packages/28/34/e9a9fa5fd3b309c76262fd8642346b62235f7a9b7590563403ef427a366b/google_re2-1.1.20251105-1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8beddf48857fd3767c553f0be7414a7a483f9b6374c91c02474a616fc7f5c5b3", size = 572738, upload-time = "2025-11-05T14:56:59.418Z" }, - { url = "https://files.pythonhosted.org/packages/65/d3/4aad2f11e635709c326a1c34bff59c879dab5c2ff720dbcd275c61c3ea56/google_re2-1.1.20251105-1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3a319dcb37b069d72d968862335197f460803b3a35f99445ea805f69fac58759", size = 588959, upload-time = "2025-11-05T14:57:00.675Z" }, - { url = "https://files.pythonhosted.org/packages/f7/d7/ce78b34800b966fc7c4abf2f40e71ece39c1485b57a283bcffae054a5aa3/google_re2-1.1.20251105-1-cp310-cp310-win32.whl", hash = "sha256:420fe037ad77ab3d1a280c6823985b89160896f66ce601a3923d020690a1f9b4", size = 432828, upload-time = "2025-11-05T14:57:01.985Z" }, - { url = "https://files.pythonhosted.org/packages/1b/4e/d381ebce2d14b381379485845f884d8c7b491196fed62c68932a4e5fef69/google_re2-1.1.20251105-1-cp310-cp310-win_amd64.whl", hash = "sha256:462dfcf147d0f54d0c93a69c361225119a4987c3b0ecd77f0e21ad9ba8bf180e", size = 490179, upload-time = "2025-11-05T14:57:03.278Z" }, - { url = "https://files.pythonhosted.org/packages/8d/4d/203a08dab1bdb5c83b46dd424c01a789ecb5a37dbc80f33d016bd116a9d7/google_re2-1.1.20251105-1-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:329efa209ea7baa44f0facf0402fa34e655dc97fdeb10d0b83fc06354f5575fd", size = 483717, upload-time = "2025-11-05T14:57:04.808Z" }, - { url = "https://files.pythonhosted.org/packages/78/88/466026b43ff5c7d740f5ede090992ec63b60d1810ab14fe35dfc00677e0a/google_re2-1.1.20251105-1-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:aa2ad5f6f48921ec137a7b7f1b1da903ddef8627a2dc30bc878a9a69d9925719", size = 515547, upload-time = "2025-11-05T14:57:06.013Z" }, - { url = "https://files.pythonhosted.org/packages/f3/6a/c6c9fdb00c98990e4f7a6cd650e209d7b5d2754ca0404b72c69ac9909a69/google_re2-1.1.20251105-1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:ac1cb2526cc88f050a0661fc7245ad009ee454bddc541b2e653f1d007585000d", size = 485396, upload-time = "2025-11-05T14:57:07.592Z" }, - { url = "https://files.pythonhosted.org/packages/a2/f6/529c44f607c47f96cfa29c1fe3a690fe75b2fdb48e9b0d6b54e5f0a75e59/google_re2-1.1.20251105-1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:50c7205182ad66c23c07abe8072f720ca2f7d595b61e28fd9b63623614f9afd6", size = 517150, upload-time = "2025-11-05T14:57:09.376Z" }, - { url = "https://files.pythonhosted.org/packages/df/d2/ccc07860e31ab81965c63f9ed4eb69ea0d3449a9b4e1610f71883694bbe8/google_re2-1.1.20251105-1-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:4cb5acee61e35772503b8b1db3c592a46b8e6a9bc0ab54d7d6233654ea2bf93d", size = 482807, upload-time = "2025-11-05T14:57:11.057Z" }, - { url = "https://files.pythonhosted.org/packages/bd/43/5fb20d16664457f61670bdd95f39039d43ee8b7732511c688e2f322a4317/google_re2-1.1.20251105-1-cp311-cp311-macosx_15_0_x86_64.whl", hash = "sha256:1617097d63620c2d46bdfc0e48f24f66cd341664fc75718636d234f67473fe7f", size = 508839, upload-time = "2025-11-05T14:57:12.338Z" }, - { url = "https://files.pythonhosted.org/packages/0e/f2/6e470338271e164dd3c5e508876f99aec3ed23bf419c7d54a5672fd5b05f/google_re2-1.1.20251105-1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:18a5610b26742b90cb1d64ead2b16fe0e3bd7e67add03fd3779cd1b85e401661", size = 573718, upload-time = "2025-11-05T14:57:13.635Z" }, - { url = "https://files.pythonhosted.org/packages/91/21/4566fc344c21cf3c49082d13ddab785994b5e3b8b7fd4631242538f698a2/google_re2-1.1.20251105-1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:03156291269f145eccddff63118f2df02d395792f51fc039f09955818943815a", size = 590749, upload-time = "2025-11-05T14:57:14.864Z" }, - { url = "https://files.pythonhosted.org/packages/94/19/5981fb798bb8d08933b815b1fd9e55d179c380b9d8c21a49197b9b7c5967/google_re2-1.1.20251105-1-cp311-cp311-win32.whl", hash = "sha256:54f51762b51dc238eceddf49b56cc2b64594fe72d9328c1c39d615aa990e1f87", size = 434066, upload-time = "2025-11-05T14:57:16.22Z" }, - { url = "https://files.pythonhosted.org/packages/49/e5/f83053a36cfc4762d843748e4f7a9c1141937dcf74cd6fc3f4598292dda3/google_re2-1.1.20251105-1-cp311-cp311-win_amd64.whl", hash = "sha256:f5f856ff5036a8f22b3bad57f376d4e3b97b59b64f311bdb1f83c8dabded2492", size = 491025, upload-time = "2025-11-05T14:57:17.746Z" }, - { url = "https://files.pythonhosted.org/packages/56/be/4315c3b38f42f9a2888fa76260545c98547502f1c35aa63a672d39011b2e/google_re2-1.1.20251105-1-cp311-cp311-win_arm64.whl", hash = "sha256:913864f97de4151eaa8bb7746ca230fd193656501e07fb658ce2cd46d4f6efcc", size = 642194, upload-time = "2025-11-05T14:57:19.374Z" }, - { url = "https://files.pythonhosted.org/packages/67/20/73b487538e9107c2fd96aed737e3f3890dfce3e292622e4ffb2f9c810ee5/google_re2-1.1.20251105-1-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:b30f09b4d63249c72e65ccae4cbf6b331b48c22fc7cb439f1d85f347b9d07ceb", size = 485591, upload-time = "2025-11-05T14:57:20.961Z" }, - { url = "https://files.pythonhosted.org/packages/b9/9a/ca3a993bdb5dc6d5b2616b9657b2872a83d1827f8bd3ab50cd629eb751c7/google_re2-1.1.20251105-1-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:9a77892c524b8bdf3d47d7cad1cc2ac3a0108bdd65007ef4c02888fa46baf8ee", size = 518780, upload-time = "2025-11-05T14:57:22.18Z" }, - { url = "https://files.pythonhosted.org/packages/df/37/b2e367987371514253ec9e514637f457deaacb7acc1c900814f3a6421e0f/google_re2-1.1.20251105-1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:a3ac51b28cbf25c100dfd8849212d878d7005d1d4a7e129a10789043c56b6021", size = 486966, upload-time = "2025-11-05T14:57:24.575Z" }, - { url = "https://files.pythonhosted.org/packages/d9/69/1db6742943c0ac254bfb7d8a37a5d3f73f016a65cfa1f84fe3a0451820f6/google_re2-1.1.20251105-1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:9f7158afc9825ac2654c6561aea94a1f7edb5b5b88e6e3639bb80bb817d102ac", size = 520225, upload-time = "2025-11-05T14:57:26.039Z" }, - { url = "https://files.pythonhosted.org/packages/f4/0a/0747c92dbebe2c09a26bd7386d372b5c5a9926236b4f3d69bb8f15db05cb/google_re2-1.1.20251105-1-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:5320da07dc3b7ac7f407514f42ac17d67e771ac7c7562d449571185e6fb601b2", size = 482943, upload-time = "2025-11-05T14:57:27.353Z" }, - { url = "https://files.pythonhosted.org/packages/7f/14/6bfc6838bb6cb561824ac03deeab2bd11d5d9a93505f536c8fa2f6bd46c4/google_re2-1.1.20251105-1-cp312-cp312-macosx_15_0_x86_64.whl", hash = "sha256:5a4e5785bc30d52ce655d805b07ad2d8a4905429a5f690ae9c2f1caa76665709", size = 510384, upload-time = "2025-11-05T14:57:29.139Z" }, - { url = "https://files.pythonhosted.org/packages/8a/0a/6add090c917ee39f6f0be753037cafceb3bad904b424efc155fb38082635/google_re2-1.1.20251105-1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2b7a3b90f747130310d4b3b8e19ebb845d0d97c1deb63b36f76c7242dacbd736", size = 572446, upload-time = "2025-11-05T14:57:30.495Z" }, - { url = "https://files.pythonhosted.org/packages/0d/1c/8b1ccbeade96a21435d55b5185cd6d9b2ceab5a9af998a4d9099e0540759/google_re2-1.1.20251105-1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:809c5fa5d08279413b29c2e2c5c528e85cd94a0e0fd897db595a0c09eeee2782", size = 591348, upload-time = "2025-11-05T14:57:31.808Z" }, - { url = "https://files.pythonhosted.org/packages/62/cf/7bdd7a1ae7828b613011da808eafec4da3132f43c3be6af5e0bd670ebe8b/google_re2-1.1.20251105-1-cp312-cp312-win32.whl", hash = "sha256:d8424e63a9ec0fe5bde03d97876b2431f8a746af33eb475fa1ae39144bd05b2a", size = 433787, upload-time = "2025-11-05T14:57:33.071Z" }, - { url = "https://files.pythonhosted.org/packages/31/e9/5dd951c35acaabfe87c67228b9af2cdcd7779d9167edbe6b9094b8a8e529/google_re2-1.1.20251105-1-cp312-cp312-win_amd64.whl", hash = "sha256:062313c309f93dfeb6966372f4c446580e98879133ec155522eea8aaf568a5cd", size = 491726, upload-time = "2025-11-05T14:57:34.39Z" }, - { url = "https://files.pythonhosted.org/packages/60/8d/c1afd29fc2cb475fd4c634f3d3c8099c0efb662362c10b27a9eaf11c9357/google_re2-1.1.20251105-1-cp312-cp312-win_arm64.whl", hash = "sha256:558f144b26a9555ae4e9467cc3aa3299a8ce13217f328b21ae326ca0633be19b", size = 642673, upload-time = "2025-11-05T14:57:35.693Z" }, - { url = "https://files.pythonhosted.org/packages/a5/b9/c441722196598fc3de0f654606ad9975a968c71dc27f516b5a4c9ebb94fd/google_re2-1.1.20251105-1-cp313-cp313-macosx_13_0_arm64.whl", hash = "sha256:9f3cf610e857a7d6f02916cf2b7fc159a5429b8bcb23164500d46e5e233f2924", size = 485549, upload-time = "2025-11-05T14:57:36.939Z" }, - { url = "https://files.pythonhosted.org/packages/ea/87/cf588255e5ada1dfb555cc96de35be78438bb0b6faba64df5fe91cecc224/google_re2-1.1.20251105-1-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:a21c2807bf4d5d00f206a4ecb3b043aad674e28c451b697b740280f608872078", size = 518840, upload-time = "2025-11-05T14:57:38.115Z" }, - { url = "https://files.pythonhosted.org/packages/0d/39/da66e4ca9be0c51546efc6fb39cf1683c4be8245d8199cb54a9808e8d5fa/google_re2-1.1.20251105-1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:8314144eefeee7b88b742081c2038418f677e63901039ca9dbfbc0c5bb6d2911", size = 487037, upload-time = "2025-11-05T14:57:39.467Z" }, - { url = "https://files.pythonhosted.org/packages/75/dd/24ba65692dd58dca6ff178428551f4e9b776d1489a1251f5c8539e598baa/google_re2-1.1.20251105-1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:28a46be978e53c772139d0f5c9ba69f53563fcdd4225407e4d34d51208b828f1", size = 520285, upload-time = "2025-11-05T14:57:40.666Z" }, - { url = "https://files.pythonhosted.org/packages/61/12/cfdbb92bed24af6474970a75a26145c424f98cfbcc633fdd185985f0efe0/google_re2-1.1.20251105-1-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:83292e23963aa1b219d5f64a65365b0880448a6a060276027b55270bc5b18c7e", size = 482981, upload-time = "2025-11-05T14:57:41.928Z" }, - { url = "https://files.pythonhosted.org/packages/97/bf/5fc32ded9279e69a87b88d7261e7e77e2e26325d4e27ca1303a3215e430a/google_re2-1.1.20251105-1-cp313-cp313-macosx_15_0_x86_64.whl", hash = "sha256:1920b15dc9b1bdfeca5aa2c60900373c6f27cd1056d53cd299456ea5540a6fff", size = 510366, upload-time = "2025-11-05T14:57:43.21Z" }, - { url = "https://files.pythonhosted.org/packages/71/71/f927ddc7aef1b8d7ccc8a649c335d311f29f3dea658209e30e37720e4891/google_re2-1.1.20251105-1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0b1458d9ca588124cd61aa1bf5388a216e1247e7d474f8e5e1530498044f5c87", size = 572390, upload-time = "2025-11-05T14:57:44.422Z" }, - { url = "https://files.pythonhosted.org/packages/f0/8c/23075e589038284c9487f41cde531d35873f9da622fb4ac7d1d97bd9086e/google_re2-1.1.20251105-1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a52cb204e49d20cdbb66faf394d57f476e96c39c23a328442ab0194fc6bd1a2b", size = 591386, upload-time = "2025-11-05T14:57:45.713Z" }, - { url = "https://files.pythonhosted.org/packages/f1/7f/858453ef689f6b9895cd02b466836a9d1a6e4ba535d1a275b01bf73baa1d/google_re2-1.1.20251105-1-cp313-cp313-win32.whl", hash = "sha256:67c5c73d7ebcf3f0e0a3b528b41bd8c6c04900f1598aebf05bbdf15a06cf5f9a", size = 433807, upload-time = "2025-11-05T14:57:46.92Z" }, - { url = "https://files.pythonhosted.org/packages/08/24/6ea87fe682e115ffd296e91eb5c5a266349d1ee8414ce8ece3f99ec1ac84/google_re2-1.1.20251105-1-cp313-cp313-win_amd64.whl", hash = "sha256:0bcba63ad3ea8926fb0c71bb5044e33d405bb9395f5b5444393cd5f28f0bf6d3", size = 491734, upload-time = "2025-11-05T14:57:48.304Z" }, - { url = "https://files.pythonhosted.org/packages/34/85/32ba71b06f3cf5f9856ae95b3d6463b971742453631a5ae2c5be338ea377/google_re2-1.1.20251105-1-cp313-cp313-win_arm64.whl", hash = "sha256:64ee189ea857f2126c5e42073cfa9b03e9f4cbaf073edbedb575059074841aa0", size = 642654, upload-time = "2025-11-05T14:57:49.602Z" }, - { url = "https://files.pythonhosted.org/packages/5e/7f/7eb238bdcd06182b5f427afd305cf413b7cf4ea71047308bbf35912cf923/google_re2-1.1.20251105-1-cp314-cp314-macosx_13_0_arm64.whl", hash = "sha256:cc151cf6a585d9ebe711da32b23683fcff40f78db8c8587c7f4b209ef4658809", size = 484719, upload-time = "2025-11-05T14:57:51.326Z" }, - { url = "https://files.pythonhosted.org/packages/6d/62/eed28eab67f939f4b9383c47b1db11638ade6ac30785c15cb960de85ba43/google_re2-1.1.20251105-1-cp314-cp314-macosx_13_0_x86_64.whl", hash = "sha256:7e2186d2c90488c1e11895343941f35ca2f58e9ba6c6b034fd531abe22ef77cc", size = 517698, upload-time = "2025-11-05T14:57:52.597Z" }, - { url = "https://files.pythonhosted.org/packages/f7/16/a1e6768513f788bf9c67a1cfe379ef34a793983eee46e4b653e42b558b78/google_re2-1.1.20251105-1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:41be22359c3dceb582937739b4365dd8e279de24ad0a5b10e653503abaff2ed7", size = 486421, upload-time = "2025-11-05T14:57:53.852Z" }, - { url = "https://files.pythonhosted.org/packages/ca/fc/7a97ffd36d451e5a8bfaff2f9022b14807795d588f98227ff96e8da99856/google_re2-1.1.20251105-1-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:f3168d7bbac247c862ea85b2f3c011d3a04bedcb6892b37f14d488f4133b206e", size = 519037, upload-time = "2025-11-05T14:57:55.078Z" }, - { url = "https://files.pythonhosted.org/packages/5f/ee/8b6f7d94bb689dafdf60de8dd8f8f6296ad40d4d15c933fcda4da7a3a06b/google_re2-1.1.20251105-1-cp314-cp314-macosx_15_0_arm64.whl", hash = "sha256:79ce664038194a31bbcf422137f9607ae3d9946a5cff98cf0efbeb7f9411e64b", size = 483373, upload-time = "2025-11-05T14:57:56.297Z" }, - { url = "https://files.pythonhosted.org/packages/d1/a6/16a09e03d1de128f821869e4252688c21319f5017d9209f4d0e71ea5c951/google_re2-1.1.20251105-1-cp314-cp314-macosx_15_0_x86_64.whl", hash = "sha256:0476b07421b8882b279d5ceb5b760c15c62d581ded95274697fc1227e3869ee6", size = 510167, upload-time = "2025-11-05T14:57:57.653Z" }, - { url = "https://files.pythonhosted.org/packages/c4/9d/213dce5de401527369fb5af11096b18c06001d9eb71f3318fe5eba1ec706/google_re2-1.1.20251105-1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:85feec3161ffdc12f6b144e37a2f91f80b771c72ffadde60191e89a49f6d7e81", size = 573176, upload-time = "2025-11-05T14:57:59.211Z" }, - { url = "https://files.pythonhosted.org/packages/03/be/a8def96aa4a80b233e105767d22e3de961dcde5a04f0a05cb4f3ddb4df78/google_re2-1.1.20251105-1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a7bfaa2cf55daf0c5c650e68526bb20b61e37d7f3ae53f6893013acc1c91c116", size = 591483, upload-time = "2025-11-05T14:58:00.416Z" }, - { url = "https://files.pythonhosted.org/packages/14/ea/144bbc4b9359da89aec07b4c2a91a6bfe7119914885386577c665b07bb01/google_re2-1.1.20251105-1-cp314-cp314-win32.whl", hash = "sha256:214c1accdc60fff9ce1bf812b157147ca361844f496ed9e0d5f357b0e562ced8", size = 433773, upload-time = "2025-11-05T14:58:01.594Z" }, - { url = "https://files.pythonhosted.org/packages/96/b3/74e301211699f1b650ba7690a3e4e52146ac4266fcd62f3ea0a945b9eda4/google_re2-1.1.20251105-1-cp314-cp314-win_amd64.whl", hash = "sha256:6d4d5fdadd329a2ed193463899d00ef2fd126172f36a4c01c9def271f19801b6", size = 491893, upload-time = "2025-11-05T14:58:02.969Z" }, - { url = "https://files.pythonhosted.org/packages/6f/d1/4adcfcb9c95e3d064c9f7aaf6cb3a4fc842d86115014b9d4094db4d465b5/google_re2-1.1.20251105-1-cp314-cp314-win_arm64.whl", hash = "sha256:1d27f3a2a947ec1f721d0f14f661108acfd4f4d34f357ce28db951cc036656e5", size = 643093, upload-time = "2025-11-05T14:58:05.761Z" }, -] - -[[package]] -name = "google-re2-stubs" -version = "0.1.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "google-re2" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/e5/a4/d8d16007eb6a6eb137ec3b6344a67199837e14a73709efeaa7285d2660eb/google_re2_stubs-0.1.1.tar.gz", hash = "sha256:f5ebef2f4188957bf980a5ad88ab266589638e5090329e6a0fde99f6bb684657", size = 4009, upload-time = "2024-10-21T15:22:43.861Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/86/2134e8ff65a22e30883bfc38ac34c5c76fd88cc9cef02ff3561f05db2b68/google_re2_stubs-0.1.1-py3-none-any.whl", hash = "sha256:a82eb6c3accd20879d711cd38151583d8a154fcca755f43a5595143a484c8118", size = 3676, upload-time = "2024-10-21T15:22:43.08Z" }, -] - [[package]] name = "griffelib" version = "2.1.0" @@ -240,24 +131,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, ] -[[package]] -name = "jmespath" -version = "1.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d3/59/322338183ecda247fb5d1763a6cbe46eff7222eaeebafd9fa65d4bf5cb11/jmespath-1.1.0.tar.gz", hash = "sha256:472c87d80f36026ae83c6ddd0f1d05d4e510134ed462851fd5f754c8c3cbb88d", size = 27377, upload-time = "2026-01-22T16:35:26.279Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/14/2f/967ba146e6d58cf6a652da73885f52fc68001525b4197effc174321d70b4/jmespath-1.1.0-py3-none-any.whl", hash = "sha256:a5663118de4908c91729bea0acadca56526eb2698e83de10cd116ae0f4e97c64", size = 20419, upload-time = "2026-01-22T16:35:24.919Z" }, -] - -[[package]] -name = "lark" -version = "1.3.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/da/34/28fff3ab31ccff1fd4f6c7c7b0ceb2b6968d8ea4950663eadcb5720591a0/lark-1.3.1.tar.gz", hash = "sha256:b426a7a6d6d53189d318f2b6236ab5d6429eaf09259f1ca33eb716eed10d2905", size = 382732, upload-time = "2025-10-27T18:25:56.653Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/82/3d/14ce75ef66813643812f3093ab17e46d3a206942ce7376d31ec2d36229e7/lark-1.3.1-py3-none-any.whl", hash = "sha256:c629b661023a014c37da873b4ff58a817398d12635d3bbb2c5a03be7fe5d1e12", size = 113151, upload-time = "2025-10-27T18:25:54.882Z" }, -] - [[package]] name = "license-header" version = "0.0.1" @@ -364,6 +237,30 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, ] +[[package]] +name = "maturin" +version = "1.14.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e7/b3/addd877f871fb1860d46d3a4f206ecb10b946c85846805e6367631926fd3/maturin-1.14.1.tar.gz", hash = "sha256:9d6577a62cd08e0ceba7a0db06fb098e0c9b1b3429bad747a4f3a18215a1b3df", size = 369637, upload-time = "2026-06-19T05:19:49.774Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/f0/97c5a5bd9c71653a066c0976a484eaaae50b9369557838a4176b7b0bdaa5/maturin-1.14.1-py3-none-linux_armv6l.whl", hash = "sha256:522292398945442cdafa9daeb2271b2340fbde57027b818f923f88eab04174f8", size = 10207496, upload-time = "2026-06-19T05:19:09.321Z" }, + { url = "https://files.pythonhosted.org/packages/fe/83/294bca639b0e052f1e2f65199b3db258780c7d4e31408b934c9c974a1379/maturin-1.14.1-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:ffe5ad71f21d1e6603c4dd75f7fee34adf5ed5ebcebb692886549888ebb329ed", size = 19680113, upload-time = "2026-06-19T05:19:13.43Z" }, + { url = "https://files.pythonhosted.org/packages/43/b6/79c881410a3b1c187f7eb3d407aecae646c6a4433d630d72200359015e83/maturin-1.14.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:f3306078070c1508fd715b9116070cbcaff5959024272a9f1e6f5cb29768b86c", size = 10169205, upload-time = "2026-06-19T05:19:16.615Z" }, + { url = "https://files.pythonhosted.org/packages/93/9d/44b6f26dcb7f7a04c5501ac2dbb6ca1490150682baa525ca5860504f9eab/maturin-1.14.1-py3-none-manylinux_2_12_i686.manylinux2010_i686.musllinux_1_1_i686.whl", hash = "sha256:cd457cd88961156e26379e1155bd287cc0ec1c8b2f1582b0660fb31b87c8842d", size = 10188098, upload-time = "2026-06-19T05:19:19.736Z" }, + { url = "https://files.pythonhosted.org/packages/1a/bd/9c0d5d6983905ce2c9edaa073a7e89355a9cf7f396988e05d32f1c37785d/maturin-1.14.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl", hash = "sha256:dfc54ae32e6fcb18302193ab9a30b0b25eefffba994ae13238974805533ef75e", size = 10627576, upload-time = "2026-06-19T05:19:22.713Z" }, + { url = "https://files.pythonhosted.org/packages/e5/33/b096412bd6a7cb399652b260666f901adf88a687181a6dbd6a3f89f0a94e/maturin-1.14.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:a131d912b5267e640bc96d70f4914e10590aed64082ec9abacba7cea52004224", size = 10085181, upload-time = "2026-06-19T05:19:25.69Z" }, + { url = "https://files.pythonhosted.org/packages/56/8d/08c3bf469c38a23c9e6c877e338193001eb604d010fedc08341974e38528/maturin-1.14.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl", hash = "sha256:be18fc568fb76884c0205456336892a75105ec398e6b667cd777c6268bd06d69", size = 10026363, upload-time = "2026-06-19T05:19:28.904Z" }, + { url = "https://files.pythonhosted.org/packages/3a/a4/c4d1a92839f8745ab4aab988a7db884a79d6d710bd3b286fcf9316dece1a/maturin-1.14.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.musllinux_1_1_ppc64le.whl", hash = "sha256:994a0c8ba3ad8a92b3a9ee1b02645d200d610216b15cff5102b0fe65e8e08666", size = 13321347, upload-time = "2026-06-19T05:19:32.411Z" }, + { url = "https://files.pythonhosted.org/packages/b3/fa/170f04624d03fd07d2a8b1b67de83a127af93aef9eaa425839553347297b/maturin-1.14.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:be80866363e605d137991b491a741a84cde9ae350183c4c85f49690ca9aaaa65", size = 10877609, upload-time = "2026-06-19T05:19:35.448Z" }, + { url = "https://files.pythonhosted.org/packages/61/ad/1ae2e1d0ded282bf2c55ac13f0811d87deb425e200ae64a15785675dede9/maturin-1.14.1-py3-none-manylinux_2_31_riscv64.musllinux_1_1_riscv64.whl", hash = "sha256:5282dffd4b539d2be245f4e5b1a5ab6bc1033b58f4a4872f5833f9d43c954aa4", size = 10417316, upload-time = "2026-06-19T05:19:38.28Z" }, + { url = "https://files.pythonhosted.org/packages/fb/27/bf677183920718da49cd7982d6a3ffc440aad8919329f571d189f81b7bdf/maturin-1.14.1-py3-none-win32.whl", hash = "sha256:1a04de0a20188f95c721b5702eed18140bdcccb28c386797093eca3f62f4d4e0", size = 8931293, upload-time = "2026-06-19T05:19:41.183Z" }, + { url = "https://files.pythonhosted.org/packages/63/4b/585adeb9167b08d3cdff0032a938b0e72655c92003df4f52c3f696a1bcc2/maturin-1.14.1-py3-none-win_amd64.whl", hash = "sha256:3c9f94640ecc4895e94abaf834a0684430032c865b2748a36c12461fd9252fdd", size = 10314067, upload-time = "2026-06-19T05:19:44.389Z" }, + { url = "https://files.pythonhosted.org/packages/51/d4/dac8c0720ae246be1700afb6fbdbbea20fe35b13f6570b2f70faa005df77/maturin-1.14.1-py3-none-win_arm64.whl", hash = "sha256:15cea8fcb3ba47dd636f50092bb34baea8b04ac777392f23e6bf8a9a61efb894", size = 9718943, upload-time = "2026-06-19T05:19:47.49Z" }, +] + [[package]] name = "mergedeep" version = "1.3.4" @@ -484,75 +381,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl", hash = "sha256:a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189", size = 57328, upload-time = "2026-04-27T01:46:07.06Z" }, ] -[[package]] -name = "pendulum" -version = "3.2.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "python-dateutil" }, - { name = "tzdata" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/cb/72/9a51afa0a822b09e286c4cb827ed7b00bc818dac7bd11a5f161e493a217d/pendulum-3.2.0.tar.gz", hash = "sha256:e80feda2d10fa3ff8b1526715f7d33dcb7e08494b3088f2c8a3ac92d4a4331ce", size = 86912, upload-time = "2026-01-30T11:22:24.093Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ca/a4/934d8c97851bda5a034b0fd0512689173c8ca8cb3b87ebf8e5c1364d57f3/pendulum-3.2.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:4a6bf778c6b42830b001c714dae5b9dad78da38e2e08203a4b0f5d53f8fa5e63", size = 338065, upload-time = "2026-01-30T11:20:36.467Z" }, - { url = "https://files.pythonhosted.org/packages/47/92/2091275a9025f9b9ef9bf72ae386786a9b03af9515f5e2f5befb012ec91f/pendulum-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:625209bb7133d990905e8935e1c04f0a82315ae777b67910969b16f665d62c0b", size = 327426, upload-time = "2026-01-30T11:20:38.506Z" }, - { url = "https://files.pythonhosted.org/packages/fd/ba/efc999e5b441a470df28964531c3ee7fce90dd2c510969132bba5897084e/pendulum-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6f1d8641e8bd48b9b6f77f96fd498d3ecec63611ba8e7207e63936307846042", size = 340362, upload-time = "2026-01-30T11:20:40.329Z" }, - { url = "https://files.pythonhosted.org/packages/8c/71/bc88d786f0a10fcfdc5a0bac75c6cdb38df13ee09bc04d2e6ac0d3fd7948/pendulum-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3a8d4212b1577ee3a034d18b360a9afa55bfc72789aeb805353be8b2ac132035", size = 373937, upload-time = "2026-01-30T11:20:42.242Z" }, - { url = "https://files.pythonhosted.org/packages/86/fb/48262b5b31fdfd68221cb92ab228657d0cd628fb35eca1a6f3aedad5ea09/pendulum-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e398d9e3db42d17f0c2cd39663c1c873ea6f11763ed6d126e2dcc92fc340d0dc", size = 379391, upload-time = "2026-01-30T11:20:43.736Z" }, - { url = "https://files.pythonhosted.org/packages/ae/72/cecb1710c36c6fe61e545050607c2050a2af0b991cf1a3d83981dfd895e8/pendulum-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04310463879a8d84534756ef9820d433e88b879203b6e10a5b416899dc05e7f1", size = 348433, upload-time = "2026-01-30T11:20:45.207Z" }, - { url = "https://files.pythonhosted.org/packages/5d/a5/ec00008ba2f3298047a32b53588550a7ead84c579e7d7e4396474ab2f1ef/pendulum-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5b4f7491951c11bbdb20893817352c9140d31d1ae333839c34c0bca081a50a86", size = 517623, upload-time = "2026-01-30T11:20:46.741Z" }, - { url = "https://files.pythonhosted.org/packages/f1/6f/541730ac4679e7f7ff5786aed21865c4f4a7d9b1d2693cfdbb891bdd5a5a/pendulum-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ffc169ad7595228d4dfc44d4e016846ff1bb5873b9f7ec70b0b1b51da0c77b3f", size = 561237, upload-time = "2026-01-30T11:20:48.252Z" }, - { url = "https://files.pythonhosted.org/packages/cf/c1/165f10f2e37978caf92a1dca71726e7cd5d8de4039f9f4a6d1994a9b8d7f/pendulum-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:446f63d84ef21281844ceb45141536d3aabe291a821b6505e21a0d0e3ea95d67", size = 260733, upload-time = "2026-01-30T11:20:50.249Z" }, - { url = "https://files.pythonhosted.org/packages/c4/27/a4be6ec12161b503dd036f8d7cc57f8626170ae31bb298038be9af0001ce/pendulum-3.2.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5d775cc608c909ad415c8e789c84a9f120bb6a794c4215b2d8d910893cf0ec6a", size = 337923, upload-time = "2026-01-30T11:20:51.61Z" }, - { url = "https://files.pythonhosted.org/packages/59/e1/2a214e18355ec2a6ce3f683a97eecdb6050866ff3a6cf165d411450aeb1b/pendulum-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8de794a7f665aebc8c1ba4dd4b05ab8fe1a36ce9c0498366adf1d1edd79b2686", size = 327379, upload-time = "2026-01-30T11:20:53.085Z" }, - { url = "https://files.pythonhosted.org/packages/9d/01/7392e58ebc1d9e70b987dc8bb0c89710b47ac8125067efe7aa4c420b616f/pendulum-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bac7df7696e1c942e17c0556b3a7bcdd1d7aa5b24faee7620cb071e754a0622", size = 340115, upload-time = "2026-01-30T11:20:54.635Z" }, - { url = "https://files.pythonhosted.org/packages/ef/33/80de84c5ca1a3e4f7f3b75090c9b61b6dbb6d095e302ee592cebbaf0bbfb/pendulum-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db0f6a8a04475d9cba26ce701e7d66d266fd97227f2f5f499270eba04be1c7e9", size = 373969, upload-time = "2026-01-30T11:20:56.209Z" }, - { url = "https://files.pythonhosted.org/packages/75/e4/f7b4c1818927ab394a2a0a9b7011f360a0a75839a22678833c5bc0a84183/pendulum-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c352c63c1ff05f2198409b28498d7158547a8be23e1fbd4aa2cf5402fb239b55", size = 379058, upload-time = "2026-01-30T11:20:57.618Z" }, - { url = "https://files.pythonhosted.org/packages/36/94/9947cf710620afcc68751683f2f8de88d902505e7c13c0349d7e9d362f97/pendulum-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de8c1ad1d1aa7d4ceae341528bab35a0f8c88a5aa63f2f5d84e16b517d1b32c2", size = 348403, upload-time = "2026-01-30T11:20:59.56Z" }, - { url = "https://files.pythonhosted.org/packages/6f/12/0e6ba0bb00fa57907af2a3fca8643bded5dba1e87072d50673776a0d6ed2/pendulum-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1ba955511c12fec2252038b0c866c25c0c30b720bf74d3023710f121e42b1498", size = 517457, upload-time = "2026-01-30T11:21:01.602Z" }, - { url = "https://files.pythonhosted.org/packages/c6/fe/dae5fbfe67bd41d943def0ad8f1e7f6988aa8e527255e433cd7c494f9ad5/pendulum-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4115bf364a2ec6d5ddc476751ceaa4164a04f2c15589f0d29aa210ddb784b15d", size = 561103, upload-time = "2026-01-30T11:21:03.924Z" }, - { url = "https://files.pythonhosted.org/packages/ce/a0/8f646160b98abfc19152505af19bd643a4279ec2bdbe0959f16b7025fc6b/pendulum-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:4151a903356413fdd9549de0997b708fb95a214ed97803ffb479ffd834088378", size = 260595, upload-time = "2026-01-30T11:21:05.495Z" }, - { url = "https://files.pythonhosted.org/packages/79/01/feead7af9ded7a13f2d798fb6573e70f469113eafcd8cc8f59671584ca3e/pendulum-3.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:acfdee9ddc56053cb7c8c075afbfde0857322d09e56a56195b9cd127fae87e4c", size = 255382, upload-time = "2026-01-30T11:21:06.847Z" }, - { url = "https://files.pythonhosted.org/packages/41/56/dd0ea9f97d25a0763cda09e2217563b45714786118d8c68b0b745395d6eb/pendulum-3.2.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:bf0b489def51202a39a2a665dcc4162d5e46934a740fe4c4fe3068979610156c", size = 337830, upload-time = "2026-01-30T11:21:08.298Z" }, - { url = "https://files.pythonhosted.org/packages/cf/98/83d62899bf7226fc12396de4bc1fb2b5da27e451c7c60790043aaf8b4731/pendulum-3.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:937a529aa302efa18dcf25e53834964a87ffb2df8f80e3669ab7757a6126beaf", size = 327574, upload-time = "2026-01-30T11:21:09.715Z" }, - { url = "https://files.pythonhosted.org/packages/76/fa/ff2aa992b23f0543c709b1a3f3f9ed760ec71fd02c8bb01f93bf008b52e4/pendulum-3.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85c7689defc65c4dc29bf257f7cca55d210fabb455de9476e1748d2ab2ae80d7", size = 339891, upload-time = "2026-01-30T11:21:11.089Z" }, - { url = "https://files.pythonhosted.org/packages/c5/4e/25b4fa11d19503d50d7b52d7ef943c0f20fd54422aaeb9e38f588c815c50/pendulum-3.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d5e216e5a412563ea2ecf5de467dcf3d02717947fcdabe6811d5ee360726b02b", size = 373726, upload-time = "2026-01-30T11:21:12.493Z" }, - { url = "https://files.pythonhosted.org/packages/4f/30/0acad6396c4e74e5c689aa4f0b0c49e2ecdcfce368e7b5bf35ca1c0fc61a/pendulum-3.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3a2af22eeec438fbaac72bb7fba783e0950a514fba980d9a32db394b51afccec", size = 379827, upload-time = "2026-01-30T11:21:14.08Z" }, - { url = "https://files.pythonhosted.org/packages/3a/f7/e6a2fdf2a23d59b4b48b8fa89e8d4bf2dd371aea2c6ba8fcecec20a4acb9/pendulum-3.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3159cceb54f5aa8b85b141c7f0ce3fac8bdd1ffdc7c79e67dca9133eac7c4d11", size = 348921, upload-time = "2026-01-30T11:21:15.816Z" }, - { url = "https://files.pythonhosted.org/packages/7f/f2/c15fa7f9ad4e181aa469b6040b574988bd108ccdf4ae509ad224f9e4db44/pendulum-3.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c39ea5e9ffa20ea8bae986d00e0908bd537c8468b71d6b6503ab0b4c3d76e0ea", size = 517188, upload-time = "2026-01-30T11:21:17.835Z" }, - { url = "https://files.pythonhosted.org/packages/47/c7/5f80b12ee88ec26e930c3a5a602608a63c29cf60c81a0eb066d583772550/pendulum-3.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e5afc753e570cce1f44197676371f68953f7d4f022303d141bb09f804d5fe6d7", size = 561833, upload-time = "2026-01-30T11:21:19.232Z" }, - { url = "https://files.pythonhosted.org/packages/90/15/1ac481626cb63db751f6281e294661947c1f0321ebe5d1c532a3b51a8006/pendulum-3.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:fd55c12560816d9122ca2142d9e428f32c0c083bf77719320b1767539c7a3a3b", size = 258725, upload-time = "2026-01-30T11:21:20.558Z" }, - { url = "https://files.pythonhosted.org/packages/40/ae/50b0398d7d027eb70a3e1e336de7b6e599c6b74431cb7d3863287e1292bb/pendulum-3.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:faef52a7ed99729f0838353b956f3fabf6c550c062db247e9e2fc2b48fcb9457", size = 253089, upload-time = "2026-01-30T11:21:22.497Z" }, - { url = "https://files.pythonhosted.org/packages/27/8c/400c8b8dbd7524424f3d9902ded64741e82e5e321d1aabbd68ade89e71cf/pendulum-3.2.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:addb0512f919fe5b70c8ee534ee71c775630d3efe567ea5763d92acff857cfc3", size = 337820, upload-time = "2026-01-30T11:21:24.305Z" }, - { url = "https://files.pythonhosted.org/packages/59/38/7c16f26cc55d9206d71da294ce6857d0da381e26bc9e0c2a069424c2b173/pendulum-3.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3aaa50342dc174acebdc21089315012e63789353957b39ac83cac9f9fc8d1075", size = 327551, upload-time = "2026-01-30T11:21:25.747Z" }, - { url = "https://files.pythonhosted.org/packages/0b/cd/f36ec5d56d55104232380fdbf84ff53cc05607574af3cbdc8a43991ac8a7/pendulum-3.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:927e9c9ab52ff68e71b76dd410e5f1cd78f5ea6e7f0a9f5eb549aea16a4d5354", size = 339894, upload-time = "2026-01-30T11:21:27.229Z" }, - { url = "https://files.pythonhosted.org/packages/aa/4e/b9a1e546519c3a92d5bc17787cea925e06a20def2ae344fa136d2fc40338/pendulum-3.2.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:249d18f5543c9f43aba3bd77b34864ec8cf6f64edbead405f442e23c94fce63d", size = 373766, upload-time = "2026-01-30T11:21:28.642Z" }, - { url = "https://files.pythonhosted.org/packages/ea/a6/6471ab87ae2260594501f071586a765fc894817043b7d2d4b04e2eff4f31/pendulum-3.2.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c644cc15eec5fb02291f0f193195156780fd5a0affd7a349592403826d1a35e", size = 379837, upload-time = "2026-01-30T11:21:30.637Z" }, - { url = "https://files.pythonhosted.org/packages/0d/79/0ba0c14e862388f7b822626e6e989163c23bebe7f96de5ec4b207cbe7c3d/pendulum-3.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:063ab61af953bb56ad5bc8e131fd0431c915ed766d90ccecd7549c8090b51004", size = 348904, upload-time = "2026-01-30T11:21:32.436Z" }, - { url = "https://files.pythonhosted.org/packages/17/34/df922c7c0b12719589d4954bfa5bdca9e02bcde220f5c5c1838a87118960/pendulum-3.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:26a3ae26c9dd70a4256f1c2f51addc43641813574c0db6ce5664f9861cd93621", size = 517173, upload-time = "2026-01-30T11:21:34.428Z" }, - { url = "https://files.pythonhosted.org/packages/87/ec/3b9e061eeee97b72a47c1434ee03f6d85f0284d9285d92b12b0fff2d19ac/pendulum-3.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:2b10d91dc00f424444a42f47c69e6b3bfd79376f330179dc06bc342184b35f9a", size = 561744, upload-time = "2026-01-30T11:21:35.861Z" }, - { url = "https://files.pythonhosted.org/packages/fd/7e/f12fdb6070b7975c1fcfa5685dbe4ab73c788878a71f4d1d7e3c87979e37/pendulum-3.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:63070ff03e30a57b16c8e793ee27da8dac4123c1d6e0cf74c460ce9ee8a64aa4", size = 258746, upload-time = "2026-01-30T11:21:37.782Z" }, - { url = "https://files.pythonhosted.org/packages/c9/b8/5abd872056357f069ae34a9b24a75ac58e79092d16201d779a8dd31386bb/pendulum-3.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c8dde63e2796b62070a49ce813ce200aba9186130307f04ec78affcf6c2e8122", size = 253028, upload-time = "2026-01-30T11:21:39.381Z" }, - { url = "https://files.pythonhosted.org/packages/82/99/5b9cc823862450910bcb2c7cdc6884c0939b268639146d30e4a4f55eb1f1/pendulum-3.2.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:c17ac069e88c5a1e930a5ae0ef17357a14b9cc5a28abadda74eaa8106d241c8e", size = 338281, upload-time = "2026-01-30T11:21:40.812Z" }, - { url = "https://files.pythonhosted.org/packages/cd/3a/64a35260f6ac36c0ad50eeb5f1a465b98b0d7603f79a5c2077c41326d639/pendulum-3.2.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e1fbb540edecb21f8244aebfb05a1f2333ddc6c7819378c099d4a61cc91ae93c", size = 328030, upload-time = "2026-01-30T11:21:42.778Z" }, - { url = "https://files.pythonhosted.org/packages/da/6b/1140e09310035a2afb05bb90a2b8fbda9d3222e03b92de9533123afe6b65/pendulum-3.2.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8c67fb9a1fe8fc1adae2cc01b0c292b268c12475b4609ff4aed71c9dd367b4d", size = 340206, upload-time = "2026-01-30T11:21:44.148Z" }, - { url = "https://files.pythonhosted.org/packages/52/4a/a493de56cbc24a64b21ac6ba98513a9ec5c67daa3dba325e39a8e53f30d8/pendulum-3.2.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:baa9a66c980defda6cfe1275103a94b22e90d83ebd7a84cc961cee6cbd25a244", size = 373976, upload-time = "2026-01-30T11:21:45.56Z" }, - { url = "https://files.pythonhosted.org/packages/3c/4c/f083c4fd1a161d4ab218680cc906338c541497b3098373f2241f58c429cb/pendulum-3.2.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef8f783fa7a14973b0596d8af2a5b2d90858a55030e9b4c6885eb4284b88314f", size = 380075, upload-time = "2026-01-30T11:21:46.959Z" }, - { url = "https://files.pythonhosted.org/packages/57/b6/333a0fcb33bf15eb879a46a11ce6300c1698a141e689665fe430783ff8d6/pendulum-3.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7d2e9bfb065727d8676e7ada3793b47a24349500a5e9637404355e482c822be", size = 349026, upload-time = "2026-01-30T11:21:48.271Z" }, - { url = "https://files.pythonhosted.org/packages/43/1a/dfb526ec0cba1e7cd6a5e4f4dd64a6ada7428d1449c54b15f7b295f6e122/pendulum-3.2.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:55d7ba6bb74171c3ee409bf30076ee3a259a3c2bb147ac87ebb76aaa3cf5d3a2", size = 517395, upload-time = "2026-01-30T11:21:49.643Z" }, - { url = "https://files.pythonhosted.org/packages/c9/37/b4f2b5f1200351c4869b8b46ad5c21019e3dbe0417f5867ae969fad7b5fe/pendulum-3.2.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:a50d8cf42f06d3d8c3f8bb2a7ac47fa93b5145e69de6a7209be6a47afdd9cf76", size = 561926, upload-time = "2026-01-30T11:21:51.698Z" }, - { url = "https://files.pythonhosted.org/packages/a0/9e/567376582da58f5fe8e4f579db2bcfbf243cf619a5825bdf1023ad1436b3/pendulum-3.2.0-cp314-cp314-win_amd64.whl", hash = "sha256:e5bbb92b155cd5018b3cf70ee49ed3b9c94398caaaa7ed97fe41e5bb5a968418", size = 258817, upload-time = "2026-01-30T11:21:53.074Z" }, - { url = "https://files.pythonhosted.org/packages/95/67/dfffd7eb50d67fa821cd4d92cf71575ead6162930202bc40dfcedf78c38c/pendulum-3.2.0-cp314-cp314-win_arm64.whl", hash = "sha256:d53134418e04335c3029a32e9341cccc9b085a28744fb5ee4e6a8f5039363b1a", size = 253292, upload-time = "2026-01-30T11:21:54.484Z" }, - { url = "https://files.pythonhosted.org/packages/c9/0d/d5ac8468a1b40f09a62d6e91654088de432367907579dd161c0fb1bdf222/pendulum-3.2.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:9585594d32faa71efa5a78f576f1ee4f79e9c5340d7c6f0cd6c5dfe725effaaa", size = 338760, upload-time = "2026-01-30T11:22:12.225Z" }, - { url = "https://files.pythonhosted.org/packages/a0/e5/7fa8c8be6caac8e0be78fbe7668df571f44820ed779cb3736fab645fcba8/pendulum-3.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:26401e2de77c437e8f3b6160c08c6c5d45518d906f8f9b48fd7cb5aa0f4e2aff", size = 328333, upload-time = "2026-01-30T11:22:13.811Z" }, - { url = "https://files.pythonhosted.org/packages/ad/78/73a1031b7d1bf7986e8e655cea3f018164b3470aecfea25a4074e77dda73/pendulum-3.2.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:637e65af042f383a2764a886aa28ccc6f853bf7a142df18e41c720542934c13b", size = 340841, upload-time = "2026-01-30T11:22:15.278Z" }, - { url = "https://files.pythonhosted.org/packages/49/40/4e36e9074e92b0164c088b9ada3c02bfea386d83e24fa98b30fe9b6e61a8/pendulum-3.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6e46c28f4d067233c4a4c42748f4ffa641d9289c09e0e81488beb6d4b3fab51", size = 348959, upload-time = "2026-01-30T11:22:16.718Z" }, - { url = "https://files.pythonhosted.org/packages/24/99/8bf7fcb91b526e1efe17d047faa845709b88800fff915ff848ff26054293/pendulum-3.2.0-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:71d46bcc86269f97bfd8c5f1475d55e717696a0a010b1871023605ca94624031", size = 518102, upload-time = "2026-01-30T11:22:18.2Z" }, - { url = "https://files.pythonhosted.org/packages/b8/b0/a36c468d2d0dec62ddea7c5e4177e93abb12f48ac90f09f24d0581c5189f/pendulum-3.2.0-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:5cd956d4176afc7bfe8a91bf3f771b46ff8d326f6c5bf778eb5010eb742ebba6", size = 561884, upload-time = "2026-01-30T11:22:19.671Z" }, - { url = "https://files.pythonhosted.org/packages/c5/4d/dad105261898907bf806cabca53d3878529a9fa2c0d5d7f95f2035246fc2/pendulum-3.2.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:39ef129d7b90aab49708645867abdd207b714ba7bff12dae549975b0aca09716", size = 261236, upload-time = "2026-01-30T11:22:21.059Z" }, - { url = "https://files.pythonhosted.org/packages/02/fb/d65db067a67df7252f18b0cb7420dda84078b9e8bfb375215469c14a50be/pendulum-3.2.0-py3-none-any.whl", hash = "sha256:f3a9c18a89b4d9ef39c5fa6a78722aaff8d5be2597c129a3b16b9f40a561acf3", size = 114111, upload-time = "2026-01-30T11:22:22.361Z" }, -] - [[package]] name = "platformdirs" version = "4.11.1" @@ -652,26 +480,18 @@ name = "protovalidate" version = "2.0.0" source = { editable = "." } dependencies = [ - { name = "cel-python" }, - { name = "google-re2" }, { name = "protobuf-py" }, ] -[package.optional-dependencies] -cel-expr = [ - { name = "cel-expr-python", marker = "python_full_version >= '3.11'" }, - { name = "protobuf", marker = "python_full_version >= '3.11'" }, -] - [package.dev-dependencies] dev = [ { name = "buf-bin" }, - { name = "cel-expr-python", marker = "python_full_version >= '3.11'" }, { name = "fix-protobuf-imports" }, - { name = "google-re2-stubs" }, { name = "license-header" }, + { name = "maturin" }, { name = "poethepoet" }, { name = "protobuf" }, + { name = "pydantic" }, { name = "pytest" }, { name = "pytest-benchmark" }, { name = "ruff" }, @@ -680,15 +500,15 @@ dev = [ { name = "types-protobuf" }, ] dev-optional = [ - { name = "cel-expr-python", marker = "python_full_version >= '3.11'" }, { name = "protobuf" }, ] dev-required = [ { name = "buf-bin" }, { name = "fix-protobuf-imports" }, - { name = "google-re2-stubs" }, { name = "license-header" }, + { name = "maturin" }, { name = "poethepoet" }, + { name = "pydantic" }, { name = "pytest" }, { name = "pytest-benchmark" }, { name = "ruff" }, @@ -702,27 +522,17 @@ docs = [ ] [package.metadata] -requires-dist = [ - { name = "cel-expr-python", marker = "python_full_version >= '3.11' and extra == 'cel-expr'", specifier = ">=0.1.3" }, - { name = "cel-python", specifier = ">=0.5" }, - { name = "google-re2", specifier = ">=1" }, - { name = "google-re2", marker = "python_full_version == '3.12.*'", specifier = ">=1.1" }, - { name = "google-re2", marker = "python_full_version == '3.13.*'", specifier = ">=1.1.20250722" }, - { name = "google-re2", marker = "python_full_version == '3.14.*'", specifier = ">=1.1.20251105" }, - { name = "protobuf", marker = "python_full_version >= '3.11' and extra == 'cel-expr'", specifier = ">=6.31.0" }, - { name = "protobuf-py", specifier = ">=0.2.0" }, -] -provides-extras = ["cel-expr"] +requires-dist = [{ name = "protobuf-py", specifier = ">=0.2.0" }] [package.metadata.requires-dev] dev = [ { name = "buf-bin", specifier = "==1.72.0" }, - { name = "cel-expr-python", marker = "python_full_version >= '3.11'", specifier = ">=0.1.3" }, { name = "fix-protobuf-imports", specifier = "==0.1.7" }, - { name = "google-re2-stubs", specifier = "==0.1.1" }, { name = "license-header", specifier = "==0.0.1" }, + { name = "maturin", specifier = "==1.14.1" }, { name = "poethepoet", specifier = "==0.48.0" }, { name = "protobuf", specifier = ">=6.31.0" }, + { name = "pydantic", specifier = "==2.13.4" }, { name = "pytest", specifier = "==9.1.1" }, { name = "pytest-benchmark", specifier = "==5.2.3" }, { name = "ruff", specifier = "==0.16.2" }, @@ -730,16 +540,14 @@ dev = [ { name = "ty", specifier = "==0.0.69" }, { name = "types-protobuf", specifier = "==6.32.1.20260221" }, ] -dev-optional = [ - { name = "cel-expr-python", marker = "python_full_version >= '3.11'", specifier = ">=0.1.3" }, - { name = "protobuf", specifier = ">=6.31.0" }, -] +dev-optional = [{ name = "protobuf", specifier = ">=6.31.0" }] dev-required = [ { name = "buf-bin", specifier = "==1.72.0" }, { name = "fix-protobuf-imports", specifier = "==0.1.7" }, - { name = "google-re2-stubs", specifier = "==0.1.1" }, { name = "license-header", specifier = "==0.0.1" }, + { name = "maturin", specifier = "==1.14.1" }, { name = "poethepoet", specifier = "==0.48.0" }, + { name = "pydantic", specifier = "==2.13.4" }, { name = "pytest", specifier = "==9.1.1" }, { name = "pytest-benchmark", specifier = "==5.2.3" }, { name = "ruff", specifier = "==0.16.2" }, @@ -761,6 +569,137 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl", hash = "sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5", size = 22335, upload-time = "2022-10-25T20:38:27.636Z" }, ] +[[package]] +name = "pydantic" +version = "2.13.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/18/a5/b60d21ac674192f8ab0ba4e9fd860690f9b4a6e51ca5df118733b487d8d6/pydantic-2.13.4.tar.gz", hash = "sha256:c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6", size = 844775, upload-time = "2026-05-06T13:43:05.343Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl", hash = "sha256:45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba", size = 472262, upload-time = "2026-05-06T13:43:02.641Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.46.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/56/921726b776ace8d8f5db44c4ef961006580d91dc52b803c489fafd1aa249/pydantic_core-2.46.4.tar.gz", hash = "sha256:62f875393d7f270851f20523dd2e29f082bcc82292d66db2b64ea71f64b6e1c1", size = 471464, upload-time = "2026-05-06T13:37:06.98Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/08/f1ba952f1c8ae5581c70fa9c6da89f247b83e3dd8c09c035d5d7931fc23d/pydantic_core-2.46.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a396dcc17e5a0b164dbe026896245a4fa9ff402edca1dff0be3d53a517f74de4", size = 2113146, upload-time = "2026-05-06T13:37:36.537Z" }, + { url = "https://files.pythonhosted.org/packages/56/c6/65f646c7ff09bd257f660434adb45c4dfcbbcebcc030562fecf6f5bf887d/pydantic_core-2.46.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:da4b951fe36dc7c3a1ccb4e3cd1747c3542b8c9ceede8fc86cae054e764485f5", size = 1949769, upload-time = "2026-05-06T13:37:46.365Z" }, + { url = "https://files.pythonhosted.org/packages/64/ba/bfb1d928fd5b49e1258935ff104ae356e9fd89384a55bf9f847e9193ad40/pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb63e0198ca18aad131c089b9204c23079c3afa95487e561f4c522d519e55aba", size = 1974958, upload-time = "2026-05-06T13:37:28.611Z" }, + { url = "https://files.pythonhosted.org/packages/4e/74/76223bfb117b64af743c9b6670d1364516f5c0604f96b48f3272f6af6cc6/pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f47286a97f0bc9b8859519809077b91b2cefe4ae47fcbf5e466a009c1c5d742b", size = 2042118, upload-time = "2026-05-06T13:36:55.216Z" }, + { url = "https://files.pythonhosted.org/packages/cb/7b/848732968bc8f48f3187542f08358b9d842db564147b256669426ebb1652/pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:905a0ed8ea6f2d61c1738835f99b699348d7857379083e5fc497fa0c967a407c", size = 2222876, upload-time = "2026-05-06T13:38:25.455Z" }, + { url = "https://files.pythonhosted.org/packages/b5/2f/e90b63ee2e14bd8d3db8f705a6d75d64e6ee1b7c2c8833747ce706e1e0ce/pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea793e075b70290d89d8142074262885d3f7da19634845135751bd6344f73b50", size = 2286703, upload-time = "2026-05-06T13:37:53.304Z" }, + { url = "https://files.pythonhosted.org/packages/ba/1e/acc4d70f88a0a277e4a1fa77ebb985ceabaf900430f875bf9338e11c9420/pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395aebd9183f9d112f569aeb5b2214d1a10a33bec8456447f7fbdfa51d38d4cd", size = 2092042, upload-time = "2026-05-06T13:38:46.981Z" }, + { url = "https://files.pythonhosted.org/packages/a9/da/0a422b57bf8504102bf3c4ccea9c41bab5a5cee6a54650acf8faf67f5a24/pydantic_core-2.46.4-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:b078afbc25f3a1436c7a1d2cd3e322497ee99615ba97c563566fdf46aff1ee01", size = 2117231, upload-time = "2026-05-06T13:39:23.146Z" }, + { url = "https://files.pythonhosted.org/packages/bd/2a/2ac13c3af305843e23c5078c53d135656b3f05a2fd78cb7bbbb12e97b473/pydantic_core-2.46.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f747929cf940cddb5b3668a390056ddd5ba2e5010615ea2dcf4f9c4f3ab8791d", size = 2168388, upload-time = "2026-05-06T13:40:08.06Z" }, + { url = "https://files.pythonhosted.org/packages/72/04/2beacf7e1607e93eefe4aed1b4709f079b905fb77530179d4f7c71745f22/pydantic_core-2.46.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:daa27d92c36f24388fe3ad306b174781c747627f134452e4f128ea00ce1fe8c4", size = 2184769, upload-time = "2026-05-06T13:38:13.901Z" }, + { url = "https://files.pythonhosted.org/packages/9e/29/d2b9fd9f539133548eaf622c06a4ce176cb46ac59f32d0359c4abc0de047/pydantic_core-2.46.4-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:19e51f073cd3df251856a8a4189fbdf1de4012c3ebacfb1884f94f1eb406079f", size = 2319312, upload-time = "2026-05-06T13:39:08.24Z" }, + { url = "https://files.pythonhosted.org/packages/7c/af/0f7a5b85fec6075bea96e3ef9187de38fccced0de92c1e7feda8d5cc7bb9/pydantic_core-2.46.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1747f85cee84c26985853c6f3d9bd3e75da5212912443fa111c113b9c246f39", size = 2361817, upload-time = "2026-05-06T13:38:43.2Z" }, + { url = "https://files.pythonhosted.org/packages/25/a4/73363fec545fd3ec025490bdda2743c56d0dd5b6266b1a53bbe9e4265375/pydantic_core-2.46.4-cp310-cp310-win32.whl", hash = "sha256:2f84c03c8607173d16b5a854ec68a2f9079ae03237a54fb506d13af47e1d018d", size = 1987085, upload-time = "2026-05-06T13:39:25.497Z" }, + { url = "https://files.pythonhosted.org/packages/01/aa/62f082da2c91fac1c234bc9ee0066257ce83f0604abd72e4c9d5991f2d84/pydantic_core-2.46.4-cp310-cp310-win_amd64.whl", hash = "sha256:8358a950c8909158e3df31538a7e4edc2d7265a7c54b47f0864d9e5bae9dcebf", size = 2074311, upload-time = "2026-05-06T13:39:59.922Z" }, + { url = "https://files.pythonhosted.org/packages/5c/fa/6d7708d2cfc1a832acb6aeb0cd16e801902df8a0f583bb3b4b527fde022e/pydantic_core-2.46.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:0e96592440881c74a213e5ad528e2b24d3d4f940de2766bed9010ab1d9e51594", size = 2111872, upload-time = "2026-05-06T13:40:27.596Z" }, + { url = "https://files.pythonhosted.org/packages/ae/6f/aa064a3e74b5745afbdf250594f38e7ead05e2d651bcb35994b9417a0d4d/pydantic_core-2.46.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0d65b8c354be7fb5f720c3caa8bc940bc2d20ce749c8e06135f07f8ed95dd7c", size = 1948255, upload-time = "2026-05-06T13:39:12.574Z" }, + { url = "https://files.pythonhosted.org/packages/43/3a/41114a9f7569b84b4d84e7a018c57c56347dac30c0d4a872946ec4e36c46/pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bfb192b3f4b9e8a89b6277b6ce787564f62cfd272055f6e685726b111dc7826", size = 1972827, upload-time = "2026-05-06T13:38:19.841Z" }, + { url = "https://files.pythonhosted.org/packages/ef/25/1ab42e8048fe551934d9884e8d64daa7e990ad386f310a15981aeb6a5b08/pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9037063db01f09b09e237c282b6792bd4da634b5402c4e7f0c61effed7701a04", size = 2041051, upload-time = "2026-05-06T13:38:10.447Z" }, + { url = "https://files.pythonhosted.org/packages/94/c2/1a934597ddf08da410385b3b7aae91956a5a76c635effef456074fad7e88/pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc010ab034c8c7452522748bf937df58020d256ccae0874463d1f4d01758af8e", size = 2221314, upload-time = "2026-05-06T13:40:13.089Z" }, + { url = "https://files.pythonhosted.org/packages/02/6d/9e8ad178c9c4df27ad3c8f25d1fe2a7ab0d2ba0559fad4aee5d3d1f16771/pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c5dac79fa1614d1e06ca695109c6105923bd9c7d1d6c918d4e637b7e6b32fd3", size = 2285146, upload-time = "2026-05-06T13:38:59.224Z" }, + { url = "https://files.pythonhosted.org/packages/80/50/540cd3aeefc041beb111125c4bff779831a2111fc6b15a9138cda277d32c/pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9fa868638bf362d3d138ea55829cefb3d5f4b0d7f142234382a15e2485dbec4", size = 2089685, upload-time = "2026-05-06T13:38:17.762Z" }, + { url = "https://files.pythonhosted.org/packages/6b/a4/b440ad35f05f6a38f89fa0f149accb3f0e02be94ca5e15f3c449a61b4bc9/pydantic_core-2.46.4-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:17299feefe090f2caa5b8e37222bb5f663e4935a8bfa6931d4102e5df1a9f398", size = 2115420, upload-time = "2026-05-06T13:37:58.195Z" }, + { url = "https://files.pythonhosted.org/packages/99/61/de4f55db8dfd57bfdfa9a12ec90fe1b57c4f41062f7ca86f08586b3e0ac0/pydantic_core-2.46.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4c63ebc82684aa89d9a3bcbd13d515b3be44250dc68dd3bd81526c1cb31286c3", size = 2165122, upload-time = "2026-05-06T13:37:01.167Z" }, + { url = "https://files.pythonhosted.org/packages/f7/52/7c529d7bdb2d1068bd52f51fe32572c8301f9a4febf1948f10639f1436f5/pydantic_core-2.46.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:aaa2a54443eff1950ba5ddc6b6ccda0d9c84a364276a62f969bdf2a390650848", size = 2182573, upload-time = "2026-05-06T13:38:45.04Z" }, + { url = "https://files.pythonhosted.org/packages/37/b3/7c40325848ba78247f2812dcf9c7274e38cd801820ca6dd9fe63bcfb0eb4/pydantic_core-2.46.4-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:18e5ceec2ab67e6d5f1a9085e5a24c9c4e2ac4545730bfe668680bca05e555f3", size = 2317139, upload-time = "2026-05-06T13:37:15.539Z" }, + { url = "https://files.pythonhosted.org/packages/d9/37/f913f81a657c865b75da6c0dbed79876073c2a43b5bd9edbe8da785e4d49/pydantic_core-2.46.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a0f62d0a58f4e7da165457e995725421e0064f2255d8eccebc49f41bbc23b109", size = 2360433, upload-time = "2026-05-06T13:37:30.099Z" }, + { url = "https://files.pythonhosted.org/packages/c4/67/6acaa1be2567f9256b056d8477158cac7240813956ce86e49deae8e173b4/pydantic_core-2.46.4-cp311-cp311-win32.whl", hash = "sha256:041bde0a48fd37cf71cab1c9d56d3e8625a3793fef1f7dd232b3ff37e978ecda", size = 1985513, upload-time = "2026-05-06T13:38:15.669Z" }, + { url = "https://files.pythonhosted.org/packages/aa/e6/c505f83dfeda9a2e5c995cfd872949e4d05e12f7feb3dca72f633daefa94/pydantic_core-2.46.4-cp311-cp311-win_amd64.whl", hash = "sha256:6f2eeda33a839975441c86a4119e1383c50b47faf0cbb5176985565c6bb02c33", size = 2071114, upload-time = "2026-05-06T13:40:35.416Z" }, + { url = "https://files.pythonhosted.org/packages/0f/da/7a263a96d965d9d0df5e8de8a475f33495451117035b09acb110288c381f/pydantic_core-2.46.4-cp311-cp311-win_arm64.whl", hash = "sha256:14f4c5d6db102bd796a627bbb3a17b4cf4574b9ae861d8b7c9a9661c6dd3362d", size = 2044298, upload-time = "2026-05-06T13:38:29.754Z" }, + { url = "https://files.pythonhosted.org/packages/ce/8c/af022f0af448d7747c5154288d46b5f2bc5f17366eaa0e23e9aa04d59f3b/pydantic_core-2.46.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:3245406455a5d98187ec35530fd772b1d799b26667980872c8d4614991e2c4a2", size = 2106158, upload-time = "2026-05-06T13:38:57.215Z" }, + { url = "https://files.pythonhosted.org/packages/19/95/6195171e385007300f0f5574592e467c568becce2d937a0b6804f218bc49/pydantic_core-2.46.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:962ccbab7b642487b1d8b7df90ef677e03134cf1fd8880bf698649b22a69371f", size = 1951724, upload-time = "2026-05-06T13:37:02.697Z" }, + { url = "https://files.pythonhosted.org/packages/8e/bc/f47d1ff9cbb1620e1b5b697eef06010035735f07820180e74178226b27b3/pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8233f2947cf85404441fd7e0085f53b10c93e0ee78611099b5c7237e36aacbf7", size = 1975742, upload-time = "2026-05-06T13:37:09.448Z" }, + { url = "https://files.pythonhosted.org/packages/5b/11/9b9a5b0306345664a2da6410877af6e8082481b5884b3ddd78d47c6013ce/pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3a233125ac121aa3ffba9a2b59edfc4a985a76092dc8279586ab4b71390875e7", size = 2052418, upload-time = "2026-05-06T13:37:38.234Z" }, + { url = "https://files.pythonhosted.org/packages/f1/b7/a65fec226f5d78fc39f4a13c4cc0c768c22b113438f60c14adc9d2865038/pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b712b53160b79a5850310b912a5ef8e57e56947c8ad690c227f5c9d7e561712", size = 2232274, upload-time = "2026-05-06T13:38:27.753Z" }, + { url = "https://files.pythonhosted.org/packages/68/f0/92039db98b907ef49269a8271f67db9cb78ae2fc68062ef7e4e77adb5f61/pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9401557acd873c3a7f3eb9383edef8ac4968f9510e340f4808d427e75667e7b4", size = 2309940, upload-time = "2026-05-06T13:38:05.353Z" }, + { url = "https://files.pythonhosted.org/packages/5f/97/2aab507d3d00ca626e8e57c1eac6a79e4e5fbcc63eb99733ff55d1717f65/pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:926c9541b14b12b1681dca8a0b75feb510b06c6341b70a8e500c2fdcff837cce", size = 2094516, upload-time = "2026-05-06T13:39:10.577Z" }, + { url = "https://files.pythonhosted.org/packages/22/37/a8aca44d40d737dde2bc05b3c6c07dff0de07ce6f82e9f3167aeaf4d5dea/pydantic_core-2.46.4-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:56cb4851bcaf3d117eddcef4fe66afd750a50274b0da8e22be256d10e5611987", size = 2136854, upload-time = "2026-05-06T13:40:22.59Z" }, + { url = "https://files.pythonhosted.org/packages/24/99/fcef1b79238c06a8cbec70819ac722ba76e02bc8ada9b0fd66eba40da01b/pydantic_core-2.46.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c68fcd102d71ea85c5b2dfac3f4f8476eff42a9e078fd5faefff6d145063536b", size = 2180306, upload-time = "2026-05-06T13:40:10.666Z" }, + { url = "https://files.pythonhosted.org/packages/ae/6c/fc44000918855b42779d007ae63b0532794739027b2f417321cddbc44f6a/pydantic_core-2.46.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b2f69dec1725e79a012d920df1707de5caf7ed5e08f3be4435e25803efc47458", size = 2190044, upload-time = "2026-05-06T13:40:43.231Z" }, + { url = "https://files.pythonhosted.org/packages/6b/65/d9cadc9f1920d7a127ad2edba16c1db7916e59719285cd6c94600b0080ba/pydantic_core-2.46.4-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:8d0820e8192167f80d88d64038e609c31452eeca865b4e1d9950a27a4609b00b", size = 2329133, upload-time = "2026-05-06T13:39:57.365Z" }, + { url = "https://files.pythonhosted.org/packages/d0/cf/c873d91679f3a30bcf5e7ac280ce5573483e72295307685120d0d5ad3416/pydantic_core-2.46.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fbdb89b3e1c94a30cc5edfce477c6e6a5dc4d8f84665b455c27582f211a1c72c", size = 2374464, upload-time = "2026-05-06T13:38:06.976Z" }, + { url = "https://files.pythonhosted.org/packages/47/bd/6f2fc8188f31bf10590f1e98e7b306336161fac930a8c514cd7bd828c7dc/pydantic_core-2.46.4-cp312-cp312-win32.whl", hash = "sha256:9aa768456404a8bf48a4406685ac2bec8e72b62c69313734fa3b73cf33b3a894", size = 1974823, upload-time = "2026-05-06T13:40:47.985Z" }, + { url = "https://files.pythonhosted.org/packages/40/8c/985c1d41ea1107c2534abd9870e4ed5c8e7669b5c308297835c001e7a1c4/pydantic_core-2.46.4-cp312-cp312-win_amd64.whl", hash = "sha256:e9c26f834c65f5752f3f06cb08cb86a913ceb7274d0db6e267808a708b46bc89", size = 2072919, upload-time = "2026-05-06T13:39:21.153Z" }, + { url = "https://files.pythonhosted.org/packages/c4/ba/f463d006e0c47373ca7ec5e1a261c59dc01ef4d62b2657af925fb0deee3a/pydantic_core-2.46.4-cp312-cp312-win_arm64.whl", hash = "sha256:4fc73cb559bdb54b1134a706a2802a4cddd27a0633f5abb7e53056268751ac6a", size = 2027604, upload-time = "2026-05-06T13:39:03.753Z" }, + { url = "https://files.pythonhosted.org/packages/51/a2/5d30b469c5267a17b39dec53208222f76a8d351dfac4af661888c5aee77d/pydantic_core-2.46.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5d5902252db0d3cedf8d4a1bc68f70eeb430f7e4c7104c8c476753519b423008", size = 2106306, upload-time = "2026-05-06T13:37:48.029Z" }, + { url = "https://files.pythonhosted.org/packages/c1/81/4fa520eaffa8bd7d1525e644cd6d39e7d60b1592bc5b516693c7340b50f1/pydantic_core-2.46.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c94f0688e7b8d0a67abf40e57a7eaaecd17cc9586706a31b76c031f63df052b4", size = 1951906, upload-time = "2026-05-06T13:37:17.012Z" }, + { url = "https://files.pythonhosted.org/packages/03/d5/fd02da45b659668b05923b17ba3a0100a0a3d5541e3bd8fcc4ecb711309e/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f027324c56cd5406ca49c124b0db10e56c69064fec039acc571c29020cc87c76", size = 1976802, upload-time = "2026-05-06T13:37:35.113Z" }, + { url = "https://files.pythonhosted.org/packages/21/f2/95727e1368be3d3ed485eaab7adbd7dda408f33f7a36e8b48e0144002b91/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e739fee756ba1010f8bcccb534252e85a35fe45ae92c295a06059ce58b74ccd3", size = 2052446, upload-time = "2026-05-06T13:37:12.313Z" }, + { url = "https://files.pythonhosted.org/packages/9c/86/5d99feea3f77c7234b8718075b23db11532773c1a0dbd9b9490215dc2eeb/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d56801be94b86a9da183e5f3766e6310752b99ff647e38b09a9500d88e46e76", size = 2232757, upload-time = "2026-05-06T13:39:01.149Z" }, + { url = "https://files.pythonhosted.org/packages/d2/3a/508ac615935ef7588cf6d9e9b91309fdc2da751af865e02a9098de88258c/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2412e734dcb48da14d4e4006b82b46b74f2518b8a26ee7e58c6844a6cd6d03c4", size = 2309275, upload-time = "2026-05-06T13:37:41.406Z" }, + { url = "https://files.pythonhosted.org/packages/07/f8/41db9de19d7987d6b04715a02b3b40aea467000275d9d758ffaa31af7d50/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9551187363ffc0de2a00b2e47c25aeaeb1020b69b668762966df15fc5659dd5a", size = 2094467, upload-time = "2026-05-06T13:39:18.847Z" }, + { url = "https://files.pythonhosted.org/packages/2c/e2/f35033184cb11d0052daf4416e8e10a502ea2ac006fc4f459aee872727d1/pydantic_core-2.46.4-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:0186750b482eefa11d7f435892b09c5c606193ef3375bcf94aa00ae6bfb66262", size = 2134417, upload-time = "2026-05-06T13:40:17.944Z" }, + { url = "https://files.pythonhosted.org/packages/7e/7b/6ceeb1cc90e193862f444ebe373d8fdf613f0a82572dde03fb10734c6c71/pydantic_core-2.46.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5855698a4856556d86e8e6cd8434bc3ac0314ee8e12089ae0e143f64c6256e4e", size = 2179782, upload-time = "2026-05-06T13:40:32.618Z" }, + { url = "https://files.pythonhosted.org/packages/5a/f2/c8d7773ede6af08036423a00ae0ceffce266c3c52a096c435d68c896083f/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:cbaf13819775b7f769bf4a1f066cb6df7a28d4480081a589828ef190226881cd", size = 2188782, upload-time = "2026-05-06T13:36:51.018Z" }, + { url = "https://files.pythonhosted.org/packages/59/31/0c864784e31f09f05cdd87606f08923b9c9e7f6e51dd27f20f62f975ce9f/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:633147d34cf4550417f12e2b1a0383973bdf5cdfde212cb09e9a581cf10820be", size = 2328334, upload-time = "2026-05-06T13:40:37.764Z" }, + { url = "https://files.pythonhosted.org/packages/c2/eb/4f6c8a41efa30baa755590f4141abf3a8c370fab610915733e74134a7270/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:82cf5301172168103724d49a1444d3378cb20cdee30b116a1bd6031236298a5d", size = 2372986, upload-time = "2026-05-06T13:39:34.152Z" }, + { url = "https://files.pythonhosted.org/packages/5b/24/b375a480d53113860c299764bfe9f349a3dc9108b3adc0d7f0d786492ebf/pydantic_core-2.46.4-cp313-cp313-win32.whl", hash = "sha256:9fa8ae11da9e2b3126c6426f147e0fba88d96d65921799bb30c6abd1cb2c97fb", size = 1973693, upload-time = "2026-05-06T13:37:55.072Z" }, + { url = "https://files.pythonhosted.org/packages/7e/e8/cff247591966f2d22ec8c003cd7587e27b7ba7b81ab2fb888e3ab75dc285/pydantic_core-2.46.4-cp313-cp313-win_amd64.whl", hash = "sha256:6b3ace8194b0e5204818c92802dcdca7fc6d88aabbb799d7c795540d9cd6d292", size = 2071819, upload-time = "2026-05-06T13:38:49.139Z" }, + { url = "https://files.pythonhosted.org/packages/c6/1a/f4aee670d5670e9e148e0c82c7db98d780be566c6e6a97ee8035528ca0b3/pydantic_core-2.46.4-cp313-cp313-win_arm64.whl", hash = "sha256:184c081504d17f1c1066e430e117142b2c77d9448a97f7b65c6ac9fd9aee238d", size = 2027411, upload-time = "2026-05-06T13:40:45.796Z" }, + { url = "https://files.pythonhosted.org/packages/8d/74/228a26ddad29c6672b805d9fd78e8d251cd04004fa7eed0e622096cd0250/pydantic_core-2.46.4-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:428e04521a40150c85216fc8b85e8d39fece235a9cf5e383761238c7fa9b96fb", size = 2102079, upload-time = "2026-05-06T13:38:41.019Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1f/8970b150a4b4365623ae00fc88603491f763c627311ae8031e3111356d6e/pydantic_core-2.46.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:23ace664830ee0bfe014a0c7bc248b1f7f25ed7ad103852c317624a1083af462", size = 1952179, upload-time = "2026-05-06T13:36:59.812Z" }, + { url = "https://files.pythonhosted.org/packages/95/30/5211a831ae054928054b2f79731661087a2bc5c01e825c672b3a4a8f1b3e/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce5c1d2a8b27468f433ca974829c44060b8097eedc39933e3c206a90ee49c4a9", size = 1978926, upload-time = "2026-05-06T13:37:39.933Z" }, + { url = "https://files.pythonhosted.org/packages/57/e9/689668733b1eb67adeef047db3c2e8788fcf65a7fd9c9e2b46b7744fe245/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7283d57845ecf5a163403eb0702dfc220cc4fbdd18919cb5ccea4f95ee1cdab4", size = 2046785, upload-time = "2026-05-06T13:38:01.995Z" }, + { url = "https://files.pythonhosted.org/packages/60/d9/6715260422ff50a2109878fd24d948a6c3446bb2664f34ee78cd972b3acd/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8daafc69c93ee8a0204506a3b6b30f586ef54028f52aeeeb5c4cfc5184fd5914", size = 2228733, upload-time = "2026-05-06T13:40:50.371Z" }, + { url = "https://files.pythonhosted.org/packages/18/ae/fdb2f64316afca925640f8e70bb1a564b0ec2721c1389e25b8eb4bf9a299/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd2213145bcc2ba85884d0ac63d222fece9209678f77b9b4d76f054c561adb28", size = 2307534, upload-time = "2026-05-06T13:37:21.531Z" }, + { url = "https://files.pythonhosted.org/packages/89/1d/8eff589b45bb8190a9d12c49cfad0f176a5cbd1534908a6b5125e2886239/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a5f930472650a82629163023e630d160863fce524c616f4e5186e5de9d9a49b", size = 2099732, upload-time = "2026-05-06T13:39:31.942Z" }, + { url = "https://files.pythonhosted.org/packages/06/d5/ee5a3366637fee41dee51a1fc91562dcf12ddbc68fda34e6b253da2324bb/pydantic_core-2.46.4-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:c1b3f518abeca3aa13c712fd202306e145abf59a18b094a6bafb2d2bbf59192c", size = 2129627, upload-time = "2026-05-06T13:37:25.033Z" }, + { url = "https://files.pythonhosted.org/packages/94/33/2414be571d2c6a6c4d08be21f9292b6d3fdb08949a97b6dfe985017821db/pydantic_core-2.46.4-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a7dd0b3ee80d90150e3495a3a13ac34dbcbfd4f012996a6a1d8900e91b5c0fb", size = 2179141, upload-time = "2026-05-06T13:37:14.046Z" }, + { url = "https://files.pythonhosted.org/packages/7b/79/7daa95be995be0eecc4cf75064cb33f9bbbfe3fe0158caf2f0d4a996a5c7/pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:3fb702cd90b0446a3a1c5e470bfa0dd23c0233b676a9099ddcc964fa6ca13898", size = 2184325, upload-time = "2026-05-06T13:36:53.615Z" }, + { url = "https://files.pythonhosted.org/packages/9f/cb/d0a382f5c0de8a222dc61c65348e0ce831b1f68e0a018450d31c2cace3a5/pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:b8458003118a712e66286df6a707db01c52c0f52f7db8e4a38f0da1d3b94fc4e", size = 2323990, upload-time = "2026-05-06T13:40:29.971Z" }, + { url = "https://files.pythonhosted.org/packages/05/db/d9ba624cc4a5aced1598e88c04fdbd8310c8a69b9d38b9a3d39ce3a61ed7/pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:372429a130e469c9cd698925ce5fc50940b7a1336b0d82038e63d5bbc4edc519", size = 2369978, upload-time = "2026-05-06T13:37:23.027Z" }, + { url = "https://files.pythonhosted.org/packages/f2/20/d15df15ba918c423461905802bfd2981c3af0bfa0e40d05e13edbfa48bc3/pydantic_core-2.46.4-cp314-cp314-win32.whl", hash = "sha256:85bb3611ff1802f3ee7fdd7dbff26b56f343fb432d57a4728fdd49b6ef35e2f4", size = 1966354, upload-time = "2026-05-06T13:38:03.499Z" }, + { url = "https://files.pythonhosted.org/packages/fc/b6/6b8de4c0a7d7ab3004c439c80c5c1e0a3e8d78bbae19379b01960383d9e5/pydantic_core-2.46.4-cp314-cp314-win_amd64.whl", hash = "sha256:811ff8e9c313ab425368bcbb36e5c4ebd7108c2bbf4e4089cfbb0b01eff63fac", size = 2072238, upload-time = "2026-05-06T13:39:40.807Z" }, + { url = "https://files.pythonhosted.org/packages/32/36/51eb763beec1f4cf59b1db243a7dcc39cbb41230f050a09b9d69faaf0a48/pydantic_core-2.46.4-cp314-cp314-win_arm64.whl", hash = "sha256:bfec22eab3c8cc2ceec0248aec886624116dc079afa027ecc8ad4a7e62010f8a", size = 2018251, upload-time = "2026-05-06T13:37:26.72Z" }, + { url = "https://files.pythonhosted.org/packages/e8/91/855af51d625b23aa987116a19e231d2aaef9c4a415273ddc189b79a45fee/pydantic_core-2.46.4-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:af8244b2bef6aaad6d92cda81372de7f8c8d36c9f0c3ea36e827c60e7d9467a0", size = 2099593, upload-time = "2026-05-06T13:39:47.682Z" }, + { url = "https://files.pythonhosted.org/packages/fb/1b/8784a54c65edb5f49f0a14d6977cf1b209bba85a4c77445b255c2de58ab3/pydantic_core-2.46.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5a4330cdbc57162e4b3aa303f588ba752257694c9c9be3e7ebb11b4aca659b5d", size = 1935226, upload-time = "2026-05-06T13:40:40.428Z" }, + { url = "https://files.pythonhosted.org/packages/e8/e7/1955d28d1afc56dd4b3ad7cc0cf39df1b9852964cf16e5d13912756d6d6b/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29c61fc04a3d840155ff08e475a04809278972fe6aef51e2720554e96367e34b", size = 1974605, upload-time = "2026-05-06T13:37:32.029Z" }, + { url = "https://files.pythonhosted.org/packages/93/e2/3fedbf0ba7a22850e6e9fd78117f1c0f10f950182344d8a6c535d468fdd8/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c50f2528cf200c5eed56faf3f4e22fcd5f38c157a8b78576e6ba3168ec35f000", size = 2030777, upload-time = "2026-05-06T13:38:55.239Z" }, + { url = "https://files.pythonhosted.org/packages/f8/61/46be275fcaaba0b4f5b9669dd852267ce1ff616592dccf7a7845588df091/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0cbe8b01f948de4286c74cdd6c667aceb38f5c1e26f0693b3983d9d74887c65e", size = 2236641, upload-time = "2026-05-06T13:37:08.096Z" }, + { url = "https://files.pythonhosted.org/packages/60/db/12e93e46a8bac9988be3c016860f83293daea8c716c029c9ace279036f2f/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:617d7e2ca7dcb8c5cf6bcb8c59b8832c94b36196bbf1cbd1bfb56ed341905edd", size = 2286404, upload-time = "2026-05-06T13:40:20.221Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4a/4d8b19008f38d31c53b8219cfedc2e3d5de5fe99d90076b7e767de29274f/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7027560ee92211647d0d34e3f7cd6f50da56399d26a9c8ad0da286d3869a53f3", size = 2109219, upload-time = "2026-05-06T13:38:12.153Z" }, + { url = "https://files.pythonhosted.org/packages/88/70/3cbc40978fefb7bb09c6708d40d4ad1a5d70fd7213c3d17f971de868ec1f/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:f99626688942fb746e545232e7726926f3be91b5975f8b55327665fafda991c7", size = 2110594, upload-time = "2026-05-06T13:40:02.971Z" }, + { url = "https://files.pythonhosted.org/packages/9d/20/b8d36736216e29491125531685b2f9e61aa5b4b2599893f8268551da3338/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fc3e9034a63de20e15e8ade85358bc6efc614008cab72898b4b4952bea0509ff", size = 2159542, upload-time = "2026-05-06T13:39:27.506Z" }, + { url = "https://files.pythonhosted.org/packages/1d/a2/367df868eb584dacf6bf82a389272406d7178e301c4ac82545ab98bc2dd9/pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:97e7cf2be5c77b7d1a9713a05605d49460d02c6078d38d8bef3cbe323c548424", size = 2168146, upload-time = "2026-05-06T13:38:31.93Z" }, + { url = "https://files.pythonhosted.org/packages/c1/b8/4460f77f7e201893f649a29ab355dddd3beee8a97bcb1a320db414f9a06e/pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:3bf92c5d0e00fefaab325a4d27828fe6b6e2a21848686b5b60d2d9eeb09d76c6", size = 2306309, upload-time = "2026-05-06T13:37:44.717Z" }, + { url = "https://files.pythonhosted.org/packages/64/c4/be2639293acd87dc8ddbcec41a73cee9b2ebf996fe6d892a1a74e88ad3f7/pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:3ecbc122d18468d06ca279dc26a8c2e2d5acb10943bb35e36ae92096dc3b5565", size = 2369736, upload-time = "2026-05-06T13:37:05.645Z" }, + { url = "https://files.pythonhosted.org/packages/30/a6/9f9f380dbb301f67023bf8f707aaa75daadf84f7152d95c410fd7e81d994/pydantic_core-2.46.4-cp314-cp314t-win32.whl", hash = "sha256:e846ae7835bf0703ae43f534ab79a867146dadd59dc9ca5c8b53d5c8f7c9ef02", size = 1955575, upload-time = "2026-05-06T13:38:51.116Z" }, + { url = "https://files.pythonhosted.org/packages/40/1f/f1eb9eb350e795d1af8586289746f5c5677d16043040d63710e22abc43c9/pydantic_core-2.46.4-cp314-cp314t-win_amd64.whl", hash = "sha256:2108ba5c1c1eca18030634489dc544844144ee36357f2f9f780b93e7ddbb44b5", size = 2051624, upload-time = "2026-05-06T13:38:21.672Z" }, + { url = "https://files.pythonhosted.org/packages/f6/d2/42dd53d0a85c27606f316d3aa5d2869c4e8470a5ed6dec30e4a1abe19192/pydantic_core-2.46.4-cp314-cp314t-win_arm64.whl", hash = "sha256:4fcbe087dbc2068af7eda3aa87634eba216dbda64d1ae73c8684b621d33f6596", size = 2017325, upload-time = "2026-05-06T13:40:52.723Z" }, + { url = "https://files.pythonhosted.org/packages/ee/a4/73995fd4ebbb46ba0ee51e6fa049b8f02c40daebb762208feda8a6b7894d/pydantic_core-2.46.4-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:14d4edf427bdcf950a8a02d7cb44a08614388dd6e1bdcbf4f67504fa7887da9c", size = 2111589, upload-time = "2026-05-06T13:37:10.817Z" }, + { url = "https://files.pythonhosted.org/packages/fb/7f/f37d3a5e8bfcc2e403f5c57a730f2d815693fb42119e8ea48b3789335af1/pydantic_core-2.46.4-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:0ce40cd7b21210e99342afafbd4d0f76d784eb5b1d60f3bdc566be4983c6c73b", size = 1944552, upload-time = "2026-05-06T13:36:56.717Z" }, + { url = "https://files.pythonhosted.org/packages/15/3c/d7eb777b3ff43e8433a4efb39a17aa8fd98a4ee8561a24a67ef5db07b2d6/pydantic_core-2.46.4-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90884113d8b48f760e9587002789ddd741e76ab9f89518cd1e43b1f1a52ec44b", size = 1982984, upload-time = "2026-05-06T13:39:06.207Z" }, + { url = "https://files.pythonhosted.org/packages/63/87/70b9f40170a81afd55ca26c9b2acb25c20d64bcfbf888fafecb3ba077d4c/pydantic_core-2.46.4-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66ce7632c22d837c95301830e111ad0128a32b8207533b60896a96c4915192ea", size = 2138417, upload-time = "2026-05-06T13:39:45.476Z" }, + { url = "https://files.pythonhosted.org/packages/9d/1d/8987ad40f65ae1432753072f214fb5c74fe47ffbd0698bb9cbbb585664f8/pydantic_core-2.46.4-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:1d8ba486450b14f3b1d63bc521d410ec7565e52f887b9fb671791886436a42f7", size = 2095527, upload-time = "2026-05-06T13:39:52.283Z" }, + { url = "https://files.pythonhosted.org/packages/64/d3/84c282a7eee1d3ac4c0377546ef5a1ea436ce26840d9ac3b7ed54a377507/pydantic_core-2.46.4-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:3009f12e4e90b7f88b4f9adb1b0c4a3d58fe7820f3238c190047209d148026df", size = 1936024, upload-time = "2026-05-06T13:40:15.671Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ca/eac61596cdeb4d7e174d3dc0bd8a6238f14f75f97a24e7b7db4c7e7340a0/pydantic_core-2.46.4-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad785e92e6dc634c21555edc8bd6b64957ab844541bcb96a1366c202951ae526", size = 1990696, upload-time = "2026-05-06T13:38:34.717Z" }, + { url = "https://files.pythonhosted.org/packages/fa/c3/7c8b240552251faf6b3a957db200fcfbbcec36763c050428b601e0c9b83b/pydantic_core-2.46.4-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00c603d540afdd6b80eb39f078f33ebd46211f02f33e34a32d9f053bba711de0", size = 2147590, upload-time = "2026-05-06T13:39:29.883Z" }, + { url = "https://files.pythonhosted.org/packages/11/cb/428de0385b6c8d44b716feba566abfacfbd23ee3c4439faa789a1456242f/pydantic_core-2.46.4-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:0c563b08bca408dc7f65f700633d8442fffb2421fc47b8101377e9fd65051ff0", size = 2112782, upload-time = "2026-05-06T13:37:04.016Z" }, + { url = "https://files.pythonhosted.org/packages/0b/b5/6a17bdadd0fc1f170adfd05a20d37c832f52b117b4d9131da1f41bb097ce/pydantic_core-2.46.4-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:db06ffe51636ffe9ca531fe9023dd64bdd794be8754cb5df57c5498ae5b518a7", size = 1952146, upload-time = "2026-05-06T13:39:43.092Z" }, + { url = "https://files.pythonhosted.org/packages/2a/dc/03734d80e362cd43ef65428e9de77c730ce7f2f11c60d2b1e1b39f0fbf99/pydantic_core-2.46.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:133878133d271ade3d41d1bfb2a45ec38dbdbda40bc065921c6b04e4630127e2", size = 2134492, upload-time = "2026-05-06T13:36:58.124Z" }, + { url = "https://files.pythonhosted.org/packages/de/df/5e5ffc085ed07cc22d298134d3d911c63e91f6a0eb91fe646750a3209910/pydantic_core-2.46.4-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9bc519fbf2b7578398853d815009ae5e4d4603d12f4e3f91da8c06852d3da3e9", size = 2156604, upload-time = "2026-05-06T13:37:49.88Z" }, + { url = "https://files.pythonhosted.org/packages/81/44/6e112a4253e56f5705467cbab7ab5e91ee7398ba3d56d358635958893d3e/pydantic_core-2.46.4-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:c7a7bd4e39e8e4c12c39cd480356842b6a8a06e41b23a55a5e3e191718838ddf", size = 2183828, upload-time = "2026-05-06T13:37:43.053Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ad/5565071e937d8e752842ac241463944c9eb14c87e2d269f2658a5bd05e98/pydantic_core-2.46.4-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:d396ec2b979760aaf3218e76c24e65bd0aca24983298653b3a9d7a45f9e47b30", size = 2310000, upload-time = "2026-05-06T13:37:56.694Z" }, + { url = "https://files.pythonhosted.org/packages/4f/c3/66883a5cec183e7fba4d024b4cbbe61851a63750ef606b0afecc46d1f2bf/pydantic_core-2.46.4-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:86e1a4418c6cd97d60c95c71164158eaf7324fae7b0923264016baa993eba6fc", size = 2361286, upload-time = "2026-05-06T13:40:05.667Z" }, + { url = "https://files.pythonhosted.org/packages/4b/2d/69abac8f838090bbecd5df894befb2c2619e7996a98ddb949db9f3b93225/pydantic_core-2.46.4-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:d51026d73fcfd93610abc7b27789c26b313920fcfb20e27462d74a7f8b06e983", size = 2193071, upload-time = "2026-05-06T13:38:08.682Z" }, +] + [[package]] name = "pygments" version = "2.20.0" @@ -1056,12 +995,15 @@ wheels = [ ] [[package]] -name = "tzdata" -version = "2026.3" +name = "typing-inspection" +version = "0.4.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/92/ff/5a28bdfd8c3ebec42564ac7d0e54ca3db65044a9314a97f9564fa7a1e926/tzdata-2026.3.tar.gz", hash = "sha256:4a1518b8993086a7982523e071643f3c0e5f213e75b21318e78bcabfff9d1415", size = 198674, upload-time = "2026-07-10T08:50:37.887Z" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/6d/b53b99a9f2766d095985947a5782f1702cabb129a34f7a802d7197af832f/tzdata-2026.3-py2.py3-none-any.whl", hash = "sha256:dc096730c87af6cab1b171c9d532be840741ff5d459015e7f6947bd7d7e54931", size = 348168, upload-time = "2026-07-10T08:50:36.46Z" }, + { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, ] [[package]]