pax_global_header 0000666 0000000 0000000 00000000064 15006676303 0014520 g ustar 00root root 0000000 0000000 52 comment=9f069b3ee58b02d6f6736c5ebd6587075c1a1b22
cel-spec-0.24.0/ 0000775 0000000 0000000 00000000000 15006676303 0013276 5 ustar 00root root 0000000 0000000 cel-spec-0.24.0/.bazelversion 0000664 0000000 0000000 00000000067 15006676303 0016005 0 ustar 00root root 0000000 0000000 7.3.2
# Keep this pinned version in parity with cel-go
cel-spec-0.24.0/.gitattributes 0000664 0000000 0000000 00000000065 15006676303 0016172 0 ustar 00root root 0000000 0000000 *.pb.go linguist-generated=true
*.pb.go -diff -merge
cel-spec-0.24.0/.gitignore 0000664 0000000 0000000 00000000032 15006676303 0015261 0 ustar 00root root 0000000 0000000 bazel-*
MODULE.bazel.lock
cel-spec-0.24.0/BUILD.bazel 0000664 0000000 0000000 00000002001 15006676303 0015145 0 ustar 00root root 0000000 0000000 load("@io_bazel_rules_go//go:def.bzl", "go_library")
package(default_visibility = ["//visibility:public"])
licenses(["notice"]) # Apache 2.0
go_library(
name = "expr",
srcs = [
"checked.pb.go",
"eval.pb.go",
"explain.pb.go",
"syntax.pb.go",
"value.pb.go",
],
importpath = "cel.dev/expr",
visibility = ["//visibility:public"],
deps = [
"@org_golang_google_genproto_googleapis_rpc//status:go_default_library",
"@org_golang_google_protobuf//reflect/protoreflect",
"@org_golang_google_protobuf//runtime/protoimpl",
"@org_golang_google_protobuf//types/known/anypb",
"@org_golang_google_protobuf//types/known/durationpb",
"@org_golang_google_protobuf//types/known/emptypb",
"@org_golang_google_protobuf//types/known/structpb",
"@org_golang_google_protobuf//types/known/timestamppb",
],
)
alias(
name = "go_default_library",
actual = ":expr",
visibility = ["//visibility:public"],
)
cel-spec-0.24.0/CODE_OF_CONDUCT.md 0000664 0000000 0000000 00000002260 15006676303 0016075 0 ustar 00root root 0000000 0000000 # Contributor Code of Conduct
## Version 0.1.1 (adapted from 0.3b-angular)
As contributors and maintainers of the Common Expression Language
(CEL) project, we pledge to respect everyone who contributes by
posting issues, updating documentation, submitting pull requests,
providing feedback in comments, and any other activities.
Communication through any of CEL's channels (GitHub, Gitter, IRC,
mailing lists, Google+, Twitter, etc.) must be constructive and never
resort to personal attacks, trolling, public or private harassment,
insults, or other unprofessional conduct.
We promise to extend courtesy and respect to everyone involved in this
project regardless of gender, gender identity, sexual orientation,
disability, age, race, ethnicity, religion, or level of experience. We
expect anyone contributing to the project to do the same.
If any member of the community violates this code of conduct, the
maintainers of the CEL project may take action, removing issues,
comments, and PRs or blocking accounts as deemed appropriate.
If you are subject to or witness unacceptable behavior, or have any
other concerns, please email us at
[cel-conduct@google.com](mailto:cel-conduct@google.com).
cel-spec-0.24.0/CONTRIBUTING.md 0000664 0000000 0000000 00000002606 15006676303 0015533 0 ustar 00root root 0000000 0000000 # How to Contribute
We'd love to accept your patches and contributions to this project. There are a
few guidelines you need to follow.
## Contributor License Agreement
Contributions to this project must be accompanied by a Contributor License
Agreement. You (or your employer) retain the copyright to your contribution,
this simply gives us permission to use and redistribute your contributions as
part of the project. Head over to to see
your current agreements on file or to sign a new one.
You generally only need to submit a CLA once, so if you've already submitted one
(even if it was for a different project), you probably don't need to do it
again.
## Code reviews
All submissions, including submissions by project members, require review. We
use GitHub pull requests for this purpose. Consult
[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
information on using pull requests.
## What to expect from maintainers
Expect maintainers to respond to new issues or pull requests within a week.
For outstanding and ongoing issues and particularly for long-running
pull requests, expect the maintainers to review within a week of a
contributor asking for a new review. There is no commitment to resolution --
merging or closing a pull request, or fixing or closing an issue -- because some
issues will require more discussion than others.
cel-spec-0.24.0/GOVERNANCE.md 0000664 0000000 0000000 00000004022 15006676303 0015245 0 ustar 00root root 0000000 0000000 # Project Governance
This document defines the governance process for the CEL language. CEL is
Google-developed, but openly governed. Major contributors to the CEL
specification and its corresponding implementations constitute the CEL
Language Council. New members may be added by a unanimous vote of the
Council.
The MAINTAINERS.md file lists the members of the CEL Language Council, and
unofficially indicates the "areas of expertise" of each member with respect
to the publicly available CEL repos.
## Code Changes
Code changes must follow the standard pull request (PR) model documented in the
CONTRIBUTING.md for each CEL repo. All fixes and features must be reviewed by a
maintainer. The maintainer reserves the right to request that any feature
request (FR) or PR be reviewed by the language council.
## Syntax and Semantic Changes
Syntactic and semantic changes must be reviewed by the CEL Language Council.
Maintainers may also request language council review at their discretion.
The review process is as follows:
- Create a Feature Request in the CEL-Spec repo. The feature description will
serve as an abstract for the detailed design document.
- Co-develop a design document with the Language Council.
- Once the proposer gives the design document approval, the document will be
linked to the FR in the CEL-Spec repo and opened for comments to members of
the cel-lang-discuss@googlegroups.com.
- The Language Council will review the design doc at the next council meeting
(once every three weeks) and the council decision included in the document.
If the proposal is approved, the spec will be updated by a maintainer (if
applicable) and a rationale will be included in the CEL-Spec wiki to ensure
future developers may follow CEL's growth and direction over time.
Approved proposals may be implemented by the proposer or by the maintainers as
the parties see fit. At the discretion of the maintainer, changes from the
approved design are permitted during implementation if they improve the user
experience and clarity of the feature.
cel-spec-0.24.0/LICENSE 0000664 0000000 0000000 00000026136 15006676303 0014313 0 ustar 00root root 0000000 0000000
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
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-spec-0.24.0/MAINTAINERS.md 0000664 0000000 0000000 00000000653 15006676303 0015376 0 ustar 00root root 0000000 0000000 # CEL Language Council
| Name | Company | Area of Expertise |
|-----------------|--------------|-------------------|
| Alfred Fuller | Facebook | cel-cpp, cel-spec |
| Jim Larson | Google | cel-go, cel-spec |
| Matthais Blume | Google | cel-spec |
| Tristan Swadell | Google | cel-go, cel-spec |
## Emeritus
* Sanjay Ghemawat (Google)
* Wolfgang Grieskamp (Facebook)
cel-spec-0.24.0/MODULE.bazel 0000664 0000000 0000000 00000002664 15006676303 0015312 0 ustar 00root root 0000000 0000000 module(
name = "cel-spec",
)
bazel_dep(
name = "bazel_skylib",
version = "1.7.1",
)
bazel_dep(
name = "gazelle",
version = "0.39.1",
repo_name = "bazel_gazelle",
)
bazel_dep(
name = "googleapis",
version = "0.0.0-20241220-5e258e33.bcr.1",
repo_name = "com_google_googleapis",
)
bazel_dep(
name = "googleapis-cc",
version = "1.0.0",
)
bazel_dep(
name = "googleapis-java",
version = "1.0.0",
)
bazel_dep(
name = "googleapis-go",
version = "1.0.0",
)
bazel_dep(
name = "protobuf",
version = "27.0",
repo_name = "com_google_protobuf",
)
bazel_dep(
name = "rules_cc",
version = "0.0.17",
)
bazel_dep(
name = "rules_go",
version = "0.53.0",
repo_name = "io_bazel_rules_go",
)
bazel_dep(
name = "rules_java",
version = "7.6.5",
)
bazel_dep(
name = "rules_proto",
version = "7.0.2",
)
bazel_dep(
name = "rules_python",
version = "0.35.0",
)
### PYTHON ###
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
ignore_root_user_error = True,
python_version = "3.11",
)
go_sdk = use_extension("@io_bazel_rules_go//go:extensions.bzl", "go_sdk")
go_sdk.download(version = "1.22.0")
go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps")
go_deps.from_file(go_mod = "//:go.mod")
use_repo(
go_deps,
"org_golang_google_genproto_googleapis_rpc",
"org_golang_google_protobuf",
)
cel-spec-0.24.0/README.md 0000664 0000000 0000000 00000005701 15006676303 0014560 0 ustar 00root root 0000000 0000000 # Common Expression Language
The Common Expression Language (CEL) implements common semantics for expression
evaluation, enabling different applications to more easily interoperate.
Key Applications
* Security policy: organizations have complex infrastructure and need common
tooling to reason about the system as a whole
* Protocols: expressions are a useful data type and require interoperability
across programming languages and platforms.
Guiding philosophy:
1. Keep it small & fast.
* CEL evaluates in linear time, is mutation free, and not Turing-complete.
This limitation is a feature of the language design, which allows the
implementation to evaluate orders of magnitude faster than equivalently
sandboxed JavaScript.
2. Make it extensible.
* CEL is designed to be embedded in applications, and allows for
extensibility via its context which allows for functions and data to be
provided by the software that embeds it.
3. Developer-friendly.
* The language is approachable to developers. The initial spec was based
on the experience of developing Firebase Rules and usability testing
many prior iterations.
* The library itself and accompanying toolings should be easy to adopt by
teams that seek to integrate CEL into their platforms.
The required components of a system that supports CEL are:
* The textual representation of an expression as written by a developer. It is
of similar syntax to expressions in C/C++/Java/JavaScript
* A representation of the program's abstract syntax tree (AST).
* A compiler library that converts the textual representation to the binary
representation. This can be done ahead of time (in the control plane) or
just before evaluation (in the data plane).
* A context containing one or more typed variables, often protobuf messages.
Most use-cases will use `attribute_context.proto`
* An evaluator library that takes the binary format in the context and
produces a result, usually a Boolean.
For use cases which require persistence or cross-process communcation, it is
highly recommended to serialize the type-checked expression as a protocol
buffer. The CEL team will maintains canonical protocol buffers for ASTs and
will keep these versions identical and wire-compatible in perpetuity:
* [CEL canonical](https://github.com/google/cel-spec/tree/master/proto/cel/expr)
* [CEL v1alpha1](https://github.com/googleapis/googleapis/tree/master/google/api/expr/v1alpha1)
Example of boolean conditions and object construction:
``` c
// Condition
account.balance >= transaction.withdrawal
|| (account.overdraftProtection
&& account.overdraftLimit >= transaction.withdrawal - account.balance)
// Object construction
common.GeoPoint{ latitude: 10.0, longitude: -5.5 }
```
For more detail, see:
* [Introduction](doc/intro.md)
* [Language Definition](doc/langdef.md)
Released under the [Apache License](LICENSE).
cel-spec-0.24.0/WORKSPACE 0000664 0000000 0000000 00000012027 15006676303 0014561 0 ustar 00root root 0000000 0000000 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "io_bazel_rules_go",
sha256 = "099a9fb96a376ccbbb7d291ed4ecbdfd42f6bc822ab77ae6f1b5cb9e914e94fa",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.35.0/rules_go-v0.35.0.zip",
"https://github.com/bazelbuild/rules_go/releases/download/v0.35.0/rules_go-v0.35.0.zip",
],
)
http_archive(
name = "bazel_gazelle",
sha256 = "ecba0f04f96b4960a5b250c8e8eeec42281035970aa8852dda73098274d14a1d",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.29.0/bazel-gazelle-v0.29.0.tar.gz",
"https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.29.0/bazel-gazelle-v0.29.0.tar.gz",
],
)
http_archive(
name = "rules_proto",
sha256 = "e017528fd1c91c5a33f15493e3a398181a9e821a804eb7ff5acdd1d2d6c2b18d",
strip_prefix = "rules_proto-4.0.0-3.20.0",
urls = [
"https://github.com/bazelbuild/rules_proto/archive/refs/tags/4.0.0-3.20.0.tar.gz",
],
)
# googleapis as of 09/16/2024
http_archive(
name = "com_google_googleapis",
strip_prefix = "googleapis-4082d5e51e8481f6ccc384cacd896f4e78f19dee",
sha256 = "57319889d47578b3c89bf1b3f34888d796a8913d63b32d750a4cd12ed303c4e8",
urls = [
"https://github.com/googleapis/googleapis/archive/4082d5e51e8481f6ccc384cacd896f4e78f19dee.tar.gz",
],
)
# protobuf
http_archive(
name = "com_google_protobuf",
sha256 = "8242327e5df8c80ba49e4165250b8f79a76bd11765facefaaecfca7747dc8da2",
strip_prefix = "protobuf-3.21.5",
urls = ["https://github.com/protocolbuffers/protobuf/archive/v3.21.5.zip"],
)
# googletest
http_archive(
name = "com_google_googletest",
urls = ["https://github.com/google/googletest/archive/master.zip"],
strip_prefix = "googletest-master",
)
# gflags
http_archive(
name = "com_github_gflags_gflags",
sha256 = "6e16c8bc91b1310a44f3965e616383dbda48f83e8c1eaa2370a215057b00cabe",
strip_prefix = "gflags-77592648e3f3be87d6c7123eb81cbad75f9aef5a",
urls = [
"https://mirror.bazel.build/github.com/gflags/gflags/archive/77592648e3f3be87d6c7123eb81cbad75f9aef5a.tar.gz",
"https://github.com/gflags/gflags/archive/77592648e3f3be87d6c7123eb81cbad75f9aef5a.tar.gz",
],
)
# glog
http_archive(
name = "com_google_glog",
sha256 = "1ee310e5d0a19b9d584a855000434bb724aa744745d5b8ab1855c85bff8a8e21",
strip_prefix = "glog-028d37889a1e80e8a07da1b8945ac706259e5fd8",
urls = [
"https://mirror.bazel.build/github.com/google/glog/archive/028d37889a1e80e8a07da1b8945ac706259e5fd8.tar.gz",
"https://github.com/google/glog/archive/028d37889a1e80e8a07da1b8945ac706259e5fd8.tar.gz",
],
)
# absl
http_archive(
name = "com_google_absl",
strip_prefix = "abseil-cpp-master",
urls = ["https://github.com/abseil/abseil-cpp/archive/master.zip"],
)
load("@io_bazel_rules_go//go:deps.bzl", "go_rules_dependencies", "go_register_toolchains")
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository")
load("@com_google_googleapis//:repository_rules.bzl", "switched_rules_by_language")
load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains")
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
switched_rules_by_language(
name = "com_google_googleapis_imports",
cc = True,
)
# Do *not* call *_dependencies(), etc, yet. See comment at the end.
# Generated Google APIs protos for Golang
# Generated Google APIs protos for Golang 08/26/2024
go_repository(
name = "org_golang_google_genproto_googleapis_api",
build_file_proto_mode = "disable_global",
importpath = "google.golang.org/genproto/googleapis/api",
sum = "h1:YcyjlL1PRr2Q17/I0dPk2JmYS5CDXfcdb2Z3YRioEbw=",
version = "v0.0.0-20240826202546-f6391c0de4c7",
)
# Generated Google APIs protos for Golang 08/26/2024
go_repository(
name = "org_golang_google_genproto_googleapis_rpc",
build_file_proto_mode = "disable_global",
importpath = "google.golang.org/genproto/googleapis/rpc",
sum = "h1:2035KHhUv+EpyB+hWgJnaWKJOdX1E95w2S8Rr4uWKTs=",
version = "v0.0.0-20240826202546-f6391c0de4c7",
)
# gRPC deps
go_repository(
name = "org_golang_google_grpc",
build_file_proto_mode = "disable_global",
importpath = "google.golang.org/grpc",
tag = "v1.49.0",
)
go_repository(
name = "org_golang_x_net",
importpath = "golang.org/x/net",
sum = "h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628=",
version = "v0.0.0-20190311183353-d8887717615a",
)
go_repository(
name = "org_golang_x_text",
importpath = "golang.org/x/text",
sum = "h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=",
version = "v0.3.2",
)
# Run the dependencies at the end. These will silently try to import some
# of the above repositories but at different versions, so ours must come first.
go_rules_dependencies()
go_register_toolchains(version = "1.19.1")
gazelle_dependencies()
rules_proto_dependencies()
rules_proto_toolchains()
protobuf_deps()
cel-spec-0.24.0/WORKSPACE.bzlmod 0000664 0000000 0000000 00000000000 15006676303 0016033 0 ustar 00root root 0000000 0000000 cel-spec-0.24.0/checked.pb.go 0000775 0000000 0000000 00000142620 15006676303 0015623 0 ustar 00root root 0000000 0000000 // Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v3.21.5
// source: cel/expr/checked.proto
package expr
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
emptypb "google.golang.org/protobuf/types/known/emptypb"
structpb "google.golang.org/protobuf/types/known/structpb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type Type_PrimitiveType int32
const (
Type_PRIMITIVE_TYPE_UNSPECIFIED Type_PrimitiveType = 0
Type_BOOL Type_PrimitiveType = 1
Type_INT64 Type_PrimitiveType = 2
Type_UINT64 Type_PrimitiveType = 3
Type_DOUBLE Type_PrimitiveType = 4
Type_STRING Type_PrimitiveType = 5
Type_BYTES Type_PrimitiveType = 6
)
// Enum value maps for Type_PrimitiveType.
var (
Type_PrimitiveType_name = map[int32]string{
0: "PRIMITIVE_TYPE_UNSPECIFIED",
1: "BOOL",
2: "INT64",
3: "UINT64",
4: "DOUBLE",
5: "STRING",
6: "BYTES",
}
Type_PrimitiveType_value = map[string]int32{
"PRIMITIVE_TYPE_UNSPECIFIED": 0,
"BOOL": 1,
"INT64": 2,
"UINT64": 3,
"DOUBLE": 4,
"STRING": 5,
"BYTES": 6,
}
)
func (x Type_PrimitiveType) Enum() *Type_PrimitiveType {
p := new(Type_PrimitiveType)
*p = x
return p
}
func (x Type_PrimitiveType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Type_PrimitiveType) Descriptor() protoreflect.EnumDescriptor {
return file_cel_expr_checked_proto_enumTypes[0].Descriptor()
}
func (Type_PrimitiveType) Type() protoreflect.EnumType {
return &file_cel_expr_checked_proto_enumTypes[0]
}
func (x Type_PrimitiveType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Type_PrimitiveType.Descriptor instead.
func (Type_PrimitiveType) EnumDescriptor() ([]byte, []int) {
return file_cel_expr_checked_proto_rawDescGZIP(), []int{1, 0}
}
type Type_WellKnownType int32
const (
Type_WELL_KNOWN_TYPE_UNSPECIFIED Type_WellKnownType = 0
Type_ANY Type_WellKnownType = 1
Type_TIMESTAMP Type_WellKnownType = 2
Type_DURATION Type_WellKnownType = 3
)
// Enum value maps for Type_WellKnownType.
var (
Type_WellKnownType_name = map[int32]string{
0: "WELL_KNOWN_TYPE_UNSPECIFIED",
1: "ANY",
2: "TIMESTAMP",
3: "DURATION",
}
Type_WellKnownType_value = map[string]int32{
"WELL_KNOWN_TYPE_UNSPECIFIED": 0,
"ANY": 1,
"TIMESTAMP": 2,
"DURATION": 3,
}
)
func (x Type_WellKnownType) Enum() *Type_WellKnownType {
p := new(Type_WellKnownType)
*p = x
return p
}
func (x Type_WellKnownType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Type_WellKnownType) Descriptor() protoreflect.EnumDescriptor {
return file_cel_expr_checked_proto_enumTypes[1].Descriptor()
}
func (Type_WellKnownType) Type() protoreflect.EnumType {
return &file_cel_expr_checked_proto_enumTypes[1]
}
func (x Type_WellKnownType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Type_WellKnownType.Descriptor instead.
func (Type_WellKnownType) EnumDescriptor() ([]byte, []int) {
return file_cel_expr_checked_proto_rawDescGZIP(), []int{1, 1}
}
type CheckedExpr struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReferenceMap map[int64]*Reference `protobuf:"bytes,2,rep,name=reference_map,json=referenceMap,proto3" json:"reference_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
TypeMap map[int64]*Type `protobuf:"bytes,3,rep,name=type_map,json=typeMap,proto3" json:"type_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
SourceInfo *SourceInfo `protobuf:"bytes,5,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"`
ExprVersion string `protobuf:"bytes,6,opt,name=expr_version,json=exprVersion,proto3" json:"expr_version,omitempty"`
Expr *Expr `protobuf:"bytes,4,opt,name=expr,proto3" json:"expr,omitempty"`
}
func (x *CheckedExpr) Reset() {
*x = CheckedExpr{}
if protoimpl.UnsafeEnabled {
mi := &file_cel_expr_checked_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CheckedExpr) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckedExpr) ProtoMessage() {}
func (x *CheckedExpr) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_checked_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CheckedExpr.ProtoReflect.Descriptor instead.
func (*CheckedExpr) Descriptor() ([]byte, []int) {
return file_cel_expr_checked_proto_rawDescGZIP(), []int{0}
}
func (x *CheckedExpr) GetReferenceMap() map[int64]*Reference {
if x != nil {
return x.ReferenceMap
}
return nil
}
func (x *CheckedExpr) GetTypeMap() map[int64]*Type {
if x != nil {
return x.TypeMap
}
return nil
}
func (x *CheckedExpr) GetSourceInfo() *SourceInfo {
if x != nil {
return x.SourceInfo
}
return nil
}
func (x *CheckedExpr) GetExprVersion() string {
if x != nil {
return x.ExprVersion
}
return ""
}
func (x *CheckedExpr) GetExpr() *Expr {
if x != nil {
return x.Expr
}
return nil
}
type Type struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to TypeKind:
//
// *Type_Dyn
// *Type_Null
// *Type_Primitive
// *Type_Wrapper
// *Type_WellKnown
// *Type_ListType_
// *Type_MapType_
// *Type_Function
// *Type_MessageType
// *Type_TypeParam
// *Type_Type
// *Type_Error
// *Type_AbstractType_
TypeKind isType_TypeKind `protobuf_oneof:"type_kind"`
}
func (x *Type) Reset() {
*x = Type{}
if protoimpl.UnsafeEnabled {
mi := &file_cel_expr_checked_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Type) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Type) ProtoMessage() {}
func (x *Type) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_checked_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Type.ProtoReflect.Descriptor instead.
func (*Type) Descriptor() ([]byte, []int) {
return file_cel_expr_checked_proto_rawDescGZIP(), []int{1}
}
func (m *Type) GetTypeKind() isType_TypeKind {
if m != nil {
return m.TypeKind
}
return nil
}
func (x *Type) GetDyn() *emptypb.Empty {
if x, ok := x.GetTypeKind().(*Type_Dyn); ok {
return x.Dyn
}
return nil
}
func (x *Type) GetNull() structpb.NullValue {
if x, ok := x.GetTypeKind().(*Type_Null); ok {
return x.Null
}
return structpb.NullValue(0)
}
func (x *Type) GetPrimitive() Type_PrimitiveType {
if x, ok := x.GetTypeKind().(*Type_Primitive); ok {
return x.Primitive
}
return Type_PRIMITIVE_TYPE_UNSPECIFIED
}
func (x *Type) GetWrapper() Type_PrimitiveType {
if x, ok := x.GetTypeKind().(*Type_Wrapper); ok {
return x.Wrapper
}
return Type_PRIMITIVE_TYPE_UNSPECIFIED
}
func (x *Type) GetWellKnown() Type_WellKnownType {
if x, ok := x.GetTypeKind().(*Type_WellKnown); ok {
return x.WellKnown
}
return Type_WELL_KNOWN_TYPE_UNSPECIFIED
}
func (x *Type) GetListType() *Type_ListType {
if x, ok := x.GetTypeKind().(*Type_ListType_); ok {
return x.ListType
}
return nil
}
func (x *Type) GetMapType() *Type_MapType {
if x, ok := x.GetTypeKind().(*Type_MapType_); ok {
return x.MapType
}
return nil
}
func (x *Type) GetFunction() *Type_FunctionType {
if x, ok := x.GetTypeKind().(*Type_Function); ok {
return x.Function
}
return nil
}
func (x *Type) GetMessageType() string {
if x, ok := x.GetTypeKind().(*Type_MessageType); ok {
return x.MessageType
}
return ""
}
func (x *Type) GetTypeParam() string {
if x, ok := x.GetTypeKind().(*Type_TypeParam); ok {
return x.TypeParam
}
return ""
}
func (x *Type) GetType() *Type {
if x, ok := x.GetTypeKind().(*Type_Type); ok {
return x.Type
}
return nil
}
func (x *Type) GetError() *emptypb.Empty {
if x, ok := x.GetTypeKind().(*Type_Error); ok {
return x.Error
}
return nil
}
func (x *Type) GetAbstractType() *Type_AbstractType {
if x, ok := x.GetTypeKind().(*Type_AbstractType_); ok {
return x.AbstractType
}
return nil
}
type isType_TypeKind interface {
isType_TypeKind()
}
type Type_Dyn struct {
Dyn *emptypb.Empty `protobuf:"bytes,1,opt,name=dyn,proto3,oneof"`
}
type Type_Null struct {
Null structpb.NullValue `protobuf:"varint,2,opt,name=null,proto3,enum=google.protobuf.NullValue,oneof"`
}
type Type_Primitive struct {
Primitive Type_PrimitiveType `protobuf:"varint,3,opt,name=primitive,proto3,enum=cel.expr.Type_PrimitiveType,oneof"`
}
type Type_Wrapper struct {
Wrapper Type_PrimitiveType `protobuf:"varint,4,opt,name=wrapper,proto3,enum=cel.expr.Type_PrimitiveType,oneof"`
}
type Type_WellKnown struct {
WellKnown Type_WellKnownType `protobuf:"varint,5,opt,name=well_known,json=wellKnown,proto3,enum=cel.expr.Type_WellKnownType,oneof"`
}
type Type_ListType_ struct {
ListType *Type_ListType `protobuf:"bytes,6,opt,name=list_type,json=listType,proto3,oneof"`
}
type Type_MapType_ struct {
MapType *Type_MapType `protobuf:"bytes,7,opt,name=map_type,json=mapType,proto3,oneof"`
}
type Type_Function struct {
Function *Type_FunctionType `protobuf:"bytes,8,opt,name=function,proto3,oneof"`
}
type Type_MessageType struct {
MessageType string `protobuf:"bytes,9,opt,name=message_type,json=messageType,proto3,oneof"`
}
type Type_TypeParam struct {
TypeParam string `protobuf:"bytes,10,opt,name=type_param,json=typeParam,proto3,oneof"`
}
type Type_Type struct {
Type *Type `protobuf:"bytes,11,opt,name=type,proto3,oneof"`
}
type Type_Error struct {
Error *emptypb.Empty `protobuf:"bytes,12,opt,name=error,proto3,oneof"`
}
type Type_AbstractType_ struct {
AbstractType *Type_AbstractType `protobuf:"bytes,14,opt,name=abstract_type,json=abstractType,proto3,oneof"`
}
func (*Type_Dyn) isType_TypeKind() {}
func (*Type_Null) isType_TypeKind() {}
func (*Type_Primitive) isType_TypeKind() {}
func (*Type_Wrapper) isType_TypeKind() {}
func (*Type_WellKnown) isType_TypeKind() {}
func (*Type_ListType_) isType_TypeKind() {}
func (*Type_MapType_) isType_TypeKind() {}
func (*Type_Function) isType_TypeKind() {}
func (*Type_MessageType) isType_TypeKind() {}
func (*Type_TypeParam) isType_TypeKind() {}
func (*Type_Type) isType_TypeKind() {}
func (*Type_Error) isType_TypeKind() {}
func (*Type_AbstractType_) isType_TypeKind() {}
type Decl struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Types that are assignable to DeclKind:
//
// *Decl_Ident
// *Decl_Function
DeclKind isDecl_DeclKind `protobuf_oneof:"decl_kind"`
}
func (x *Decl) Reset() {
*x = Decl{}
if protoimpl.UnsafeEnabled {
mi := &file_cel_expr_checked_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Decl) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Decl) ProtoMessage() {}
func (x *Decl) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_checked_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Decl.ProtoReflect.Descriptor instead.
func (*Decl) Descriptor() ([]byte, []int) {
return file_cel_expr_checked_proto_rawDescGZIP(), []int{2}
}
func (x *Decl) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (m *Decl) GetDeclKind() isDecl_DeclKind {
if m != nil {
return m.DeclKind
}
return nil
}
func (x *Decl) GetIdent() *Decl_IdentDecl {
if x, ok := x.GetDeclKind().(*Decl_Ident); ok {
return x.Ident
}
return nil
}
func (x *Decl) GetFunction() *Decl_FunctionDecl {
if x, ok := x.GetDeclKind().(*Decl_Function); ok {
return x.Function
}
return nil
}
type isDecl_DeclKind interface {
isDecl_DeclKind()
}
type Decl_Ident struct {
Ident *Decl_IdentDecl `protobuf:"bytes,2,opt,name=ident,proto3,oneof"`
}
type Decl_Function struct {
Function *Decl_FunctionDecl `protobuf:"bytes,3,opt,name=function,proto3,oneof"`
}
func (*Decl_Ident) isDecl_DeclKind() {}
func (*Decl_Function) isDecl_DeclKind() {}
type Reference struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
OverloadId []string `protobuf:"bytes,3,rep,name=overload_id,json=overloadId,proto3" json:"overload_id,omitempty"`
Value *Constant `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *Reference) Reset() {
*x = Reference{}
if protoimpl.UnsafeEnabled {
mi := &file_cel_expr_checked_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Reference) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Reference) ProtoMessage() {}
func (x *Reference) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_checked_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Reference.ProtoReflect.Descriptor instead.
func (*Reference) Descriptor() ([]byte, []int) {
return file_cel_expr_checked_proto_rawDescGZIP(), []int{3}
}
func (x *Reference) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Reference) GetOverloadId() []string {
if x != nil {
return x.OverloadId
}
return nil
}
func (x *Reference) GetValue() *Constant {
if x != nil {
return x.Value
}
return nil
}
type Type_ListType struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ElemType *Type `protobuf:"bytes,1,opt,name=elem_type,json=elemType,proto3" json:"elem_type,omitempty"`
}
func (x *Type_ListType) Reset() {
*x = Type_ListType{}
if protoimpl.UnsafeEnabled {
mi := &file_cel_expr_checked_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Type_ListType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Type_ListType) ProtoMessage() {}
func (x *Type_ListType) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_checked_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Type_ListType.ProtoReflect.Descriptor instead.
func (*Type_ListType) Descriptor() ([]byte, []int) {
return file_cel_expr_checked_proto_rawDescGZIP(), []int{1, 0}
}
func (x *Type_ListType) GetElemType() *Type {
if x != nil {
return x.ElemType
}
return nil
}
type Type_MapType struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
KeyType *Type `protobuf:"bytes,1,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty"`
ValueType *Type `protobuf:"bytes,2,opt,name=value_type,json=valueType,proto3" json:"value_type,omitempty"`
}
func (x *Type_MapType) Reset() {
*x = Type_MapType{}
if protoimpl.UnsafeEnabled {
mi := &file_cel_expr_checked_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Type_MapType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Type_MapType) ProtoMessage() {}
func (x *Type_MapType) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_checked_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Type_MapType.ProtoReflect.Descriptor instead.
func (*Type_MapType) Descriptor() ([]byte, []int) {
return file_cel_expr_checked_proto_rawDescGZIP(), []int{1, 1}
}
func (x *Type_MapType) GetKeyType() *Type {
if x != nil {
return x.KeyType
}
return nil
}
func (x *Type_MapType) GetValueType() *Type {
if x != nil {
return x.ValueType
}
return nil
}
type Type_FunctionType struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ResultType *Type `protobuf:"bytes,1,opt,name=result_type,json=resultType,proto3" json:"result_type,omitempty"`
ArgTypes []*Type `protobuf:"bytes,2,rep,name=arg_types,json=argTypes,proto3" json:"arg_types,omitempty"`
}
func (x *Type_FunctionType) Reset() {
*x = Type_FunctionType{}
if protoimpl.UnsafeEnabled {
mi := &file_cel_expr_checked_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Type_FunctionType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Type_FunctionType) ProtoMessage() {}
func (x *Type_FunctionType) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_checked_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Type_FunctionType.ProtoReflect.Descriptor instead.
func (*Type_FunctionType) Descriptor() ([]byte, []int) {
return file_cel_expr_checked_proto_rawDescGZIP(), []int{1, 2}
}
func (x *Type_FunctionType) GetResultType() *Type {
if x != nil {
return x.ResultType
}
return nil
}
func (x *Type_FunctionType) GetArgTypes() []*Type {
if x != nil {
return x.ArgTypes
}
return nil
}
type Type_AbstractType struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
ParameterTypes []*Type `protobuf:"bytes,2,rep,name=parameter_types,json=parameterTypes,proto3" json:"parameter_types,omitempty"`
}
func (x *Type_AbstractType) Reset() {
*x = Type_AbstractType{}
if protoimpl.UnsafeEnabled {
mi := &file_cel_expr_checked_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Type_AbstractType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Type_AbstractType) ProtoMessage() {}
func (x *Type_AbstractType) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_checked_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Type_AbstractType.ProtoReflect.Descriptor instead.
func (*Type_AbstractType) Descriptor() ([]byte, []int) {
return file_cel_expr_checked_proto_rawDescGZIP(), []int{1, 3}
}
func (x *Type_AbstractType) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Type_AbstractType) GetParameterTypes() []*Type {
if x != nil {
return x.ParameterTypes
}
return nil
}
type Decl_IdentDecl struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type *Type `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
Value *Constant `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
Doc string `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"`
}
func (x *Decl_IdentDecl) Reset() {
*x = Decl_IdentDecl{}
if protoimpl.UnsafeEnabled {
mi := &file_cel_expr_checked_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Decl_IdentDecl) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Decl_IdentDecl) ProtoMessage() {}
func (x *Decl_IdentDecl) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_checked_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Decl_IdentDecl.ProtoReflect.Descriptor instead.
func (*Decl_IdentDecl) Descriptor() ([]byte, []int) {
return file_cel_expr_checked_proto_rawDescGZIP(), []int{2, 0}
}
func (x *Decl_IdentDecl) GetType() *Type {
if x != nil {
return x.Type
}
return nil
}
func (x *Decl_IdentDecl) GetValue() *Constant {
if x != nil {
return x.Value
}
return nil
}
func (x *Decl_IdentDecl) GetDoc() string {
if x != nil {
return x.Doc
}
return ""
}
type Decl_FunctionDecl struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Overloads []*Decl_FunctionDecl_Overload `protobuf:"bytes,1,rep,name=overloads,proto3" json:"overloads,omitempty"`
}
func (x *Decl_FunctionDecl) Reset() {
*x = Decl_FunctionDecl{}
if protoimpl.UnsafeEnabled {
mi := &file_cel_expr_checked_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Decl_FunctionDecl) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Decl_FunctionDecl) ProtoMessage() {}
func (x *Decl_FunctionDecl) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_checked_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Decl_FunctionDecl.ProtoReflect.Descriptor instead.
func (*Decl_FunctionDecl) Descriptor() ([]byte, []int) {
return file_cel_expr_checked_proto_rawDescGZIP(), []int{2, 1}
}
func (x *Decl_FunctionDecl) GetOverloads() []*Decl_FunctionDecl_Overload {
if x != nil {
return x.Overloads
}
return nil
}
type Decl_FunctionDecl_Overload struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OverloadId string `protobuf:"bytes,1,opt,name=overload_id,json=overloadId,proto3" json:"overload_id,omitempty"`
Params []*Type `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"`
TypeParams []string `protobuf:"bytes,3,rep,name=type_params,json=typeParams,proto3" json:"type_params,omitempty"`
ResultType *Type `protobuf:"bytes,4,opt,name=result_type,json=resultType,proto3" json:"result_type,omitempty"`
IsInstanceFunction bool `protobuf:"varint,5,opt,name=is_instance_function,json=isInstanceFunction,proto3" json:"is_instance_function,omitempty"`
Doc string `protobuf:"bytes,6,opt,name=doc,proto3" json:"doc,omitempty"`
}
func (x *Decl_FunctionDecl_Overload) Reset() {
*x = Decl_FunctionDecl_Overload{}
if protoimpl.UnsafeEnabled {
mi := &file_cel_expr_checked_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Decl_FunctionDecl_Overload) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Decl_FunctionDecl_Overload) ProtoMessage() {}
func (x *Decl_FunctionDecl_Overload) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_checked_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Decl_FunctionDecl_Overload.ProtoReflect.Descriptor instead.
func (*Decl_FunctionDecl_Overload) Descriptor() ([]byte, []int) {
return file_cel_expr_checked_proto_rawDescGZIP(), []int{2, 1, 0}
}
func (x *Decl_FunctionDecl_Overload) GetOverloadId() string {
if x != nil {
return x.OverloadId
}
return ""
}
func (x *Decl_FunctionDecl_Overload) GetParams() []*Type {
if x != nil {
return x.Params
}
return nil
}
func (x *Decl_FunctionDecl_Overload) GetTypeParams() []string {
if x != nil {
return x.TypeParams
}
return nil
}
func (x *Decl_FunctionDecl_Overload) GetResultType() *Type {
if x != nil {
return x.ResultType
}
return nil
}
func (x *Decl_FunctionDecl_Overload) GetIsInstanceFunction() bool {
if x != nil {
return x.IsInstanceFunction
}
return false
}
func (x *Decl_FunctionDecl_Overload) GetDoc() string {
if x != nil {
return x.Doc
}
return ""
}
var File_cel_expr_checked_proto protoreflect.FileDescriptor
var file_cel_expr_checked_proto_rawDesc = []byte{
0x0a, 0x16, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x1a, 0x15, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x73, 0x79, 0x6e,
0x74, 0x61, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 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, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x03, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64,
0x45, 0x78, 0x70, 0x72, 0x12, 0x4c, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78,
0x70, 0x72, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d,
0x61, 0x70, 0x12, 0x3d, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65,
0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x61,
0x70, 0x12, 0x35, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x72,
0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x65, 0x78, 0x70, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x65,
0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x1a,
0x54, 0x0a, 0x11, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4a, 0x0a, 0x0c, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x22, 0xe6, 0x09, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x03, 0x64, 0x79,
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48,
0x00, 0x52, 0x03, 0x64, 0x79, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x48, 0x00, 0x52, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x3c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6d,
0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x72, 0x69, 0x6d,
0x69, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x69,
0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76,
0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x12, 0x3d, 0x0a, 0x0a, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x18, 0x05,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x54, 0x79, 0x70, 0x65, 0x2e, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79,
0x70, 0x65, 0x48, 0x00, 0x52, 0x09, 0x77, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x12,
0x36, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79,
0x70, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6c,
0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x5f, 0x74,
0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x54, 0x79, 0x70,
0x65, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x08,
0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x46,
0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x08, 0x66,
0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a,
0x74, 0x79, 0x70, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
0x48, 0x00, 0x52, 0x09, 0x74, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x24, 0x0a,
0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x04, 0x74,
0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72,
0x72, 0x6f, 0x72, 0x12, 0x42, 0x0a, 0x0d, 0x61, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f,
0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x41, 0x62, 0x73, 0x74, 0x72,
0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x62, 0x73, 0x74, 0x72,
0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x37, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x54,
0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65,
0x1a, 0x63, 0x0a, 0x07, 0x4d, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x08, 0x6b,
0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6b,
0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f,
0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x6c, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f,
0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79,
0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x61, 0x72, 0x67, 0x54, 0x79,
0x70, 0x65, 0x73, 0x1a, 0x5b, 0x0a, 0x0c, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54,
0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x61, 0x6d,
0x65, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65,
0x52, 0x0e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73,
0x22, 0x73, 0x0a, 0x0d, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70,
0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x49, 0x4d, 0x49, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x54,
0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x49,
0x4e, 0x54, 0x36, 0x34, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34,
0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x0a,
0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x59,
0x54, 0x45, 0x53, 0x10, 0x06, 0x22, 0x56, 0x0a, 0x0d, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f,
0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x57, 0x45, 0x4c, 0x4c, 0x5f, 0x4b,
0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x01,
0x12, 0x0d, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x02, 0x12,
0x0c, 0x0a, 0x08, 0x44, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x42, 0x0b, 0x0a,
0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xc2, 0x04, 0x0a, 0x04, 0x44,
0x65, 0x63, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x69, 0x64, 0x65, 0x6e, 0x74,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x63, 0x6c,
0x48, 0x00, 0x52, 0x05, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x08, 0x66, 0x75, 0x6e,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x2e, 0x46, 0x75, 0x6e, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x6b, 0x0a, 0x09, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x63,
0x6c, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52,
0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12,
0x10, 0x0a, 0x03, 0x64, 0x6f, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x6f,
0x63, 0x1a, 0xbe, 0x02, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65,
0x63, 0x6c, 0x12, 0x42, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x44, 0x65, 0x63, 0x6c, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65,
0x63, 0x6c, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x09, 0x6f, 0x76, 0x65,
0x72, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x1a, 0xe9, 0x01, 0x0a, 0x08, 0x4f, 0x76, 0x65, 0x72, 0x6c,
0x6f, 0x61, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x5f,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f,
0x61, 0x64, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
0x74, 0x79, 0x70, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2f, 0x0a,
0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79,
0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30,
0x0a, 0x14, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x75,
0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73,
0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x10, 0x0a, 0x03, 0x64, 0x6f, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64,
0x6f, 0x63, 0x42, 0x0b, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x6c, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22,
0x6a, 0x0a, 0x09, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18,
0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x49,
0x64, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x12, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x73,
0x74, 0x61, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x2c, 0x0a, 0x0c, 0x64,
0x65, 0x76, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x42, 0x09, 0x44, 0x65, 0x63,
0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x0c, 0x63, 0x65, 0x6c, 0x2e, 0x64, 0x65,
0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
}
var (
file_cel_expr_checked_proto_rawDescOnce sync.Once
file_cel_expr_checked_proto_rawDescData = file_cel_expr_checked_proto_rawDesc
)
func file_cel_expr_checked_proto_rawDescGZIP() []byte {
file_cel_expr_checked_proto_rawDescOnce.Do(func() {
file_cel_expr_checked_proto_rawDescData = protoimpl.X.CompressGZIP(file_cel_expr_checked_proto_rawDescData)
})
return file_cel_expr_checked_proto_rawDescData
}
var file_cel_expr_checked_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_cel_expr_checked_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
var file_cel_expr_checked_proto_goTypes = []interface{}{
(Type_PrimitiveType)(0), // 0: cel.expr.Type.PrimitiveType
(Type_WellKnownType)(0), // 1: cel.expr.Type.WellKnownType
(*CheckedExpr)(nil), // 2: cel.expr.CheckedExpr
(*Type)(nil), // 3: cel.expr.Type
(*Decl)(nil), // 4: cel.expr.Decl
(*Reference)(nil), // 5: cel.expr.Reference
nil, // 6: cel.expr.CheckedExpr.ReferenceMapEntry
nil, // 7: cel.expr.CheckedExpr.TypeMapEntry
(*Type_ListType)(nil), // 8: cel.expr.Type.ListType
(*Type_MapType)(nil), // 9: cel.expr.Type.MapType
(*Type_FunctionType)(nil), // 10: cel.expr.Type.FunctionType
(*Type_AbstractType)(nil), // 11: cel.expr.Type.AbstractType
(*Decl_IdentDecl)(nil), // 12: cel.expr.Decl.IdentDecl
(*Decl_FunctionDecl)(nil), // 13: cel.expr.Decl.FunctionDecl
(*Decl_FunctionDecl_Overload)(nil), // 14: cel.expr.Decl.FunctionDecl.Overload
(*SourceInfo)(nil), // 15: cel.expr.SourceInfo
(*Expr)(nil), // 16: cel.expr.Expr
(*emptypb.Empty)(nil), // 17: google.protobuf.Empty
(structpb.NullValue)(0), // 18: google.protobuf.NullValue
(*Constant)(nil), // 19: cel.expr.Constant
}
var file_cel_expr_checked_proto_depIdxs = []int32{
6, // 0: cel.expr.CheckedExpr.reference_map:type_name -> cel.expr.CheckedExpr.ReferenceMapEntry
7, // 1: cel.expr.CheckedExpr.type_map:type_name -> cel.expr.CheckedExpr.TypeMapEntry
15, // 2: cel.expr.CheckedExpr.source_info:type_name -> cel.expr.SourceInfo
16, // 3: cel.expr.CheckedExpr.expr:type_name -> cel.expr.Expr
17, // 4: cel.expr.Type.dyn:type_name -> google.protobuf.Empty
18, // 5: cel.expr.Type.null:type_name -> google.protobuf.NullValue
0, // 6: cel.expr.Type.primitive:type_name -> cel.expr.Type.PrimitiveType
0, // 7: cel.expr.Type.wrapper:type_name -> cel.expr.Type.PrimitiveType
1, // 8: cel.expr.Type.well_known:type_name -> cel.expr.Type.WellKnownType
8, // 9: cel.expr.Type.list_type:type_name -> cel.expr.Type.ListType
9, // 10: cel.expr.Type.map_type:type_name -> cel.expr.Type.MapType
10, // 11: cel.expr.Type.function:type_name -> cel.expr.Type.FunctionType
3, // 12: cel.expr.Type.type:type_name -> cel.expr.Type
17, // 13: cel.expr.Type.error:type_name -> google.protobuf.Empty
11, // 14: cel.expr.Type.abstract_type:type_name -> cel.expr.Type.AbstractType
12, // 15: cel.expr.Decl.ident:type_name -> cel.expr.Decl.IdentDecl
13, // 16: cel.expr.Decl.function:type_name -> cel.expr.Decl.FunctionDecl
19, // 17: cel.expr.Reference.value:type_name -> cel.expr.Constant
5, // 18: cel.expr.CheckedExpr.ReferenceMapEntry.value:type_name -> cel.expr.Reference
3, // 19: cel.expr.CheckedExpr.TypeMapEntry.value:type_name -> cel.expr.Type
3, // 20: cel.expr.Type.ListType.elem_type:type_name -> cel.expr.Type
3, // 21: cel.expr.Type.MapType.key_type:type_name -> cel.expr.Type
3, // 22: cel.expr.Type.MapType.value_type:type_name -> cel.expr.Type
3, // 23: cel.expr.Type.FunctionType.result_type:type_name -> cel.expr.Type
3, // 24: cel.expr.Type.FunctionType.arg_types:type_name -> cel.expr.Type
3, // 25: cel.expr.Type.AbstractType.parameter_types:type_name -> cel.expr.Type
3, // 26: cel.expr.Decl.IdentDecl.type:type_name -> cel.expr.Type
19, // 27: cel.expr.Decl.IdentDecl.value:type_name -> cel.expr.Constant
14, // 28: cel.expr.Decl.FunctionDecl.overloads:type_name -> cel.expr.Decl.FunctionDecl.Overload
3, // 29: cel.expr.Decl.FunctionDecl.Overload.params:type_name -> cel.expr.Type
3, // 30: cel.expr.Decl.FunctionDecl.Overload.result_type:type_name -> cel.expr.Type
31, // [31:31] is the sub-list for method output_type
31, // [31:31] is the sub-list for method input_type
31, // [31:31] is the sub-list for extension type_name
31, // [31:31] is the sub-list for extension extendee
0, // [0:31] is the sub-list for field type_name
}
func init() { file_cel_expr_checked_proto_init() }
func file_cel_expr_checked_proto_init() {
if File_cel_expr_checked_proto != nil {
return
}
file_cel_expr_syntax_proto_init()
if !protoimpl.UnsafeEnabled {
file_cel_expr_checked_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CheckedExpr); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cel_expr_checked_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Type); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cel_expr_checked_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Decl); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cel_expr_checked_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Reference); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cel_expr_checked_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Type_ListType); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cel_expr_checked_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Type_MapType); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cel_expr_checked_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Type_FunctionType); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cel_expr_checked_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Type_AbstractType); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cel_expr_checked_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Decl_IdentDecl); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cel_expr_checked_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Decl_FunctionDecl); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cel_expr_checked_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Decl_FunctionDecl_Overload); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_cel_expr_checked_proto_msgTypes[1].OneofWrappers = []interface{}{
(*Type_Dyn)(nil),
(*Type_Null)(nil),
(*Type_Primitive)(nil),
(*Type_Wrapper)(nil),
(*Type_WellKnown)(nil),
(*Type_ListType_)(nil),
(*Type_MapType_)(nil),
(*Type_Function)(nil),
(*Type_MessageType)(nil),
(*Type_TypeParam)(nil),
(*Type_Type)(nil),
(*Type_Error)(nil),
(*Type_AbstractType_)(nil),
}
file_cel_expr_checked_proto_msgTypes[2].OneofWrappers = []interface{}{
(*Decl_Ident)(nil),
(*Decl_Function)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cel_expr_checked_proto_rawDesc,
NumEnums: 2,
NumMessages: 13,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cel_expr_checked_proto_goTypes,
DependencyIndexes: file_cel_expr_checked_proto_depIdxs,
EnumInfos: file_cel_expr_checked_proto_enumTypes,
MessageInfos: file_cel_expr_checked_proto_msgTypes,
}.Build()
File_cel_expr_checked_proto = out.File
file_cel_expr_checked_proto_rawDesc = nil
file_cel_expr_checked_proto_goTypes = nil
file_cel_expr_checked_proto_depIdxs = nil
}
cel-spec-0.24.0/cloudbuild.yaml 0000664 0000000 0000000 00000000270 15006676303 0016307 0 ustar 00root root 0000000 0000000 steps:
- name: 'gcr.io/cloud-builders/bazel:7.3.2'
entrypoint: bazel
args: ['build', '...']
id: bazel-build
waitFor: ['-']
timeout: 15m
options:
machineType: 'N1_HIGHCPU_32'
cel-spec-0.24.0/conformance/ 0000775 0000000 0000000 00000000000 15006676303 0015570 5 ustar 00root root 0000000 0000000 cel-spec-0.24.0/conformance/BUILD.bazel 0000775 0000000 0000000 00000002366 15006676303 0017460 0 ustar 00root root 0000000 0000000 # Copyright 2024 Google LLC
#
# 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
#
# https://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.
load("@io_bazel_rules_go//go:def.bzl", "go_library")
package(
default_visibility = ["//visibility:public"],
licenses = ["notice"], # Apache 2.0
)
go_library(
name = "go_default_library",
srcs = [
"conformance_service.pb.go",
"env_config.pb.go",
],
importpath = "cel.dev/expr/conformance",
deps = [
"//:expr",
"@org_golang_google_genproto_googleapis_rpc//status:go_default_library",
"@org_golang_google_protobuf//reflect/protoreflect",
"@org_golang_google_protobuf//runtime/protoimpl",
"@org_golang_google_protobuf//types/descriptorpb",
"@org_golang_google_protobuf//types/known/structpb",
],
)
cel-spec-0.24.0/conformance/conformance_service.pb.go 0000775 0000000 0000000 00000102133 15006676303 0022534 0 ustar 00root root 0000000 0000000 // Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.3
// protoc v5.27.1
// source: cel/expr/conformance/conformance_service.proto
package conformance
import (
expr "cel.dev/expr"
status "google.golang.org/genproto/googleapis/rpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type IssueDetails_Severity int32
const (
IssueDetails_SEVERITY_UNSPECIFIED IssueDetails_Severity = 0
IssueDetails_DEPRECATION IssueDetails_Severity = 1
IssueDetails_WARNING IssueDetails_Severity = 2
IssueDetails_ERROR IssueDetails_Severity = 3
)
// Enum value maps for IssueDetails_Severity.
var (
IssueDetails_Severity_name = map[int32]string{
0: "SEVERITY_UNSPECIFIED",
1: "DEPRECATION",
2: "WARNING",
3: "ERROR",
}
IssueDetails_Severity_value = map[string]int32{
"SEVERITY_UNSPECIFIED": 0,
"DEPRECATION": 1,
"WARNING": 2,
"ERROR": 3,
}
)
func (x IssueDetails_Severity) Enum() *IssueDetails_Severity {
p := new(IssueDetails_Severity)
*p = x
return p
}
func (x IssueDetails_Severity) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (IssueDetails_Severity) Descriptor() protoreflect.EnumDescriptor {
return file_cel_expr_conformance_conformance_service_proto_enumTypes[0].Descriptor()
}
func (IssueDetails_Severity) Type() protoreflect.EnumType {
return &file_cel_expr_conformance_conformance_service_proto_enumTypes[0]
}
func (x IssueDetails_Severity) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use IssueDetails_Severity.Descriptor instead.
func (IssueDetails_Severity) EnumDescriptor() ([]byte, []int) {
return file_cel_expr_conformance_conformance_service_proto_rawDescGZIP(), []int{7, 0}
}
type ParseRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
CelSource string `protobuf:"bytes,1,opt,name=cel_source,json=celSource,proto3" json:"cel_source,omitempty"`
SyntaxVersion string `protobuf:"bytes,2,opt,name=syntax_version,json=syntaxVersion,proto3" json:"syntax_version,omitempty"`
SourceLocation string `protobuf:"bytes,3,opt,name=source_location,json=sourceLocation,proto3" json:"source_location,omitempty"`
DisableMacros bool `protobuf:"varint,4,opt,name=disable_macros,json=disableMacros,proto3" json:"disable_macros,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ParseRequest) Reset() {
*x = ParseRequest{}
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ParseRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ParseRequest) ProtoMessage() {}
func (x *ParseRequest) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ParseRequest.ProtoReflect.Descriptor instead.
func (*ParseRequest) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_conformance_service_proto_rawDescGZIP(), []int{0}
}
func (x *ParseRequest) GetCelSource() string {
if x != nil {
return x.CelSource
}
return ""
}
func (x *ParseRequest) GetSyntaxVersion() string {
if x != nil {
return x.SyntaxVersion
}
return ""
}
func (x *ParseRequest) GetSourceLocation() string {
if x != nil {
return x.SourceLocation
}
return ""
}
func (x *ParseRequest) GetDisableMacros() bool {
if x != nil {
return x.DisableMacros
}
return false
}
type ParseResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
ParsedExpr *expr.ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3" json:"parsed_expr,omitempty"`
Issues []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ParseResponse) Reset() {
*x = ParseResponse{}
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ParseResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ParseResponse) ProtoMessage() {}
func (x *ParseResponse) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ParseResponse.ProtoReflect.Descriptor instead.
func (*ParseResponse) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_conformance_service_proto_rawDescGZIP(), []int{1}
}
func (x *ParseResponse) GetParsedExpr() *expr.ParsedExpr {
if x != nil {
return x.ParsedExpr
}
return nil
}
func (x *ParseResponse) GetIssues() []*status.Status {
if x != nil {
return x.Issues
}
return nil
}
type CheckRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
ParsedExpr *expr.ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3" json:"parsed_expr,omitempty"`
TypeEnv []*expr.Decl `protobuf:"bytes,2,rep,name=type_env,json=typeEnv,proto3" json:"type_env,omitempty"`
Container string `protobuf:"bytes,3,opt,name=container,proto3" json:"container,omitempty"`
NoStdEnv bool `protobuf:"varint,4,opt,name=no_std_env,json=noStdEnv,proto3" json:"no_std_env,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CheckRequest) Reset() {
*x = CheckRequest{}
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CheckRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckRequest) ProtoMessage() {}
func (x *CheckRequest) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CheckRequest.ProtoReflect.Descriptor instead.
func (*CheckRequest) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_conformance_service_proto_rawDescGZIP(), []int{2}
}
func (x *CheckRequest) GetParsedExpr() *expr.ParsedExpr {
if x != nil {
return x.ParsedExpr
}
return nil
}
func (x *CheckRequest) GetTypeEnv() []*expr.Decl {
if x != nil {
return x.TypeEnv
}
return nil
}
func (x *CheckRequest) GetContainer() string {
if x != nil {
return x.Container
}
return ""
}
func (x *CheckRequest) GetNoStdEnv() bool {
if x != nil {
return x.NoStdEnv
}
return false
}
type CheckResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
CheckedExpr *expr.CheckedExpr `protobuf:"bytes,1,opt,name=checked_expr,json=checkedExpr,proto3" json:"checked_expr,omitempty"`
Issues []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CheckResponse) Reset() {
*x = CheckResponse{}
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CheckResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckResponse) ProtoMessage() {}
func (x *CheckResponse) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CheckResponse.ProtoReflect.Descriptor instead.
func (*CheckResponse) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_conformance_service_proto_rawDescGZIP(), []int{3}
}
func (x *CheckResponse) GetCheckedExpr() *expr.CheckedExpr {
if x != nil {
return x.CheckedExpr
}
return nil
}
func (x *CheckResponse) GetIssues() []*status.Status {
if x != nil {
return x.Issues
}
return nil
}
type EvalRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Types that are valid to be assigned to ExprKind:
//
// *EvalRequest_ParsedExpr
// *EvalRequest_CheckedExpr
ExprKind isEvalRequest_ExprKind `protobuf_oneof:"expr_kind"`
Bindings map[string]*expr.ExprValue `protobuf:"bytes,3,rep,name=bindings,proto3" json:"bindings,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
Container string `protobuf:"bytes,4,opt,name=container,proto3" json:"container,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *EvalRequest) Reset() {
*x = EvalRequest{}
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *EvalRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EvalRequest) ProtoMessage() {}
func (x *EvalRequest) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EvalRequest.ProtoReflect.Descriptor instead.
func (*EvalRequest) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_conformance_service_proto_rawDescGZIP(), []int{4}
}
func (x *EvalRequest) GetExprKind() isEvalRequest_ExprKind {
if x != nil {
return x.ExprKind
}
return nil
}
func (x *EvalRequest) GetParsedExpr() *expr.ParsedExpr {
if x != nil {
if x, ok := x.ExprKind.(*EvalRequest_ParsedExpr); ok {
return x.ParsedExpr
}
}
return nil
}
func (x *EvalRequest) GetCheckedExpr() *expr.CheckedExpr {
if x != nil {
if x, ok := x.ExprKind.(*EvalRequest_CheckedExpr); ok {
return x.CheckedExpr
}
}
return nil
}
func (x *EvalRequest) GetBindings() map[string]*expr.ExprValue {
if x != nil {
return x.Bindings
}
return nil
}
func (x *EvalRequest) GetContainer() string {
if x != nil {
return x.Container
}
return ""
}
type isEvalRequest_ExprKind interface {
isEvalRequest_ExprKind()
}
type EvalRequest_ParsedExpr struct {
ParsedExpr *expr.ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3,oneof"`
}
type EvalRequest_CheckedExpr struct {
CheckedExpr *expr.CheckedExpr `protobuf:"bytes,2,opt,name=checked_expr,json=checkedExpr,proto3,oneof"`
}
func (*EvalRequest_ParsedExpr) isEvalRequest_ExprKind() {}
func (*EvalRequest_CheckedExpr) isEvalRequest_ExprKind() {}
type EvalResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Result *expr.ExprValue `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
Issues []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *EvalResponse) Reset() {
*x = EvalResponse{}
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *EvalResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EvalResponse) ProtoMessage() {}
func (x *EvalResponse) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EvalResponse.ProtoReflect.Descriptor instead.
func (*EvalResponse) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_conformance_service_proto_rawDescGZIP(), []int{5}
}
func (x *EvalResponse) GetResult() *expr.ExprValue {
if x != nil {
return x.Result
}
return nil
}
func (x *EvalResponse) GetIssues() []*status.Status {
if x != nil {
return x.Issues
}
return nil
}
type SourcePosition struct {
state protoimpl.MessageState `protogen:"open.v1"`
Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
Line int32 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"`
Column int32 `protobuf:"varint,4,opt,name=column,proto3" json:"column,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SourcePosition) Reset() {
*x = SourcePosition{}
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SourcePosition) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SourcePosition) ProtoMessage() {}
func (x *SourcePosition) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SourcePosition.ProtoReflect.Descriptor instead.
func (*SourcePosition) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_conformance_service_proto_rawDescGZIP(), []int{6}
}
func (x *SourcePosition) GetLocation() string {
if x != nil {
return x.Location
}
return ""
}
func (x *SourcePosition) GetOffset() int32 {
if x != nil {
return x.Offset
}
return 0
}
func (x *SourcePosition) GetLine() int32 {
if x != nil {
return x.Line
}
return 0
}
func (x *SourcePosition) GetColumn() int32 {
if x != nil {
return x.Column
}
return 0
}
type IssueDetails struct {
state protoimpl.MessageState `protogen:"open.v1"`
Severity IssueDetails_Severity `protobuf:"varint,1,opt,name=severity,proto3,enum=cel.expr.conformance.IssueDetails_Severity" json:"severity,omitempty"`
Position *SourcePosition `protobuf:"bytes,2,opt,name=position,proto3" json:"position,omitempty"`
Id int64 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *IssueDetails) Reset() {
*x = IssueDetails{}
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *IssueDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IssueDetails) ProtoMessage() {}
func (x *IssueDetails) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_conformance_service_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use IssueDetails.ProtoReflect.Descriptor instead.
func (*IssueDetails) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_conformance_service_proto_rawDescGZIP(), []int{7}
}
func (x *IssueDetails) GetSeverity() IssueDetails_Severity {
if x != nil {
return x.Severity
}
return IssueDetails_SEVERITY_UNSPECIFIED
}
func (x *IssueDetails) GetPosition() *SourcePosition {
if x != nil {
return x.Position
}
return nil
}
func (x *IssueDetails) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
var File_cel_expr_conformance_conformance_service_proto protoreflect.FileDescriptor
var file_cel_expr_conformance_conformance_service_proto_rawDesc = []byte{
0x0a, 0x2e, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x14, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x16, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72,
0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13,
0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x73, 0x79,
0x6e, 0x74, 0x61, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x01, 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x65, 0x6c, 0x5f, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x65, 0x6c, 0x53, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x79, 0x6e,
0x74, 0x61, 0x78, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d,
0x61, 0x63, 0x72, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x69, 0x73,
0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x22, 0x72, 0x0a, 0x0d, 0x50, 0x61,
0x72, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x70,
0x61, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x14, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x73,
0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78,
0x70, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e,
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0xac,
0x01, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x35, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x50, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x73,
0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12, 0x29, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65,
0x6e, 0x76, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x45, 0x6e,
0x76, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12,
0x1c, 0x0a, 0x0a, 0x6e, 0x6f, 0x5f, 0x73, 0x74, 0x64, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x04, 0x20,
0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x6f, 0x53, 0x74, 0x64, 0x45, 0x6e, 0x76, 0x22, 0x75, 0x0a,
0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38,
0x0a, 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0b, 0x63, 0x68, 0x65,
0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75,
0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x69, 0x73,
0x73, 0x75, 0x65, 0x73, 0x22, 0xcc, 0x02, 0x0a, 0x0b, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x65,
0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x48,
0x00, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12, 0x3a, 0x0a,
0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x43,
0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x68,
0x65, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12, 0x4b, 0x0a, 0x08, 0x62, 0x69, 0x6e,
0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42,
0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x62, 0x69,
0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61,
0x69, 0x6e, 0x65, 0x72, 0x1a, 0x50, 0x0a, 0x0d, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x6b,
0x69, 0x6e, 0x64, 0x22, 0x67, 0x0a, 0x0c, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45,
0x78, 0x70, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x12, 0x2a, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74,
0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0x70, 0x0a, 0x0e,
0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a,
0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66,
0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73,
0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0xf8,
0x01, 0x0a, 0x0c, 0x49, 0x73, 0x73, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12,
0x47, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x44, 0x65,
0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08,
0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4d, 0x0a, 0x08, 0x53, 0x65,
0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49,
0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10,
0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x09,
0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x32, 0x8d, 0x02, 0x0a, 0x12, 0x43, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x12, 0x52, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x73, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x22, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x23, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x04, 0x45, 0x76, 0x61, 0x6c,
0x12, 0x21, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x52, 0x0a, 0x18, 0x64, 0x65, 0x76,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x17, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
0x5a, 0x18, 0x63, 0x65, 0x6c, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cel_expr_conformance_conformance_service_proto_rawDescOnce sync.Once
file_cel_expr_conformance_conformance_service_proto_rawDescData = file_cel_expr_conformance_conformance_service_proto_rawDesc
)
func file_cel_expr_conformance_conformance_service_proto_rawDescGZIP() []byte {
file_cel_expr_conformance_conformance_service_proto_rawDescOnce.Do(func() {
file_cel_expr_conformance_conformance_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_cel_expr_conformance_conformance_service_proto_rawDescData)
})
return file_cel_expr_conformance_conformance_service_proto_rawDescData
}
var file_cel_expr_conformance_conformance_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_cel_expr_conformance_conformance_service_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_cel_expr_conformance_conformance_service_proto_goTypes = []any{
(IssueDetails_Severity)(0), // 0: cel.expr.conformance.IssueDetails.Severity
(*ParseRequest)(nil), // 1: cel.expr.conformance.ParseRequest
(*ParseResponse)(nil), // 2: cel.expr.conformance.ParseResponse
(*CheckRequest)(nil), // 3: cel.expr.conformance.CheckRequest
(*CheckResponse)(nil), // 4: cel.expr.conformance.CheckResponse
(*EvalRequest)(nil), // 5: cel.expr.conformance.EvalRequest
(*EvalResponse)(nil), // 6: cel.expr.conformance.EvalResponse
(*SourcePosition)(nil), // 7: cel.expr.conformance.SourcePosition
(*IssueDetails)(nil), // 8: cel.expr.conformance.IssueDetails
nil, // 9: cel.expr.conformance.EvalRequest.BindingsEntry
(*expr.ParsedExpr)(nil), // 10: cel.expr.ParsedExpr
(*status.Status)(nil), // 11: google.rpc.Status
(*expr.Decl)(nil), // 12: cel.expr.Decl
(*expr.CheckedExpr)(nil), // 13: cel.expr.CheckedExpr
(*expr.ExprValue)(nil), // 14: cel.expr.ExprValue
}
var file_cel_expr_conformance_conformance_service_proto_depIdxs = []int32{
10, // 0: cel.expr.conformance.ParseResponse.parsed_expr:type_name -> cel.expr.ParsedExpr
11, // 1: cel.expr.conformance.ParseResponse.issues:type_name -> google.rpc.Status
10, // 2: cel.expr.conformance.CheckRequest.parsed_expr:type_name -> cel.expr.ParsedExpr
12, // 3: cel.expr.conformance.CheckRequest.type_env:type_name -> cel.expr.Decl
13, // 4: cel.expr.conformance.CheckResponse.checked_expr:type_name -> cel.expr.CheckedExpr
11, // 5: cel.expr.conformance.CheckResponse.issues:type_name -> google.rpc.Status
10, // 6: cel.expr.conformance.EvalRequest.parsed_expr:type_name -> cel.expr.ParsedExpr
13, // 7: cel.expr.conformance.EvalRequest.checked_expr:type_name -> cel.expr.CheckedExpr
9, // 8: cel.expr.conformance.EvalRequest.bindings:type_name -> cel.expr.conformance.EvalRequest.BindingsEntry
14, // 9: cel.expr.conformance.EvalResponse.result:type_name -> cel.expr.ExprValue
11, // 10: cel.expr.conformance.EvalResponse.issues:type_name -> google.rpc.Status
0, // 11: cel.expr.conformance.IssueDetails.severity:type_name -> cel.expr.conformance.IssueDetails.Severity
7, // 12: cel.expr.conformance.IssueDetails.position:type_name -> cel.expr.conformance.SourcePosition
14, // 13: cel.expr.conformance.EvalRequest.BindingsEntry.value:type_name -> cel.expr.ExprValue
1, // 14: cel.expr.conformance.ConformanceService.Parse:input_type -> cel.expr.conformance.ParseRequest
3, // 15: cel.expr.conformance.ConformanceService.Check:input_type -> cel.expr.conformance.CheckRequest
5, // 16: cel.expr.conformance.ConformanceService.Eval:input_type -> cel.expr.conformance.EvalRequest
2, // 17: cel.expr.conformance.ConformanceService.Parse:output_type -> cel.expr.conformance.ParseResponse
4, // 18: cel.expr.conformance.ConformanceService.Check:output_type -> cel.expr.conformance.CheckResponse
6, // 19: cel.expr.conformance.ConformanceService.Eval:output_type -> cel.expr.conformance.EvalResponse
17, // [17:20] is the sub-list for method output_type
14, // [14:17] is the sub-list for method input_type
14, // [14:14] is the sub-list for extension type_name
14, // [14:14] is the sub-list for extension extendee
0, // [0:14] is the sub-list for field type_name
}
func init() { file_cel_expr_conformance_conformance_service_proto_init() }
func file_cel_expr_conformance_conformance_service_proto_init() {
if File_cel_expr_conformance_conformance_service_proto != nil {
return
}
file_cel_expr_conformance_conformance_service_proto_msgTypes[4].OneofWrappers = []any{
(*EvalRequest_ParsedExpr)(nil),
(*EvalRequest_CheckedExpr)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cel_expr_conformance_conformance_service_proto_rawDesc,
NumEnums: 1,
NumMessages: 9,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_cel_expr_conformance_conformance_service_proto_goTypes,
DependencyIndexes: file_cel_expr_conformance_conformance_service_proto_depIdxs,
EnumInfos: file_cel_expr_conformance_conformance_service_proto_enumTypes,
MessageInfos: file_cel_expr_conformance_conformance_service_proto_msgTypes,
}.Build()
File_cel_expr_conformance_conformance_service_proto = out.File
file_cel_expr_conformance_conformance_service_proto_rawDesc = nil
file_cel_expr_conformance_conformance_service_proto_goTypes = nil
file_cel_expr_conformance_conformance_service_proto_depIdxs = nil
}
cel-spec-0.24.0/conformance/env_config.pb.go 0000775 0000000 0000000 00000070473 15006676303 0020652 0 ustar 00root root 0000000 0000000 // Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.3
// protoc v5.27.1
// source: cel/expr/conformance/env_config.proto
package conformance
import (
expr "cel.dev/expr"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
descriptorpb "google.golang.org/protobuf/types/descriptorpb"
structpb "google.golang.org/protobuf/types/known/structpb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type Environment struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
Container string `protobuf:"bytes,3,opt,name=container,proto3" json:"container,omitempty"`
Imports []*Environment_Import `protobuf:"bytes,4,rep,name=imports,proto3" json:"imports,omitempty"`
Stdlib *LibrarySubset `protobuf:"bytes,5,opt,name=stdlib,proto3" json:"stdlib,omitempty"`
Extensions []*Extension `protobuf:"bytes,6,rep,name=extensions,proto3" json:"extensions,omitempty"`
ContextVariable *Environment_ContextVariable `protobuf:"bytes,7,opt,name=context_variable,json=contextVariable,proto3" json:"context_variable,omitempty"`
Declarations []*expr.Decl `protobuf:"bytes,8,rep,name=declarations,proto3" json:"declarations,omitempty"`
Validators []*Validator `protobuf:"bytes,9,rep,name=validators,proto3" json:"validators,omitempty"`
Features []*Feature `protobuf:"bytes,10,rep,name=features,proto3" json:"features,omitempty"`
DisableStandardCelDeclarations bool `protobuf:"varint,11,opt,name=disable_standard_cel_declarations,json=disableStandardCelDeclarations,proto3" json:"disable_standard_cel_declarations,omitempty"`
MessageTypeExtension *descriptorpb.FileDescriptorSet `protobuf:"bytes,12,opt,name=message_type_extension,json=messageTypeExtension,proto3" json:"message_type_extension,omitempty"`
EnableMacroCallTracking bool `protobuf:"varint,13,opt,name=enable_macro_call_tracking,json=enableMacroCallTracking,proto3" json:"enable_macro_call_tracking,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Environment) Reset() {
*x = Environment{}
mi := &file_cel_expr_conformance_env_config_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Environment) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Environment) ProtoMessage() {}
func (x *Environment) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_env_config_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Environment.ProtoReflect.Descriptor instead.
func (*Environment) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_env_config_proto_rawDescGZIP(), []int{0}
}
func (x *Environment) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Environment) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *Environment) GetContainer() string {
if x != nil {
return x.Container
}
return ""
}
func (x *Environment) GetImports() []*Environment_Import {
if x != nil {
return x.Imports
}
return nil
}
func (x *Environment) GetStdlib() *LibrarySubset {
if x != nil {
return x.Stdlib
}
return nil
}
func (x *Environment) GetExtensions() []*Extension {
if x != nil {
return x.Extensions
}
return nil
}
func (x *Environment) GetContextVariable() *Environment_ContextVariable {
if x != nil {
return x.ContextVariable
}
return nil
}
func (x *Environment) GetDeclarations() []*expr.Decl {
if x != nil {
return x.Declarations
}
return nil
}
func (x *Environment) GetValidators() []*Validator {
if x != nil {
return x.Validators
}
return nil
}
func (x *Environment) GetFeatures() []*Feature {
if x != nil {
return x.Features
}
return nil
}
func (x *Environment) GetDisableStandardCelDeclarations() bool {
if x != nil {
return x.DisableStandardCelDeclarations
}
return false
}
func (x *Environment) GetMessageTypeExtension() *descriptorpb.FileDescriptorSet {
if x != nil {
return x.MessageTypeExtension
}
return nil
}
func (x *Environment) GetEnableMacroCallTracking() bool {
if x != nil {
return x.EnableMacroCallTracking
}
return false
}
type Validator struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Config map[string]*structpb.Value `protobuf:"bytes,2,rep,name=config,proto3" json:"config,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Validator) Reset() {
*x = Validator{}
mi := &file_cel_expr_conformance_env_config_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Validator) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Validator) ProtoMessage() {}
func (x *Validator) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_env_config_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Validator.ProtoReflect.Descriptor instead.
func (*Validator) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_env_config_proto_rawDescGZIP(), []int{1}
}
func (x *Validator) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Validator) GetConfig() map[string]*structpb.Value {
if x != nil {
return x.Config
}
return nil
}
type Feature struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Feature) Reset() {
*x = Feature{}
mi := &file_cel_expr_conformance_env_config_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Feature) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Feature) ProtoMessage() {}
func (x *Feature) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_env_config_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Feature.ProtoReflect.Descriptor instead.
func (*Feature) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_env_config_proto_rawDescGZIP(), []int{2}
}
func (x *Feature) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Feature) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
type Extension struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Extension) Reset() {
*x = Extension{}
mi := &file_cel_expr_conformance_env_config_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Extension) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Extension) ProtoMessage() {}
func (x *Extension) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_env_config_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Extension.ProtoReflect.Descriptor instead.
func (*Extension) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_env_config_proto_rawDescGZIP(), []int{3}
}
func (x *Extension) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Extension) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
type LibrarySubset struct {
state protoimpl.MessageState `protogen:"open.v1"`
Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"`
DisableMacros bool `protobuf:"varint,2,opt,name=disable_macros,json=disableMacros,proto3" json:"disable_macros,omitempty"`
IncludeMacros []string `protobuf:"bytes,3,rep,name=include_macros,json=includeMacros,proto3" json:"include_macros,omitempty"`
ExcludeMacros []string `protobuf:"bytes,4,rep,name=exclude_macros,json=excludeMacros,proto3" json:"exclude_macros,omitempty"`
IncludeFunctions []*expr.Decl `protobuf:"bytes,5,rep,name=include_functions,json=includeFunctions,proto3" json:"include_functions,omitempty"`
ExcludeFunctions []*expr.Decl `protobuf:"bytes,6,rep,name=exclude_functions,json=excludeFunctions,proto3" json:"exclude_functions,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LibrarySubset) Reset() {
*x = LibrarySubset{}
mi := &file_cel_expr_conformance_env_config_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LibrarySubset) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LibrarySubset) ProtoMessage() {}
func (x *LibrarySubset) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_env_config_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LibrarySubset.ProtoReflect.Descriptor instead.
func (*LibrarySubset) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_env_config_proto_rawDescGZIP(), []int{4}
}
func (x *LibrarySubset) GetDisabled() bool {
if x != nil {
return x.Disabled
}
return false
}
func (x *LibrarySubset) GetDisableMacros() bool {
if x != nil {
return x.DisableMacros
}
return false
}
func (x *LibrarySubset) GetIncludeMacros() []string {
if x != nil {
return x.IncludeMacros
}
return nil
}
func (x *LibrarySubset) GetExcludeMacros() []string {
if x != nil {
return x.ExcludeMacros
}
return nil
}
func (x *LibrarySubset) GetIncludeFunctions() []*expr.Decl {
if x != nil {
return x.IncludeFunctions
}
return nil
}
func (x *LibrarySubset) GetExcludeFunctions() []*expr.Decl {
if x != nil {
return x.ExcludeFunctions
}
return nil
}
type Environment_Import struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Environment_Import) Reset() {
*x = Environment_Import{}
mi := &file_cel_expr_conformance_env_config_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Environment_Import) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Environment_Import) ProtoMessage() {}
func (x *Environment_Import) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_env_config_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Environment_Import.ProtoReflect.Descriptor instead.
func (*Environment_Import) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_env_config_proto_rawDescGZIP(), []int{0, 0}
}
func (x *Environment_Import) GetName() string {
if x != nil {
return x.Name
}
return ""
}
type Environment_ContextVariable struct {
state protoimpl.MessageState `protogen:"open.v1"`
TypeName string `protobuf:"bytes,1,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Environment_ContextVariable) Reset() {
*x = Environment_ContextVariable{}
mi := &file_cel_expr_conformance_env_config_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Environment_ContextVariable) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Environment_ContextVariable) ProtoMessage() {}
func (x *Environment_ContextVariable) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_env_config_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Environment_ContextVariable.ProtoReflect.Descriptor instead.
func (*Environment_ContextVariable) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_env_config_proto_rawDescGZIP(), []int{0, 1}
}
func (x *Environment_ContextVariable) GetTypeName() string {
if x != nil {
return x.TypeName
}
return ""
}
var File_cel_expr_conformance_env_config_proto protoreflect.FileDescriptor
var file_cel_expr_conformance_env_config_proto_rawDesc = []byte{
0x0a, 0x25, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x16, 0x63,
0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x06, 0x0a, 0x0b, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f,
0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63,
0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x07, 0x69, 0x6d, 0x70,
0x6f, 0x72, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6d,
0x70, 0x6f, 0x72, 0x74, 0x52, 0x07, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x3b, 0x0a,
0x06, 0x73, 0x74, 0x64, 0x6c, 0x69, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x75, 0x62, 0x73,
0x65, 0x74, 0x52, 0x06, 0x73, 0x74, 0x64, 0x6c, 0x69, 0x62, 0x12, 0x3f, 0x0a, 0x0a, 0x65, 0x78,
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52,
0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5c, 0x0a, 0x10, 0x63,
0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18,
0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x76,
0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x64, 0x65, 0x63,
0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x52,
0x0c, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a,
0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
0x6f, 0x72, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x39,
0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52,
0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x21, 0x64, 0x69, 0x73,
0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x65,
0x6c, 0x5f, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b,
0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61,
0x6e, 0x64, 0x61, 0x72, 0x64, 0x43, 0x65, 0x6c, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x16, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f,
0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x52, 0x14, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3b,
0x0a, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x5f, 0x63,
0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01,
0x28, 0x08, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x43,
0x61, 0x6c, 0x6c, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x1a, 0x1c, 0x0a, 0x06, 0x49,
0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x2e, 0x0a, 0x0f, 0x43, 0x6f, 0x6e,
0x74, 0x65, 0x78, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09,
0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x09, 0x56, 0x61,
0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x1a, 0x51, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x22, 0x37, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x39, 0x0a, 0x09,
0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a,
0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9a, 0x02, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72,
0x61, 0x72, 0x79, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
0x5f, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64,
0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x12, 0x25, 0x0a, 0x0e,
0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x18, 0x03,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x61, 0x63,
0x72, 0x6f, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6d,
0x61, 0x63, 0x72, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63,
0x6c, 0x75, 0x64, 0x65, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x12, 0x3b, 0x0a, 0x11, 0x69, 0x6e,
0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x44, 0x65, 0x63, 0x6c, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x46, 0x75,
0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75,
0x64, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x44, 0x65,
0x63, 0x6c, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x42, 0x4b, 0x0a, 0x18, 0x63, 0x65, 0x6c, 0x2e, 0x64, 0x65, 0x76, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x42, 0x10, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x50, 0x01, 0x5a, 0x18, 0x63, 0x65, 0x6c, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x65, 0x78,
0x70, 0x72, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0xf8, 0x01,
0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cel_expr_conformance_env_config_proto_rawDescOnce sync.Once
file_cel_expr_conformance_env_config_proto_rawDescData = file_cel_expr_conformance_env_config_proto_rawDesc
)
func file_cel_expr_conformance_env_config_proto_rawDescGZIP() []byte {
file_cel_expr_conformance_env_config_proto_rawDescOnce.Do(func() {
file_cel_expr_conformance_env_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_cel_expr_conformance_env_config_proto_rawDescData)
})
return file_cel_expr_conformance_env_config_proto_rawDescData
}
var file_cel_expr_conformance_env_config_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_cel_expr_conformance_env_config_proto_goTypes = []any{
(*Environment)(nil), // 0: cel.expr.conformance.Environment
(*Validator)(nil), // 1: cel.expr.conformance.Validator
(*Feature)(nil), // 2: cel.expr.conformance.Feature
(*Extension)(nil), // 3: cel.expr.conformance.Extension
(*LibrarySubset)(nil), // 4: cel.expr.conformance.LibrarySubset
(*Environment_Import)(nil), // 5: cel.expr.conformance.Environment.Import
(*Environment_ContextVariable)(nil), // 6: cel.expr.conformance.Environment.ContextVariable
nil, // 7: cel.expr.conformance.Validator.ConfigEntry
(*expr.Decl)(nil), // 8: cel.expr.Decl
(*descriptorpb.FileDescriptorSet)(nil), // 9: google.protobuf.FileDescriptorSet
(*structpb.Value)(nil), // 10: google.protobuf.Value
}
var file_cel_expr_conformance_env_config_proto_depIdxs = []int32{
5, // 0: cel.expr.conformance.Environment.imports:type_name -> cel.expr.conformance.Environment.Import
4, // 1: cel.expr.conformance.Environment.stdlib:type_name -> cel.expr.conformance.LibrarySubset
3, // 2: cel.expr.conformance.Environment.extensions:type_name -> cel.expr.conformance.Extension
6, // 3: cel.expr.conformance.Environment.context_variable:type_name -> cel.expr.conformance.Environment.ContextVariable
8, // 4: cel.expr.conformance.Environment.declarations:type_name -> cel.expr.Decl
1, // 5: cel.expr.conformance.Environment.validators:type_name -> cel.expr.conformance.Validator
2, // 6: cel.expr.conformance.Environment.features:type_name -> cel.expr.conformance.Feature
9, // 7: cel.expr.conformance.Environment.message_type_extension:type_name -> google.protobuf.FileDescriptorSet
7, // 8: cel.expr.conformance.Validator.config:type_name -> cel.expr.conformance.Validator.ConfigEntry
8, // 9: cel.expr.conformance.LibrarySubset.include_functions:type_name -> cel.expr.Decl
8, // 10: cel.expr.conformance.LibrarySubset.exclude_functions:type_name -> cel.expr.Decl
10, // 11: cel.expr.conformance.Validator.ConfigEntry.value:type_name -> google.protobuf.Value
12, // [12:12] is the sub-list for method output_type
12, // [12:12] is the sub-list for method input_type
12, // [12:12] is the sub-list for extension type_name
12, // [12:12] is the sub-list for extension extendee
0, // [0:12] is the sub-list for field type_name
}
func init() { file_cel_expr_conformance_env_config_proto_init() }
func file_cel_expr_conformance_env_config_proto_init() {
if File_cel_expr_conformance_env_config_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cel_expr_conformance_env_config_proto_rawDesc,
NumEnums: 0,
NumMessages: 8,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cel_expr_conformance_env_config_proto_goTypes,
DependencyIndexes: file_cel_expr_conformance_env_config_proto_depIdxs,
MessageInfos: file_cel_expr_conformance_env_config_proto_msgTypes,
}.Build()
File_cel_expr_conformance_env_config_proto = out.File
file_cel_expr_conformance_env_config_proto_rawDesc = nil
file_cel_expr_conformance_env_config_proto_goTypes = nil
file_cel_expr_conformance_env_config_proto_depIdxs = nil
}
cel-spec-0.24.0/conformance/proto2/ 0000775 0000000 0000000 00000000000 15006676303 0017015 5 ustar 00root root 0000000 0000000 cel-spec-0.24.0/conformance/proto2/BUILD.bazel 0000775 0000000 0000000 00000002734 15006676303 0020704 0 ustar 00root root 0000000 0000000 # Copyright 2024 Google LLC
#
# 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
#
# https://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.
load("@io_bazel_rules_go//go:def.bzl", "go_library")
package(
default_visibility = ["//visibility:public"],
licenses = ["notice"], # Apache 2.0
)
go_library(
name = "go_default_library",
srcs = [
"test_all_types.pb.go",
"test_all_types_extensions.pb.go",
],
importpath = "cel.dev/expr/conformance/proto2",
deps = [
"@org_golang_google_protobuf//reflect/protoreflect",
"@org_golang_google_protobuf//runtime/protoimpl",
"@org_golang_google_protobuf//types/known/anypb",
"@org_golang_google_protobuf//types/known/durationpb",
"@org_golang_google_protobuf//types/known/emptypb",
"@org_golang_google_protobuf//types/known/fieldmaskpb",
"@org_golang_google_protobuf//types/known/structpb",
"@org_golang_google_protobuf//types/known/timestamppb",
"@org_golang_google_protobuf//types/known/wrapperspb",
],
)
cel-spec-0.24.0/conformance/proto2/test_all_types.pb.go 0000775 0000000 0000000 00001421416 15006676303 0023013 0 ustar 00root root 0000000 0000000 // Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.3
// protoc v5.27.1
// source: cel/expr/conformance/proto2/test_all_types.proto
package proto2
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
anypb "google.golang.org/protobuf/types/known/anypb"
durationpb "google.golang.org/protobuf/types/known/durationpb"
emptypb "google.golang.org/protobuf/types/known/emptypb"
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
structpb "google.golang.org/protobuf/types/known/structpb"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type GlobalEnum int32
const (
GlobalEnum_GOO GlobalEnum = 0
GlobalEnum_GAR GlobalEnum = 1
GlobalEnum_GAZ GlobalEnum = 2
)
// Enum value maps for GlobalEnum.
var (
GlobalEnum_name = map[int32]string{
0: "GOO",
1: "GAR",
2: "GAZ",
}
GlobalEnum_value = map[string]int32{
"GOO": 0,
"GAR": 1,
"GAZ": 2,
}
)
func (x GlobalEnum) Enum() *GlobalEnum {
p := new(GlobalEnum)
*p = x
return p
}
func (x GlobalEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GlobalEnum) Descriptor() protoreflect.EnumDescriptor {
return file_cel_expr_conformance_proto2_test_all_types_proto_enumTypes[0].Descriptor()
}
func (GlobalEnum) Type() protoreflect.EnumType {
return &file_cel_expr_conformance_proto2_test_all_types_proto_enumTypes[0]
}
func (x GlobalEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *GlobalEnum) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = GlobalEnum(num)
return nil
}
// Deprecated: Use GlobalEnum.Descriptor instead.
func (GlobalEnum) EnumDescriptor() ([]byte, []int) {
return file_cel_expr_conformance_proto2_test_all_types_proto_rawDescGZIP(), []int{0}
}
type TestAllTypes_NestedEnum int32
const (
TestAllTypes_FOO TestAllTypes_NestedEnum = 0
TestAllTypes_BAR TestAllTypes_NestedEnum = 1
TestAllTypes_BAZ TestAllTypes_NestedEnum = 2
)
// Enum value maps for TestAllTypes_NestedEnum.
var (
TestAllTypes_NestedEnum_name = map[int32]string{
0: "FOO",
1: "BAR",
2: "BAZ",
}
TestAllTypes_NestedEnum_value = map[string]int32{
"FOO": 0,
"BAR": 1,
"BAZ": 2,
}
)
func (x TestAllTypes_NestedEnum) Enum() *TestAllTypes_NestedEnum {
p := new(TestAllTypes_NestedEnum)
*p = x
return p
}
func (x TestAllTypes_NestedEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TestAllTypes_NestedEnum) Descriptor() protoreflect.EnumDescriptor {
return file_cel_expr_conformance_proto2_test_all_types_proto_enumTypes[1].Descriptor()
}
func (TestAllTypes_NestedEnum) Type() protoreflect.EnumType {
return &file_cel_expr_conformance_proto2_test_all_types_proto_enumTypes[1]
}
func (x TestAllTypes_NestedEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *TestAllTypes_NestedEnum) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = TestAllTypes_NestedEnum(num)
return nil
}
// Deprecated: Use TestAllTypes_NestedEnum.Descriptor instead.
func (TestAllTypes_NestedEnum) EnumDescriptor() ([]byte, []int) {
return file_cel_expr_conformance_proto2_test_all_types_proto_rawDescGZIP(), []int{0, 0}
}
type TestAllTypes struct {
state protoimpl.MessageState `protogen:"open.v1"`
SingleInt32 *int32 `protobuf:"varint,1,opt,name=single_int32,json=singleInt32,def=-32" json:"single_int32,omitempty"`
SingleInt64 *int64 `protobuf:"varint,2,opt,name=single_int64,json=singleInt64,def=-64" json:"single_int64,omitempty"`
SingleUint32 *uint32 `protobuf:"varint,3,opt,name=single_uint32,json=singleUint32,def=32" json:"single_uint32,omitempty"`
SingleUint64 *uint64 `protobuf:"varint,4,opt,name=single_uint64,json=singleUint64,def=64" json:"single_uint64,omitempty"`
SingleSint32 *int32 `protobuf:"zigzag32,5,opt,name=single_sint32,json=singleSint32" json:"single_sint32,omitempty"`
SingleSint64 *int64 `protobuf:"zigzag64,6,opt,name=single_sint64,json=singleSint64" json:"single_sint64,omitempty"`
SingleFixed32 *uint32 `protobuf:"fixed32,7,opt,name=single_fixed32,json=singleFixed32" json:"single_fixed32,omitempty"`
SingleFixed64 *uint64 `protobuf:"fixed64,8,opt,name=single_fixed64,json=singleFixed64" json:"single_fixed64,omitempty"`
SingleSfixed32 *int32 `protobuf:"fixed32,9,opt,name=single_sfixed32,json=singleSfixed32" json:"single_sfixed32,omitempty"`
SingleSfixed64 *int64 `protobuf:"fixed64,10,opt,name=single_sfixed64,json=singleSfixed64" json:"single_sfixed64,omitempty"`
SingleFloat *float32 `protobuf:"fixed32,11,opt,name=single_float,json=singleFloat,def=3" json:"single_float,omitempty"`
SingleDouble *float64 `protobuf:"fixed64,12,opt,name=single_double,json=singleDouble,def=6.4" json:"single_double,omitempty"`
SingleBool *bool `protobuf:"varint,13,opt,name=single_bool,json=singleBool,def=1" json:"single_bool,omitempty"`
SingleString *string `protobuf:"bytes,14,opt,name=single_string,json=singleString,def=empty" json:"single_string,omitempty"`
SingleBytes []byte `protobuf:"bytes,15,opt,name=single_bytes,json=singleBytes,def=none" json:"single_bytes,omitempty"`
In *bool `protobuf:"varint,18,opt,name=in" json:"in,omitempty"`
SingleAny *anypb.Any `protobuf:"bytes,100,opt,name=single_any,json=singleAny" json:"single_any,omitempty"`
SingleDuration *durationpb.Duration `protobuf:"bytes,101,opt,name=single_duration,json=singleDuration" json:"single_duration,omitempty"`
SingleTimestamp *timestamppb.Timestamp `protobuf:"bytes,102,opt,name=single_timestamp,json=singleTimestamp" json:"single_timestamp,omitempty"`
SingleStruct *structpb.Struct `protobuf:"bytes,103,opt,name=single_struct,json=singleStruct" json:"single_struct,omitempty"`
SingleValue *structpb.Value `protobuf:"bytes,104,opt,name=single_value,json=singleValue" json:"single_value,omitempty"`
SingleInt64Wrapper *wrapperspb.Int64Value `protobuf:"bytes,105,opt,name=single_int64_wrapper,json=singleInt64Wrapper" json:"single_int64_wrapper,omitempty"`
SingleInt32Wrapper *wrapperspb.Int32Value `protobuf:"bytes,106,opt,name=single_int32_wrapper,json=singleInt32Wrapper" json:"single_int32_wrapper,omitempty"`
SingleDoubleWrapper *wrapperspb.DoubleValue `protobuf:"bytes,107,opt,name=single_double_wrapper,json=singleDoubleWrapper" json:"single_double_wrapper,omitempty"`
SingleFloatWrapper *wrapperspb.FloatValue `protobuf:"bytes,108,opt,name=single_float_wrapper,json=singleFloatWrapper" json:"single_float_wrapper,omitempty"`
SingleUint64Wrapper *wrapperspb.UInt64Value `protobuf:"bytes,109,opt,name=single_uint64_wrapper,json=singleUint64Wrapper" json:"single_uint64_wrapper,omitempty"`
SingleUint32Wrapper *wrapperspb.UInt32Value `protobuf:"bytes,110,opt,name=single_uint32_wrapper,json=singleUint32Wrapper" json:"single_uint32_wrapper,omitempty"`
SingleStringWrapper *wrapperspb.StringValue `protobuf:"bytes,111,opt,name=single_string_wrapper,json=singleStringWrapper" json:"single_string_wrapper,omitempty"`
SingleBoolWrapper *wrapperspb.BoolValue `protobuf:"bytes,112,opt,name=single_bool_wrapper,json=singleBoolWrapper" json:"single_bool_wrapper,omitempty"`
SingleBytesWrapper *wrapperspb.BytesValue `protobuf:"bytes,113,opt,name=single_bytes_wrapper,json=singleBytesWrapper" json:"single_bytes_wrapper,omitempty"`
ListValue *structpb.ListValue `protobuf:"bytes,114,opt,name=list_value,json=listValue" json:"list_value,omitempty"`
NullValue *structpb.NullValue `protobuf:"varint,115,opt,name=null_value,json=nullValue,enum=google.protobuf.NullValue" json:"null_value,omitempty"`
OptionalNullValue *structpb.NullValue `protobuf:"varint,116,opt,name=optional_null_value,json=optionalNullValue,enum=google.protobuf.NullValue" json:"optional_null_value,omitempty"`
FieldMask *fieldmaskpb.FieldMask `protobuf:"bytes,117,opt,name=field_mask,json=fieldMask" json:"field_mask,omitempty"`
Empty *emptypb.Empty `protobuf:"bytes,118,opt,name=empty" json:"empty,omitempty"`
// Types that are valid to be assigned to NestedType:
//
// *TestAllTypes_SingleNestedMessage
// *TestAllTypes_SingleNestedEnum
NestedType isTestAllTypes_NestedType `protobuf_oneof:"nested_type"`
StandaloneMessage *TestAllTypes_NestedMessage `protobuf:"bytes,23,opt,name=standalone_message,json=standaloneMessage" json:"standalone_message,omitempty"`
StandaloneEnum *TestAllTypes_NestedEnum `protobuf:"varint,24,opt,name=standalone_enum,json=standaloneEnum,enum=cel.expr.conformance.proto2.TestAllTypes_NestedEnum" json:"standalone_enum,omitempty"`
RepeatedInt32 []int32 `protobuf:"varint,31,rep,name=repeated_int32,json=repeatedInt32" json:"repeated_int32,omitempty"`
RepeatedInt64 []int64 `protobuf:"varint,32,rep,name=repeated_int64,json=repeatedInt64" json:"repeated_int64,omitempty"`
RepeatedUint32 []uint32 `protobuf:"varint,33,rep,name=repeated_uint32,json=repeatedUint32" json:"repeated_uint32,omitempty"`
RepeatedUint64 []uint64 `protobuf:"varint,34,rep,name=repeated_uint64,json=repeatedUint64" json:"repeated_uint64,omitempty"`
RepeatedSint32 []int32 `protobuf:"zigzag32,35,rep,name=repeated_sint32,json=repeatedSint32" json:"repeated_sint32,omitempty"`
RepeatedSint64 []int64 `protobuf:"zigzag64,36,rep,name=repeated_sint64,json=repeatedSint64" json:"repeated_sint64,omitempty"`
RepeatedFixed32 []uint32 `protobuf:"fixed32,37,rep,name=repeated_fixed32,json=repeatedFixed32" json:"repeated_fixed32,omitempty"`
RepeatedFixed64 []uint64 `protobuf:"fixed64,38,rep,name=repeated_fixed64,json=repeatedFixed64" json:"repeated_fixed64,omitempty"`
RepeatedSfixed32 []int32 `protobuf:"fixed32,39,rep,name=repeated_sfixed32,json=repeatedSfixed32" json:"repeated_sfixed32,omitempty"`
RepeatedSfixed64 []int64 `protobuf:"fixed64,40,rep,name=repeated_sfixed64,json=repeatedSfixed64" json:"repeated_sfixed64,omitempty"`
RepeatedFloat []float32 `protobuf:"fixed32,41,rep,name=repeated_float,json=repeatedFloat" json:"repeated_float,omitempty"`
RepeatedDouble []float64 `protobuf:"fixed64,42,rep,name=repeated_double,json=repeatedDouble" json:"repeated_double,omitempty"`
RepeatedBool []bool `protobuf:"varint,43,rep,name=repeated_bool,json=repeatedBool" json:"repeated_bool,omitempty"`
RepeatedString []string `protobuf:"bytes,44,rep,name=repeated_string,json=repeatedString" json:"repeated_string,omitempty"`
RepeatedBytes [][]byte `protobuf:"bytes,45,rep,name=repeated_bytes,json=repeatedBytes" json:"repeated_bytes,omitempty"`
RepeatedNestedMessage []*TestAllTypes_NestedMessage `protobuf:"bytes,51,rep,name=repeated_nested_message,json=repeatedNestedMessage" json:"repeated_nested_message,omitempty"`
RepeatedNestedEnum []TestAllTypes_NestedEnum `protobuf:"varint,52,rep,name=repeated_nested_enum,json=repeatedNestedEnum,enum=cel.expr.conformance.proto2.TestAllTypes_NestedEnum" json:"repeated_nested_enum,omitempty"`
RepeatedStringPiece []string `protobuf:"bytes,53,rep,name=repeated_string_piece,json=repeatedStringPiece" json:"repeated_string_piece,omitempty"`
RepeatedCord []string `protobuf:"bytes,54,rep,name=repeated_cord,json=repeatedCord" json:"repeated_cord,omitempty"`
RepeatedLazyMessage []*TestAllTypes_NestedMessage `protobuf:"bytes,55,rep,name=repeated_lazy_message,json=repeatedLazyMessage" json:"repeated_lazy_message,omitempty"`
RepeatedAny []*anypb.Any `protobuf:"bytes,120,rep,name=repeated_any,json=repeatedAny" json:"repeated_any,omitempty"`
RepeatedDuration []*durationpb.Duration `protobuf:"bytes,121,rep,name=repeated_duration,json=repeatedDuration" json:"repeated_duration,omitempty"`
RepeatedTimestamp []*timestamppb.Timestamp `protobuf:"bytes,122,rep,name=repeated_timestamp,json=repeatedTimestamp" json:"repeated_timestamp,omitempty"`
RepeatedStruct []*structpb.Struct `protobuf:"bytes,123,rep,name=repeated_struct,json=repeatedStruct" json:"repeated_struct,omitempty"`
RepeatedValue []*structpb.Value `protobuf:"bytes,124,rep,name=repeated_value,json=repeatedValue" json:"repeated_value,omitempty"`
RepeatedInt64Wrapper []*wrapperspb.Int64Value `protobuf:"bytes,125,rep,name=repeated_int64_wrapper,json=repeatedInt64Wrapper" json:"repeated_int64_wrapper,omitempty"`
RepeatedInt32Wrapper []*wrapperspb.Int32Value `protobuf:"bytes,126,rep,name=repeated_int32_wrapper,json=repeatedInt32Wrapper" json:"repeated_int32_wrapper,omitempty"`
RepeatedDoubleWrapper []*wrapperspb.DoubleValue `protobuf:"bytes,127,rep,name=repeated_double_wrapper,json=repeatedDoubleWrapper" json:"repeated_double_wrapper,omitempty"`
RepeatedFloatWrapper []*wrapperspb.FloatValue `protobuf:"bytes,128,rep,name=repeated_float_wrapper,json=repeatedFloatWrapper" json:"repeated_float_wrapper,omitempty"`
RepeatedUint64Wrapper []*wrapperspb.UInt64Value `protobuf:"bytes,129,rep,name=repeated_uint64_wrapper,json=repeatedUint64Wrapper" json:"repeated_uint64_wrapper,omitempty"`
RepeatedUint32Wrapper []*wrapperspb.UInt32Value `protobuf:"bytes,130,rep,name=repeated_uint32_wrapper,json=repeatedUint32Wrapper" json:"repeated_uint32_wrapper,omitempty"`
RepeatedStringWrapper []*wrapperspb.StringValue `protobuf:"bytes,131,rep,name=repeated_string_wrapper,json=repeatedStringWrapper" json:"repeated_string_wrapper,omitempty"`
RepeatedBoolWrapper []*wrapperspb.BoolValue `protobuf:"bytes,132,rep,name=repeated_bool_wrapper,json=repeatedBoolWrapper" json:"repeated_bool_wrapper,omitempty"`
RepeatedBytesWrapper []*wrapperspb.BytesValue `protobuf:"bytes,133,rep,name=repeated_bytes_wrapper,json=repeatedBytesWrapper" json:"repeated_bytes_wrapper,omitempty"`
RepeatedListValue []*structpb.ListValue `protobuf:"bytes,134,rep,name=repeated_list_value,json=repeatedListValue" json:"repeated_list_value,omitempty"`
RepeatedNullValue []structpb.NullValue `protobuf:"varint,135,rep,name=repeated_null_value,json=repeatedNullValue,enum=google.protobuf.NullValue" json:"repeated_null_value,omitempty"`
MapInt64NestedType map[int64]*NestedTestAllTypes `protobuf:"bytes,62,rep,name=map_int64_nested_type,json=mapInt64NestedType" json:"map_int64_nested_type,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolBool map[bool]bool `protobuf:"bytes,63,rep,name=map_bool_bool,json=mapBoolBool" json:"map_bool_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapBoolString map[bool]string `protobuf:"bytes,64,rep,name=map_bool_string,json=mapBoolString" json:"map_bool_string,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolBytes map[bool][]byte `protobuf:"bytes,65,rep,name=map_bool_bytes,json=mapBoolBytes" json:"map_bool_bytes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolInt32 map[bool]int32 `protobuf:"bytes,66,rep,name=map_bool_int32,json=mapBoolInt32" json:"map_bool_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapBoolInt64 map[bool]int64 `protobuf:"bytes,67,rep,name=map_bool_int64,json=mapBoolInt64" json:"map_bool_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapBoolUint32 map[bool]uint32 `protobuf:"bytes,68,rep,name=map_bool_uint32,json=mapBoolUint32" json:"map_bool_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapBoolUint64 map[bool]uint64 `protobuf:"bytes,69,rep,name=map_bool_uint64,json=mapBoolUint64" json:"map_bool_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapBoolFloat map[bool]float32 `protobuf:"bytes,70,rep,name=map_bool_float,json=mapBoolFloat" json:"map_bool_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
MapBoolDouble map[bool]float64 `protobuf:"bytes,71,rep,name=map_bool_double,json=mapBoolDouble" json:"map_bool_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
MapBoolEnum map[bool]TestAllTypes_NestedEnum `protobuf:"bytes,72,rep,name=map_bool_enum,json=mapBoolEnum" json:"map_bool_enum,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=cel.expr.conformance.proto2.TestAllTypes_NestedEnum"`
MapBoolMessage map[bool]*TestAllTypes_NestedMessage `protobuf:"bytes,73,rep,name=map_bool_message,json=mapBoolMessage" json:"map_bool_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolDuration map[bool]*durationpb.Duration `protobuf:"bytes,228,rep,name=map_bool_duration,json=mapBoolDuration" json:"map_bool_duration,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolTimestamp map[bool]*timestamppb.Timestamp `protobuf:"bytes,229,rep,name=map_bool_timestamp,json=mapBoolTimestamp" json:"map_bool_timestamp,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolNullValue map[bool]structpb.NullValue `protobuf:"bytes,230,rep,name=map_bool_null_value,json=mapBoolNullValue" json:"map_bool_null_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.protobuf.NullValue"`
MapBoolAny map[bool]*anypb.Any `protobuf:"bytes,246,rep,name=map_bool_any,json=mapBoolAny" json:"map_bool_any,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolStruct map[bool]*structpb.Struct `protobuf:"bytes,247,rep,name=map_bool_struct,json=mapBoolStruct" json:"map_bool_struct,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolValue map[bool]*structpb.Value `protobuf:"bytes,248,rep,name=map_bool_value,json=mapBoolValue" json:"map_bool_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolListValue map[bool]*structpb.ListValue `protobuf:"bytes,249,rep,name=map_bool_list_value,json=mapBoolListValue" json:"map_bool_list_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolInt64Wrapper map[bool]*wrapperspb.Int64Value `protobuf:"bytes,250,rep,name=map_bool_int64_wrapper,json=mapBoolInt64Wrapper" json:"map_bool_int64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolInt32Wrapper map[bool]*wrapperspb.Int32Value `protobuf:"bytes,251,rep,name=map_bool_int32_wrapper,json=mapBoolInt32Wrapper" json:"map_bool_int32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolDoubleWrapper map[bool]*wrapperspb.DoubleValue `protobuf:"bytes,252,rep,name=map_bool_double_wrapper,json=mapBoolDoubleWrapper" json:"map_bool_double_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolFloatWrapper map[bool]*wrapperspb.FloatValue `protobuf:"bytes,253,rep,name=map_bool_float_wrapper,json=mapBoolFloatWrapper" json:"map_bool_float_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolUint64Wrapper map[bool]*wrapperspb.UInt64Value `protobuf:"bytes,254,rep,name=map_bool_uint64_wrapper,json=mapBoolUint64Wrapper" json:"map_bool_uint64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolUint32Wrapper map[bool]*wrapperspb.UInt32Value `protobuf:"bytes,255,rep,name=map_bool_uint32_wrapper,json=mapBoolUint32Wrapper" json:"map_bool_uint32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolStringWrapper map[bool]*wrapperspb.StringValue `protobuf:"bytes,256,rep,name=map_bool_string_wrapper,json=mapBoolStringWrapper" json:"map_bool_string_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolBoolWrapper map[bool]*wrapperspb.BoolValue `protobuf:"bytes,257,rep,name=map_bool_bool_wrapper,json=mapBoolBoolWrapper" json:"map_bool_bool_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolBytesWrapper map[bool]*wrapperspb.BytesValue `protobuf:"bytes,258,rep,name=map_bool_bytes_wrapper,json=mapBoolBytesWrapper" json:"map_bool_bytes_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Bool map[int32]bool `protobuf:"bytes,74,rep,name=map_int32_bool,json=mapInt32Bool" json:"map_int32_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt32String map[int32]string `protobuf:"bytes,75,rep,name=map_int32_string,json=mapInt32String" json:"map_int32_string,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Bytes map[int32][]byte `protobuf:"bytes,76,rep,name=map_int32_bytes,json=mapInt32Bytes" json:"map_int32_bytes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Int32 map[int32]int32 `protobuf:"bytes,77,rep,name=map_int32_int32,json=mapInt32Int32" json:"map_int32_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt32Int64 map[int32]int64 `protobuf:"bytes,78,rep,name=map_int32_int64,json=mapInt32Int64" json:"map_int32_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt32Uint32 map[int32]uint32 `protobuf:"bytes,79,rep,name=map_int32_uint32,json=mapInt32Uint32" json:"map_int32_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt32Uint64 map[int32]uint64 `protobuf:"bytes,80,rep,name=map_int32_uint64,json=mapInt32Uint64" json:"map_int32_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt32Float map[int32]float32 `protobuf:"bytes,81,rep,name=map_int32_float,json=mapInt32Float" json:"map_int32_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
MapInt32Double map[int32]float64 `protobuf:"bytes,82,rep,name=map_int32_double,json=mapInt32Double" json:"map_int32_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
MapInt32Enum map[int32]TestAllTypes_NestedEnum `protobuf:"bytes,83,rep,name=map_int32_enum,json=mapInt32Enum" json:"map_int32_enum,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=cel.expr.conformance.proto2.TestAllTypes_NestedEnum"`
MapInt32Message map[int32]*TestAllTypes_NestedMessage `protobuf:"bytes,84,rep,name=map_int32_message,json=mapInt32Message" json:"map_int32_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Duration map[int32]*durationpb.Duration `protobuf:"bytes,231,rep,name=map_int32_duration,json=mapInt32Duration" json:"map_int32_duration,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Timestamp map[int32]*timestamppb.Timestamp `protobuf:"bytes,232,rep,name=map_int32_timestamp,json=mapInt32Timestamp" json:"map_int32_timestamp,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32NullValue map[int32]structpb.NullValue `protobuf:"bytes,233,rep,name=map_int32_null_value,json=mapInt32NullValue" json:"map_int32_null_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.protobuf.NullValue"`
MapInt32Any map[int32]*anypb.Any `protobuf:"bytes,259,rep,name=map_int32_any,json=mapInt32Any" json:"map_int32_any,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Struct map[int32]*structpb.Struct `protobuf:"bytes,260,rep,name=map_int32_struct,json=mapInt32Struct" json:"map_int32_struct,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Value map[int32]*structpb.Value `protobuf:"bytes,261,rep,name=map_int32_value,json=mapInt32Value" json:"map_int32_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32ListValue map[int32]*structpb.ListValue `protobuf:"bytes,262,rep,name=map_int32_list_value,json=mapInt32ListValue" json:"map_int32_list_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Int64Wrapper map[int32]*wrapperspb.Int64Value `protobuf:"bytes,263,rep,name=map_int32_int64_wrapper,json=mapInt32Int64Wrapper" json:"map_int32_int64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Int32Wrapper map[int32]*wrapperspb.Int32Value `protobuf:"bytes,264,rep,name=map_int32_int32_wrapper,json=mapInt32Int32Wrapper" json:"map_int32_int32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32DoubleWrapper map[int32]*wrapperspb.DoubleValue `protobuf:"bytes,265,rep,name=map_int32_double_wrapper,json=mapInt32DoubleWrapper" json:"map_int32_double_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32FloatWrapper map[int32]*wrapperspb.FloatValue `protobuf:"bytes,266,rep,name=map_int32_float_wrapper,json=mapInt32FloatWrapper" json:"map_int32_float_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Uint64Wrapper map[int32]*wrapperspb.UInt64Value `protobuf:"bytes,267,rep,name=map_int32_uint64_wrapper,json=mapInt32Uint64Wrapper" json:"map_int32_uint64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Uint32Wrapper map[int32]*wrapperspb.UInt32Value `protobuf:"bytes,268,rep,name=map_int32_uint32_wrapper,json=mapInt32Uint32Wrapper" json:"map_int32_uint32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32StringWrapper map[int32]*wrapperspb.StringValue `protobuf:"bytes,269,rep,name=map_int32_string_wrapper,json=mapInt32StringWrapper" json:"map_int32_string_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32BoolWrapper map[int32]*wrapperspb.BoolValue `protobuf:"bytes,270,rep,name=map_int32_bool_wrapper,json=mapInt32BoolWrapper" json:"map_int32_bool_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32BytesWrapper map[int32]*wrapperspb.BytesValue `protobuf:"bytes,271,rep,name=map_int32_bytes_wrapper,json=mapInt32BytesWrapper" json:"map_int32_bytes_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Bool map[int64]bool `protobuf:"bytes,85,rep,name=map_int64_bool,json=mapInt64Bool" json:"map_int64_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt64String map[int64]string `protobuf:"bytes,86,rep,name=map_int64_string,json=mapInt64String" json:"map_int64_string,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Bytes map[int64][]byte `protobuf:"bytes,87,rep,name=map_int64_bytes,json=mapInt64Bytes" json:"map_int64_bytes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Int32 map[int64]int32 `protobuf:"bytes,88,rep,name=map_int64_int32,json=mapInt64Int32" json:"map_int64_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt64Int64 map[int64]int64 `protobuf:"bytes,89,rep,name=map_int64_int64,json=mapInt64Int64" json:"map_int64_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt64Uint32 map[int64]uint32 `protobuf:"bytes,90,rep,name=map_int64_uint32,json=mapInt64Uint32" json:"map_int64_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt64Uint64 map[int64]uint64 `protobuf:"bytes,91,rep,name=map_int64_uint64,json=mapInt64Uint64" json:"map_int64_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt64Float map[int64]float32 `protobuf:"bytes,92,rep,name=map_int64_float,json=mapInt64Float" json:"map_int64_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
MapInt64Double map[int64]float64 `protobuf:"bytes,93,rep,name=map_int64_double,json=mapInt64Double" json:"map_int64_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
MapInt64Enum map[int64]TestAllTypes_NestedEnum `protobuf:"bytes,94,rep,name=map_int64_enum,json=mapInt64Enum" json:"map_int64_enum,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=cel.expr.conformance.proto2.TestAllTypes_NestedEnum"`
MapInt64Message map[int64]*TestAllTypes_NestedMessage `protobuf:"bytes,95,rep,name=map_int64_message,json=mapInt64Message" json:"map_int64_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Duration map[int64]*durationpb.Duration `protobuf:"bytes,234,rep,name=map_int64_duration,json=mapInt64Duration" json:"map_int64_duration,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Timestamp map[int64]*timestamppb.Timestamp `protobuf:"bytes,235,rep,name=map_int64_timestamp,json=mapInt64Timestamp" json:"map_int64_timestamp,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64NullValue map[int64]structpb.NullValue `protobuf:"bytes,236,rep,name=map_int64_null_value,json=mapInt64NullValue" json:"map_int64_null_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.protobuf.NullValue"`
MapInt64Any map[int64]*anypb.Any `protobuf:"bytes,272,rep,name=map_int64_any,json=mapInt64Any" json:"map_int64_any,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Struct map[int64]*structpb.Struct `protobuf:"bytes,273,rep,name=map_int64_struct,json=mapInt64Struct" json:"map_int64_struct,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Value map[int64]*structpb.Value `protobuf:"bytes,274,rep,name=map_int64_value,json=mapInt64Value" json:"map_int64_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64ListValue map[int64]*structpb.ListValue `protobuf:"bytes,275,rep,name=map_int64_list_value,json=mapInt64ListValue" json:"map_int64_list_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Int64Wrapper map[int64]*wrapperspb.Int64Value `protobuf:"bytes,276,rep,name=map_int64_int64_wrapper,json=mapInt64Int64Wrapper" json:"map_int64_int64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Int32Wrapper map[int64]*wrapperspb.Int32Value `protobuf:"bytes,277,rep,name=map_int64_int32_wrapper,json=mapInt64Int32Wrapper" json:"map_int64_int32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64DoubleWrapper map[int64]*wrapperspb.DoubleValue `protobuf:"bytes,278,rep,name=map_int64_double_wrapper,json=mapInt64DoubleWrapper" json:"map_int64_double_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64FloatWrapper map[int64]*wrapperspb.FloatValue `protobuf:"bytes,279,rep,name=map_int64_float_wrapper,json=mapInt64FloatWrapper" json:"map_int64_float_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Uint64Wrapper map[int64]*wrapperspb.UInt64Value `protobuf:"bytes,280,rep,name=map_int64_uint64_wrapper,json=mapInt64Uint64Wrapper" json:"map_int64_uint64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Uint32Wrapper map[int64]*wrapperspb.UInt32Value `protobuf:"bytes,281,rep,name=map_int64_uint32_wrapper,json=mapInt64Uint32Wrapper" json:"map_int64_uint32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64StringWrapper map[int64]*wrapperspb.StringValue `protobuf:"bytes,282,rep,name=map_int64_string_wrapper,json=mapInt64StringWrapper" json:"map_int64_string_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64BoolWrapper map[int64]*wrapperspb.BoolValue `protobuf:"bytes,283,rep,name=map_int64_bool_wrapper,json=mapInt64BoolWrapper" json:"map_int64_bool_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64BytesWrapper map[int64]*wrapperspb.BytesValue `protobuf:"bytes,284,rep,name=map_int64_bytes_wrapper,json=mapInt64BytesWrapper" json:"map_int64_bytes_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Bool map[uint32]bool `protobuf:"bytes,96,rep,name=map_uint32_bool,json=mapUint32Bool" json:"map_uint32_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint32String map[uint32]string `protobuf:"bytes,97,rep,name=map_uint32_string,json=mapUint32String" json:"map_uint32_string,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Bytes map[uint32][]byte `protobuf:"bytes,98,rep,name=map_uint32_bytes,json=mapUint32Bytes" json:"map_uint32_bytes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Int32 map[uint32]int32 `protobuf:"bytes,99,rep,name=map_uint32_int32,json=mapUint32Int32" json:"map_uint32_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint32Int64 map[uint32]int64 `protobuf:"bytes,200,rep,name=map_uint32_int64,json=mapUint32Int64" json:"map_uint32_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint32Uint32 map[uint32]uint32 `protobuf:"bytes,201,rep,name=map_uint32_uint32,json=mapUint32Uint32" json:"map_uint32_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint32Uint64 map[uint32]uint64 `protobuf:"bytes,202,rep,name=map_uint32_uint64,json=mapUint32Uint64" json:"map_uint32_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint32Float map[uint32]float32 `protobuf:"bytes,203,rep,name=map_uint32_float,json=mapUint32Float" json:"map_uint32_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
MapUint32Double map[uint32]float64 `protobuf:"bytes,204,rep,name=map_uint32_double,json=mapUint32Double" json:"map_uint32_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
MapUint32Enum map[uint32]TestAllTypes_NestedEnum `protobuf:"bytes,205,rep,name=map_uint32_enum,json=mapUint32Enum" json:"map_uint32_enum,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=cel.expr.conformance.proto2.TestAllTypes_NestedEnum"`
MapUint32Message map[uint32]*TestAllTypes_NestedMessage `protobuf:"bytes,206,rep,name=map_uint32_message,json=mapUint32Message" json:"map_uint32_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Duration map[uint32]*durationpb.Duration `protobuf:"bytes,237,rep,name=map_uint32_duration,json=mapUint32Duration" json:"map_uint32_duration,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Timestamp map[uint32]*timestamppb.Timestamp `protobuf:"bytes,238,rep,name=map_uint32_timestamp,json=mapUint32Timestamp" json:"map_uint32_timestamp,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32NullValue map[uint32]structpb.NullValue `protobuf:"bytes,239,rep,name=map_uint32_null_value,json=mapUint32NullValue" json:"map_uint32_null_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.protobuf.NullValue"`
MapUint32Any map[uint32]*anypb.Any `protobuf:"bytes,285,rep,name=map_uint32_any,json=mapUint32Any" json:"map_uint32_any,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Struct map[uint32]*structpb.Struct `protobuf:"bytes,286,rep,name=map_uint32_struct,json=mapUint32Struct" json:"map_uint32_struct,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Value map[uint32]*structpb.Value `protobuf:"bytes,287,rep,name=map_uint32_value,json=mapUint32Value" json:"map_uint32_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32ListValue map[uint32]*structpb.ListValue `protobuf:"bytes,288,rep,name=map_uint32_list_value,json=mapUint32ListValue" json:"map_uint32_list_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Int64Wrapper map[uint32]*wrapperspb.Int64Value `protobuf:"bytes,289,rep,name=map_uint32_int64_wrapper,json=mapUint32Int64Wrapper" json:"map_uint32_int64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Int32Wrapper map[uint32]*wrapperspb.Int32Value `protobuf:"bytes,290,rep,name=map_uint32_int32_wrapper,json=mapUint32Int32Wrapper" json:"map_uint32_int32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32DoubleWrapper map[uint32]*wrapperspb.DoubleValue `protobuf:"bytes,291,rep,name=map_uint32_double_wrapper,json=mapUint32DoubleWrapper" json:"map_uint32_double_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32FloatWrapper map[uint32]*wrapperspb.FloatValue `protobuf:"bytes,292,rep,name=map_uint32_float_wrapper,json=mapUint32FloatWrapper" json:"map_uint32_float_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Uint64Wrapper map[uint32]*wrapperspb.UInt64Value `protobuf:"bytes,293,rep,name=map_uint32_uint64_wrapper,json=mapUint32Uint64Wrapper" json:"map_uint32_uint64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Uint32Wrapper map[uint32]*wrapperspb.UInt32Value `protobuf:"bytes,294,rep,name=map_uint32_uint32_wrapper,json=mapUint32Uint32Wrapper" json:"map_uint32_uint32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32StringWrapper map[uint32]*wrapperspb.StringValue `protobuf:"bytes,295,rep,name=map_uint32_string_wrapper,json=mapUint32StringWrapper" json:"map_uint32_string_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32BoolWrapper map[uint32]*wrapperspb.BoolValue `protobuf:"bytes,296,rep,name=map_uint32_bool_wrapper,json=mapUint32BoolWrapper" json:"map_uint32_bool_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32BytesWrapper map[uint32]*wrapperspb.BytesValue `protobuf:"bytes,297,rep,name=map_uint32_bytes_wrapper,json=mapUint32BytesWrapper" json:"map_uint32_bytes_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Bool map[uint64]bool `protobuf:"bytes,207,rep,name=map_uint64_bool,json=mapUint64Bool" json:"map_uint64_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint64String map[uint64]string `protobuf:"bytes,208,rep,name=map_uint64_string,json=mapUint64String" json:"map_uint64_string,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Bytes map[uint64][]byte `protobuf:"bytes,209,rep,name=map_uint64_bytes,json=mapUint64Bytes" json:"map_uint64_bytes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Int32 map[uint64]int32 `protobuf:"bytes,210,rep,name=map_uint64_int32,json=mapUint64Int32" json:"map_uint64_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint64Int64 map[uint64]int64 `protobuf:"bytes,211,rep,name=map_uint64_int64,json=mapUint64Int64" json:"map_uint64_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint64Uint32 map[uint64]uint32 `protobuf:"bytes,212,rep,name=map_uint64_uint32,json=mapUint64Uint32" json:"map_uint64_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint64Uint64 map[uint64]uint64 `protobuf:"bytes,213,rep,name=map_uint64_uint64,json=mapUint64Uint64" json:"map_uint64_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint64Float map[uint64]float32 `protobuf:"bytes,214,rep,name=map_uint64_float,json=mapUint64Float" json:"map_uint64_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
MapUint64Double map[uint64]float64 `protobuf:"bytes,215,rep,name=map_uint64_double,json=mapUint64Double" json:"map_uint64_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
MapUint64Enum map[uint64]TestAllTypes_NestedEnum `protobuf:"bytes,216,rep,name=map_uint64_enum,json=mapUint64Enum" json:"map_uint64_enum,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=cel.expr.conformance.proto2.TestAllTypes_NestedEnum"`
MapUint64Message map[uint64]*TestAllTypes_NestedMessage `protobuf:"bytes,217,rep,name=map_uint64_message,json=mapUint64Message" json:"map_uint64_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Duration map[uint64]*durationpb.Duration `protobuf:"bytes,240,rep,name=map_uint64_duration,json=mapUint64Duration" json:"map_uint64_duration,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Timestamp map[uint64]*timestamppb.Timestamp `protobuf:"bytes,241,rep,name=map_uint64_timestamp,json=mapUint64Timestamp" json:"map_uint64_timestamp,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64NullValue map[uint64]structpb.NullValue `protobuf:"bytes,242,rep,name=map_uint64_null_value,json=mapUint64NullValue" json:"map_uint64_null_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.protobuf.NullValue"`
MapUint64Any map[uint64]*anypb.Any `protobuf:"bytes,298,rep,name=map_uint64_any,json=mapUint64Any" json:"map_uint64_any,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Struct map[uint64]*structpb.Struct `protobuf:"bytes,299,rep,name=map_uint64_struct,json=mapUint64Struct" json:"map_uint64_struct,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Value map[uint64]*structpb.Value `protobuf:"bytes,300,rep,name=map_uint64_value,json=mapUint64Value" json:"map_uint64_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64ListValue map[uint64]*structpb.ListValue `protobuf:"bytes,301,rep,name=map_uint64_list_value,json=mapUint64ListValue" json:"map_uint64_list_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Int64Wrapper map[uint64]*wrapperspb.Int64Value `protobuf:"bytes,302,rep,name=map_uint64_int64_wrapper,json=mapUint64Int64Wrapper" json:"map_uint64_int64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Int32Wrapper map[uint64]*wrapperspb.Int32Value `protobuf:"bytes,303,rep,name=map_uint64_int32_wrapper,json=mapUint64Int32Wrapper" json:"map_uint64_int32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64DoubleWrapper map[uint64]*wrapperspb.DoubleValue `protobuf:"bytes,304,rep,name=map_uint64_double_wrapper,json=mapUint64DoubleWrapper" json:"map_uint64_double_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64FloatWrapper map[uint64]*wrapperspb.FloatValue `protobuf:"bytes,305,rep,name=map_uint64_float_wrapper,json=mapUint64FloatWrapper" json:"map_uint64_float_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Uint64Wrapper map[uint64]*wrapperspb.UInt64Value `protobuf:"bytes,306,rep,name=map_uint64_uint64_wrapper,json=mapUint64Uint64Wrapper" json:"map_uint64_uint64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Uint32Wrapper map[uint64]*wrapperspb.UInt32Value `protobuf:"bytes,307,rep,name=map_uint64_uint32_wrapper,json=mapUint64Uint32Wrapper" json:"map_uint64_uint32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64StringWrapper map[uint64]*wrapperspb.StringValue `protobuf:"bytes,308,rep,name=map_uint64_string_wrapper,json=mapUint64StringWrapper" json:"map_uint64_string_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64BoolWrapper map[uint64]*wrapperspb.BoolValue `protobuf:"bytes,309,rep,name=map_uint64_bool_wrapper,json=mapUint64BoolWrapper" json:"map_uint64_bool_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64BytesWrapper map[uint64]*wrapperspb.BytesValue `protobuf:"bytes,310,rep,name=map_uint64_bytes_wrapper,json=mapUint64BytesWrapper" json:"map_uint64_bytes_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringBool map[string]bool `protobuf:"bytes,218,rep,name=map_string_bool,json=mapStringBool" json:"map_string_bool,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapStringString map[string]string `protobuf:"bytes,61,rep,name=map_string_string,json=mapStringString" json:"map_string_string,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringBytes map[string][]byte `protobuf:"bytes,219,rep,name=map_string_bytes,json=mapStringBytes" json:"map_string_bytes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringInt32 map[string]int32 `protobuf:"bytes,220,rep,name=map_string_int32,json=mapStringInt32" json:"map_string_int32,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapStringInt64 map[string]int64 `protobuf:"bytes,221,rep,name=map_string_int64,json=mapStringInt64" json:"map_string_int64,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapStringUint32 map[string]uint32 `protobuf:"bytes,222,rep,name=map_string_uint32,json=mapStringUint32" json:"map_string_uint32,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapStringUint64 map[string]uint64 `protobuf:"bytes,223,rep,name=map_string_uint64,json=mapStringUint64" json:"map_string_uint64,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapStringFloat map[string]float32 `protobuf:"bytes,224,rep,name=map_string_float,json=mapStringFloat" json:"map_string_float,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
MapStringDouble map[string]float64 `protobuf:"bytes,225,rep,name=map_string_double,json=mapStringDouble" json:"map_string_double,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
MapStringEnum map[string]TestAllTypes_NestedEnum `protobuf:"bytes,226,rep,name=map_string_enum,json=mapStringEnum" json:"map_string_enum,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=cel.expr.conformance.proto2.TestAllTypes_NestedEnum"`
MapStringMessage map[string]*TestAllTypes_NestedMessage `protobuf:"bytes,227,rep,name=map_string_message,json=mapStringMessage" json:"map_string_message,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringDuration map[string]*durationpb.Duration `protobuf:"bytes,243,rep,name=map_string_duration,json=mapStringDuration" json:"map_string_duration,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringTimestamp map[string]*timestamppb.Timestamp `protobuf:"bytes,244,rep,name=map_string_timestamp,json=mapStringTimestamp" json:"map_string_timestamp,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringNullValue map[string]structpb.NullValue `protobuf:"bytes,245,rep,name=map_string_null_value,json=mapStringNullValue" json:"map_string_null_value,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.protobuf.NullValue"`
MapStringAny map[string]*anypb.Any `protobuf:"bytes,311,rep,name=map_string_any,json=mapStringAny" json:"map_string_any,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringStruct map[string]*structpb.Struct `protobuf:"bytes,312,rep,name=map_string_struct,json=mapStringStruct" json:"map_string_struct,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringValue map[string]*structpb.Value `protobuf:"bytes,313,rep,name=map_string_value,json=mapStringValue" json:"map_string_value,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringListValue map[string]*structpb.ListValue `protobuf:"bytes,314,rep,name=map_string_list_value,json=mapStringListValue" json:"map_string_list_value,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringInt64Wrapper map[string]*wrapperspb.Int64Value `protobuf:"bytes,315,rep,name=map_string_int64_wrapper,json=mapStringInt64Wrapper" json:"map_string_int64_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringInt32Wrapper map[string]*wrapperspb.Int32Value `protobuf:"bytes,316,rep,name=map_string_int32_wrapper,json=mapStringInt32Wrapper" json:"map_string_int32_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringDoubleWrapper map[string]*wrapperspb.DoubleValue `protobuf:"bytes,317,rep,name=map_string_double_wrapper,json=mapStringDoubleWrapper" json:"map_string_double_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringFloatWrapper map[string]*wrapperspb.FloatValue `protobuf:"bytes,318,rep,name=map_string_float_wrapper,json=mapStringFloatWrapper" json:"map_string_float_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringUint64Wrapper map[string]*wrapperspb.UInt64Value `protobuf:"bytes,319,rep,name=map_string_uint64_wrapper,json=mapStringUint64Wrapper" json:"map_string_uint64_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringUint32Wrapper map[string]*wrapperspb.UInt32Value `protobuf:"bytes,320,rep,name=map_string_uint32_wrapper,json=mapStringUint32Wrapper" json:"map_string_uint32_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringStringWrapper map[string]*wrapperspb.StringValue `protobuf:"bytes,321,rep,name=map_string_string_wrapper,json=mapStringStringWrapper" json:"map_string_string_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringBoolWrapper map[string]*wrapperspb.BoolValue `protobuf:"bytes,322,rep,name=map_string_bool_wrapper,json=mapStringBoolWrapper" json:"map_string_bool_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringBytesWrapper map[string]*wrapperspb.BytesValue `protobuf:"bytes,323,rep,name=map_string_bytes_wrapper,json=mapStringBytesWrapper" json:"map_string_bytes_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
// Types that are valid to be assigned to Kind:
//
// *TestAllTypes_OneofType
// *TestAllTypes_OneofMsg
// *TestAllTypes_OneofBool
Kind isTestAllTypes_Kind `protobuf_oneof:"kind"`
Nestedgroup *TestAllTypes_NestedGroup `protobuf:"group,403,opt,name=NestedGroup,json=nestedgroup" json:"nestedgroup,omitempty"`
extensionFields protoimpl.ExtensionFields
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
// Default values for TestAllTypes fields.
const (
Default_TestAllTypes_SingleInt32 = int32(-32)
Default_TestAllTypes_SingleInt64 = int64(-64)
Default_TestAllTypes_SingleUint32 = uint32(32)
Default_TestAllTypes_SingleUint64 = uint64(64)
Default_TestAllTypes_SingleFloat = float32(3)
Default_TestAllTypes_SingleDouble = float64(6.4)
Default_TestAllTypes_SingleBool = bool(true)
Default_TestAllTypes_SingleString = string("empty")
Default_TestAllTypes_SingleNestedEnum = TestAllTypes_BAR
)
// Default values for TestAllTypes fields.
var (
Default_TestAllTypes_SingleBytes = []byte("none")
)
func (x *TestAllTypes) Reset() {
*x = TestAllTypes{}
mi := &file_cel_expr_conformance_proto2_test_all_types_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TestAllTypes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestAllTypes) ProtoMessage() {}
func (x *TestAllTypes) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_proto2_test_all_types_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestAllTypes.ProtoReflect.Descriptor instead.
func (*TestAllTypes) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_proto2_test_all_types_proto_rawDescGZIP(), []int{0}
}
func (x *TestAllTypes) GetSingleInt32() int32 {
if x != nil && x.SingleInt32 != nil {
return *x.SingleInt32
}
return Default_TestAllTypes_SingleInt32
}
func (x *TestAllTypes) GetSingleInt64() int64 {
if x != nil && x.SingleInt64 != nil {
return *x.SingleInt64
}
return Default_TestAllTypes_SingleInt64
}
func (x *TestAllTypes) GetSingleUint32() uint32 {
if x != nil && x.SingleUint32 != nil {
return *x.SingleUint32
}
return Default_TestAllTypes_SingleUint32
}
func (x *TestAllTypes) GetSingleUint64() uint64 {
if x != nil && x.SingleUint64 != nil {
return *x.SingleUint64
}
return Default_TestAllTypes_SingleUint64
}
func (x *TestAllTypes) GetSingleSint32() int32 {
if x != nil && x.SingleSint32 != nil {
return *x.SingleSint32
}
return 0
}
func (x *TestAllTypes) GetSingleSint64() int64 {
if x != nil && x.SingleSint64 != nil {
return *x.SingleSint64
}
return 0
}
func (x *TestAllTypes) GetSingleFixed32() uint32 {
if x != nil && x.SingleFixed32 != nil {
return *x.SingleFixed32
}
return 0
}
func (x *TestAllTypes) GetSingleFixed64() uint64 {
if x != nil && x.SingleFixed64 != nil {
return *x.SingleFixed64
}
return 0
}
func (x *TestAllTypes) GetSingleSfixed32() int32 {
if x != nil && x.SingleSfixed32 != nil {
return *x.SingleSfixed32
}
return 0
}
func (x *TestAllTypes) GetSingleSfixed64() int64 {
if x != nil && x.SingleSfixed64 != nil {
return *x.SingleSfixed64
}
return 0
}
func (x *TestAllTypes) GetSingleFloat() float32 {
if x != nil && x.SingleFloat != nil {
return *x.SingleFloat
}
return Default_TestAllTypes_SingleFloat
}
func (x *TestAllTypes) GetSingleDouble() float64 {
if x != nil && x.SingleDouble != nil {
return *x.SingleDouble
}
return Default_TestAllTypes_SingleDouble
}
func (x *TestAllTypes) GetSingleBool() bool {
if x != nil && x.SingleBool != nil {
return *x.SingleBool
}
return Default_TestAllTypes_SingleBool
}
func (x *TestAllTypes) GetSingleString() string {
if x != nil && x.SingleString != nil {
return *x.SingleString
}
return Default_TestAllTypes_SingleString
}
func (x *TestAllTypes) GetSingleBytes() []byte {
if x != nil && x.SingleBytes != nil {
return x.SingleBytes
}
return append([]byte(nil), Default_TestAllTypes_SingleBytes...)
}
func (x *TestAllTypes) GetIn() bool {
if x != nil && x.In != nil {
return *x.In
}
return false
}
func (x *TestAllTypes) GetSingleAny() *anypb.Any {
if x != nil {
return x.SingleAny
}
return nil
}
func (x *TestAllTypes) GetSingleDuration() *durationpb.Duration {
if x != nil {
return x.SingleDuration
}
return nil
}
func (x *TestAllTypes) GetSingleTimestamp() *timestamppb.Timestamp {
if x != nil {
return x.SingleTimestamp
}
return nil
}
func (x *TestAllTypes) GetSingleStruct() *structpb.Struct {
if x != nil {
return x.SingleStruct
}
return nil
}
func (x *TestAllTypes) GetSingleValue() *structpb.Value {
if x != nil {
return x.SingleValue
}
return nil
}
func (x *TestAllTypes) GetSingleInt64Wrapper() *wrapperspb.Int64Value {
if x != nil {
return x.SingleInt64Wrapper
}
return nil
}
func (x *TestAllTypes) GetSingleInt32Wrapper() *wrapperspb.Int32Value {
if x != nil {
return x.SingleInt32Wrapper
}
return nil
}
func (x *TestAllTypes) GetSingleDoubleWrapper() *wrapperspb.DoubleValue {
if x != nil {
return x.SingleDoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetSingleFloatWrapper() *wrapperspb.FloatValue {
if x != nil {
return x.SingleFloatWrapper
}
return nil
}
func (x *TestAllTypes) GetSingleUint64Wrapper() *wrapperspb.UInt64Value {
if x != nil {
return x.SingleUint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetSingleUint32Wrapper() *wrapperspb.UInt32Value {
if x != nil {
return x.SingleUint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetSingleStringWrapper() *wrapperspb.StringValue {
if x != nil {
return x.SingleStringWrapper
}
return nil
}
func (x *TestAllTypes) GetSingleBoolWrapper() *wrapperspb.BoolValue {
if x != nil {
return x.SingleBoolWrapper
}
return nil
}
func (x *TestAllTypes) GetSingleBytesWrapper() *wrapperspb.BytesValue {
if x != nil {
return x.SingleBytesWrapper
}
return nil
}
func (x *TestAllTypes) GetListValue() *structpb.ListValue {
if x != nil {
return x.ListValue
}
return nil
}
func (x *TestAllTypes) GetNullValue() structpb.NullValue {
if x != nil && x.NullValue != nil {
return *x.NullValue
}
return structpb.NullValue(0)
}
func (x *TestAllTypes) GetOptionalNullValue() structpb.NullValue {
if x != nil && x.OptionalNullValue != nil {
return *x.OptionalNullValue
}
return structpb.NullValue(0)
}
func (x *TestAllTypes) GetFieldMask() *fieldmaskpb.FieldMask {
if x != nil {
return x.FieldMask
}
return nil
}
func (x *TestAllTypes) GetEmpty() *emptypb.Empty {
if x != nil {
return x.Empty
}
return nil
}
func (x *TestAllTypes) GetNestedType() isTestAllTypes_NestedType {
if x != nil {
return x.NestedType
}
return nil
}
func (x *TestAllTypes) GetSingleNestedMessage() *TestAllTypes_NestedMessage {
if x != nil {
if x, ok := x.NestedType.(*TestAllTypes_SingleNestedMessage); ok {
return x.SingleNestedMessage
}
}
return nil
}
func (x *TestAllTypes) GetSingleNestedEnum() TestAllTypes_NestedEnum {
if x != nil {
if x, ok := x.NestedType.(*TestAllTypes_SingleNestedEnum); ok {
return x.SingleNestedEnum
}
}
return Default_TestAllTypes_SingleNestedEnum
}
func (x *TestAllTypes) GetStandaloneMessage() *TestAllTypes_NestedMessage {
if x != nil {
return x.StandaloneMessage
}
return nil
}
func (x *TestAllTypes) GetStandaloneEnum() TestAllTypes_NestedEnum {
if x != nil && x.StandaloneEnum != nil {
return *x.StandaloneEnum
}
return TestAllTypes_FOO
}
func (x *TestAllTypes) GetRepeatedInt32() []int32 {
if x != nil {
return x.RepeatedInt32
}
return nil
}
func (x *TestAllTypes) GetRepeatedInt64() []int64 {
if x != nil {
return x.RepeatedInt64
}
return nil
}
func (x *TestAllTypes) GetRepeatedUint32() []uint32 {
if x != nil {
return x.RepeatedUint32
}
return nil
}
func (x *TestAllTypes) GetRepeatedUint64() []uint64 {
if x != nil {
return x.RepeatedUint64
}
return nil
}
func (x *TestAllTypes) GetRepeatedSint32() []int32 {
if x != nil {
return x.RepeatedSint32
}
return nil
}
func (x *TestAllTypes) GetRepeatedSint64() []int64 {
if x != nil {
return x.RepeatedSint64
}
return nil
}
func (x *TestAllTypes) GetRepeatedFixed32() []uint32 {
if x != nil {
return x.RepeatedFixed32
}
return nil
}
func (x *TestAllTypes) GetRepeatedFixed64() []uint64 {
if x != nil {
return x.RepeatedFixed64
}
return nil
}
func (x *TestAllTypes) GetRepeatedSfixed32() []int32 {
if x != nil {
return x.RepeatedSfixed32
}
return nil
}
func (x *TestAllTypes) GetRepeatedSfixed64() []int64 {
if x != nil {
return x.RepeatedSfixed64
}
return nil
}
func (x *TestAllTypes) GetRepeatedFloat() []float32 {
if x != nil {
return x.RepeatedFloat
}
return nil
}
func (x *TestAllTypes) GetRepeatedDouble() []float64 {
if x != nil {
return x.RepeatedDouble
}
return nil
}
func (x *TestAllTypes) GetRepeatedBool() []bool {
if x != nil {
return x.RepeatedBool
}
return nil
}
func (x *TestAllTypes) GetRepeatedString() []string {
if x != nil {
return x.RepeatedString
}
return nil
}
func (x *TestAllTypes) GetRepeatedBytes() [][]byte {
if x != nil {
return x.RepeatedBytes
}
return nil
}
func (x *TestAllTypes) GetRepeatedNestedMessage() []*TestAllTypes_NestedMessage {
if x != nil {
return x.RepeatedNestedMessage
}
return nil
}
func (x *TestAllTypes) GetRepeatedNestedEnum() []TestAllTypes_NestedEnum {
if x != nil {
return x.RepeatedNestedEnum
}
return nil
}
func (x *TestAllTypes) GetRepeatedStringPiece() []string {
if x != nil {
return x.RepeatedStringPiece
}
return nil
}
func (x *TestAllTypes) GetRepeatedCord() []string {
if x != nil {
return x.RepeatedCord
}
return nil
}
func (x *TestAllTypes) GetRepeatedLazyMessage() []*TestAllTypes_NestedMessage {
if x != nil {
return x.RepeatedLazyMessage
}
return nil
}
func (x *TestAllTypes) GetRepeatedAny() []*anypb.Any {
if x != nil {
return x.RepeatedAny
}
return nil
}
func (x *TestAllTypes) GetRepeatedDuration() []*durationpb.Duration {
if x != nil {
return x.RepeatedDuration
}
return nil
}
func (x *TestAllTypes) GetRepeatedTimestamp() []*timestamppb.Timestamp {
if x != nil {
return x.RepeatedTimestamp
}
return nil
}
func (x *TestAllTypes) GetRepeatedStruct() []*structpb.Struct {
if x != nil {
return x.RepeatedStruct
}
return nil
}
func (x *TestAllTypes) GetRepeatedValue() []*structpb.Value {
if x != nil {
return x.RepeatedValue
}
return nil
}
func (x *TestAllTypes) GetRepeatedInt64Wrapper() []*wrapperspb.Int64Value {
if x != nil {
return x.RepeatedInt64Wrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedInt32Wrapper() []*wrapperspb.Int32Value {
if x != nil {
return x.RepeatedInt32Wrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedDoubleWrapper() []*wrapperspb.DoubleValue {
if x != nil {
return x.RepeatedDoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedFloatWrapper() []*wrapperspb.FloatValue {
if x != nil {
return x.RepeatedFloatWrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedUint64Wrapper() []*wrapperspb.UInt64Value {
if x != nil {
return x.RepeatedUint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedUint32Wrapper() []*wrapperspb.UInt32Value {
if x != nil {
return x.RepeatedUint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedStringWrapper() []*wrapperspb.StringValue {
if x != nil {
return x.RepeatedStringWrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedBoolWrapper() []*wrapperspb.BoolValue {
if x != nil {
return x.RepeatedBoolWrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedBytesWrapper() []*wrapperspb.BytesValue {
if x != nil {
return x.RepeatedBytesWrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedListValue() []*structpb.ListValue {
if x != nil {
return x.RepeatedListValue
}
return nil
}
func (x *TestAllTypes) GetRepeatedNullValue() []structpb.NullValue {
if x != nil {
return x.RepeatedNullValue
}
return nil
}
func (x *TestAllTypes) GetMapInt64NestedType() map[int64]*NestedTestAllTypes {
if x != nil {
return x.MapInt64NestedType
}
return nil
}
func (x *TestAllTypes) GetMapBoolBool() map[bool]bool {
if x != nil {
return x.MapBoolBool
}
return nil
}
func (x *TestAllTypes) GetMapBoolString() map[bool]string {
if x != nil {
return x.MapBoolString
}
return nil
}
func (x *TestAllTypes) GetMapBoolBytes() map[bool][]byte {
if x != nil {
return x.MapBoolBytes
}
return nil
}
func (x *TestAllTypes) GetMapBoolInt32() map[bool]int32 {
if x != nil {
return x.MapBoolInt32
}
return nil
}
func (x *TestAllTypes) GetMapBoolInt64() map[bool]int64 {
if x != nil {
return x.MapBoolInt64
}
return nil
}
func (x *TestAllTypes) GetMapBoolUint32() map[bool]uint32 {
if x != nil {
return x.MapBoolUint32
}
return nil
}
func (x *TestAllTypes) GetMapBoolUint64() map[bool]uint64 {
if x != nil {
return x.MapBoolUint64
}
return nil
}
func (x *TestAllTypes) GetMapBoolFloat() map[bool]float32 {
if x != nil {
return x.MapBoolFloat
}
return nil
}
func (x *TestAllTypes) GetMapBoolDouble() map[bool]float64 {
if x != nil {
return x.MapBoolDouble
}
return nil
}
func (x *TestAllTypes) GetMapBoolEnum() map[bool]TestAllTypes_NestedEnum {
if x != nil {
return x.MapBoolEnum
}
return nil
}
func (x *TestAllTypes) GetMapBoolMessage() map[bool]*TestAllTypes_NestedMessage {
if x != nil {
return x.MapBoolMessage
}
return nil
}
func (x *TestAllTypes) GetMapBoolDuration() map[bool]*durationpb.Duration {
if x != nil {
return x.MapBoolDuration
}
return nil
}
func (x *TestAllTypes) GetMapBoolTimestamp() map[bool]*timestamppb.Timestamp {
if x != nil {
return x.MapBoolTimestamp
}
return nil
}
func (x *TestAllTypes) GetMapBoolNullValue() map[bool]structpb.NullValue {
if x != nil {
return x.MapBoolNullValue
}
return nil
}
func (x *TestAllTypes) GetMapBoolAny() map[bool]*anypb.Any {
if x != nil {
return x.MapBoolAny
}
return nil
}
func (x *TestAllTypes) GetMapBoolStruct() map[bool]*structpb.Struct {
if x != nil {
return x.MapBoolStruct
}
return nil
}
func (x *TestAllTypes) GetMapBoolValue() map[bool]*structpb.Value {
if x != nil {
return x.MapBoolValue
}
return nil
}
func (x *TestAllTypes) GetMapBoolListValue() map[bool]*structpb.ListValue {
if x != nil {
return x.MapBoolListValue
}
return nil
}
func (x *TestAllTypes) GetMapBoolInt64Wrapper() map[bool]*wrapperspb.Int64Value {
if x != nil {
return x.MapBoolInt64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolInt32Wrapper() map[bool]*wrapperspb.Int32Value {
if x != nil {
return x.MapBoolInt32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolDoubleWrapper() map[bool]*wrapperspb.DoubleValue {
if x != nil {
return x.MapBoolDoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolFloatWrapper() map[bool]*wrapperspb.FloatValue {
if x != nil {
return x.MapBoolFloatWrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolUint64Wrapper() map[bool]*wrapperspb.UInt64Value {
if x != nil {
return x.MapBoolUint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolUint32Wrapper() map[bool]*wrapperspb.UInt32Value {
if x != nil {
return x.MapBoolUint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolStringWrapper() map[bool]*wrapperspb.StringValue {
if x != nil {
return x.MapBoolStringWrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolBoolWrapper() map[bool]*wrapperspb.BoolValue {
if x != nil {
return x.MapBoolBoolWrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolBytesWrapper() map[bool]*wrapperspb.BytesValue {
if x != nil {
return x.MapBoolBytesWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32Bool() map[int32]bool {
if x != nil {
return x.MapInt32Bool
}
return nil
}
func (x *TestAllTypes) GetMapInt32String() map[int32]string {
if x != nil {
return x.MapInt32String
}
return nil
}
func (x *TestAllTypes) GetMapInt32Bytes() map[int32][]byte {
if x != nil {
return x.MapInt32Bytes
}
return nil
}
func (x *TestAllTypes) GetMapInt32Int32() map[int32]int32 {
if x != nil {
return x.MapInt32Int32
}
return nil
}
func (x *TestAllTypes) GetMapInt32Int64() map[int32]int64 {
if x != nil {
return x.MapInt32Int64
}
return nil
}
func (x *TestAllTypes) GetMapInt32Uint32() map[int32]uint32 {
if x != nil {
return x.MapInt32Uint32
}
return nil
}
func (x *TestAllTypes) GetMapInt32Uint64() map[int32]uint64 {
if x != nil {
return x.MapInt32Uint64
}
return nil
}
func (x *TestAllTypes) GetMapInt32Float() map[int32]float32 {
if x != nil {
return x.MapInt32Float
}
return nil
}
func (x *TestAllTypes) GetMapInt32Double() map[int32]float64 {
if x != nil {
return x.MapInt32Double
}
return nil
}
func (x *TestAllTypes) GetMapInt32Enum() map[int32]TestAllTypes_NestedEnum {
if x != nil {
return x.MapInt32Enum
}
return nil
}
func (x *TestAllTypes) GetMapInt32Message() map[int32]*TestAllTypes_NestedMessage {
if x != nil {
return x.MapInt32Message
}
return nil
}
func (x *TestAllTypes) GetMapInt32Duration() map[int32]*durationpb.Duration {
if x != nil {
return x.MapInt32Duration
}
return nil
}
func (x *TestAllTypes) GetMapInt32Timestamp() map[int32]*timestamppb.Timestamp {
if x != nil {
return x.MapInt32Timestamp
}
return nil
}
func (x *TestAllTypes) GetMapInt32NullValue() map[int32]structpb.NullValue {
if x != nil {
return x.MapInt32NullValue
}
return nil
}
func (x *TestAllTypes) GetMapInt32Any() map[int32]*anypb.Any {
if x != nil {
return x.MapInt32Any
}
return nil
}
func (x *TestAllTypes) GetMapInt32Struct() map[int32]*structpb.Struct {
if x != nil {
return x.MapInt32Struct
}
return nil
}
func (x *TestAllTypes) GetMapInt32Value() map[int32]*structpb.Value {
if x != nil {
return x.MapInt32Value
}
return nil
}
func (x *TestAllTypes) GetMapInt32ListValue() map[int32]*structpb.ListValue {
if x != nil {
return x.MapInt32ListValue
}
return nil
}
func (x *TestAllTypes) GetMapInt32Int64Wrapper() map[int32]*wrapperspb.Int64Value {
if x != nil {
return x.MapInt32Int64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32Int32Wrapper() map[int32]*wrapperspb.Int32Value {
if x != nil {
return x.MapInt32Int32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32DoubleWrapper() map[int32]*wrapperspb.DoubleValue {
if x != nil {
return x.MapInt32DoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32FloatWrapper() map[int32]*wrapperspb.FloatValue {
if x != nil {
return x.MapInt32FloatWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32Uint64Wrapper() map[int32]*wrapperspb.UInt64Value {
if x != nil {
return x.MapInt32Uint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32Uint32Wrapper() map[int32]*wrapperspb.UInt32Value {
if x != nil {
return x.MapInt32Uint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32StringWrapper() map[int32]*wrapperspb.StringValue {
if x != nil {
return x.MapInt32StringWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32BoolWrapper() map[int32]*wrapperspb.BoolValue {
if x != nil {
return x.MapInt32BoolWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32BytesWrapper() map[int32]*wrapperspb.BytesValue {
if x != nil {
return x.MapInt32BytesWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64Bool() map[int64]bool {
if x != nil {
return x.MapInt64Bool
}
return nil
}
func (x *TestAllTypes) GetMapInt64String() map[int64]string {
if x != nil {
return x.MapInt64String
}
return nil
}
func (x *TestAllTypes) GetMapInt64Bytes() map[int64][]byte {
if x != nil {
return x.MapInt64Bytes
}
return nil
}
func (x *TestAllTypes) GetMapInt64Int32() map[int64]int32 {
if x != nil {
return x.MapInt64Int32
}
return nil
}
func (x *TestAllTypes) GetMapInt64Int64() map[int64]int64 {
if x != nil {
return x.MapInt64Int64
}
return nil
}
func (x *TestAllTypes) GetMapInt64Uint32() map[int64]uint32 {
if x != nil {
return x.MapInt64Uint32
}
return nil
}
func (x *TestAllTypes) GetMapInt64Uint64() map[int64]uint64 {
if x != nil {
return x.MapInt64Uint64
}
return nil
}
func (x *TestAllTypes) GetMapInt64Float() map[int64]float32 {
if x != nil {
return x.MapInt64Float
}
return nil
}
func (x *TestAllTypes) GetMapInt64Double() map[int64]float64 {
if x != nil {
return x.MapInt64Double
}
return nil
}
func (x *TestAllTypes) GetMapInt64Enum() map[int64]TestAllTypes_NestedEnum {
if x != nil {
return x.MapInt64Enum
}
return nil
}
func (x *TestAllTypes) GetMapInt64Message() map[int64]*TestAllTypes_NestedMessage {
if x != nil {
return x.MapInt64Message
}
return nil
}
func (x *TestAllTypes) GetMapInt64Duration() map[int64]*durationpb.Duration {
if x != nil {
return x.MapInt64Duration
}
return nil
}
func (x *TestAllTypes) GetMapInt64Timestamp() map[int64]*timestamppb.Timestamp {
if x != nil {
return x.MapInt64Timestamp
}
return nil
}
func (x *TestAllTypes) GetMapInt64NullValue() map[int64]structpb.NullValue {
if x != nil {
return x.MapInt64NullValue
}
return nil
}
func (x *TestAllTypes) GetMapInt64Any() map[int64]*anypb.Any {
if x != nil {
return x.MapInt64Any
}
return nil
}
func (x *TestAllTypes) GetMapInt64Struct() map[int64]*structpb.Struct {
if x != nil {
return x.MapInt64Struct
}
return nil
}
func (x *TestAllTypes) GetMapInt64Value() map[int64]*structpb.Value {
if x != nil {
return x.MapInt64Value
}
return nil
}
func (x *TestAllTypes) GetMapInt64ListValue() map[int64]*structpb.ListValue {
if x != nil {
return x.MapInt64ListValue
}
return nil
}
func (x *TestAllTypes) GetMapInt64Int64Wrapper() map[int64]*wrapperspb.Int64Value {
if x != nil {
return x.MapInt64Int64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64Int32Wrapper() map[int64]*wrapperspb.Int32Value {
if x != nil {
return x.MapInt64Int32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64DoubleWrapper() map[int64]*wrapperspb.DoubleValue {
if x != nil {
return x.MapInt64DoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64FloatWrapper() map[int64]*wrapperspb.FloatValue {
if x != nil {
return x.MapInt64FloatWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64Uint64Wrapper() map[int64]*wrapperspb.UInt64Value {
if x != nil {
return x.MapInt64Uint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64Uint32Wrapper() map[int64]*wrapperspb.UInt32Value {
if x != nil {
return x.MapInt64Uint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64StringWrapper() map[int64]*wrapperspb.StringValue {
if x != nil {
return x.MapInt64StringWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64BoolWrapper() map[int64]*wrapperspb.BoolValue {
if x != nil {
return x.MapInt64BoolWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64BytesWrapper() map[int64]*wrapperspb.BytesValue {
if x != nil {
return x.MapInt64BytesWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32Bool() map[uint32]bool {
if x != nil {
return x.MapUint32Bool
}
return nil
}
func (x *TestAllTypes) GetMapUint32String() map[uint32]string {
if x != nil {
return x.MapUint32String
}
return nil
}
func (x *TestAllTypes) GetMapUint32Bytes() map[uint32][]byte {
if x != nil {
return x.MapUint32Bytes
}
return nil
}
func (x *TestAllTypes) GetMapUint32Int32() map[uint32]int32 {
if x != nil {
return x.MapUint32Int32
}
return nil
}
func (x *TestAllTypes) GetMapUint32Int64() map[uint32]int64 {
if x != nil {
return x.MapUint32Int64
}
return nil
}
func (x *TestAllTypes) GetMapUint32Uint32() map[uint32]uint32 {
if x != nil {
return x.MapUint32Uint32
}
return nil
}
func (x *TestAllTypes) GetMapUint32Uint64() map[uint32]uint64 {
if x != nil {
return x.MapUint32Uint64
}
return nil
}
func (x *TestAllTypes) GetMapUint32Float() map[uint32]float32 {
if x != nil {
return x.MapUint32Float
}
return nil
}
func (x *TestAllTypes) GetMapUint32Double() map[uint32]float64 {
if x != nil {
return x.MapUint32Double
}
return nil
}
func (x *TestAllTypes) GetMapUint32Enum() map[uint32]TestAllTypes_NestedEnum {
if x != nil {
return x.MapUint32Enum
}
return nil
}
func (x *TestAllTypes) GetMapUint32Message() map[uint32]*TestAllTypes_NestedMessage {
if x != nil {
return x.MapUint32Message
}
return nil
}
func (x *TestAllTypes) GetMapUint32Duration() map[uint32]*durationpb.Duration {
if x != nil {
return x.MapUint32Duration
}
return nil
}
func (x *TestAllTypes) GetMapUint32Timestamp() map[uint32]*timestamppb.Timestamp {
if x != nil {
return x.MapUint32Timestamp
}
return nil
}
func (x *TestAllTypes) GetMapUint32NullValue() map[uint32]structpb.NullValue {
if x != nil {
return x.MapUint32NullValue
}
return nil
}
func (x *TestAllTypes) GetMapUint32Any() map[uint32]*anypb.Any {
if x != nil {
return x.MapUint32Any
}
return nil
}
func (x *TestAllTypes) GetMapUint32Struct() map[uint32]*structpb.Struct {
if x != nil {
return x.MapUint32Struct
}
return nil
}
func (x *TestAllTypes) GetMapUint32Value() map[uint32]*structpb.Value {
if x != nil {
return x.MapUint32Value
}
return nil
}
func (x *TestAllTypes) GetMapUint32ListValue() map[uint32]*structpb.ListValue {
if x != nil {
return x.MapUint32ListValue
}
return nil
}
func (x *TestAllTypes) GetMapUint32Int64Wrapper() map[uint32]*wrapperspb.Int64Value {
if x != nil {
return x.MapUint32Int64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32Int32Wrapper() map[uint32]*wrapperspb.Int32Value {
if x != nil {
return x.MapUint32Int32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32DoubleWrapper() map[uint32]*wrapperspb.DoubleValue {
if x != nil {
return x.MapUint32DoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32FloatWrapper() map[uint32]*wrapperspb.FloatValue {
if x != nil {
return x.MapUint32FloatWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32Uint64Wrapper() map[uint32]*wrapperspb.UInt64Value {
if x != nil {
return x.MapUint32Uint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32Uint32Wrapper() map[uint32]*wrapperspb.UInt32Value {
if x != nil {
return x.MapUint32Uint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32StringWrapper() map[uint32]*wrapperspb.StringValue {
if x != nil {
return x.MapUint32StringWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32BoolWrapper() map[uint32]*wrapperspb.BoolValue {
if x != nil {
return x.MapUint32BoolWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32BytesWrapper() map[uint32]*wrapperspb.BytesValue {
if x != nil {
return x.MapUint32BytesWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64Bool() map[uint64]bool {
if x != nil {
return x.MapUint64Bool
}
return nil
}
func (x *TestAllTypes) GetMapUint64String() map[uint64]string {
if x != nil {
return x.MapUint64String
}
return nil
}
func (x *TestAllTypes) GetMapUint64Bytes() map[uint64][]byte {
if x != nil {
return x.MapUint64Bytes
}
return nil
}
func (x *TestAllTypes) GetMapUint64Int32() map[uint64]int32 {
if x != nil {
return x.MapUint64Int32
}
return nil
}
func (x *TestAllTypes) GetMapUint64Int64() map[uint64]int64 {
if x != nil {
return x.MapUint64Int64
}
return nil
}
func (x *TestAllTypes) GetMapUint64Uint32() map[uint64]uint32 {
if x != nil {
return x.MapUint64Uint32
}
return nil
}
func (x *TestAllTypes) GetMapUint64Uint64() map[uint64]uint64 {
if x != nil {
return x.MapUint64Uint64
}
return nil
}
func (x *TestAllTypes) GetMapUint64Float() map[uint64]float32 {
if x != nil {
return x.MapUint64Float
}
return nil
}
func (x *TestAllTypes) GetMapUint64Double() map[uint64]float64 {
if x != nil {
return x.MapUint64Double
}
return nil
}
func (x *TestAllTypes) GetMapUint64Enum() map[uint64]TestAllTypes_NestedEnum {
if x != nil {
return x.MapUint64Enum
}
return nil
}
func (x *TestAllTypes) GetMapUint64Message() map[uint64]*TestAllTypes_NestedMessage {
if x != nil {
return x.MapUint64Message
}
return nil
}
func (x *TestAllTypes) GetMapUint64Duration() map[uint64]*durationpb.Duration {
if x != nil {
return x.MapUint64Duration
}
return nil
}
func (x *TestAllTypes) GetMapUint64Timestamp() map[uint64]*timestamppb.Timestamp {
if x != nil {
return x.MapUint64Timestamp
}
return nil
}
func (x *TestAllTypes) GetMapUint64NullValue() map[uint64]structpb.NullValue {
if x != nil {
return x.MapUint64NullValue
}
return nil
}
func (x *TestAllTypes) GetMapUint64Any() map[uint64]*anypb.Any {
if x != nil {
return x.MapUint64Any
}
return nil
}
func (x *TestAllTypes) GetMapUint64Struct() map[uint64]*structpb.Struct {
if x != nil {
return x.MapUint64Struct
}
return nil
}
func (x *TestAllTypes) GetMapUint64Value() map[uint64]*structpb.Value {
if x != nil {
return x.MapUint64Value
}
return nil
}
func (x *TestAllTypes) GetMapUint64ListValue() map[uint64]*structpb.ListValue {
if x != nil {
return x.MapUint64ListValue
}
return nil
}
func (x *TestAllTypes) GetMapUint64Int64Wrapper() map[uint64]*wrapperspb.Int64Value {
if x != nil {
return x.MapUint64Int64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64Int32Wrapper() map[uint64]*wrapperspb.Int32Value {
if x != nil {
return x.MapUint64Int32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64DoubleWrapper() map[uint64]*wrapperspb.DoubleValue {
if x != nil {
return x.MapUint64DoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64FloatWrapper() map[uint64]*wrapperspb.FloatValue {
if x != nil {
return x.MapUint64FloatWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64Uint64Wrapper() map[uint64]*wrapperspb.UInt64Value {
if x != nil {
return x.MapUint64Uint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64Uint32Wrapper() map[uint64]*wrapperspb.UInt32Value {
if x != nil {
return x.MapUint64Uint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64StringWrapper() map[uint64]*wrapperspb.StringValue {
if x != nil {
return x.MapUint64StringWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64BoolWrapper() map[uint64]*wrapperspb.BoolValue {
if x != nil {
return x.MapUint64BoolWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64BytesWrapper() map[uint64]*wrapperspb.BytesValue {
if x != nil {
return x.MapUint64BytesWrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringBool() map[string]bool {
if x != nil {
return x.MapStringBool
}
return nil
}
func (x *TestAllTypes) GetMapStringString() map[string]string {
if x != nil {
return x.MapStringString
}
return nil
}
func (x *TestAllTypes) GetMapStringBytes() map[string][]byte {
if x != nil {
return x.MapStringBytes
}
return nil
}
func (x *TestAllTypes) GetMapStringInt32() map[string]int32 {
if x != nil {
return x.MapStringInt32
}
return nil
}
func (x *TestAllTypes) GetMapStringInt64() map[string]int64 {
if x != nil {
return x.MapStringInt64
}
return nil
}
func (x *TestAllTypes) GetMapStringUint32() map[string]uint32 {
if x != nil {
return x.MapStringUint32
}
return nil
}
func (x *TestAllTypes) GetMapStringUint64() map[string]uint64 {
if x != nil {
return x.MapStringUint64
}
return nil
}
func (x *TestAllTypes) GetMapStringFloat() map[string]float32 {
if x != nil {
return x.MapStringFloat
}
return nil
}
func (x *TestAllTypes) GetMapStringDouble() map[string]float64 {
if x != nil {
return x.MapStringDouble
}
return nil
}
func (x *TestAllTypes) GetMapStringEnum() map[string]TestAllTypes_NestedEnum {
if x != nil {
return x.MapStringEnum
}
return nil
}
func (x *TestAllTypes) GetMapStringMessage() map[string]*TestAllTypes_NestedMessage {
if x != nil {
return x.MapStringMessage
}
return nil
}
func (x *TestAllTypes) GetMapStringDuration() map[string]*durationpb.Duration {
if x != nil {
return x.MapStringDuration
}
return nil
}
func (x *TestAllTypes) GetMapStringTimestamp() map[string]*timestamppb.Timestamp {
if x != nil {
return x.MapStringTimestamp
}
return nil
}
func (x *TestAllTypes) GetMapStringNullValue() map[string]structpb.NullValue {
if x != nil {
return x.MapStringNullValue
}
return nil
}
func (x *TestAllTypes) GetMapStringAny() map[string]*anypb.Any {
if x != nil {
return x.MapStringAny
}
return nil
}
func (x *TestAllTypes) GetMapStringStruct() map[string]*structpb.Struct {
if x != nil {
return x.MapStringStruct
}
return nil
}
func (x *TestAllTypes) GetMapStringValue() map[string]*structpb.Value {
if x != nil {
return x.MapStringValue
}
return nil
}
func (x *TestAllTypes) GetMapStringListValue() map[string]*structpb.ListValue {
if x != nil {
return x.MapStringListValue
}
return nil
}
func (x *TestAllTypes) GetMapStringInt64Wrapper() map[string]*wrapperspb.Int64Value {
if x != nil {
return x.MapStringInt64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringInt32Wrapper() map[string]*wrapperspb.Int32Value {
if x != nil {
return x.MapStringInt32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringDoubleWrapper() map[string]*wrapperspb.DoubleValue {
if x != nil {
return x.MapStringDoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringFloatWrapper() map[string]*wrapperspb.FloatValue {
if x != nil {
return x.MapStringFloatWrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringUint64Wrapper() map[string]*wrapperspb.UInt64Value {
if x != nil {
return x.MapStringUint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringUint32Wrapper() map[string]*wrapperspb.UInt32Value {
if x != nil {
return x.MapStringUint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringStringWrapper() map[string]*wrapperspb.StringValue {
if x != nil {
return x.MapStringStringWrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringBoolWrapper() map[string]*wrapperspb.BoolValue {
if x != nil {
return x.MapStringBoolWrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringBytesWrapper() map[string]*wrapperspb.BytesValue {
if x != nil {
return x.MapStringBytesWrapper
}
return nil
}
func (x *TestAllTypes) GetKind() isTestAllTypes_Kind {
if x != nil {
return x.Kind
}
return nil
}
func (x *TestAllTypes) GetOneofType() *NestedTestAllTypes {
if x != nil {
if x, ok := x.Kind.(*TestAllTypes_OneofType); ok {
return x.OneofType
}
}
return nil
}
func (x *TestAllTypes) GetOneofMsg() *TestAllTypes_NestedMessage {
if x != nil {
if x, ok := x.Kind.(*TestAllTypes_OneofMsg); ok {
return x.OneofMsg
}
}
return nil
}
func (x *TestAllTypes) GetOneofBool() bool {
if x != nil {
if x, ok := x.Kind.(*TestAllTypes_OneofBool); ok {
return x.OneofBool
}
}
return false
}
func (x *TestAllTypes) GetNestedgroup() *TestAllTypes_NestedGroup {
if x != nil {
return x.Nestedgroup
}
return nil
}
type isTestAllTypes_NestedType interface {
isTestAllTypes_NestedType()
}
type TestAllTypes_SingleNestedMessage struct {
SingleNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,21,opt,name=single_nested_message,json=singleNestedMessage,oneof"`
}
type TestAllTypes_SingleNestedEnum struct {
SingleNestedEnum TestAllTypes_NestedEnum `protobuf:"varint,22,opt,name=single_nested_enum,json=singleNestedEnum,enum=cel.expr.conformance.proto2.TestAllTypes_NestedEnum,oneof,def=1"`
}
func (*TestAllTypes_SingleNestedMessage) isTestAllTypes_NestedType() {}
func (*TestAllTypes_SingleNestedEnum) isTestAllTypes_NestedType() {}
type isTestAllTypes_Kind interface {
isTestAllTypes_Kind()
}
type TestAllTypes_OneofType struct {
OneofType *NestedTestAllTypes `protobuf:"bytes,400,opt,name=oneof_type,json=oneofType,oneof"`
}
type TestAllTypes_OneofMsg struct {
OneofMsg *TestAllTypes_NestedMessage `protobuf:"bytes,401,opt,name=oneof_msg,json=oneofMsg,oneof"`
}
type TestAllTypes_OneofBool struct {
OneofBool bool `protobuf:"varint,402,opt,name=oneof_bool,json=oneofBool,oneof"`
}
func (*TestAllTypes_OneofType) isTestAllTypes_Kind() {}
func (*TestAllTypes_OneofMsg) isTestAllTypes_Kind() {}
func (*TestAllTypes_OneofBool) isTestAllTypes_Kind() {}
type NestedTestAllTypes struct {
state protoimpl.MessageState `protogen:"open.v1"`
Child *NestedTestAllTypes `protobuf:"bytes,1,opt,name=child" json:"child,omitempty"`
Payload *TestAllTypes `protobuf:"bytes,2,opt,name=payload" json:"payload,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NestedTestAllTypes) Reset() {
*x = NestedTestAllTypes{}
mi := &file_cel_expr_conformance_proto2_test_all_types_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NestedTestAllTypes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NestedTestAllTypes) ProtoMessage() {}
func (x *NestedTestAllTypes) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_proto2_test_all_types_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NestedTestAllTypes.ProtoReflect.Descriptor instead.
func (*NestedTestAllTypes) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_proto2_test_all_types_proto_rawDescGZIP(), []int{1}
}
func (x *NestedTestAllTypes) GetChild() *NestedTestAllTypes {
if x != nil {
return x.Child
}
return nil
}
func (x *NestedTestAllTypes) GetPayload() *TestAllTypes {
if x != nil {
return x.Payload
}
return nil
}
type TestRequired struct {
state protoimpl.MessageState `protogen:"open.v1"`
RequiredInt32 *int32 `protobuf:"varint,1,req,name=required_int32,json=requiredInt32" json:"required_int32,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TestRequired) Reset() {
*x = TestRequired{}
mi := &file_cel_expr_conformance_proto2_test_all_types_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TestRequired) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestRequired) ProtoMessage() {}
func (x *TestRequired) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_proto2_test_all_types_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestRequired.ProtoReflect.Descriptor instead.
func (*TestRequired) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_proto2_test_all_types_proto_rawDescGZIP(), []int{2}
}
func (x *TestRequired) GetRequiredInt32() int32 {
if x != nil && x.RequiredInt32 != nil {
return *x.RequiredInt32
}
return 0
}
type TestAllTypes_NestedMessage struct {
state protoimpl.MessageState `protogen:"open.v1"`
Bb *int32 `protobuf:"varint,1,opt,name=bb" json:"bb,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TestAllTypes_NestedMessage) Reset() {
*x = TestAllTypes_NestedMessage{}
mi := &file_cel_expr_conformance_proto2_test_all_types_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TestAllTypes_NestedMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestAllTypes_NestedMessage) ProtoMessage() {}
func (x *TestAllTypes_NestedMessage) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_proto2_test_all_types_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestAllTypes_NestedMessage.ProtoReflect.Descriptor instead.
func (*TestAllTypes_NestedMessage) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_proto2_test_all_types_proto_rawDescGZIP(), []int{0, 0}
}
func (x *TestAllTypes_NestedMessage) GetBb() int32 {
if x != nil && x.Bb != nil {
return *x.Bb
}
return 0
}
type TestAllTypes_NestedGroup struct {
state protoimpl.MessageState `protogen:"open.v1"`
SingleId *int32 `protobuf:"varint,404,opt,name=single_id,json=singleId" json:"single_id,omitempty"`
SingleName *string `protobuf:"bytes,405,opt,name=single_name,json=singleName" json:"single_name,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TestAllTypes_NestedGroup) Reset() {
*x = TestAllTypes_NestedGroup{}
mi := &file_cel_expr_conformance_proto2_test_all_types_proto_msgTypes[167]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TestAllTypes_NestedGroup) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestAllTypes_NestedGroup) ProtoMessage() {}
func (x *TestAllTypes_NestedGroup) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_proto2_test_all_types_proto_msgTypes[167]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestAllTypes_NestedGroup.ProtoReflect.Descriptor instead.
func (*TestAllTypes_NestedGroup) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_proto2_test_all_types_proto_rawDescGZIP(), []int{0, 164}
}
func (x *TestAllTypes_NestedGroup) GetSingleId() int32 {
if x != nil && x.SingleId != nil {
return *x.SingleId
}
return 0
}
func (x *TestAllTypes_NestedGroup) GetSingleName() string {
if x != nil && x.SingleName != nil {
return *x.SingleName
}
return ""
}
var File_cel_expr_conformance_proto2_test_all_types_proto protoreflect.FileDescriptor
var file_cel_expr_conformance_proto2_test_all_types_proto_rawDesc = []byte{
0x0a, 0x30, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2f, 0x74, 0x65,
0x73, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x12, 0x1b, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x1a,
0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 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, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d,
0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63,
0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xeb, 0xab, 0x02, 0x0a, 0x0c, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x69,
0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x3a, 0x03, 0x2d, 0x33, 0x32, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x3a, 0x03, 0x2d, 0x36, 0x34, 0x52, 0x0b, 0x73,
0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0d, 0x73, 0x69,
0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0d, 0x3a, 0x02, 0x33, 0x32, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x02, 0x36, 0x34, 0x52, 0x0c,
0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x23, 0x0a, 0x0d,
0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20,
0x01, 0x28, 0x11, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0d,
0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x25, 0x0a,
0x0e, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18,
0x08, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x46, 0x69, 0x78,
0x65, 0x64, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x73,
0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x0e, 0x73,
0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x27, 0x0a,
0x0f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x10, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x66,
0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x24, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x3a, 0x01, 0x33, 0x52,
0x0b, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x28, 0x0a, 0x0d,
0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20,
0x01, 0x28, 0x01, 0x3a, 0x03, 0x36, 0x2e, 0x34, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75,
0x65, 0x52, 0x0a, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x2a, 0x0a,
0x0d, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0e,
0x20, 0x01, 0x28, 0x09, 0x3a, 0x05, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x0c, 0x73, 0x69, 0x6e,
0x67, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0c, 0x73, 0x69, 0x6e,
0x67, 0x6c, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x3a,
0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x42, 0x79, 0x74,
0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02,
0x69, 0x6e, 0x12, 0x33, 0x0a, 0x0a, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x6e, 0x79,
0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x09, 0x73, 0x69,
0x6e, 0x67, 0x6c, 0x65, 0x41, 0x6e, 0x79, 0x12, 0x42, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x6c,
0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x73, 0x69, 0x6e,
0x67, 0x6c, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x10, 0x73,
0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18,
0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x52, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x12, 0x3c, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72,
0x75, 0x63, 0x74, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75,
0x63, 0x74, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74,
0x12, 0x39, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b,
0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4d, 0x0a, 0x14, 0x73,
0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x6e,
0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x14, 0x73, 0x69,
0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x15, 0x73, 0x69, 0x6e,
0x67, 0x6c, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c,
0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x6f,
0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x14, 0x73,
0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x77, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x18, 0x6c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61,
0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x46, 0x6c,
0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x15, 0x73, 0x69,
0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x15,
0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x6c,
0x65, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x50,
0x0a, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f,
0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x73, 0x69, 0x6e,
0x67, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x12, 0x4a, 0x0a, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f,
0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x6c,
0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x14,
0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x18, 0x71, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74,
0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x42,
0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x6c,
0x69, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x72, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6c, 0x69, 0x73,
0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x73, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c,
0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x12, 0x4a, 0x0a, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x75,
0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x74, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x6f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x39, 0x0a,
0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x75, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x09, 0x66,
0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x2c, 0x0a, 0x05, 0x65, 0x6d, 0x70, 0x74,
0x79, 0x18, 0x76, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52,
0x05, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x6d, 0x0a, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00,
0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x69, 0x0a, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f,
0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x34, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73,
0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x03, 0x42, 0x41, 0x52, 0x48, 0x00, 0x52, 0x10,
0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d,
0x12, 0x66, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x6d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, 0x6e,
0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5d, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x6e,
0x64, 0x61, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x18, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x34, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73,
0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c,
0x6f, 0x6e, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x05, 0x52,
0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25,
0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e,
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27,
0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x18, 0x22, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x23, 0x20, 0x03, 0x28, 0x11,
0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61,
0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x25, 0x20,
0x03, 0x28, 0x07, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x78,
0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x26, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0f,
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12,
0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78,
0x65, 0x64, 0x33, 0x32, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f, 0x52, 0x10, 0x72, 0x65, 0x70, 0x65,
0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x11,
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
0x34, 0x18, 0x28, 0x20, 0x03, 0x28, 0x10, 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x29, 0x20, 0x03, 0x28,
0x02, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74,
0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75,
0x62, 0x6c, 0x65, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61,
0x74, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x08,
0x52, 0x0c, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x27,
0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x2d, 0x20, 0x03, 0x28, 0x0c, 0x52,
0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6f,
0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65,
0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x37, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
0x66, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74,
0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x34, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x34, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
0x6e, 0x75, 0x6d, 0x52, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73,
0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x36, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65,
0x18, 0x35, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x08, 0x02, 0x52, 0x13, 0x72, 0x65, 0x70, 0x65,
0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x65, 0x63, 0x65, 0x12,
0x27, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x72, 0x64,
0x18, 0x36, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x65,
0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x72, 0x64, 0x12, 0x6b, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65,
0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x7a, 0x79, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x18, 0x37, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x52, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x7a, 0x79, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
0x64, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x78, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
0x79, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x79, 0x12, 0x46,
0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x79, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x75,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x7a, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x11,
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x12, 0x40, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74,
0x72, 0x75, 0x63, 0x74, 0x18, 0x7b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
0x75, 0x63, 0x74, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72,
0x75, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x7c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x12, 0x51, 0x0a, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x7d, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
0x14, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18,
0x7e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x14, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65,
0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x18, 0x7f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62,
0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x52,
0x0a, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74,
0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x80, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x72, 0x65,
0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x12, 0x55, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x81, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x17, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x18, 0x82, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61,
0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x12, 0x55, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x83, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x18, 0x84, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x6f,
0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x16, 0x72, 0x65, 0x70, 0x65,
0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x18, 0x85, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65,
0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x13,
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x86, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4b, 0x0a, 0x13, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x87, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x52, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x75, 0x6c,
0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x74, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
0x3e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54,
0x79, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5e, 0x0a, 0x0d,
0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x3f, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x0b, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x64, 0x0a, 0x0f,
0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18,
0x40, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x12, 0x61, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62,
0x79, 0x74, 0x65, 0x73, 0x18, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x79, 0x74,
0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c,
0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f,
0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x42,
0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x61, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f,
0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x43, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42,
0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x64, 0x0a, 0x0f, 0x6d,
0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x44,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x75, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x18, 0x45, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x61, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x62,
0x6f, 0x6f, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x46, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f,
0x6f, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61,
0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61,
0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x47, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x12, 0x5e, 0x0a, 0x0d, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x65, 0x6e, 0x75,
0x6d, 0x18, 0x48, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0b, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x75, 0x6d,
0x12, 0x67, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x6d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x18, 0x49, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x42, 0x6f,
0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70,
0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe4,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x44, 0x75,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6e, 0x0a, 0x12, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f,
0x6f, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xe5, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x6f, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f,
0x6f, 0x6c, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xe6, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x4e, 0x75,
0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x5c, 0x0a, 0x0c, 0x6d, 0x61, 0x70, 0x5f, 0x62,
0x6f, 0x6f, 0x6c, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0xf6, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
0x6c, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x42, 0x6f,
0x6f, 0x6c, 0x41, 0x6e, 0x79, 0x12, 0x65, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f,
0x6c, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0xf7, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f,
0x6f, 0x6c, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x62, 0x0a, 0x0e,
0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xf8,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x12, 0x6f, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x6c, 0x69, 0x73,
0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xf9, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
0x6c, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x10, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x12, 0x78, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xfa, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x42, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49,
0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x78, 0x0a, 0x16, 0x6d,
0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xfb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x13, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f,
0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x18, 0xfc, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61,
0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x12, 0x78, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x66,
0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xfd, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c,
0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17,
0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f,
0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xfe, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70,
0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x18, 0xff, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x14, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f,
0x6f, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x18, 0x80, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f,
0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x81, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42,
0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x78, 0x0a, 0x16, 0x6d, 0x61,
0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x18, 0x82, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x79,
0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x13, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x12, 0x61, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x4a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x67, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x4b, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0e, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x62, 0x79,
0x74, 0x65, 0x73, 0x18, 0x4c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79, 0x74,
0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x4d, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x64, 0x0a, 0x0f,
0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18,
0x4e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x12, 0x67, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f,
0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x4f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x67, 0x0a, 0x10, 0x6d,
0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18,
0x50, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x51, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x67, 0x0a, 0x10, 0x6d, 0x61,
0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x52,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75,
0x62, 0x6c, 0x65, 0x12, 0x61, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x53, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45,
0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x6a, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x54, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x12, 0x6e, 0x0a, 0x12, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f,
0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x10, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f,
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xe8, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x40, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x72, 0x0a, 0x14, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xe9, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x5f, 0x0a, 0x0d, 0x6d, 0x61, 0x70,
0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x83, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x6d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x41, 0x6e, 0x79, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61,
0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x84,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74,
0x72, 0x75, 0x63, 0x74, 0x12, 0x65, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x85, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x72, 0x0a, 0x14, 0x6d,
0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x86, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69,
0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x87, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17,
0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f,
0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x88, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70,
0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x89, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62,
0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70,
0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x77, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x18, 0x8a, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46,
0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x14, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x18, 0x8b, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x15, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x18, 0x8c, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x15, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x18, 0x8d, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x15, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x78, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x18, 0x8e, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x62, 0x79,
0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x8f, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x61, 0x0a,
0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18,
0x55, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c,
0x12, 0x67, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x73, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x18, 0x56, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70,
0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x57, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12,
0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x18, 0x58, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x59, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x67, 0x0a, 0x10, 0x6d,
0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18,
0x5a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x12, 0x67, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x5b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x64, 0x0a,
0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74,
0x18, 0x5c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c,
0x6f, 0x61, 0x74, 0x12, 0x67, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x5d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x61, 0x0a, 0x0e,
0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x5e,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x75, 0x6d, 0x12,
0x6a, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x18, 0x5f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x36, 0x34, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x6e, 0x0a, 0x12, 0x6d,
0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0xea, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x75, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x36, 0x34, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x13, 0x6d,
0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x18, 0xeb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x54, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x72,
0x0a, 0x14, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6e, 0x75, 0x6c, 0x6c,
0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xec, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x11, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x12, 0x5f, 0x0a, 0x0d, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f,
0x61, 0x6e, 0x79, 0x18, 0x90, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x41, 0x6e,
0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34,
0x41, 0x6e, 0x79, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x91, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x65, 0x0a,
0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x92, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x12, 0x72, 0x0a, 0x14, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x93, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c,
0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x18, 0x94, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e,
0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x14, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x18, 0x95, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f,
0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x96,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f,
0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x97, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12,
0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x98, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12,
0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x99, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12,
0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x73, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x9a, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12,
0x78, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x62, 0x6f, 0x6f,
0x6c, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x9b, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x42, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f,
0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70,
0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x18, 0x9c, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42,
0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x14, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x60, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x6a, 0x0a, 0x11,
0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x18, 0x61, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x67, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f,
0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x62, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79, 0x74, 0x65,
0x73, 0x12, 0x67, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x63, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61,
0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0xc8,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x49,
0x6e, 0x74, 0x36, 0x34, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0xc9, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f,
0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0xca, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x68,
0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f,
0x61, 0x74, 0x18, 0xcb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c,
0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f,
0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0xcc, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x44,
0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x65, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0xcd, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x6e, 0x0a, 0x12,
0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x18, 0xce, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x71, 0x0a, 0x13,
0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0xed, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x44,
0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x74, 0x0a, 0x14, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x74, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xef,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x62, 0x0a, 0x0e,
0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x9d,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x41, 0x6e, 0x79,
0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73,
0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x9e, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x68, 0x0a,
0x10, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x9f, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0xa0, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, 0x74,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x7e,
0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xa1, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e,
0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xa2, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81,
0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x64, 0x6f,
0x75, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xa3, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xa4,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x18, 0xa5, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16,
0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x18, 0xa6, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d,
0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xa7, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b,
0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x62, 0x6f, 0x6f,
0x6c, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xa8, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d,
0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f,
0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xa9, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42,
0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x65, 0x0a, 0x0f, 0x6d,
0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0xcf,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f,
0x6f, 0x6c, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0xd0, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f,
0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12,
0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x62, 0x79,
0x74, 0x65, 0x73, 0x18, 0xd1, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42,
0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70,
0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0xd2, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0xd3, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x6b, 0x0a,
0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x18, 0xd4, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61,
0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18,
0xd5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0xd6, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61,
0x74, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f,
0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0xd7, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x65,
0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x6e, 0x75,
0x6d, 0x18, 0xd8, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x75,
0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x6e, 0x0a, 0x12, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xd9, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x71, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xf0, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x74, 0x0a, 0x14, 0x6d, 0x61, 0x70, 0x5f,
0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x18, 0xf1, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x75,
0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6e, 0x75, 0x6c,
0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xf2, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x75, 0x6c, 0x6c,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x62, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0xaa, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x41, 0x6e, 0x79, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70,
0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0xab,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xac, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0e, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6c,
0x69, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xad, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x69,
0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x18, 0xae, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49,
0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x15, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x18, 0xaf, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x15, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f,
0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xb0, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x6f,
0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d,
0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f,
0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xb1, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46,
0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19,
0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xb2, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12,
0x81, 0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xb3, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x18, 0xb4, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x16, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x18, 0xb5, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f,
0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14,
0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x18, 0xb6, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x79, 0x74, 0x65,
0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x12, 0x65, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0xda, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61,
0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x6a, 0x0a, 0x11, 0x6d,
0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x18, 0x3d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x73,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xdb, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65,
0x73, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0xdc, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x68, 0x0a, 0x10, 0x6d,
0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18,
0xdd, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x36, 0x34,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0xde, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0xdf, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f,
0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x6c,
0x6f, 0x61, 0x74, 0x18, 0xe0, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46,
0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70,
0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0xe1,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x65, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0xe2, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d,
0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x6e, 0x0a,
0x12, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x18, 0xe3, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x61, 0x70,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x71, 0x0a,
0x13, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x75, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0xf3, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d,
0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x74, 0x0a, 0x14, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x74,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xf4, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0xf5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x75, 0x6c, 0x6c, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x62, 0x0a,
0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6e, 0x79, 0x18,
0xb7, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x79, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6e,
0x79, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f,
0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0xb8, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d,
0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x68,
0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0xb9, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f,
0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0xba, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73,
0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61, 0x70,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xbb, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12,
0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xbc, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12,
0x81, 0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64,
0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xbd, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18,
0xbe, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x6f, 0x61, 0x74,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61,
0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x18, 0xbf, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x16, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f,
0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xc0, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19,
0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xc1, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12,
0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f,
0x6f, 0x6c, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xc2, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18,
0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73,
0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xc3, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0a,
0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x90, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x48, 0x01, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12,
0x57, 0x0a, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x91, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e,
0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x01, 0x52, 0x08,
0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4d, 0x73, 0x67, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f,
0x66, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x92, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52,
0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x58, 0x0a, 0x0b, 0x6e, 0x65,
0x73, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x93, 0x03, 0x20, 0x01, 0x28, 0x0a,
0x32, 0x35, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74,
0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x1a, 0x1f, 0x0a, 0x0d, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x62, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x02, 0x62, 0x62, 0x1a, 0x76, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a,
0x10, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a,
0x12, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x3f, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x3f, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x42, 0x6f,
0x6f, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x74, 0x0a, 0x10, 0x4d, 0x61, 0x70,
0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x7a, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5d, 0x0a, 0x14, 0x4d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5f, 0x0a, 0x15, 0x4d, 0x61,
0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5f, 0x0a, 0x15, 0x4d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x53, 0x0a, 0x0f,
0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x59, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72, 0x75,
0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63,
0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x57, 0x0a, 0x11,
0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5f, 0x0a, 0x15, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c,
0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x18, 0x4d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x65, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c,
0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x42, 0x6f,
0x6f, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x19,
0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e,
0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x19, 0x4d, 0x61,
0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42,
0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x4d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a,
0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x55,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x75,
0x0a, 0x11, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7b, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x5e, 0x0a, 0x15, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x75,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x60, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x54, 0x0a, 0x10, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5a, 0x0a, 0x13,
0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x58, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x60, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69,
0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x19, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x66, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62,
0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66,
0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66,
0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x62, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x19, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x3f, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34,
0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a,
0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61,
0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x6f,
0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x75, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75,
0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7b, 0x0a, 0x14,
0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5e, 0x0a, 0x15, 0x4d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, 0x0a, 0x16, 0x4d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, 0x0a, 0x16, 0x4d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x54, 0x0a,
0x10, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x5a, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x53,
0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x58, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, 0x0a, 0x16, 0x4d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x19, 0x4d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x64, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x36, 0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x64, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61, 0x74,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a,
0x1a, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x62, 0x0a,
0x18, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f,
0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x64, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x79, 0x74,
0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a,
0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41,
0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f,
0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x76, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e,
0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7c, 0x0a,
0x15, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5f, 0x0a, 0x16, 0x4d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x61, 0x0a, 0x17,
0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4e, 0x75, 0x6c, 0x6c,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75,
0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x55, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x41,
0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5b, 0x0a, 0x14, 0x4d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x59, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69,
0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a, 0x4d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x44,
0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a, 0x4d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f,
0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a,
0x19, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f,
0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42,
0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x79, 0x74, 0x65,
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14,
0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f,
0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x76, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x7c, 0x0a, 0x15, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5f, 0x0a,
0x16, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x61,
0x0a, 0x17, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x75,
0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x55, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5b, 0x0a, 0x14, 0x4d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x59, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a,
0x1a, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a,
0x1a, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a,
0x1b, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x63, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d,
0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a,
0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79,
0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61,
0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42,
0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46,
0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x76, 0x0a, 0x12, 0x4d, 0x61, 0x70,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x34, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74,
0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x7c, 0x0a, 0x15, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x5f, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x55, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41,
0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5b, 0x0a,
0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x59, 0x0a, 0x13, 0x4d, 0x61,
0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x53,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x6f, 0x61,
0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x53,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x63, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x6f,
0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4d, 0x0a,
0x0b, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1c, 0x0a, 0x09,
0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x94, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x69,
0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x95, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0a, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x27, 0x0a, 0x0a,
0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x4f,
0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x52, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03,
0x42, 0x41, 0x5a, 0x10, 0x02, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02,
0x42, 0x0d, 0x0a, 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42,
0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xa0, 0x01, 0x0a, 0x12, 0x4e, 0x65, 0x73, 0x74,
0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x45,
0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74,
0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x05,
0x63, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x43, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x35, 0x0a, 0x0c, 0x54, 0x65,
0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65,
0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x02,
0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x2a, 0x27, 0x0a, 0x0a, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x12,
0x07, 0x0a, 0x03, 0x47, 0x4f, 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x41, 0x52, 0x10,
0x01, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x41, 0x5a, 0x10, 0x02, 0x42, 0x5a, 0x0a, 0x1f, 0x64, 0x65,
0x76, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x42, 0x11, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x50, 0x01, 0x5a, 0x1f, 0x63, 0x65, 0x6c, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72,
0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0xf8, 0x01, 0x01,
}
var (
file_cel_expr_conformance_proto2_test_all_types_proto_rawDescOnce sync.Once
file_cel_expr_conformance_proto2_test_all_types_proto_rawDescData = file_cel_expr_conformance_proto2_test_all_types_proto_rawDesc
)
func file_cel_expr_conformance_proto2_test_all_types_proto_rawDescGZIP() []byte {
file_cel_expr_conformance_proto2_test_all_types_proto_rawDescOnce.Do(func() {
file_cel_expr_conformance_proto2_test_all_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_cel_expr_conformance_proto2_test_all_types_proto_rawDescData)
})
return file_cel_expr_conformance_proto2_test_all_types_proto_rawDescData
}
var file_cel_expr_conformance_proto2_test_all_types_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_cel_expr_conformance_proto2_test_all_types_proto_msgTypes = make([]protoimpl.MessageInfo, 168)
var file_cel_expr_conformance_proto2_test_all_types_proto_goTypes = []any{
(GlobalEnum)(0), // 0: cel.expr.conformance.proto2.GlobalEnum
(TestAllTypes_NestedEnum)(0), // 1: cel.expr.conformance.proto2.TestAllTypes.NestedEnum
(*TestAllTypes)(nil), // 2: cel.expr.conformance.proto2.TestAllTypes
(*NestedTestAllTypes)(nil), // 3: cel.expr.conformance.proto2.NestedTestAllTypes
(*TestRequired)(nil), // 4: cel.expr.conformance.proto2.TestRequired
(*TestAllTypes_NestedMessage)(nil), // 5: cel.expr.conformance.proto2.TestAllTypes.NestedMessage
nil, // 6: cel.expr.conformance.proto2.TestAllTypes.MapInt64NestedTypeEntry
nil, // 7: cel.expr.conformance.proto2.TestAllTypes.MapBoolBoolEntry
nil, // 8: cel.expr.conformance.proto2.TestAllTypes.MapBoolStringEntry
nil, // 9: cel.expr.conformance.proto2.TestAllTypes.MapBoolBytesEntry
nil, // 10: cel.expr.conformance.proto2.TestAllTypes.MapBoolInt32Entry
nil, // 11: cel.expr.conformance.proto2.TestAllTypes.MapBoolInt64Entry
nil, // 12: cel.expr.conformance.proto2.TestAllTypes.MapBoolUint32Entry
nil, // 13: cel.expr.conformance.proto2.TestAllTypes.MapBoolUint64Entry
nil, // 14: cel.expr.conformance.proto2.TestAllTypes.MapBoolFloatEntry
nil, // 15: cel.expr.conformance.proto2.TestAllTypes.MapBoolDoubleEntry
nil, // 16: cel.expr.conformance.proto2.TestAllTypes.MapBoolEnumEntry
nil, // 17: cel.expr.conformance.proto2.TestAllTypes.MapBoolMessageEntry
nil, // 18: cel.expr.conformance.proto2.TestAllTypes.MapBoolDurationEntry
nil, // 19: cel.expr.conformance.proto2.TestAllTypes.MapBoolTimestampEntry
nil, // 20: cel.expr.conformance.proto2.TestAllTypes.MapBoolNullValueEntry
nil, // 21: cel.expr.conformance.proto2.TestAllTypes.MapBoolAnyEntry
nil, // 22: cel.expr.conformance.proto2.TestAllTypes.MapBoolStructEntry
nil, // 23: cel.expr.conformance.proto2.TestAllTypes.MapBoolValueEntry
nil, // 24: cel.expr.conformance.proto2.TestAllTypes.MapBoolListValueEntry
nil, // 25: cel.expr.conformance.proto2.TestAllTypes.MapBoolInt64WrapperEntry
nil, // 26: cel.expr.conformance.proto2.TestAllTypes.MapBoolInt32WrapperEntry
nil, // 27: cel.expr.conformance.proto2.TestAllTypes.MapBoolDoubleWrapperEntry
nil, // 28: cel.expr.conformance.proto2.TestAllTypes.MapBoolFloatWrapperEntry
nil, // 29: cel.expr.conformance.proto2.TestAllTypes.MapBoolUint64WrapperEntry
nil, // 30: cel.expr.conformance.proto2.TestAllTypes.MapBoolUint32WrapperEntry
nil, // 31: cel.expr.conformance.proto2.TestAllTypes.MapBoolStringWrapperEntry
nil, // 32: cel.expr.conformance.proto2.TestAllTypes.MapBoolBoolWrapperEntry
nil, // 33: cel.expr.conformance.proto2.TestAllTypes.MapBoolBytesWrapperEntry
nil, // 34: cel.expr.conformance.proto2.TestAllTypes.MapInt32BoolEntry
nil, // 35: cel.expr.conformance.proto2.TestAllTypes.MapInt32StringEntry
nil, // 36: cel.expr.conformance.proto2.TestAllTypes.MapInt32BytesEntry
nil, // 37: cel.expr.conformance.proto2.TestAllTypes.MapInt32Int32Entry
nil, // 38: cel.expr.conformance.proto2.TestAllTypes.MapInt32Int64Entry
nil, // 39: cel.expr.conformance.proto2.TestAllTypes.MapInt32Uint32Entry
nil, // 40: cel.expr.conformance.proto2.TestAllTypes.MapInt32Uint64Entry
nil, // 41: cel.expr.conformance.proto2.TestAllTypes.MapInt32FloatEntry
nil, // 42: cel.expr.conformance.proto2.TestAllTypes.MapInt32DoubleEntry
nil, // 43: cel.expr.conformance.proto2.TestAllTypes.MapInt32EnumEntry
nil, // 44: cel.expr.conformance.proto2.TestAllTypes.MapInt32MessageEntry
nil, // 45: cel.expr.conformance.proto2.TestAllTypes.MapInt32DurationEntry
nil, // 46: cel.expr.conformance.proto2.TestAllTypes.MapInt32TimestampEntry
nil, // 47: cel.expr.conformance.proto2.TestAllTypes.MapInt32NullValueEntry
nil, // 48: cel.expr.conformance.proto2.TestAllTypes.MapInt32AnyEntry
nil, // 49: cel.expr.conformance.proto2.TestAllTypes.MapInt32StructEntry
nil, // 50: cel.expr.conformance.proto2.TestAllTypes.MapInt32ValueEntry
nil, // 51: cel.expr.conformance.proto2.TestAllTypes.MapInt32ListValueEntry
nil, // 52: cel.expr.conformance.proto2.TestAllTypes.MapInt32Int64WrapperEntry
nil, // 53: cel.expr.conformance.proto2.TestAllTypes.MapInt32Int32WrapperEntry
nil, // 54: cel.expr.conformance.proto2.TestAllTypes.MapInt32DoubleWrapperEntry
nil, // 55: cel.expr.conformance.proto2.TestAllTypes.MapInt32FloatWrapperEntry
nil, // 56: cel.expr.conformance.proto2.TestAllTypes.MapInt32Uint64WrapperEntry
nil, // 57: cel.expr.conformance.proto2.TestAllTypes.MapInt32Uint32WrapperEntry
nil, // 58: cel.expr.conformance.proto2.TestAllTypes.MapInt32StringWrapperEntry
nil, // 59: cel.expr.conformance.proto2.TestAllTypes.MapInt32BoolWrapperEntry
nil, // 60: cel.expr.conformance.proto2.TestAllTypes.MapInt32BytesWrapperEntry
nil, // 61: cel.expr.conformance.proto2.TestAllTypes.MapInt64BoolEntry
nil, // 62: cel.expr.conformance.proto2.TestAllTypes.MapInt64StringEntry
nil, // 63: cel.expr.conformance.proto2.TestAllTypes.MapInt64BytesEntry
nil, // 64: cel.expr.conformance.proto2.TestAllTypes.MapInt64Int32Entry
nil, // 65: cel.expr.conformance.proto2.TestAllTypes.MapInt64Int64Entry
nil, // 66: cel.expr.conformance.proto2.TestAllTypes.MapInt64Uint32Entry
nil, // 67: cel.expr.conformance.proto2.TestAllTypes.MapInt64Uint64Entry
nil, // 68: cel.expr.conformance.proto2.TestAllTypes.MapInt64FloatEntry
nil, // 69: cel.expr.conformance.proto2.TestAllTypes.MapInt64DoubleEntry
nil, // 70: cel.expr.conformance.proto2.TestAllTypes.MapInt64EnumEntry
nil, // 71: cel.expr.conformance.proto2.TestAllTypes.MapInt64MessageEntry
nil, // 72: cel.expr.conformance.proto2.TestAllTypes.MapInt64DurationEntry
nil, // 73: cel.expr.conformance.proto2.TestAllTypes.MapInt64TimestampEntry
nil, // 74: cel.expr.conformance.proto2.TestAllTypes.MapInt64NullValueEntry
nil, // 75: cel.expr.conformance.proto2.TestAllTypes.MapInt64AnyEntry
nil, // 76: cel.expr.conformance.proto2.TestAllTypes.MapInt64StructEntry
nil, // 77: cel.expr.conformance.proto2.TestAllTypes.MapInt64ValueEntry
nil, // 78: cel.expr.conformance.proto2.TestAllTypes.MapInt64ListValueEntry
nil, // 79: cel.expr.conformance.proto2.TestAllTypes.MapInt64Int64WrapperEntry
nil, // 80: cel.expr.conformance.proto2.TestAllTypes.MapInt64Int32WrapperEntry
nil, // 81: cel.expr.conformance.proto2.TestAllTypes.MapInt64DoubleWrapperEntry
nil, // 82: cel.expr.conformance.proto2.TestAllTypes.MapInt64FloatWrapperEntry
nil, // 83: cel.expr.conformance.proto2.TestAllTypes.MapInt64Uint64WrapperEntry
nil, // 84: cel.expr.conformance.proto2.TestAllTypes.MapInt64Uint32WrapperEntry
nil, // 85: cel.expr.conformance.proto2.TestAllTypes.MapInt64StringWrapperEntry
nil, // 86: cel.expr.conformance.proto2.TestAllTypes.MapInt64BoolWrapperEntry
nil, // 87: cel.expr.conformance.proto2.TestAllTypes.MapInt64BytesWrapperEntry
nil, // 88: cel.expr.conformance.proto2.TestAllTypes.MapUint32BoolEntry
nil, // 89: cel.expr.conformance.proto2.TestAllTypes.MapUint32StringEntry
nil, // 90: cel.expr.conformance.proto2.TestAllTypes.MapUint32BytesEntry
nil, // 91: cel.expr.conformance.proto2.TestAllTypes.MapUint32Int32Entry
nil, // 92: cel.expr.conformance.proto2.TestAllTypes.MapUint32Int64Entry
nil, // 93: cel.expr.conformance.proto2.TestAllTypes.MapUint32Uint32Entry
nil, // 94: cel.expr.conformance.proto2.TestAllTypes.MapUint32Uint64Entry
nil, // 95: cel.expr.conformance.proto2.TestAllTypes.MapUint32FloatEntry
nil, // 96: cel.expr.conformance.proto2.TestAllTypes.MapUint32DoubleEntry
nil, // 97: cel.expr.conformance.proto2.TestAllTypes.MapUint32EnumEntry
nil, // 98: cel.expr.conformance.proto2.TestAllTypes.MapUint32MessageEntry
nil, // 99: cel.expr.conformance.proto2.TestAllTypes.MapUint32DurationEntry
nil, // 100: cel.expr.conformance.proto2.TestAllTypes.MapUint32TimestampEntry
nil, // 101: cel.expr.conformance.proto2.TestAllTypes.MapUint32NullValueEntry
nil, // 102: cel.expr.conformance.proto2.TestAllTypes.MapUint32AnyEntry
nil, // 103: cel.expr.conformance.proto2.TestAllTypes.MapUint32StructEntry
nil, // 104: cel.expr.conformance.proto2.TestAllTypes.MapUint32ValueEntry
nil, // 105: cel.expr.conformance.proto2.TestAllTypes.MapUint32ListValueEntry
nil, // 106: cel.expr.conformance.proto2.TestAllTypes.MapUint32Int64WrapperEntry
nil, // 107: cel.expr.conformance.proto2.TestAllTypes.MapUint32Int32WrapperEntry
nil, // 108: cel.expr.conformance.proto2.TestAllTypes.MapUint32DoubleWrapperEntry
nil, // 109: cel.expr.conformance.proto2.TestAllTypes.MapUint32FloatWrapperEntry
nil, // 110: cel.expr.conformance.proto2.TestAllTypes.MapUint32Uint64WrapperEntry
nil, // 111: cel.expr.conformance.proto2.TestAllTypes.MapUint32Uint32WrapperEntry
nil, // 112: cel.expr.conformance.proto2.TestAllTypes.MapUint32StringWrapperEntry
nil, // 113: cel.expr.conformance.proto2.TestAllTypes.MapUint32BoolWrapperEntry
nil, // 114: cel.expr.conformance.proto2.TestAllTypes.MapUint32BytesWrapperEntry
nil, // 115: cel.expr.conformance.proto2.TestAllTypes.MapUint64BoolEntry
nil, // 116: cel.expr.conformance.proto2.TestAllTypes.MapUint64StringEntry
nil, // 117: cel.expr.conformance.proto2.TestAllTypes.MapUint64BytesEntry
nil, // 118: cel.expr.conformance.proto2.TestAllTypes.MapUint64Int32Entry
nil, // 119: cel.expr.conformance.proto2.TestAllTypes.MapUint64Int64Entry
nil, // 120: cel.expr.conformance.proto2.TestAllTypes.MapUint64Uint32Entry
nil, // 121: cel.expr.conformance.proto2.TestAllTypes.MapUint64Uint64Entry
nil, // 122: cel.expr.conformance.proto2.TestAllTypes.MapUint64FloatEntry
nil, // 123: cel.expr.conformance.proto2.TestAllTypes.MapUint64DoubleEntry
nil, // 124: cel.expr.conformance.proto2.TestAllTypes.MapUint64EnumEntry
nil, // 125: cel.expr.conformance.proto2.TestAllTypes.MapUint64MessageEntry
nil, // 126: cel.expr.conformance.proto2.TestAllTypes.MapUint64DurationEntry
nil, // 127: cel.expr.conformance.proto2.TestAllTypes.MapUint64TimestampEntry
nil, // 128: cel.expr.conformance.proto2.TestAllTypes.MapUint64NullValueEntry
nil, // 129: cel.expr.conformance.proto2.TestAllTypes.MapUint64AnyEntry
nil, // 130: cel.expr.conformance.proto2.TestAllTypes.MapUint64StructEntry
nil, // 131: cel.expr.conformance.proto2.TestAllTypes.MapUint64ValueEntry
nil, // 132: cel.expr.conformance.proto2.TestAllTypes.MapUint64ListValueEntry
nil, // 133: cel.expr.conformance.proto2.TestAllTypes.MapUint64Int64WrapperEntry
nil, // 134: cel.expr.conformance.proto2.TestAllTypes.MapUint64Int32WrapperEntry
nil, // 135: cel.expr.conformance.proto2.TestAllTypes.MapUint64DoubleWrapperEntry
nil, // 136: cel.expr.conformance.proto2.TestAllTypes.MapUint64FloatWrapperEntry
nil, // 137: cel.expr.conformance.proto2.TestAllTypes.MapUint64Uint64WrapperEntry
nil, // 138: cel.expr.conformance.proto2.TestAllTypes.MapUint64Uint32WrapperEntry
nil, // 139: cel.expr.conformance.proto2.TestAllTypes.MapUint64StringWrapperEntry
nil, // 140: cel.expr.conformance.proto2.TestAllTypes.MapUint64BoolWrapperEntry
nil, // 141: cel.expr.conformance.proto2.TestAllTypes.MapUint64BytesWrapperEntry
nil, // 142: cel.expr.conformance.proto2.TestAllTypes.MapStringBoolEntry
nil, // 143: cel.expr.conformance.proto2.TestAllTypes.MapStringStringEntry
nil, // 144: cel.expr.conformance.proto2.TestAllTypes.MapStringBytesEntry
nil, // 145: cel.expr.conformance.proto2.TestAllTypes.MapStringInt32Entry
nil, // 146: cel.expr.conformance.proto2.TestAllTypes.MapStringInt64Entry
nil, // 147: cel.expr.conformance.proto2.TestAllTypes.MapStringUint32Entry
nil, // 148: cel.expr.conformance.proto2.TestAllTypes.MapStringUint64Entry
nil, // 149: cel.expr.conformance.proto2.TestAllTypes.MapStringFloatEntry
nil, // 150: cel.expr.conformance.proto2.TestAllTypes.MapStringDoubleEntry
nil, // 151: cel.expr.conformance.proto2.TestAllTypes.MapStringEnumEntry
nil, // 152: cel.expr.conformance.proto2.TestAllTypes.MapStringMessageEntry
nil, // 153: cel.expr.conformance.proto2.TestAllTypes.MapStringDurationEntry
nil, // 154: cel.expr.conformance.proto2.TestAllTypes.MapStringTimestampEntry
nil, // 155: cel.expr.conformance.proto2.TestAllTypes.MapStringNullValueEntry
nil, // 156: cel.expr.conformance.proto2.TestAllTypes.MapStringAnyEntry
nil, // 157: cel.expr.conformance.proto2.TestAllTypes.MapStringStructEntry
nil, // 158: cel.expr.conformance.proto2.TestAllTypes.MapStringValueEntry
nil, // 159: cel.expr.conformance.proto2.TestAllTypes.MapStringListValueEntry
nil, // 160: cel.expr.conformance.proto2.TestAllTypes.MapStringInt64WrapperEntry
nil, // 161: cel.expr.conformance.proto2.TestAllTypes.MapStringInt32WrapperEntry
nil, // 162: cel.expr.conformance.proto2.TestAllTypes.MapStringDoubleWrapperEntry
nil, // 163: cel.expr.conformance.proto2.TestAllTypes.MapStringFloatWrapperEntry
nil, // 164: cel.expr.conformance.proto2.TestAllTypes.MapStringUint64WrapperEntry
nil, // 165: cel.expr.conformance.proto2.TestAllTypes.MapStringUint32WrapperEntry
nil, // 166: cel.expr.conformance.proto2.TestAllTypes.MapStringStringWrapperEntry
nil, // 167: cel.expr.conformance.proto2.TestAllTypes.MapStringBoolWrapperEntry
nil, // 168: cel.expr.conformance.proto2.TestAllTypes.MapStringBytesWrapperEntry
(*TestAllTypes_NestedGroup)(nil), // 169: cel.expr.conformance.proto2.TestAllTypes.NestedGroup
(*anypb.Any)(nil), // 170: google.protobuf.Any
(*durationpb.Duration)(nil), // 171: google.protobuf.Duration
(*timestamppb.Timestamp)(nil), // 172: google.protobuf.Timestamp
(*structpb.Struct)(nil), // 173: google.protobuf.Struct
(*structpb.Value)(nil), // 174: google.protobuf.Value
(*wrapperspb.Int64Value)(nil), // 175: google.protobuf.Int64Value
(*wrapperspb.Int32Value)(nil), // 176: google.protobuf.Int32Value
(*wrapperspb.DoubleValue)(nil), // 177: google.protobuf.DoubleValue
(*wrapperspb.FloatValue)(nil), // 178: google.protobuf.FloatValue
(*wrapperspb.UInt64Value)(nil), // 179: google.protobuf.UInt64Value
(*wrapperspb.UInt32Value)(nil), // 180: google.protobuf.UInt32Value
(*wrapperspb.StringValue)(nil), // 181: google.protobuf.StringValue
(*wrapperspb.BoolValue)(nil), // 182: google.protobuf.BoolValue
(*wrapperspb.BytesValue)(nil), // 183: google.protobuf.BytesValue
(*structpb.ListValue)(nil), // 184: google.protobuf.ListValue
(structpb.NullValue)(0), // 185: google.protobuf.NullValue
(*fieldmaskpb.FieldMask)(nil), // 186: google.protobuf.FieldMask
(*emptypb.Empty)(nil), // 187: google.protobuf.Empty
}
var file_cel_expr_conformance_proto2_test_all_types_proto_depIdxs = []int32{
170, // 0: cel.expr.conformance.proto2.TestAllTypes.single_any:type_name -> google.protobuf.Any
171, // 1: cel.expr.conformance.proto2.TestAllTypes.single_duration:type_name -> google.protobuf.Duration
172, // 2: cel.expr.conformance.proto2.TestAllTypes.single_timestamp:type_name -> google.protobuf.Timestamp
173, // 3: cel.expr.conformance.proto2.TestAllTypes.single_struct:type_name -> google.protobuf.Struct
174, // 4: cel.expr.conformance.proto2.TestAllTypes.single_value:type_name -> google.protobuf.Value
175, // 5: cel.expr.conformance.proto2.TestAllTypes.single_int64_wrapper:type_name -> google.protobuf.Int64Value
176, // 6: cel.expr.conformance.proto2.TestAllTypes.single_int32_wrapper:type_name -> google.protobuf.Int32Value
177, // 7: cel.expr.conformance.proto2.TestAllTypes.single_double_wrapper:type_name -> google.protobuf.DoubleValue
178, // 8: cel.expr.conformance.proto2.TestAllTypes.single_float_wrapper:type_name -> google.protobuf.FloatValue
179, // 9: cel.expr.conformance.proto2.TestAllTypes.single_uint64_wrapper:type_name -> google.protobuf.UInt64Value
180, // 10: cel.expr.conformance.proto2.TestAllTypes.single_uint32_wrapper:type_name -> google.protobuf.UInt32Value
181, // 11: cel.expr.conformance.proto2.TestAllTypes.single_string_wrapper:type_name -> google.protobuf.StringValue
182, // 12: cel.expr.conformance.proto2.TestAllTypes.single_bool_wrapper:type_name -> google.protobuf.BoolValue
183, // 13: cel.expr.conformance.proto2.TestAllTypes.single_bytes_wrapper:type_name -> google.protobuf.BytesValue
184, // 14: cel.expr.conformance.proto2.TestAllTypes.list_value:type_name -> google.protobuf.ListValue
185, // 15: cel.expr.conformance.proto2.TestAllTypes.null_value:type_name -> google.protobuf.NullValue
185, // 16: cel.expr.conformance.proto2.TestAllTypes.optional_null_value:type_name -> google.protobuf.NullValue
186, // 17: cel.expr.conformance.proto2.TestAllTypes.field_mask:type_name -> google.protobuf.FieldMask
187, // 18: cel.expr.conformance.proto2.TestAllTypes.empty:type_name -> google.protobuf.Empty
5, // 19: cel.expr.conformance.proto2.TestAllTypes.single_nested_message:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedMessage
1, // 20: cel.expr.conformance.proto2.TestAllTypes.single_nested_enum:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedEnum
5, // 21: cel.expr.conformance.proto2.TestAllTypes.standalone_message:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedMessage
1, // 22: cel.expr.conformance.proto2.TestAllTypes.standalone_enum:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedEnum
5, // 23: cel.expr.conformance.proto2.TestAllTypes.repeated_nested_message:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedMessage
1, // 24: cel.expr.conformance.proto2.TestAllTypes.repeated_nested_enum:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedEnum
5, // 25: cel.expr.conformance.proto2.TestAllTypes.repeated_lazy_message:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedMessage
170, // 26: cel.expr.conformance.proto2.TestAllTypes.repeated_any:type_name -> google.protobuf.Any
171, // 27: cel.expr.conformance.proto2.TestAllTypes.repeated_duration:type_name -> google.protobuf.Duration
172, // 28: cel.expr.conformance.proto2.TestAllTypes.repeated_timestamp:type_name -> google.protobuf.Timestamp
173, // 29: cel.expr.conformance.proto2.TestAllTypes.repeated_struct:type_name -> google.protobuf.Struct
174, // 30: cel.expr.conformance.proto2.TestAllTypes.repeated_value:type_name -> google.protobuf.Value
175, // 31: cel.expr.conformance.proto2.TestAllTypes.repeated_int64_wrapper:type_name -> google.protobuf.Int64Value
176, // 32: cel.expr.conformance.proto2.TestAllTypes.repeated_int32_wrapper:type_name -> google.protobuf.Int32Value
177, // 33: cel.expr.conformance.proto2.TestAllTypes.repeated_double_wrapper:type_name -> google.protobuf.DoubleValue
178, // 34: cel.expr.conformance.proto2.TestAllTypes.repeated_float_wrapper:type_name -> google.protobuf.FloatValue
179, // 35: cel.expr.conformance.proto2.TestAllTypes.repeated_uint64_wrapper:type_name -> google.protobuf.UInt64Value
180, // 36: cel.expr.conformance.proto2.TestAllTypes.repeated_uint32_wrapper:type_name -> google.protobuf.UInt32Value
181, // 37: cel.expr.conformance.proto2.TestAllTypes.repeated_string_wrapper:type_name -> google.protobuf.StringValue
182, // 38: cel.expr.conformance.proto2.TestAllTypes.repeated_bool_wrapper:type_name -> google.protobuf.BoolValue
183, // 39: cel.expr.conformance.proto2.TestAllTypes.repeated_bytes_wrapper:type_name -> google.protobuf.BytesValue
184, // 40: cel.expr.conformance.proto2.TestAllTypes.repeated_list_value:type_name -> google.protobuf.ListValue
185, // 41: cel.expr.conformance.proto2.TestAllTypes.repeated_null_value:type_name -> google.protobuf.NullValue
6, // 42: cel.expr.conformance.proto2.TestAllTypes.map_int64_nested_type:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64NestedTypeEntry
7, // 43: cel.expr.conformance.proto2.TestAllTypes.map_bool_bool:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolBoolEntry
8, // 44: cel.expr.conformance.proto2.TestAllTypes.map_bool_string:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolStringEntry
9, // 45: cel.expr.conformance.proto2.TestAllTypes.map_bool_bytes:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolBytesEntry
10, // 46: cel.expr.conformance.proto2.TestAllTypes.map_bool_int32:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolInt32Entry
11, // 47: cel.expr.conformance.proto2.TestAllTypes.map_bool_int64:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolInt64Entry
12, // 48: cel.expr.conformance.proto2.TestAllTypes.map_bool_uint32:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolUint32Entry
13, // 49: cel.expr.conformance.proto2.TestAllTypes.map_bool_uint64:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolUint64Entry
14, // 50: cel.expr.conformance.proto2.TestAllTypes.map_bool_float:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolFloatEntry
15, // 51: cel.expr.conformance.proto2.TestAllTypes.map_bool_double:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolDoubleEntry
16, // 52: cel.expr.conformance.proto2.TestAllTypes.map_bool_enum:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolEnumEntry
17, // 53: cel.expr.conformance.proto2.TestAllTypes.map_bool_message:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolMessageEntry
18, // 54: cel.expr.conformance.proto2.TestAllTypes.map_bool_duration:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolDurationEntry
19, // 55: cel.expr.conformance.proto2.TestAllTypes.map_bool_timestamp:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolTimestampEntry
20, // 56: cel.expr.conformance.proto2.TestAllTypes.map_bool_null_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolNullValueEntry
21, // 57: cel.expr.conformance.proto2.TestAllTypes.map_bool_any:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolAnyEntry
22, // 58: cel.expr.conformance.proto2.TestAllTypes.map_bool_struct:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolStructEntry
23, // 59: cel.expr.conformance.proto2.TestAllTypes.map_bool_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolValueEntry
24, // 60: cel.expr.conformance.proto2.TestAllTypes.map_bool_list_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolListValueEntry
25, // 61: cel.expr.conformance.proto2.TestAllTypes.map_bool_int64_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolInt64WrapperEntry
26, // 62: cel.expr.conformance.proto2.TestAllTypes.map_bool_int32_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolInt32WrapperEntry
27, // 63: cel.expr.conformance.proto2.TestAllTypes.map_bool_double_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolDoubleWrapperEntry
28, // 64: cel.expr.conformance.proto2.TestAllTypes.map_bool_float_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolFloatWrapperEntry
29, // 65: cel.expr.conformance.proto2.TestAllTypes.map_bool_uint64_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolUint64WrapperEntry
30, // 66: cel.expr.conformance.proto2.TestAllTypes.map_bool_uint32_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolUint32WrapperEntry
31, // 67: cel.expr.conformance.proto2.TestAllTypes.map_bool_string_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolStringWrapperEntry
32, // 68: cel.expr.conformance.proto2.TestAllTypes.map_bool_bool_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolBoolWrapperEntry
33, // 69: cel.expr.conformance.proto2.TestAllTypes.map_bool_bytes_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapBoolBytesWrapperEntry
34, // 70: cel.expr.conformance.proto2.TestAllTypes.map_int32_bool:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32BoolEntry
35, // 71: cel.expr.conformance.proto2.TestAllTypes.map_int32_string:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32StringEntry
36, // 72: cel.expr.conformance.proto2.TestAllTypes.map_int32_bytes:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32BytesEntry
37, // 73: cel.expr.conformance.proto2.TestAllTypes.map_int32_int32:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32Int32Entry
38, // 74: cel.expr.conformance.proto2.TestAllTypes.map_int32_int64:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32Int64Entry
39, // 75: cel.expr.conformance.proto2.TestAllTypes.map_int32_uint32:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32Uint32Entry
40, // 76: cel.expr.conformance.proto2.TestAllTypes.map_int32_uint64:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32Uint64Entry
41, // 77: cel.expr.conformance.proto2.TestAllTypes.map_int32_float:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32FloatEntry
42, // 78: cel.expr.conformance.proto2.TestAllTypes.map_int32_double:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32DoubleEntry
43, // 79: cel.expr.conformance.proto2.TestAllTypes.map_int32_enum:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32EnumEntry
44, // 80: cel.expr.conformance.proto2.TestAllTypes.map_int32_message:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32MessageEntry
45, // 81: cel.expr.conformance.proto2.TestAllTypes.map_int32_duration:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32DurationEntry
46, // 82: cel.expr.conformance.proto2.TestAllTypes.map_int32_timestamp:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32TimestampEntry
47, // 83: cel.expr.conformance.proto2.TestAllTypes.map_int32_null_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32NullValueEntry
48, // 84: cel.expr.conformance.proto2.TestAllTypes.map_int32_any:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32AnyEntry
49, // 85: cel.expr.conformance.proto2.TestAllTypes.map_int32_struct:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32StructEntry
50, // 86: cel.expr.conformance.proto2.TestAllTypes.map_int32_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32ValueEntry
51, // 87: cel.expr.conformance.proto2.TestAllTypes.map_int32_list_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32ListValueEntry
52, // 88: cel.expr.conformance.proto2.TestAllTypes.map_int32_int64_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32Int64WrapperEntry
53, // 89: cel.expr.conformance.proto2.TestAllTypes.map_int32_int32_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32Int32WrapperEntry
54, // 90: cel.expr.conformance.proto2.TestAllTypes.map_int32_double_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32DoubleWrapperEntry
55, // 91: cel.expr.conformance.proto2.TestAllTypes.map_int32_float_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32FloatWrapperEntry
56, // 92: cel.expr.conformance.proto2.TestAllTypes.map_int32_uint64_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32Uint64WrapperEntry
57, // 93: cel.expr.conformance.proto2.TestAllTypes.map_int32_uint32_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32Uint32WrapperEntry
58, // 94: cel.expr.conformance.proto2.TestAllTypes.map_int32_string_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32StringWrapperEntry
59, // 95: cel.expr.conformance.proto2.TestAllTypes.map_int32_bool_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32BoolWrapperEntry
60, // 96: cel.expr.conformance.proto2.TestAllTypes.map_int32_bytes_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt32BytesWrapperEntry
61, // 97: cel.expr.conformance.proto2.TestAllTypes.map_int64_bool:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64BoolEntry
62, // 98: cel.expr.conformance.proto2.TestAllTypes.map_int64_string:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64StringEntry
63, // 99: cel.expr.conformance.proto2.TestAllTypes.map_int64_bytes:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64BytesEntry
64, // 100: cel.expr.conformance.proto2.TestAllTypes.map_int64_int32:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64Int32Entry
65, // 101: cel.expr.conformance.proto2.TestAllTypes.map_int64_int64:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64Int64Entry
66, // 102: cel.expr.conformance.proto2.TestAllTypes.map_int64_uint32:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64Uint32Entry
67, // 103: cel.expr.conformance.proto2.TestAllTypes.map_int64_uint64:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64Uint64Entry
68, // 104: cel.expr.conformance.proto2.TestAllTypes.map_int64_float:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64FloatEntry
69, // 105: cel.expr.conformance.proto2.TestAllTypes.map_int64_double:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64DoubleEntry
70, // 106: cel.expr.conformance.proto2.TestAllTypes.map_int64_enum:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64EnumEntry
71, // 107: cel.expr.conformance.proto2.TestAllTypes.map_int64_message:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64MessageEntry
72, // 108: cel.expr.conformance.proto2.TestAllTypes.map_int64_duration:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64DurationEntry
73, // 109: cel.expr.conformance.proto2.TestAllTypes.map_int64_timestamp:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64TimestampEntry
74, // 110: cel.expr.conformance.proto2.TestAllTypes.map_int64_null_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64NullValueEntry
75, // 111: cel.expr.conformance.proto2.TestAllTypes.map_int64_any:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64AnyEntry
76, // 112: cel.expr.conformance.proto2.TestAllTypes.map_int64_struct:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64StructEntry
77, // 113: cel.expr.conformance.proto2.TestAllTypes.map_int64_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64ValueEntry
78, // 114: cel.expr.conformance.proto2.TestAllTypes.map_int64_list_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64ListValueEntry
79, // 115: cel.expr.conformance.proto2.TestAllTypes.map_int64_int64_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64Int64WrapperEntry
80, // 116: cel.expr.conformance.proto2.TestAllTypes.map_int64_int32_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64Int32WrapperEntry
81, // 117: cel.expr.conformance.proto2.TestAllTypes.map_int64_double_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64DoubleWrapperEntry
82, // 118: cel.expr.conformance.proto2.TestAllTypes.map_int64_float_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64FloatWrapperEntry
83, // 119: cel.expr.conformance.proto2.TestAllTypes.map_int64_uint64_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64Uint64WrapperEntry
84, // 120: cel.expr.conformance.proto2.TestAllTypes.map_int64_uint32_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64Uint32WrapperEntry
85, // 121: cel.expr.conformance.proto2.TestAllTypes.map_int64_string_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64StringWrapperEntry
86, // 122: cel.expr.conformance.proto2.TestAllTypes.map_int64_bool_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64BoolWrapperEntry
87, // 123: cel.expr.conformance.proto2.TestAllTypes.map_int64_bytes_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapInt64BytesWrapperEntry
88, // 124: cel.expr.conformance.proto2.TestAllTypes.map_uint32_bool:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32BoolEntry
89, // 125: cel.expr.conformance.proto2.TestAllTypes.map_uint32_string:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32StringEntry
90, // 126: cel.expr.conformance.proto2.TestAllTypes.map_uint32_bytes:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32BytesEntry
91, // 127: cel.expr.conformance.proto2.TestAllTypes.map_uint32_int32:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32Int32Entry
92, // 128: cel.expr.conformance.proto2.TestAllTypes.map_uint32_int64:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32Int64Entry
93, // 129: cel.expr.conformance.proto2.TestAllTypes.map_uint32_uint32:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32Uint32Entry
94, // 130: cel.expr.conformance.proto2.TestAllTypes.map_uint32_uint64:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32Uint64Entry
95, // 131: cel.expr.conformance.proto2.TestAllTypes.map_uint32_float:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32FloatEntry
96, // 132: cel.expr.conformance.proto2.TestAllTypes.map_uint32_double:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32DoubleEntry
97, // 133: cel.expr.conformance.proto2.TestAllTypes.map_uint32_enum:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32EnumEntry
98, // 134: cel.expr.conformance.proto2.TestAllTypes.map_uint32_message:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32MessageEntry
99, // 135: cel.expr.conformance.proto2.TestAllTypes.map_uint32_duration:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32DurationEntry
100, // 136: cel.expr.conformance.proto2.TestAllTypes.map_uint32_timestamp:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32TimestampEntry
101, // 137: cel.expr.conformance.proto2.TestAllTypes.map_uint32_null_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32NullValueEntry
102, // 138: cel.expr.conformance.proto2.TestAllTypes.map_uint32_any:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32AnyEntry
103, // 139: cel.expr.conformance.proto2.TestAllTypes.map_uint32_struct:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32StructEntry
104, // 140: cel.expr.conformance.proto2.TestAllTypes.map_uint32_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32ValueEntry
105, // 141: cel.expr.conformance.proto2.TestAllTypes.map_uint32_list_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32ListValueEntry
106, // 142: cel.expr.conformance.proto2.TestAllTypes.map_uint32_int64_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32Int64WrapperEntry
107, // 143: cel.expr.conformance.proto2.TestAllTypes.map_uint32_int32_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32Int32WrapperEntry
108, // 144: cel.expr.conformance.proto2.TestAllTypes.map_uint32_double_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32DoubleWrapperEntry
109, // 145: cel.expr.conformance.proto2.TestAllTypes.map_uint32_float_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32FloatWrapperEntry
110, // 146: cel.expr.conformance.proto2.TestAllTypes.map_uint32_uint64_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32Uint64WrapperEntry
111, // 147: cel.expr.conformance.proto2.TestAllTypes.map_uint32_uint32_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32Uint32WrapperEntry
112, // 148: cel.expr.conformance.proto2.TestAllTypes.map_uint32_string_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32StringWrapperEntry
113, // 149: cel.expr.conformance.proto2.TestAllTypes.map_uint32_bool_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32BoolWrapperEntry
114, // 150: cel.expr.conformance.proto2.TestAllTypes.map_uint32_bytes_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint32BytesWrapperEntry
115, // 151: cel.expr.conformance.proto2.TestAllTypes.map_uint64_bool:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64BoolEntry
116, // 152: cel.expr.conformance.proto2.TestAllTypes.map_uint64_string:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64StringEntry
117, // 153: cel.expr.conformance.proto2.TestAllTypes.map_uint64_bytes:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64BytesEntry
118, // 154: cel.expr.conformance.proto2.TestAllTypes.map_uint64_int32:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64Int32Entry
119, // 155: cel.expr.conformance.proto2.TestAllTypes.map_uint64_int64:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64Int64Entry
120, // 156: cel.expr.conformance.proto2.TestAllTypes.map_uint64_uint32:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64Uint32Entry
121, // 157: cel.expr.conformance.proto2.TestAllTypes.map_uint64_uint64:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64Uint64Entry
122, // 158: cel.expr.conformance.proto2.TestAllTypes.map_uint64_float:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64FloatEntry
123, // 159: cel.expr.conformance.proto2.TestAllTypes.map_uint64_double:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64DoubleEntry
124, // 160: cel.expr.conformance.proto2.TestAllTypes.map_uint64_enum:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64EnumEntry
125, // 161: cel.expr.conformance.proto2.TestAllTypes.map_uint64_message:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64MessageEntry
126, // 162: cel.expr.conformance.proto2.TestAllTypes.map_uint64_duration:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64DurationEntry
127, // 163: cel.expr.conformance.proto2.TestAllTypes.map_uint64_timestamp:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64TimestampEntry
128, // 164: cel.expr.conformance.proto2.TestAllTypes.map_uint64_null_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64NullValueEntry
129, // 165: cel.expr.conformance.proto2.TestAllTypes.map_uint64_any:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64AnyEntry
130, // 166: cel.expr.conformance.proto2.TestAllTypes.map_uint64_struct:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64StructEntry
131, // 167: cel.expr.conformance.proto2.TestAllTypes.map_uint64_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64ValueEntry
132, // 168: cel.expr.conformance.proto2.TestAllTypes.map_uint64_list_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64ListValueEntry
133, // 169: cel.expr.conformance.proto2.TestAllTypes.map_uint64_int64_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64Int64WrapperEntry
134, // 170: cel.expr.conformance.proto2.TestAllTypes.map_uint64_int32_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64Int32WrapperEntry
135, // 171: cel.expr.conformance.proto2.TestAllTypes.map_uint64_double_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64DoubleWrapperEntry
136, // 172: cel.expr.conformance.proto2.TestAllTypes.map_uint64_float_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64FloatWrapperEntry
137, // 173: cel.expr.conformance.proto2.TestAllTypes.map_uint64_uint64_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64Uint64WrapperEntry
138, // 174: cel.expr.conformance.proto2.TestAllTypes.map_uint64_uint32_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64Uint32WrapperEntry
139, // 175: cel.expr.conformance.proto2.TestAllTypes.map_uint64_string_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64StringWrapperEntry
140, // 176: cel.expr.conformance.proto2.TestAllTypes.map_uint64_bool_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64BoolWrapperEntry
141, // 177: cel.expr.conformance.proto2.TestAllTypes.map_uint64_bytes_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapUint64BytesWrapperEntry
142, // 178: cel.expr.conformance.proto2.TestAllTypes.map_string_bool:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringBoolEntry
143, // 179: cel.expr.conformance.proto2.TestAllTypes.map_string_string:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringStringEntry
144, // 180: cel.expr.conformance.proto2.TestAllTypes.map_string_bytes:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringBytesEntry
145, // 181: cel.expr.conformance.proto2.TestAllTypes.map_string_int32:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringInt32Entry
146, // 182: cel.expr.conformance.proto2.TestAllTypes.map_string_int64:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringInt64Entry
147, // 183: cel.expr.conformance.proto2.TestAllTypes.map_string_uint32:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringUint32Entry
148, // 184: cel.expr.conformance.proto2.TestAllTypes.map_string_uint64:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringUint64Entry
149, // 185: cel.expr.conformance.proto2.TestAllTypes.map_string_float:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringFloatEntry
150, // 186: cel.expr.conformance.proto2.TestAllTypes.map_string_double:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringDoubleEntry
151, // 187: cel.expr.conformance.proto2.TestAllTypes.map_string_enum:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringEnumEntry
152, // 188: cel.expr.conformance.proto2.TestAllTypes.map_string_message:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringMessageEntry
153, // 189: cel.expr.conformance.proto2.TestAllTypes.map_string_duration:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringDurationEntry
154, // 190: cel.expr.conformance.proto2.TestAllTypes.map_string_timestamp:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringTimestampEntry
155, // 191: cel.expr.conformance.proto2.TestAllTypes.map_string_null_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringNullValueEntry
156, // 192: cel.expr.conformance.proto2.TestAllTypes.map_string_any:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringAnyEntry
157, // 193: cel.expr.conformance.proto2.TestAllTypes.map_string_struct:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringStructEntry
158, // 194: cel.expr.conformance.proto2.TestAllTypes.map_string_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringValueEntry
159, // 195: cel.expr.conformance.proto2.TestAllTypes.map_string_list_value:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringListValueEntry
160, // 196: cel.expr.conformance.proto2.TestAllTypes.map_string_int64_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringInt64WrapperEntry
161, // 197: cel.expr.conformance.proto2.TestAllTypes.map_string_int32_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringInt32WrapperEntry
162, // 198: cel.expr.conformance.proto2.TestAllTypes.map_string_double_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringDoubleWrapperEntry
163, // 199: cel.expr.conformance.proto2.TestAllTypes.map_string_float_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringFloatWrapperEntry
164, // 200: cel.expr.conformance.proto2.TestAllTypes.map_string_uint64_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringUint64WrapperEntry
165, // 201: cel.expr.conformance.proto2.TestAllTypes.map_string_uint32_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringUint32WrapperEntry
166, // 202: cel.expr.conformance.proto2.TestAllTypes.map_string_string_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringStringWrapperEntry
167, // 203: cel.expr.conformance.proto2.TestAllTypes.map_string_bool_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringBoolWrapperEntry
168, // 204: cel.expr.conformance.proto2.TestAllTypes.map_string_bytes_wrapper:type_name -> cel.expr.conformance.proto2.TestAllTypes.MapStringBytesWrapperEntry
3, // 205: cel.expr.conformance.proto2.TestAllTypes.oneof_type:type_name -> cel.expr.conformance.proto2.NestedTestAllTypes
5, // 206: cel.expr.conformance.proto2.TestAllTypes.oneof_msg:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedMessage
169, // 207: cel.expr.conformance.proto2.TestAllTypes.nestedgroup:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedGroup
3, // 208: cel.expr.conformance.proto2.NestedTestAllTypes.child:type_name -> cel.expr.conformance.proto2.NestedTestAllTypes
2, // 209: cel.expr.conformance.proto2.NestedTestAllTypes.payload:type_name -> cel.expr.conformance.proto2.TestAllTypes
3, // 210: cel.expr.conformance.proto2.TestAllTypes.MapInt64NestedTypeEntry.value:type_name -> cel.expr.conformance.proto2.NestedTestAllTypes
1, // 211: cel.expr.conformance.proto2.TestAllTypes.MapBoolEnumEntry.value:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedEnum
5, // 212: cel.expr.conformance.proto2.TestAllTypes.MapBoolMessageEntry.value:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedMessage
171, // 213: cel.expr.conformance.proto2.TestAllTypes.MapBoolDurationEntry.value:type_name -> google.protobuf.Duration
172, // 214: cel.expr.conformance.proto2.TestAllTypes.MapBoolTimestampEntry.value:type_name -> google.protobuf.Timestamp
185, // 215: cel.expr.conformance.proto2.TestAllTypes.MapBoolNullValueEntry.value:type_name -> google.protobuf.NullValue
170, // 216: cel.expr.conformance.proto2.TestAllTypes.MapBoolAnyEntry.value:type_name -> google.protobuf.Any
173, // 217: cel.expr.conformance.proto2.TestAllTypes.MapBoolStructEntry.value:type_name -> google.protobuf.Struct
174, // 218: cel.expr.conformance.proto2.TestAllTypes.MapBoolValueEntry.value:type_name -> google.protobuf.Value
184, // 219: cel.expr.conformance.proto2.TestAllTypes.MapBoolListValueEntry.value:type_name -> google.protobuf.ListValue
175, // 220: cel.expr.conformance.proto2.TestAllTypes.MapBoolInt64WrapperEntry.value:type_name -> google.protobuf.Int64Value
176, // 221: cel.expr.conformance.proto2.TestAllTypes.MapBoolInt32WrapperEntry.value:type_name -> google.protobuf.Int32Value
177, // 222: cel.expr.conformance.proto2.TestAllTypes.MapBoolDoubleWrapperEntry.value:type_name -> google.protobuf.DoubleValue
178, // 223: cel.expr.conformance.proto2.TestAllTypes.MapBoolFloatWrapperEntry.value:type_name -> google.protobuf.FloatValue
179, // 224: cel.expr.conformance.proto2.TestAllTypes.MapBoolUint64WrapperEntry.value:type_name -> google.protobuf.UInt64Value
180, // 225: cel.expr.conformance.proto2.TestAllTypes.MapBoolUint32WrapperEntry.value:type_name -> google.protobuf.UInt32Value
181, // 226: cel.expr.conformance.proto2.TestAllTypes.MapBoolStringWrapperEntry.value:type_name -> google.protobuf.StringValue
182, // 227: cel.expr.conformance.proto2.TestAllTypes.MapBoolBoolWrapperEntry.value:type_name -> google.protobuf.BoolValue
183, // 228: cel.expr.conformance.proto2.TestAllTypes.MapBoolBytesWrapperEntry.value:type_name -> google.protobuf.BytesValue
1, // 229: cel.expr.conformance.proto2.TestAllTypes.MapInt32EnumEntry.value:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedEnum
5, // 230: cel.expr.conformance.proto2.TestAllTypes.MapInt32MessageEntry.value:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedMessage
171, // 231: cel.expr.conformance.proto2.TestAllTypes.MapInt32DurationEntry.value:type_name -> google.protobuf.Duration
172, // 232: cel.expr.conformance.proto2.TestAllTypes.MapInt32TimestampEntry.value:type_name -> google.protobuf.Timestamp
185, // 233: cel.expr.conformance.proto2.TestAllTypes.MapInt32NullValueEntry.value:type_name -> google.protobuf.NullValue
170, // 234: cel.expr.conformance.proto2.TestAllTypes.MapInt32AnyEntry.value:type_name -> google.protobuf.Any
173, // 235: cel.expr.conformance.proto2.TestAllTypes.MapInt32StructEntry.value:type_name -> google.protobuf.Struct
174, // 236: cel.expr.conformance.proto2.TestAllTypes.MapInt32ValueEntry.value:type_name -> google.protobuf.Value
184, // 237: cel.expr.conformance.proto2.TestAllTypes.MapInt32ListValueEntry.value:type_name -> google.protobuf.ListValue
175, // 238: cel.expr.conformance.proto2.TestAllTypes.MapInt32Int64WrapperEntry.value:type_name -> google.protobuf.Int64Value
176, // 239: cel.expr.conformance.proto2.TestAllTypes.MapInt32Int32WrapperEntry.value:type_name -> google.protobuf.Int32Value
177, // 240: cel.expr.conformance.proto2.TestAllTypes.MapInt32DoubleWrapperEntry.value:type_name -> google.protobuf.DoubleValue
178, // 241: cel.expr.conformance.proto2.TestAllTypes.MapInt32FloatWrapperEntry.value:type_name -> google.protobuf.FloatValue
179, // 242: cel.expr.conformance.proto2.TestAllTypes.MapInt32Uint64WrapperEntry.value:type_name -> google.protobuf.UInt64Value
180, // 243: cel.expr.conformance.proto2.TestAllTypes.MapInt32Uint32WrapperEntry.value:type_name -> google.protobuf.UInt32Value
181, // 244: cel.expr.conformance.proto2.TestAllTypes.MapInt32StringWrapperEntry.value:type_name -> google.protobuf.StringValue
182, // 245: cel.expr.conformance.proto2.TestAllTypes.MapInt32BoolWrapperEntry.value:type_name -> google.protobuf.BoolValue
183, // 246: cel.expr.conformance.proto2.TestAllTypes.MapInt32BytesWrapperEntry.value:type_name -> google.protobuf.BytesValue
1, // 247: cel.expr.conformance.proto2.TestAllTypes.MapInt64EnumEntry.value:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedEnum
5, // 248: cel.expr.conformance.proto2.TestAllTypes.MapInt64MessageEntry.value:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedMessage
171, // 249: cel.expr.conformance.proto2.TestAllTypes.MapInt64DurationEntry.value:type_name -> google.protobuf.Duration
172, // 250: cel.expr.conformance.proto2.TestAllTypes.MapInt64TimestampEntry.value:type_name -> google.protobuf.Timestamp
185, // 251: cel.expr.conformance.proto2.TestAllTypes.MapInt64NullValueEntry.value:type_name -> google.protobuf.NullValue
170, // 252: cel.expr.conformance.proto2.TestAllTypes.MapInt64AnyEntry.value:type_name -> google.protobuf.Any
173, // 253: cel.expr.conformance.proto2.TestAllTypes.MapInt64StructEntry.value:type_name -> google.protobuf.Struct
174, // 254: cel.expr.conformance.proto2.TestAllTypes.MapInt64ValueEntry.value:type_name -> google.protobuf.Value
184, // 255: cel.expr.conformance.proto2.TestAllTypes.MapInt64ListValueEntry.value:type_name -> google.protobuf.ListValue
175, // 256: cel.expr.conformance.proto2.TestAllTypes.MapInt64Int64WrapperEntry.value:type_name -> google.protobuf.Int64Value
176, // 257: cel.expr.conformance.proto2.TestAllTypes.MapInt64Int32WrapperEntry.value:type_name -> google.protobuf.Int32Value
177, // 258: cel.expr.conformance.proto2.TestAllTypes.MapInt64DoubleWrapperEntry.value:type_name -> google.protobuf.DoubleValue
178, // 259: cel.expr.conformance.proto2.TestAllTypes.MapInt64FloatWrapperEntry.value:type_name -> google.protobuf.FloatValue
179, // 260: cel.expr.conformance.proto2.TestAllTypes.MapInt64Uint64WrapperEntry.value:type_name -> google.protobuf.UInt64Value
180, // 261: cel.expr.conformance.proto2.TestAllTypes.MapInt64Uint32WrapperEntry.value:type_name -> google.protobuf.UInt32Value
181, // 262: cel.expr.conformance.proto2.TestAllTypes.MapInt64StringWrapperEntry.value:type_name -> google.protobuf.StringValue
182, // 263: cel.expr.conformance.proto2.TestAllTypes.MapInt64BoolWrapperEntry.value:type_name -> google.protobuf.BoolValue
183, // 264: cel.expr.conformance.proto2.TestAllTypes.MapInt64BytesWrapperEntry.value:type_name -> google.protobuf.BytesValue
1, // 265: cel.expr.conformance.proto2.TestAllTypes.MapUint32EnumEntry.value:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedEnum
5, // 266: cel.expr.conformance.proto2.TestAllTypes.MapUint32MessageEntry.value:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedMessage
171, // 267: cel.expr.conformance.proto2.TestAllTypes.MapUint32DurationEntry.value:type_name -> google.protobuf.Duration
172, // 268: cel.expr.conformance.proto2.TestAllTypes.MapUint32TimestampEntry.value:type_name -> google.protobuf.Timestamp
185, // 269: cel.expr.conformance.proto2.TestAllTypes.MapUint32NullValueEntry.value:type_name -> google.protobuf.NullValue
170, // 270: cel.expr.conformance.proto2.TestAllTypes.MapUint32AnyEntry.value:type_name -> google.protobuf.Any
173, // 271: cel.expr.conformance.proto2.TestAllTypes.MapUint32StructEntry.value:type_name -> google.protobuf.Struct
174, // 272: cel.expr.conformance.proto2.TestAllTypes.MapUint32ValueEntry.value:type_name -> google.protobuf.Value
184, // 273: cel.expr.conformance.proto2.TestAllTypes.MapUint32ListValueEntry.value:type_name -> google.protobuf.ListValue
175, // 274: cel.expr.conformance.proto2.TestAllTypes.MapUint32Int64WrapperEntry.value:type_name -> google.protobuf.Int64Value
176, // 275: cel.expr.conformance.proto2.TestAllTypes.MapUint32Int32WrapperEntry.value:type_name -> google.protobuf.Int32Value
177, // 276: cel.expr.conformance.proto2.TestAllTypes.MapUint32DoubleWrapperEntry.value:type_name -> google.protobuf.DoubleValue
178, // 277: cel.expr.conformance.proto2.TestAllTypes.MapUint32FloatWrapperEntry.value:type_name -> google.protobuf.FloatValue
179, // 278: cel.expr.conformance.proto2.TestAllTypes.MapUint32Uint64WrapperEntry.value:type_name -> google.protobuf.UInt64Value
180, // 279: cel.expr.conformance.proto2.TestAllTypes.MapUint32Uint32WrapperEntry.value:type_name -> google.protobuf.UInt32Value
181, // 280: cel.expr.conformance.proto2.TestAllTypes.MapUint32StringWrapperEntry.value:type_name -> google.protobuf.StringValue
182, // 281: cel.expr.conformance.proto2.TestAllTypes.MapUint32BoolWrapperEntry.value:type_name -> google.protobuf.BoolValue
183, // 282: cel.expr.conformance.proto2.TestAllTypes.MapUint32BytesWrapperEntry.value:type_name -> google.protobuf.BytesValue
1, // 283: cel.expr.conformance.proto2.TestAllTypes.MapUint64EnumEntry.value:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedEnum
5, // 284: cel.expr.conformance.proto2.TestAllTypes.MapUint64MessageEntry.value:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedMessage
171, // 285: cel.expr.conformance.proto2.TestAllTypes.MapUint64DurationEntry.value:type_name -> google.protobuf.Duration
172, // 286: cel.expr.conformance.proto2.TestAllTypes.MapUint64TimestampEntry.value:type_name -> google.protobuf.Timestamp
185, // 287: cel.expr.conformance.proto2.TestAllTypes.MapUint64NullValueEntry.value:type_name -> google.protobuf.NullValue
170, // 288: cel.expr.conformance.proto2.TestAllTypes.MapUint64AnyEntry.value:type_name -> google.protobuf.Any
173, // 289: cel.expr.conformance.proto2.TestAllTypes.MapUint64StructEntry.value:type_name -> google.protobuf.Struct
174, // 290: cel.expr.conformance.proto2.TestAllTypes.MapUint64ValueEntry.value:type_name -> google.protobuf.Value
184, // 291: cel.expr.conformance.proto2.TestAllTypes.MapUint64ListValueEntry.value:type_name -> google.protobuf.ListValue
175, // 292: cel.expr.conformance.proto2.TestAllTypes.MapUint64Int64WrapperEntry.value:type_name -> google.protobuf.Int64Value
176, // 293: cel.expr.conformance.proto2.TestAllTypes.MapUint64Int32WrapperEntry.value:type_name -> google.protobuf.Int32Value
177, // 294: cel.expr.conformance.proto2.TestAllTypes.MapUint64DoubleWrapperEntry.value:type_name -> google.protobuf.DoubleValue
178, // 295: cel.expr.conformance.proto2.TestAllTypes.MapUint64FloatWrapperEntry.value:type_name -> google.protobuf.FloatValue
179, // 296: cel.expr.conformance.proto2.TestAllTypes.MapUint64Uint64WrapperEntry.value:type_name -> google.protobuf.UInt64Value
180, // 297: cel.expr.conformance.proto2.TestAllTypes.MapUint64Uint32WrapperEntry.value:type_name -> google.protobuf.UInt32Value
181, // 298: cel.expr.conformance.proto2.TestAllTypes.MapUint64StringWrapperEntry.value:type_name -> google.protobuf.StringValue
182, // 299: cel.expr.conformance.proto2.TestAllTypes.MapUint64BoolWrapperEntry.value:type_name -> google.protobuf.BoolValue
183, // 300: cel.expr.conformance.proto2.TestAllTypes.MapUint64BytesWrapperEntry.value:type_name -> google.protobuf.BytesValue
1, // 301: cel.expr.conformance.proto2.TestAllTypes.MapStringEnumEntry.value:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedEnum
5, // 302: cel.expr.conformance.proto2.TestAllTypes.MapStringMessageEntry.value:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedMessage
171, // 303: cel.expr.conformance.proto2.TestAllTypes.MapStringDurationEntry.value:type_name -> google.protobuf.Duration
172, // 304: cel.expr.conformance.proto2.TestAllTypes.MapStringTimestampEntry.value:type_name -> google.protobuf.Timestamp
185, // 305: cel.expr.conformance.proto2.TestAllTypes.MapStringNullValueEntry.value:type_name -> google.protobuf.NullValue
170, // 306: cel.expr.conformance.proto2.TestAllTypes.MapStringAnyEntry.value:type_name -> google.protobuf.Any
173, // 307: cel.expr.conformance.proto2.TestAllTypes.MapStringStructEntry.value:type_name -> google.protobuf.Struct
174, // 308: cel.expr.conformance.proto2.TestAllTypes.MapStringValueEntry.value:type_name -> google.protobuf.Value
184, // 309: cel.expr.conformance.proto2.TestAllTypes.MapStringListValueEntry.value:type_name -> google.protobuf.ListValue
175, // 310: cel.expr.conformance.proto2.TestAllTypes.MapStringInt64WrapperEntry.value:type_name -> google.protobuf.Int64Value
176, // 311: cel.expr.conformance.proto2.TestAllTypes.MapStringInt32WrapperEntry.value:type_name -> google.protobuf.Int32Value
177, // 312: cel.expr.conformance.proto2.TestAllTypes.MapStringDoubleWrapperEntry.value:type_name -> google.protobuf.DoubleValue
178, // 313: cel.expr.conformance.proto2.TestAllTypes.MapStringFloatWrapperEntry.value:type_name -> google.protobuf.FloatValue
179, // 314: cel.expr.conformance.proto2.TestAllTypes.MapStringUint64WrapperEntry.value:type_name -> google.protobuf.UInt64Value
180, // 315: cel.expr.conformance.proto2.TestAllTypes.MapStringUint32WrapperEntry.value:type_name -> google.protobuf.UInt32Value
181, // 316: cel.expr.conformance.proto2.TestAllTypes.MapStringStringWrapperEntry.value:type_name -> google.protobuf.StringValue
182, // 317: cel.expr.conformance.proto2.TestAllTypes.MapStringBoolWrapperEntry.value:type_name -> google.protobuf.BoolValue
183, // 318: cel.expr.conformance.proto2.TestAllTypes.MapStringBytesWrapperEntry.value:type_name -> google.protobuf.BytesValue
319, // [319:319] is the sub-list for method output_type
319, // [319:319] is the sub-list for method input_type
319, // [319:319] is the sub-list for extension type_name
319, // [319:319] is the sub-list for extension extendee
0, // [0:319] is the sub-list for field type_name
}
func init() { file_cel_expr_conformance_proto2_test_all_types_proto_init() }
func file_cel_expr_conformance_proto2_test_all_types_proto_init() {
if File_cel_expr_conformance_proto2_test_all_types_proto != nil {
return
}
file_cel_expr_conformance_proto2_test_all_types_proto_msgTypes[0].OneofWrappers = []any{
(*TestAllTypes_SingleNestedMessage)(nil),
(*TestAllTypes_SingleNestedEnum)(nil),
(*TestAllTypes_OneofType)(nil),
(*TestAllTypes_OneofMsg)(nil),
(*TestAllTypes_OneofBool)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cel_expr_conformance_proto2_test_all_types_proto_rawDesc,
NumEnums: 2,
NumMessages: 168,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cel_expr_conformance_proto2_test_all_types_proto_goTypes,
DependencyIndexes: file_cel_expr_conformance_proto2_test_all_types_proto_depIdxs,
EnumInfos: file_cel_expr_conformance_proto2_test_all_types_proto_enumTypes,
MessageInfos: file_cel_expr_conformance_proto2_test_all_types_proto_msgTypes,
}.Build()
File_cel_expr_conformance_proto2_test_all_types_proto = out.File
file_cel_expr_conformance_proto2_test_all_types_proto_rawDesc = nil
file_cel_expr_conformance_proto2_test_all_types_proto_goTypes = nil
file_cel_expr_conformance_proto2_test_all_types_proto_depIdxs = nil
}
cel-spec-0.24.0/conformance/proto2/test_all_types_extensions.pb.go 0000775 0000000 0000000 00000047606 15006676303 0025276 0 ustar 00root root 0000000 0000000 // Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.3
// protoc v5.27.1
// source: cel/expr/conformance/proto2/test_all_types_extensions.proto
package proto2
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type Proto2ExtensionScopedMessage struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Proto2ExtensionScopedMessage) Reset() {
*x = Proto2ExtensionScopedMessage{}
mi := &file_cel_expr_conformance_proto2_test_all_types_extensions_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Proto2ExtensionScopedMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Proto2ExtensionScopedMessage) ProtoMessage() {}
func (x *Proto2ExtensionScopedMessage) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_proto2_test_all_types_extensions_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Proto2ExtensionScopedMessage.ProtoReflect.Descriptor instead.
func (*Proto2ExtensionScopedMessage) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_proto2_test_all_types_extensions_proto_rawDescGZIP(), []int{0}
}
var file_cel_expr_conformance_proto2_test_all_types_extensions_proto_extTypes = []protoimpl.ExtensionInfo{
{
ExtendedType: (*TestAllTypes)(nil),
ExtensionType: (*int32)(nil),
Field: 1000,
Name: "cel.expr.conformance.proto2.int32_ext",
Tag: "varint,1000,opt,name=int32_ext",
Filename: "cel/expr/conformance/proto2/test_all_types_extensions.proto",
},
{
ExtendedType: (*TestAllTypes)(nil),
ExtensionType: (*TestAllTypes)(nil),
Field: 1001,
Name: "cel.expr.conformance.proto2.nested_ext",
Tag: "bytes,1001,opt,name=nested_ext",
Filename: "cel/expr/conformance/proto2/test_all_types_extensions.proto",
},
{
ExtendedType: (*TestAllTypes)(nil),
ExtensionType: (*TestAllTypes)(nil),
Field: 1002,
Name: "cel.expr.conformance.proto2.test_all_types_ext",
Tag: "bytes,1002,opt,name=test_all_types_ext",
Filename: "cel/expr/conformance/proto2/test_all_types_extensions.proto",
},
{
ExtendedType: (*TestAllTypes)(nil),
ExtensionType: (*TestAllTypes_NestedEnum)(nil),
Field: 1003,
Name: "cel.expr.conformance.proto2.nested_enum_ext",
Tag: "varint,1003,opt,name=nested_enum_ext,enum=cel.expr.conformance.proto2.TestAllTypes_NestedEnum",
Filename: "cel/expr/conformance/proto2/test_all_types_extensions.proto",
},
{
ExtendedType: (*TestAllTypes)(nil),
ExtensionType: ([]*TestAllTypes)(nil),
Field: 1004,
Name: "cel.expr.conformance.proto2.repeated_test_all_types",
Tag: "bytes,1004,rep,name=repeated_test_all_types",
Filename: "cel/expr/conformance/proto2/test_all_types_extensions.proto",
},
{
ExtendedType: (*TestAllTypes)(nil),
ExtensionType: (*int64)(nil),
Field: 1005,
Name: "cel.expr.conformance.proto2.Proto2ExtensionScopedMessage.int64_ext",
Tag: "varint,1005,opt,name=int64_ext",
Filename: "cel/expr/conformance/proto2/test_all_types_extensions.proto",
},
{
ExtendedType: (*TestAllTypes)(nil),
ExtensionType: (*TestAllTypes)(nil),
Field: 1006,
Name: "cel.expr.conformance.proto2.Proto2ExtensionScopedMessage.message_scoped_nested_ext",
Tag: "bytes,1006,opt,name=message_scoped_nested_ext",
Filename: "cel/expr/conformance/proto2/test_all_types_extensions.proto",
},
{
ExtendedType: (*TestAllTypes)(nil),
ExtensionType: (*TestAllTypes_NestedEnum)(nil),
Field: 1007,
Name: "cel.expr.conformance.proto2.Proto2ExtensionScopedMessage.nested_enum_ext",
Tag: "varint,1007,opt,name=nested_enum_ext,enum=cel.expr.conformance.proto2.TestAllTypes_NestedEnum",
Filename: "cel/expr/conformance/proto2/test_all_types_extensions.proto",
},
{
ExtendedType: (*TestAllTypes)(nil),
ExtensionType: ([]*TestAllTypes)(nil),
Field: 1008,
Name: "cel.expr.conformance.proto2.Proto2ExtensionScopedMessage.message_scoped_repeated_test_all_types",
Tag: "bytes,1008,rep,name=message_scoped_repeated_test_all_types",
Filename: "cel/expr/conformance/proto2/test_all_types_extensions.proto",
},
}
// Extension fields to TestAllTypes.
var (
// optional int32 int32_ext = 1000;
E_Int32Ext = &file_cel_expr_conformance_proto2_test_all_types_extensions_proto_extTypes[0]
// optional cel.expr.conformance.proto2.TestAllTypes nested_ext = 1001;
E_NestedExt = &file_cel_expr_conformance_proto2_test_all_types_extensions_proto_extTypes[1]
// optional cel.expr.conformance.proto2.TestAllTypes test_all_types_ext = 1002;
E_TestAllTypesExt = &file_cel_expr_conformance_proto2_test_all_types_extensions_proto_extTypes[2]
// optional cel.expr.conformance.proto2.TestAllTypes.NestedEnum nested_enum_ext = 1003;
E_NestedEnumExt = &file_cel_expr_conformance_proto2_test_all_types_extensions_proto_extTypes[3]
// repeated cel.expr.conformance.proto2.TestAllTypes repeated_test_all_types = 1004;
E_RepeatedTestAllTypes = &file_cel_expr_conformance_proto2_test_all_types_extensions_proto_extTypes[4]
// optional int64 int64_ext = 1005;
E_Proto2ExtensionScopedMessage_Int64Ext = &file_cel_expr_conformance_proto2_test_all_types_extensions_proto_extTypes[5]
// optional cel.expr.conformance.proto2.TestAllTypes message_scoped_nested_ext = 1006;
E_Proto2ExtensionScopedMessage_MessageScopedNestedExt = &file_cel_expr_conformance_proto2_test_all_types_extensions_proto_extTypes[6]
// optional cel.expr.conformance.proto2.TestAllTypes.NestedEnum nested_enum_ext = 1007;
E_Proto2ExtensionScopedMessage_NestedEnumExt = &file_cel_expr_conformance_proto2_test_all_types_extensions_proto_extTypes[7]
// repeated cel.expr.conformance.proto2.TestAllTypes message_scoped_repeated_test_all_types = 1008;
E_Proto2ExtensionScopedMessage_MessageScopedRepeatedTestAllTypes = &file_cel_expr_conformance_proto2_test_all_types_extensions_proto_extTypes[8]
)
var File_cel_expr_conformance_proto2_test_all_types_extensions_proto protoreflect.FileDescriptor
var file_cel_expr_conformance_proto2_test_all_types_extensions_proto_rawDesc = []byte{
0x0a, 0x3b, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2f, 0x74, 0x65,
0x73, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x5f, 0x65, 0x78, 0x74,
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x1a, 0x30, 0x63, 0x65, 0x6c, 0x2f,
0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x6c, 0x6c,
0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x04, 0x0a,
0x1c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x47, 0x0a,
0x09, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0xed, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x45, 0x78, 0x74, 0x32, 0x90, 0x01, 0x0a, 0x19, 0x6d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64,
0x5f, 0x65, 0x78, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18,
0xee, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x52, 0x16, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64,
0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x78, 0x74, 0x32, 0x88, 0x01, 0x0a, 0x0f, 0x6e, 0x65,
0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x78, 0x74, 0x12, 0x29, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0xef, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x34, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0d, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75,
0x6d, 0x45, 0x78, 0x74, 0x32, 0xa8, 0x01, 0x0a, 0x26, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12,
0x29, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0xf0, 0x07, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x21, 0x6d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x65, 0x70, 0x65, 0x61,
0x74, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a,
0x47, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x12, 0x29, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x74, 0x3a, 0x74, 0x0a, 0x0a, 0x6e, 0x65, 0x73, 0x74,
0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x52, 0x09, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x78, 0x74, 0x3a, 0x82,
0x01, 0x0a, 0x12, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65,
0x73, 0x5f, 0x65, 0x78, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x52, 0x0f, 0x74, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x45, 0x78, 0x74, 0x3a, 0x88, 0x01, 0x0a, 0x0f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65,
0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x78, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x18, 0xeb, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52,
0x0d, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x78, 0x74, 0x3a, 0x8c,
0x01, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x73, 0x74,
0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0xec, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x14, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
0x64, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x42, 0x5f, 0x0a,
0x1f, 0x64, 0x65, 0x76, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32,
0x42, 0x16, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x45, 0x78,
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x01, 0x5a, 0x1f, 0x63, 0x65, 0x6c, 0x2e,
0x64, 0x65, 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xf8, 0x01, 0x01,
}
var (
file_cel_expr_conformance_proto2_test_all_types_extensions_proto_rawDescOnce sync.Once
file_cel_expr_conformance_proto2_test_all_types_extensions_proto_rawDescData = file_cel_expr_conformance_proto2_test_all_types_extensions_proto_rawDesc
)
func file_cel_expr_conformance_proto2_test_all_types_extensions_proto_rawDescGZIP() []byte {
file_cel_expr_conformance_proto2_test_all_types_extensions_proto_rawDescOnce.Do(func() {
file_cel_expr_conformance_proto2_test_all_types_extensions_proto_rawDescData = protoimpl.X.CompressGZIP(file_cel_expr_conformance_proto2_test_all_types_extensions_proto_rawDescData)
})
return file_cel_expr_conformance_proto2_test_all_types_extensions_proto_rawDescData
}
var file_cel_expr_conformance_proto2_test_all_types_extensions_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_cel_expr_conformance_proto2_test_all_types_extensions_proto_goTypes = []any{
(*Proto2ExtensionScopedMessage)(nil), // 0: cel.expr.conformance.proto2.Proto2ExtensionScopedMessage
(*TestAllTypes)(nil), // 1: cel.expr.conformance.proto2.TestAllTypes
(TestAllTypes_NestedEnum)(0), // 2: cel.expr.conformance.proto2.TestAllTypes.NestedEnum
}
var file_cel_expr_conformance_proto2_test_all_types_extensions_proto_depIdxs = []int32{
1, // 0: cel.expr.conformance.proto2.int32_ext:extendee -> cel.expr.conformance.proto2.TestAllTypes
1, // 1: cel.expr.conformance.proto2.nested_ext:extendee -> cel.expr.conformance.proto2.TestAllTypes
1, // 2: cel.expr.conformance.proto2.test_all_types_ext:extendee -> cel.expr.conformance.proto2.TestAllTypes
1, // 3: cel.expr.conformance.proto2.nested_enum_ext:extendee -> cel.expr.conformance.proto2.TestAllTypes
1, // 4: cel.expr.conformance.proto2.repeated_test_all_types:extendee -> cel.expr.conformance.proto2.TestAllTypes
1, // 5: cel.expr.conformance.proto2.Proto2ExtensionScopedMessage.int64_ext:extendee -> cel.expr.conformance.proto2.TestAllTypes
1, // 6: cel.expr.conformance.proto2.Proto2ExtensionScopedMessage.message_scoped_nested_ext:extendee -> cel.expr.conformance.proto2.TestAllTypes
1, // 7: cel.expr.conformance.proto2.Proto2ExtensionScopedMessage.nested_enum_ext:extendee -> cel.expr.conformance.proto2.TestAllTypes
1, // 8: cel.expr.conformance.proto2.Proto2ExtensionScopedMessage.message_scoped_repeated_test_all_types:extendee -> cel.expr.conformance.proto2.TestAllTypes
1, // 9: cel.expr.conformance.proto2.nested_ext:type_name -> cel.expr.conformance.proto2.TestAllTypes
1, // 10: cel.expr.conformance.proto2.test_all_types_ext:type_name -> cel.expr.conformance.proto2.TestAllTypes
2, // 11: cel.expr.conformance.proto2.nested_enum_ext:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedEnum
1, // 12: cel.expr.conformance.proto2.repeated_test_all_types:type_name -> cel.expr.conformance.proto2.TestAllTypes
1, // 13: cel.expr.conformance.proto2.Proto2ExtensionScopedMessage.message_scoped_nested_ext:type_name -> cel.expr.conformance.proto2.TestAllTypes
2, // 14: cel.expr.conformance.proto2.Proto2ExtensionScopedMessage.nested_enum_ext:type_name -> cel.expr.conformance.proto2.TestAllTypes.NestedEnum
1, // 15: cel.expr.conformance.proto2.Proto2ExtensionScopedMessage.message_scoped_repeated_test_all_types:type_name -> cel.expr.conformance.proto2.TestAllTypes
16, // [16:16] is the sub-list for method output_type
16, // [16:16] is the sub-list for method input_type
9, // [9:16] is the sub-list for extension type_name
0, // [0:9] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_cel_expr_conformance_proto2_test_all_types_extensions_proto_init() }
func file_cel_expr_conformance_proto2_test_all_types_extensions_proto_init() {
if File_cel_expr_conformance_proto2_test_all_types_extensions_proto != nil {
return
}
file_cel_expr_conformance_proto2_test_all_types_proto_init()
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cel_expr_conformance_proto2_test_all_types_extensions_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 9,
NumServices: 0,
},
GoTypes: file_cel_expr_conformance_proto2_test_all_types_extensions_proto_goTypes,
DependencyIndexes: file_cel_expr_conformance_proto2_test_all_types_extensions_proto_depIdxs,
MessageInfos: file_cel_expr_conformance_proto2_test_all_types_extensions_proto_msgTypes,
ExtensionInfos: file_cel_expr_conformance_proto2_test_all_types_extensions_proto_extTypes,
}.Build()
File_cel_expr_conformance_proto2_test_all_types_extensions_proto = out.File
file_cel_expr_conformance_proto2_test_all_types_extensions_proto_rawDesc = nil
file_cel_expr_conformance_proto2_test_all_types_extensions_proto_goTypes = nil
file_cel_expr_conformance_proto2_test_all_types_extensions_proto_depIdxs = nil
}
cel-spec-0.24.0/conformance/proto3/ 0000775 0000000 0000000 00000000000 15006676303 0017016 5 ustar 00root root 0000000 0000000 cel-spec-0.24.0/conformance/proto3/BUILD.bazel 0000775 0000000 0000000 00000002661 15006676303 0020704 0 ustar 00root root 0000000 0000000 # Copyright 2024 Google LLC
#
# 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
#
# https://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.
load("@io_bazel_rules_go//go:def.bzl", "go_library")
package(
default_visibility = ["//visibility:public"],
licenses = ["notice"], # Apache 2.0
)
go_library(
name = "go_default_library",
srcs = [
"test_all_types.pb.go",
],
importpath = "cel.dev/expr/conformance/proto3",
deps = [
"@org_golang_google_protobuf//reflect/protoreflect",
"@org_golang_google_protobuf//runtime/protoimpl",
"@org_golang_google_protobuf//types/known/anypb",
"@org_golang_google_protobuf//types/known/durationpb",
"@org_golang_google_protobuf//types/known/emptypb",
"@org_golang_google_protobuf//types/known/fieldmaskpb",
"@org_golang_google_protobuf//types/known/structpb",
"@org_golang_google_protobuf//types/known/timestamppb",
"@org_golang_google_protobuf//types/known/wrapperspb",
],
)
cel-spec-0.24.0/conformance/proto3/test_all_types.pb.go 0000775 0000000 0000000 00001412005 15006676303 0023006 0 ustar 00root root 0000000 0000000 // Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.3
// protoc v5.27.1
// source: cel/expr/conformance/proto3/test_all_types.proto
package proto3
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
anypb "google.golang.org/protobuf/types/known/anypb"
durationpb "google.golang.org/protobuf/types/known/durationpb"
emptypb "google.golang.org/protobuf/types/known/emptypb"
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
structpb "google.golang.org/protobuf/types/known/structpb"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type GlobalEnum int32
const (
GlobalEnum_GOO GlobalEnum = 0
GlobalEnum_GAR GlobalEnum = 1
GlobalEnum_GAZ GlobalEnum = 2
)
// Enum value maps for GlobalEnum.
var (
GlobalEnum_name = map[int32]string{
0: "GOO",
1: "GAR",
2: "GAZ",
}
GlobalEnum_value = map[string]int32{
"GOO": 0,
"GAR": 1,
"GAZ": 2,
}
)
func (x GlobalEnum) Enum() *GlobalEnum {
p := new(GlobalEnum)
*p = x
return p
}
func (x GlobalEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GlobalEnum) Descriptor() protoreflect.EnumDescriptor {
return file_cel_expr_conformance_proto3_test_all_types_proto_enumTypes[0].Descriptor()
}
func (GlobalEnum) Type() protoreflect.EnumType {
return &file_cel_expr_conformance_proto3_test_all_types_proto_enumTypes[0]
}
func (x GlobalEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use GlobalEnum.Descriptor instead.
func (GlobalEnum) EnumDescriptor() ([]byte, []int) {
return file_cel_expr_conformance_proto3_test_all_types_proto_rawDescGZIP(), []int{0}
}
type TestAllTypes_NestedEnum int32
const (
TestAllTypes_FOO TestAllTypes_NestedEnum = 0
TestAllTypes_BAR TestAllTypes_NestedEnum = 1
TestAllTypes_BAZ TestAllTypes_NestedEnum = 2
)
// Enum value maps for TestAllTypes_NestedEnum.
var (
TestAllTypes_NestedEnum_name = map[int32]string{
0: "FOO",
1: "BAR",
2: "BAZ",
}
TestAllTypes_NestedEnum_value = map[string]int32{
"FOO": 0,
"BAR": 1,
"BAZ": 2,
}
)
func (x TestAllTypes_NestedEnum) Enum() *TestAllTypes_NestedEnum {
p := new(TestAllTypes_NestedEnum)
*p = x
return p
}
func (x TestAllTypes_NestedEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TestAllTypes_NestedEnum) Descriptor() protoreflect.EnumDescriptor {
return file_cel_expr_conformance_proto3_test_all_types_proto_enumTypes[1].Descriptor()
}
func (TestAllTypes_NestedEnum) Type() protoreflect.EnumType {
return &file_cel_expr_conformance_proto3_test_all_types_proto_enumTypes[1]
}
func (x TestAllTypes_NestedEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TestAllTypes_NestedEnum.Descriptor instead.
func (TestAllTypes_NestedEnum) EnumDescriptor() ([]byte, []int) {
return file_cel_expr_conformance_proto3_test_all_types_proto_rawDescGZIP(), []int{0, 0}
}
type TestAllTypes struct {
state protoimpl.MessageState `protogen:"open.v1"`
SingleInt32 int32 `protobuf:"varint,1,opt,name=single_int32,json=singleInt32,proto3" json:"single_int32,omitempty"`
SingleInt64 int64 `protobuf:"varint,2,opt,name=single_int64,json=singleInt64,proto3" json:"single_int64,omitempty"`
SingleUint32 uint32 `protobuf:"varint,3,opt,name=single_uint32,json=singleUint32,proto3" json:"single_uint32,omitempty"`
SingleUint64 uint64 `protobuf:"varint,4,opt,name=single_uint64,json=singleUint64,proto3" json:"single_uint64,omitempty"`
SingleSint32 int32 `protobuf:"zigzag32,5,opt,name=single_sint32,json=singleSint32,proto3" json:"single_sint32,omitempty"`
SingleSint64 int64 `protobuf:"zigzag64,6,opt,name=single_sint64,json=singleSint64,proto3" json:"single_sint64,omitempty"`
SingleFixed32 uint32 `protobuf:"fixed32,7,opt,name=single_fixed32,json=singleFixed32,proto3" json:"single_fixed32,omitempty"`
SingleFixed64 uint64 `protobuf:"fixed64,8,opt,name=single_fixed64,json=singleFixed64,proto3" json:"single_fixed64,omitempty"`
SingleSfixed32 int32 `protobuf:"fixed32,9,opt,name=single_sfixed32,json=singleSfixed32,proto3" json:"single_sfixed32,omitempty"`
SingleSfixed64 int64 `protobuf:"fixed64,10,opt,name=single_sfixed64,json=singleSfixed64,proto3" json:"single_sfixed64,omitempty"`
SingleFloat float32 `protobuf:"fixed32,11,opt,name=single_float,json=singleFloat,proto3" json:"single_float,omitempty"`
SingleDouble float64 `protobuf:"fixed64,12,opt,name=single_double,json=singleDouble,proto3" json:"single_double,omitempty"`
SingleBool bool `protobuf:"varint,13,opt,name=single_bool,json=singleBool,proto3" json:"single_bool,omitempty"`
SingleString string `protobuf:"bytes,14,opt,name=single_string,json=singleString,proto3" json:"single_string,omitempty"`
SingleBytes []byte `protobuf:"bytes,15,opt,name=single_bytes,json=singleBytes,proto3" json:"single_bytes,omitempty"`
OptionalBool *bool `protobuf:"varint,16,opt,name=optional_bool,json=optionalBool,proto3,oneof" json:"optional_bool,omitempty"`
OptionalString *bool `protobuf:"varint,17,opt,name=optional_string,json=optionalString,proto3,oneof" json:"optional_string,omitempty"`
In bool `protobuf:"varint,18,opt,name=in,proto3" json:"in,omitempty"`
SingleAny *anypb.Any `protobuf:"bytes,100,opt,name=single_any,json=singleAny,proto3" json:"single_any,omitempty"`
SingleDuration *durationpb.Duration `protobuf:"bytes,101,opt,name=single_duration,json=singleDuration,proto3" json:"single_duration,omitempty"`
SingleTimestamp *timestamppb.Timestamp `protobuf:"bytes,102,opt,name=single_timestamp,json=singleTimestamp,proto3" json:"single_timestamp,omitempty"`
SingleStruct *structpb.Struct `protobuf:"bytes,103,opt,name=single_struct,json=singleStruct,proto3" json:"single_struct,omitempty"`
SingleValue *structpb.Value `protobuf:"bytes,104,opt,name=single_value,json=singleValue,proto3" json:"single_value,omitempty"`
SingleInt64Wrapper *wrapperspb.Int64Value `protobuf:"bytes,105,opt,name=single_int64_wrapper,json=singleInt64Wrapper,proto3" json:"single_int64_wrapper,omitempty"`
SingleInt32Wrapper *wrapperspb.Int32Value `protobuf:"bytes,106,opt,name=single_int32_wrapper,json=singleInt32Wrapper,proto3" json:"single_int32_wrapper,omitempty"`
SingleDoubleWrapper *wrapperspb.DoubleValue `protobuf:"bytes,107,opt,name=single_double_wrapper,json=singleDoubleWrapper,proto3" json:"single_double_wrapper,omitempty"`
SingleFloatWrapper *wrapperspb.FloatValue `protobuf:"bytes,108,opt,name=single_float_wrapper,json=singleFloatWrapper,proto3" json:"single_float_wrapper,omitempty"`
SingleUint64Wrapper *wrapperspb.UInt64Value `protobuf:"bytes,109,opt,name=single_uint64_wrapper,json=singleUint64Wrapper,proto3" json:"single_uint64_wrapper,omitempty"`
SingleUint32Wrapper *wrapperspb.UInt32Value `protobuf:"bytes,110,opt,name=single_uint32_wrapper,json=singleUint32Wrapper,proto3" json:"single_uint32_wrapper,omitempty"`
SingleStringWrapper *wrapperspb.StringValue `protobuf:"bytes,111,opt,name=single_string_wrapper,json=singleStringWrapper,proto3" json:"single_string_wrapper,omitempty"`
SingleBoolWrapper *wrapperspb.BoolValue `protobuf:"bytes,112,opt,name=single_bool_wrapper,json=singleBoolWrapper,proto3" json:"single_bool_wrapper,omitempty"`
SingleBytesWrapper *wrapperspb.BytesValue `protobuf:"bytes,113,opt,name=single_bytes_wrapper,json=singleBytesWrapper,proto3" json:"single_bytes_wrapper,omitempty"`
ListValue *structpb.ListValue `protobuf:"bytes,114,opt,name=list_value,json=listValue,proto3" json:"list_value,omitempty"`
NullValue structpb.NullValue `protobuf:"varint,115,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue" json:"null_value,omitempty"`
OptionalNullValue *structpb.NullValue `protobuf:"varint,116,opt,name=optional_null_value,json=optionalNullValue,proto3,enum=google.protobuf.NullValue,oneof" json:"optional_null_value,omitempty"`
FieldMask *fieldmaskpb.FieldMask `protobuf:"bytes,117,opt,name=field_mask,json=fieldMask,proto3" json:"field_mask,omitempty"`
Empty *emptypb.Empty `protobuf:"bytes,118,opt,name=empty,proto3" json:"empty,omitempty"`
// Types that are valid to be assigned to NestedType:
//
// *TestAllTypes_SingleNestedMessage
// *TestAllTypes_SingleNestedEnum
NestedType isTestAllTypes_NestedType `protobuf_oneof:"nested_type"`
StandaloneMessage *TestAllTypes_NestedMessage `protobuf:"bytes,23,opt,name=standalone_message,json=standaloneMessage,proto3" json:"standalone_message,omitempty"`
StandaloneEnum TestAllTypes_NestedEnum `protobuf:"varint,24,opt,name=standalone_enum,json=standaloneEnum,proto3,enum=cel.expr.conformance.proto3.TestAllTypes_NestedEnum" json:"standalone_enum,omitempty"`
RepeatedInt32 []int32 `protobuf:"varint,31,rep,packed,name=repeated_int32,json=repeatedInt32,proto3" json:"repeated_int32,omitempty"`
RepeatedInt64 []int64 `protobuf:"varint,32,rep,packed,name=repeated_int64,json=repeatedInt64,proto3" json:"repeated_int64,omitempty"`
RepeatedUint32 []uint32 `protobuf:"varint,33,rep,packed,name=repeated_uint32,json=repeatedUint32,proto3" json:"repeated_uint32,omitempty"`
RepeatedUint64 []uint64 `protobuf:"varint,34,rep,packed,name=repeated_uint64,json=repeatedUint64,proto3" json:"repeated_uint64,omitempty"`
RepeatedSint32 []int32 `protobuf:"zigzag32,35,rep,packed,name=repeated_sint32,json=repeatedSint32,proto3" json:"repeated_sint32,omitempty"`
RepeatedSint64 []int64 `protobuf:"zigzag64,36,rep,packed,name=repeated_sint64,json=repeatedSint64,proto3" json:"repeated_sint64,omitempty"`
RepeatedFixed32 []uint32 `protobuf:"fixed32,37,rep,packed,name=repeated_fixed32,json=repeatedFixed32,proto3" json:"repeated_fixed32,omitempty"`
RepeatedFixed64 []uint64 `protobuf:"fixed64,38,rep,packed,name=repeated_fixed64,json=repeatedFixed64,proto3" json:"repeated_fixed64,omitempty"`
RepeatedSfixed32 []int32 `protobuf:"fixed32,39,rep,packed,name=repeated_sfixed32,json=repeatedSfixed32,proto3" json:"repeated_sfixed32,omitempty"`
RepeatedSfixed64 []int64 `protobuf:"fixed64,40,rep,packed,name=repeated_sfixed64,json=repeatedSfixed64,proto3" json:"repeated_sfixed64,omitempty"`
RepeatedFloat []float32 `protobuf:"fixed32,41,rep,packed,name=repeated_float,json=repeatedFloat,proto3" json:"repeated_float,omitempty"`
RepeatedDouble []float64 `protobuf:"fixed64,42,rep,packed,name=repeated_double,json=repeatedDouble,proto3" json:"repeated_double,omitempty"`
RepeatedBool []bool `protobuf:"varint,43,rep,packed,name=repeated_bool,json=repeatedBool,proto3" json:"repeated_bool,omitempty"`
RepeatedString []string `protobuf:"bytes,44,rep,name=repeated_string,json=repeatedString,proto3" json:"repeated_string,omitempty"`
RepeatedBytes [][]byte `protobuf:"bytes,45,rep,name=repeated_bytes,json=repeatedBytes,proto3" json:"repeated_bytes,omitempty"`
RepeatedNestedMessage []*TestAllTypes_NestedMessage `protobuf:"bytes,51,rep,name=repeated_nested_message,json=repeatedNestedMessage,proto3" json:"repeated_nested_message,omitempty"`
RepeatedNestedEnum []TestAllTypes_NestedEnum `protobuf:"varint,52,rep,packed,name=repeated_nested_enum,json=repeatedNestedEnum,proto3,enum=cel.expr.conformance.proto3.TestAllTypes_NestedEnum" json:"repeated_nested_enum,omitempty"`
RepeatedStringPiece []string `protobuf:"bytes,53,rep,name=repeated_string_piece,json=repeatedStringPiece,proto3" json:"repeated_string_piece,omitempty"`
RepeatedCord []string `protobuf:"bytes,54,rep,name=repeated_cord,json=repeatedCord,proto3" json:"repeated_cord,omitempty"`
RepeatedLazyMessage []*TestAllTypes_NestedMessage `protobuf:"bytes,55,rep,name=repeated_lazy_message,json=repeatedLazyMessage,proto3" json:"repeated_lazy_message,omitempty"`
RepeatedAny []*anypb.Any `protobuf:"bytes,120,rep,name=repeated_any,json=repeatedAny,proto3" json:"repeated_any,omitempty"`
RepeatedDuration []*durationpb.Duration `protobuf:"bytes,121,rep,name=repeated_duration,json=repeatedDuration,proto3" json:"repeated_duration,omitempty"`
RepeatedTimestamp []*timestamppb.Timestamp `protobuf:"bytes,122,rep,name=repeated_timestamp,json=repeatedTimestamp,proto3" json:"repeated_timestamp,omitempty"`
RepeatedStruct []*structpb.Struct `protobuf:"bytes,123,rep,name=repeated_struct,json=repeatedStruct,proto3" json:"repeated_struct,omitempty"`
RepeatedValue []*structpb.Value `protobuf:"bytes,124,rep,name=repeated_value,json=repeatedValue,proto3" json:"repeated_value,omitempty"`
RepeatedInt64Wrapper []*wrapperspb.Int64Value `protobuf:"bytes,125,rep,name=repeated_int64_wrapper,json=repeatedInt64Wrapper,proto3" json:"repeated_int64_wrapper,omitempty"`
RepeatedInt32Wrapper []*wrapperspb.Int32Value `protobuf:"bytes,126,rep,name=repeated_int32_wrapper,json=repeatedInt32Wrapper,proto3" json:"repeated_int32_wrapper,omitempty"`
RepeatedDoubleWrapper []*wrapperspb.DoubleValue `protobuf:"bytes,127,rep,name=repeated_double_wrapper,json=repeatedDoubleWrapper,proto3" json:"repeated_double_wrapper,omitempty"`
RepeatedFloatWrapper []*wrapperspb.FloatValue `protobuf:"bytes,128,rep,name=repeated_float_wrapper,json=repeatedFloatWrapper,proto3" json:"repeated_float_wrapper,omitempty"`
RepeatedUint64Wrapper []*wrapperspb.UInt64Value `protobuf:"bytes,129,rep,name=repeated_uint64_wrapper,json=repeatedUint64Wrapper,proto3" json:"repeated_uint64_wrapper,omitempty"`
RepeatedUint32Wrapper []*wrapperspb.UInt32Value `protobuf:"bytes,130,rep,name=repeated_uint32_wrapper,json=repeatedUint32Wrapper,proto3" json:"repeated_uint32_wrapper,omitempty"`
RepeatedStringWrapper []*wrapperspb.StringValue `protobuf:"bytes,131,rep,name=repeated_string_wrapper,json=repeatedStringWrapper,proto3" json:"repeated_string_wrapper,omitempty"`
RepeatedBoolWrapper []*wrapperspb.BoolValue `protobuf:"bytes,132,rep,name=repeated_bool_wrapper,json=repeatedBoolWrapper,proto3" json:"repeated_bool_wrapper,omitempty"`
RepeatedBytesWrapper []*wrapperspb.BytesValue `protobuf:"bytes,133,rep,name=repeated_bytes_wrapper,json=repeatedBytesWrapper,proto3" json:"repeated_bytes_wrapper,omitempty"`
RepeatedListValue []*structpb.ListValue `protobuf:"bytes,134,rep,name=repeated_list_value,json=repeatedListValue,proto3" json:"repeated_list_value,omitempty"`
RepeatedNullValue []structpb.NullValue `protobuf:"varint,135,rep,packed,name=repeated_null_value,json=repeatedNullValue,proto3,enum=google.protobuf.NullValue" json:"repeated_null_value,omitempty"`
MapInt64NestedType map[int64]*NestedTestAllTypes `protobuf:"bytes,62,rep,name=map_int64_nested_type,json=mapInt64NestedType,proto3" json:"map_int64_nested_type,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolBool map[bool]bool `protobuf:"bytes,63,rep,name=map_bool_bool,json=mapBoolBool,proto3" json:"map_bool_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapBoolString map[bool]string `protobuf:"bytes,64,rep,name=map_bool_string,json=mapBoolString,proto3" json:"map_bool_string,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolBytes map[bool][]byte `protobuf:"bytes,65,rep,name=map_bool_bytes,json=mapBoolBytes,proto3" json:"map_bool_bytes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolInt32 map[bool]int32 `protobuf:"bytes,66,rep,name=map_bool_int32,json=mapBoolInt32,proto3" json:"map_bool_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapBoolInt64 map[bool]int64 `protobuf:"bytes,67,rep,name=map_bool_int64,json=mapBoolInt64,proto3" json:"map_bool_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapBoolUint32 map[bool]uint32 `protobuf:"bytes,68,rep,name=map_bool_uint32,json=mapBoolUint32,proto3" json:"map_bool_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapBoolUint64 map[bool]uint64 `protobuf:"bytes,69,rep,name=map_bool_uint64,json=mapBoolUint64,proto3" json:"map_bool_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapBoolFloat map[bool]float32 `protobuf:"bytes,70,rep,name=map_bool_float,json=mapBoolFloat,proto3" json:"map_bool_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
MapBoolDouble map[bool]float64 `protobuf:"bytes,71,rep,name=map_bool_double,json=mapBoolDouble,proto3" json:"map_bool_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
MapBoolEnum map[bool]TestAllTypes_NestedEnum `protobuf:"bytes,72,rep,name=map_bool_enum,json=mapBoolEnum,proto3" json:"map_bool_enum,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=cel.expr.conformance.proto3.TestAllTypes_NestedEnum"`
MapBoolMessage map[bool]*TestAllTypes_NestedMessage `protobuf:"bytes,73,rep,name=map_bool_message,json=mapBoolMessage,proto3" json:"map_bool_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolDuration map[bool]*durationpb.Duration `protobuf:"bytes,228,rep,name=map_bool_duration,json=mapBoolDuration,proto3" json:"map_bool_duration,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolTimestamp map[bool]*timestamppb.Timestamp `protobuf:"bytes,229,rep,name=map_bool_timestamp,json=mapBoolTimestamp,proto3" json:"map_bool_timestamp,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolNullValue map[bool]structpb.NullValue `protobuf:"bytes,230,rep,name=map_bool_null_value,json=mapBoolNullValue,proto3" json:"map_bool_null_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.protobuf.NullValue"`
MapBoolAny map[bool]*anypb.Any `protobuf:"bytes,246,rep,name=map_bool_any,json=mapBoolAny,proto3" json:"map_bool_any,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolStruct map[bool]*structpb.Struct `protobuf:"bytes,247,rep,name=map_bool_struct,json=mapBoolStruct,proto3" json:"map_bool_struct,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolValue map[bool]*structpb.Value `protobuf:"bytes,248,rep,name=map_bool_value,json=mapBoolValue,proto3" json:"map_bool_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolListValue map[bool]*structpb.ListValue `protobuf:"bytes,249,rep,name=map_bool_list_value,json=mapBoolListValue,proto3" json:"map_bool_list_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolInt64Wrapper map[bool]*wrapperspb.Int64Value `protobuf:"bytes,250,rep,name=map_bool_int64_wrapper,json=mapBoolInt64Wrapper,proto3" json:"map_bool_int64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolInt32Wrapper map[bool]*wrapperspb.Int32Value `protobuf:"bytes,251,rep,name=map_bool_int32_wrapper,json=mapBoolInt32Wrapper,proto3" json:"map_bool_int32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolDoubleWrapper map[bool]*wrapperspb.DoubleValue `protobuf:"bytes,252,rep,name=map_bool_double_wrapper,json=mapBoolDoubleWrapper,proto3" json:"map_bool_double_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolFloatWrapper map[bool]*wrapperspb.FloatValue `protobuf:"bytes,253,rep,name=map_bool_float_wrapper,json=mapBoolFloatWrapper,proto3" json:"map_bool_float_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolUint64Wrapper map[bool]*wrapperspb.UInt64Value `protobuf:"bytes,254,rep,name=map_bool_uint64_wrapper,json=mapBoolUint64Wrapper,proto3" json:"map_bool_uint64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolUint32Wrapper map[bool]*wrapperspb.UInt32Value `protobuf:"bytes,255,rep,name=map_bool_uint32_wrapper,json=mapBoolUint32Wrapper,proto3" json:"map_bool_uint32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolStringWrapper map[bool]*wrapperspb.StringValue `protobuf:"bytes,256,rep,name=map_bool_string_wrapper,json=mapBoolStringWrapper,proto3" json:"map_bool_string_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolBoolWrapper map[bool]*wrapperspb.BoolValue `protobuf:"bytes,257,rep,name=map_bool_bool_wrapper,json=mapBoolBoolWrapper,proto3" json:"map_bool_bool_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapBoolBytesWrapper map[bool]*wrapperspb.BytesValue `protobuf:"bytes,258,rep,name=map_bool_bytes_wrapper,json=mapBoolBytesWrapper,proto3" json:"map_bool_bytes_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Bool map[int32]bool `protobuf:"bytes,74,rep,name=map_int32_bool,json=mapInt32Bool,proto3" json:"map_int32_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt32String map[int32]string `protobuf:"bytes,75,rep,name=map_int32_string,json=mapInt32String,proto3" json:"map_int32_string,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Bytes map[int32][]byte `protobuf:"bytes,76,rep,name=map_int32_bytes,json=mapInt32Bytes,proto3" json:"map_int32_bytes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Int32 map[int32]int32 `protobuf:"bytes,77,rep,name=map_int32_int32,json=mapInt32Int32,proto3" json:"map_int32_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt32Int64 map[int32]int64 `protobuf:"bytes,78,rep,name=map_int32_int64,json=mapInt32Int64,proto3" json:"map_int32_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt32Uint32 map[int32]uint32 `protobuf:"bytes,79,rep,name=map_int32_uint32,json=mapInt32Uint32,proto3" json:"map_int32_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt32Uint64 map[int32]uint64 `protobuf:"bytes,80,rep,name=map_int32_uint64,json=mapInt32Uint64,proto3" json:"map_int32_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt32Float map[int32]float32 `protobuf:"bytes,81,rep,name=map_int32_float,json=mapInt32Float,proto3" json:"map_int32_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
MapInt32Double map[int32]float64 `protobuf:"bytes,82,rep,name=map_int32_double,json=mapInt32Double,proto3" json:"map_int32_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
MapInt32Enum map[int32]TestAllTypes_NestedEnum `protobuf:"bytes,83,rep,name=map_int32_enum,json=mapInt32Enum,proto3" json:"map_int32_enum,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=cel.expr.conformance.proto3.TestAllTypes_NestedEnum"`
MapInt32Message map[int32]*TestAllTypes_NestedMessage `protobuf:"bytes,84,rep,name=map_int32_message,json=mapInt32Message,proto3" json:"map_int32_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Duration map[int32]*durationpb.Duration `protobuf:"bytes,231,rep,name=map_int32_duration,json=mapInt32Duration,proto3" json:"map_int32_duration,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Timestamp map[int32]*timestamppb.Timestamp `protobuf:"bytes,232,rep,name=map_int32_timestamp,json=mapInt32Timestamp,proto3" json:"map_int32_timestamp,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32NullValue map[int32]structpb.NullValue `protobuf:"bytes,233,rep,name=map_int32_null_value,json=mapInt32NullValue,proto3" json:"map_int32_null_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.protobuf.NullValue"`
MapInt32Any map[int32]*anypb.Any `protobuf:"bytes,259,rep,name=map_int32_any,json=mapInt32Any,proto3" json:"map_int32_any,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Struct map[int32]*structpb.Struct `protobuf:"bytes,260,rep,name=map_int32_struct,json=mapInt32Struct,proto3" json:"map_int32_struct,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Value map[int32]*structpb.Value `protobuf:"bytes,261,rep,name=map_int32_value,json=mapInt32Value,proto3" json:"map_int32_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32ListValue map[int32]*structpb.ListValue `protobuf:"bytes,262,rep,name=map_int32_list_value,json=mapInt32ListValue,proto3" json:"map_int32_list_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Int64Wrapper map[int32]*wrapperspb.Int64Value `protobuf:"bytes,263,rep,name=map_int32_int64_wrapper,json=mapInt32Int64Wrapper,proto3" json:"map_int32_int64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Int32Wrapper map[int32]*wrapperspb.Int32Value `protobuf:"bytes,264,rep,name=map_int32_int32_wrapper,json=mapInt32Int32Wrapper,proto3" json:"map_int32_int32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32DoubleWrapper map[int32]*wrapperspb.DoubleValue `protobuf:"bytes,265,rep,name=map_int32_double_wrapper,json=mapInt32DoubleWrapper,proto3" json:"map_int32_double_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32FloatWrapper map[int32]*wrapperspb.FloatValue `protobuf:"bytes,266,rep,name=map_int32_float_wrapper,json=mapInt32FloatWrapper,proto3" json:"map_int32_float_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Uint64Wrapper map[int32]*wrapperspb.UInt64Value `protobuf:"bytes,267,rep,name=map_int32_uint64_wrapper,json=mapInt32Uint64Wrapper,proto3" json:"map_int32_uint64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32Uint32Wrapper map[int32]*wrapperspb.UInt32Value `protobuf:"bytes,268,rep,name=map_int32_uint32_wrapper,json=mapInt32Uint32Wrapper,proto3" json:"map_int32_uint32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32StringWrapper map[int32]*wrapperspb.StringValue `protobuf:"bytes,269,rep,name=map_int32_string_wrapper,json=mapInt32StringWrapper,proto3" json:"map_int32_string_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32BoolWrapper map[int32]*wrapperspb.BoolValue `protobuf:"bytes,270,rep,name=map_int32_bool_wrapper,json=mapInt32BoolWrapper,proto3" json:"map_int32_bool_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt32BytesWrapper map[int32]*wrapperspb.BytesValue `protobuf:"bytes,271,rep,name=map_int32_bytes_wrapper,json=mapInt32BytesWrapper,proto3" json:"map_int32_bytes_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Bool map[int64]bool `protobuf:"bytes,85,rep,name=map_int64_bool,json=mapInt64Bool,proto3" json:"map_int64_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt64String map[int64]string `protobuf:"bytes,86,rep,name=map_int64_string,json=mapInt64String,proto3" json:"map_int64_string,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Bytes map[int64][]byte `protobuf:"bytes,87,rep,name=map_int64_bytes,json=mapInt64Bytes,proto3" json:"map_int64_bytes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Int32 map[int64]int32 `protobuf:"bytes,88,rep,name=map_int64_int32,json=mapInt64Int32,proto3" json:"map_int64_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt64Int64 map[int64]int64 `protobuf:"bytes,89,rep,name=map_int64_int64,json=mapInt64Int64,proto3" json:"map_int64_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt64Uint32 map[int64]uint32 `protobuf:"bytes,90,rep,name=map_int64_uint32,json=mapInt64Uint32,proto3" json:"map_int64_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt64Uint64 map[int64]uint64 `protobuf:"bytes,91,rep,name=map_int64_uint64,json=mapInt64Uint64,proto3" json:"map_int64_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapInt64Float map[int64]float32 `protobuf:"bytes,92,rep,name=map_int64_float,json=mapInt64Float,proto3" json:"map_int64_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
MapInt64Double map[int64]float64 `protobuf:"bytes,93,rep,name=map_int64_double,json=mapInt64Double,proto3" json:"map_int64_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
MapInt64Enum map[int64]TestAllTypes_NestedEnum `protobuf:"bytes,94,rep,name=map_int64_enum,json=mapInt64Enum,proto3" json:"map_int64_enum,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=cel.expr.conformance.proto3.TestAllTypes_NestedEnum"`
MapInt64Message map[int64]*TestAllTypes_NestedMessage `protobuf:"bytes,95,rep,name=map_int64_message,json=mapInt64Message,proto3" json:"map_int64_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Duration map[int64]*durationpb.Duration `protobuf:"bytes,234,rep,name=map_int64_duration,json=mapInt64Duration,proto3" json:"map_int64_duration,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Timestamp map[int64]*timestamppb.Timestamp `protobuf:"bytes,235,rep,name=map_int64_timestamp,json=mapInt64Timestamp,proto3" json:"map_int64_timestamp,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64NullValue map[int64]structpb.NullValue `protobuf:"bytes,236,rep,name=map_int64_null_value,json=mapInt64NullValue,proto3" json:"map_int64_null_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.protobuf.NullValue"`
MapInt64Any map[int64]*anypb.Any `protobuf:"bytes,272,rep,name=map_int64_any,json=mapInt64Any,proto3" json:"map_int64_any,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Struct map[int64]*structpb.Struct `protobuf:"bytes,273,rep,name=map_int64_struct,json=mapInt64Struct,proto3" json:"map_int64_struct,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Value map[int64]*structpb.Value `protobuf:"bytes,274,rep,name=map_int64_value,json=mapInt64Value,proto3" json:"map_int64_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64ListValue map[int64]*structpb.ListValue `protobuf:"bytes,275,rep,name=map_int64_list_value,json=mapInt64ListValue,proto3" json:"map_int64_list_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Int64Wrapper map[int64]*wrapperspb.Int64Value `protobuf:"bytes,276,rep,name=map_int64_int64_wrapper,json=mapInt64Int64Wrapper,proto3" json:"map_int64_int64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Int32Wrapper map[int64]*wrapperspb.Int32Value `protobuf:"bytes,277,rep,name=map_int64_int32_wrapper,json=mapInt64Int32Wrapper,proto3" json:"map_int64_int32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64DoubleWrapper map[int64]*wrapperspb.DoubleValue `protobuf:"bytes,278,rep,name=map_int64_double_wrapper,json=mapInt64DoubleWrapper,proto3" json:"map_int64_double_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64FloatWrapper map[int64]*wrapperspb.FloatValue `protobuf:"bytes,279,rep,name=map_int64_float_wrapper,json=mapInt64FloatWrapper,proto3" json:"map_int64_float_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Uint64Wrapper map[int64]*wrapperspb.UInt64Value `protobuf:"bytes,280,rep,name=map_int64_uint64_wrapper,json=mapInt64Uint64Wrapper,proto3" json:"map_int64_uint64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64Uint32Wrapper map[int64]*wrapperspb.UInt32Value `protobuf:"bytes,281,rep,name=map_int64_uint32_wrapper,json=mapInt64Uint32Wrapper,proto3" json:"map_int64_uint32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64StringWrapper map[int64]*wrapperspb.StringValue `protobuf:"bytes,282,rep,name=map_int64_string_wrapper,json=mapInt64StringWrapper,proto3" json:"map_int64_string_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64BoolWrapper map[int64]*wrapperspb.BoolValue `protobuf:"bytes,283,rep,name=map_int64_bool_wrapper,json=mapInt64BoolWrapper,proto3" json:"map_int64_bool_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapInt64BytesWrapper map[int64]*wrapperspb.BytesValue `protobuf:"bytes,284,rep,name=map_int64_bytes_wrapper,json=mapInt64BytesWrapper,proto3" json:"map_int64_bytes_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Bool map[uint32]bool `protobuf:"bytes,96,rep,name=map_uint32_bool,json=mapUint32Bool,proto3" json:"map_uint32_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint32String map[uint32]string `protobuf:"bytes,97,rep,name=map_uint32_string,json=mapUint32String,proto3" json:"map_uint32_string,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Bytes map[uint32][]byte `protobuf:"bytes,98,rep,name=map_uint32_bytes,json=mapUint32Bytes,proto3" json:"map_uint32_bytes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Int32 map[uint32]int32 `protobuf:"bytes,99,rep,name=map_uint32_int32,json=mapUint32Int32,proto3" json:"map_uint32_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint32Int64 map[uint32]int64 `protobuf:"bytes,200,rep,name=map_uint32_int64,json=mapUint32Int64,proto3" json:"map_uint32_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint32Uint32 map[uint32]uint32 `protobuf:"bytes,201,rep,name=map_uint32_uint32,json=mapUint32Uint32,proto3" json:"map_uint32_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint32Uint64 map[uint32]uint64 `protobuf:"bytes,202,rep,name=map_uint32_uint64,json=mapUint32Uint64,proto3" json:"map_uint32_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint32Float map[uint32]float32 `protobuf:"bytes,203,rep,name=map_uint32_float,json=mapUint32Float,proto3" json:"map_uint32_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
MapUint32Double map[uint32]float64 `protobuf:"bytes,204,rep,name=map_uint32_double,json=mapUint32Double,proto3" json:"map_uint32_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
MapUint32Enum map[uint32]TestAllTypes_NestedEnum `protobuf:"bytes,205,rep,name=map_uint32_enum,json=mapUint32Enum,proto3" json:"map_uint32_enum,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=cel.expr.conformance.proto3.TestAllTypes_NestedEnum"`
MapUint32Message map[uint32]*TestAllTypes_NestedMessage `protobuf:"bytes,206,rep,name=map_uint32_message,json=mapUint32Message,proto3" json:"map_uint32_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Duration map[uint32]*durationpb.Duration `protobuf:"bytes,237,rep,name=map_uint32_duration,json=mapUint32Duration,proto3" json:"map_uint32_duration,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Timestamp map[uint32]*timestamppb.Timestamp `protobuf:"bytes,238,rep,name=map_uint32_timestamp,json=mapUint32Timestamp,proto3" json:"map_uint32_timestamp,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32NullValue map[uint32]structpb.NullValue `protobuf:"bytes,239,rep,name=map_uint32_null_value,json=mapUint32NullValue,proto3" json:"map_uint32_null_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.protobuf.NullValue"`
MapUint32Any map[uint32]*anypb.Any `protobuf:"bytes,285,rep,name=map_uint32_any,json=mapUint32Any,proto3" json:"map_uint32_any,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Struct map[uint32]*structpb.Struct `protobuf:"bytes,286,rep,name=map_uint32_struct,json=mapUint32Struct,proto3" json:"map_uint32_struct,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Value map[uint32]*structpb.Value `protobuf:"bytes,287,rep,name=map_uint32_value,json=mapUint32Value,proto3" json:"map_uint32_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32ListValue map[uint32]*structpb.ListValue `protobuf:"bytes,288,rep,name=map_uint32_list_value,json=mapUint32ListValue,proto3" json:"map_uint32_list_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Int64Wrapper map[uint32]*wrapperspb.Int64Value `protobuf:"bytes,289,rep,name=map_uint32_int64_wrapper,json=mapUint32Int64Wrapper,proto3" json:"map_uint32_int64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Int32Wrapper map[uint32]*wrapperspb.Int32Value `protobuf:"bytes,290,rep,name=map_uint32_int32_wrapper,json=mapUint32Int32Wrapper,proto3" json:"map_uint32_int32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32DoubleWrapper map[uint32]*wrapperspb.DoubleValue `protobuf:"bytes,291,rep,name=map_uint32_double_wrapper,json=mapUint32DoubleWrapper,proto3" json:"map_uint32_double_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32FloatWrapper map[uint32]*wrapperspb.FloatValue `protobuf:"bytes,292,rep,name=map_uint32_float_wrapper,json=mapUint32FloatWrapper,proto3" json:"map_uint32_float_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Uint64Wrapper map[uint32]*wrapperspb.UInt64Value `protobuf:"bytes,293,rep,name=map_uint32_uint64_wrapper,json=mapUint32Uint64Wrapper,proto3" json:"map_uint32_uint64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32Uint32Wrapper map[uint32]*wrapperspb.UInt32Value `protobuf:"bytes,294,rep,name=map_uint32_uint32_wrapper,json=mapUint32Uint32Wrapper,proto3" json:"map_uint32_uint32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32StringWrapper map[uint32]*wrapperspb.StringValue `protobuf:"bytes,295,rep,name=map_uint32_string_wrapper,json=mapUint32StringWrapper,proto3" json:"map_uint32_string_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32BoolWrapper map[uint32]*wrapperspb.BoolValue `protobuf:"bytes,296,rep,name=map_uint32_bool_wrapper,json=mapUint32BoolWrapper,proto3" json:"map_uint32_bool_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint32BytesWrapper map[uint32]*wrapperspb.BytesValue `protobuf:"bytes,297,rep,name=map_uint32_bytes_wrapper,json=mapUint32BytesWrapper,proto3" json:"map_uint32_bytes_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Bool map[uint64]bool `protobuf:"bytes,207,rep,name=map_uint64_bool,json=mapUint64Bool,proto3" json:"map_uint64_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint64String map[uint64]string `protobuf:"bytes,208,rep,name=map_uint64_string,json=mapUint64String,proto3" json:"map_uint64_string,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Bytes map[uint64][]byte `protobuf:"bytes,209,rep,name=map_uint64_bytes,json=mapUint64Bytes,proto3" json:"map_uint64_bytes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Int32 map[uint64]int32 `protobuf:"bytes,210,rep,name=map_uint64_int32,json=mapUint64Int32,proto3" json:"map_uint64_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint64Int64 map[uint64]int64 `protobuf:"bytes,211,rep,name=map_uint64_int64,json=mapUint64Int64,proto3" json:"map_uint64_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint64Uint32 map[uint64]uint32 `protobuf:"bytes,212,rep,name=map_uint64_uint32,json=mapUint64Uint32,proto3" json:"map_uint64_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint64Uint64 map[uint64]uint64 `protobuf:"bytes,213,rep,name=map_uint64_uint64,json=mapUint64Uint64,proto3" json:"map_uint64_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapUint64Float map[uint64]float32 `protobuf:"bytes,214,rep,name=map_uint64_float,json=mapUint64Float,proto3" json:"map_uint64_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
MapUint64Double map[uint64]float64 `protobuf:"bytes,215,rep,name=map_uint64_double,json=mapUint64Double,proto3" json:"map_uint64_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
MapUint64Enum map[uint64]TestAllTypes_NestedEnum `protobuf:"bytes,216,rep,name=map_uint64_enum,json=mapUint64Enum,proto3" json:"map_uint64_enum,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=cel.expr.conformance.proto3.TestAllTypes_NestedEnum"`
MapUint64Message map[uint64]*TestAllTypes_NestedMessage `protobuf:"bytes,217,rep,name=map_uint64_message,json=mapUint64Message,proto3" json:"map_uint64_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Duration map[uint64]*durationpb.Duration `protobuf:"bytes,240,rep,name=map_uint64_duration,json=mapUint64Duration,proto3" json:"map_uint64_duration,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Timestamp map[uint64]*timestamppb.Timestamp `protobuf:"bytes,241,rep,name=map_uint64_timestamp,json=mapUint64Timestamp,proto3" json:"map_uint64_timestamp,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64NullValue map[uint64]structpb.NullValue `protobuf:"bytes,242,rep,name=map_uint64_null_value,json=mapUint64NullValue,proto3" json:"map_uint64_null_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.protobuf.NullValue"`
MapUint64Any map[uint64]*anypb.Any `protobuf:"bytes,298,rep,name=map_uint64_any,json=mapUint64Any,proto3" json:"map_uint64_any,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Struct map[uint64]*structpb.Struct `protobuf:"bytes,299,rep,name=map_uint64_struct,json=mapUint64Struct,proto3" json:"map_uint64_struct,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Value map[uint64]*structpb.Value `protobuf:"bytes,300,rep,name=map_uint64_value,json=mapUint64Value,proto3" json:"map_uint64_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64ListValue map[uint64]*structpb.ListValue `protobuf:"bytes,301,rep,name=map_uint64_list_value,json=mapUint64ListValue,proto3" json:"map_uint64_list_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Int64Wrapper map[uint64]*wrapperspb.Int64Value `protobuf:"bytes,302,rep,name=map_uint64_int64_wrapper,json=mapUint64Int64Wrapper,proto3" json:"map_uint64_int64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Int32Wrapper map[uint64]*wrapperspb.Int32Value `protobuf:"bytes,303,rep,name=map_uint64_int32_wrapper,json=mapUint64Int32Wrapper,proto3" json:"map_uint64_int32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64DoubleWrapper map[uint64]*wrapperspb.DoubleValue `protobuf:"bytes,304,rep,name=map_uint64_double_wrapper,json=mapUint64DoubleWrapper,proto3" json:"map_uint64_double_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64FloatWrapper map[uint64]*wrapperspb.FloatValue `protobuf:"bytes,305,rep,name=map_uint64_float_wrapper,json=mapUint64FloatWrapper,proto3" json:"map_uint64_float_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Uint64Wrapper map[uint64]*wrapperspb.UInt64Value `protobuf:"bytes,306,rep,name=map_uint64_uint64_wrapper,json=mapUint64Uint64Wrapper,proto3" json:"map_uint64_uint64_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64Uint32Wrapper map[uint64]*wrapperspb.UInt32Value `protobuf:"bytes,307,rep,name=map_uint64_uint32_wrapper,json=mapUint64Uint32Wrapper,proto3" json:"map_uint64_uint32_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64StringWrapper map[uint64]*wrapperspb.StringValue `protobuf:"bytes,308,rep,name=map_uint64_string_wrapper,json=mapUint64StringWrapper,proto3" json:"map_uint64_string_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64BoolWrapper map[uint64]*wrapperspb.BoolValue `protobuf:"bytes,309,rep,name=map_uint64_bool_wrapper,json=mapUint64BoolWrapper,proto3" json:"map_uint64_bool_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapUint64BytesWrapper map[uint64]*wrapperspb.BytesValue `protobuf:"bytes,310,rep,name=map_uint64_bytes_wrapper,json=mapUint64BytesWrapper,proto3" json:"map_uint64_bytes_wrapper,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringBool map[string]bool `protobuf:"bytes,218,rep,name=map_string_bool,json=mapStringBool,proto3" json:"map_string_bool,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapStringString map[string]string `protobuf:"bytes,61,rep,name=map_string_string,json=mapStringString,proto3" json:"map_string_string,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringBytes map[string][]byte `protobuf:"bytes,219,rep,name=map_string_bytes,json=mapStringBytes,proto3" json:"map_string_bytes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringInt32 map[string]int32 `protobuf:"bytes,220,rep,name=map_string_int32,json=mapStringInt32,proto3" json:"map_string_int32,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapStringInt64 map[string]int64 `protobuf:"bytes,221,rep,name=map_string_int64,json=mapStringInt64,proto3" json:"map_string_int64,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapStringUint32 map[string]uint32 `protobuf:"bytes,222,rep,name=map_string_uint32,json=mapStringUint32,proto3" json:"map_string_uint32,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapStringUint64 map[string]uint64 `protobuf:"bytes,223,rep,name=map_string_uint64,json=mapStringUint64,proto3" json:"map_string_uint64,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
MapStringFloat map[string]float32 `protobuf:"bytes,224,rep,name=map_string_float,json=mapStringFloat,proto3" json:"map_string_float,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
MapStringDouble map[string]float64 `protobuf:"bytes,225,rep,name=map_string_double,json=mapStringDouble,proto3" json:"map_string_double,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
MapStringEnum map[string]TestAllTypes_NestedEnum `protobuf:"bytes,226,rep,name=map_string_enum,json=mapStringEnum,proto3" json:"map_string_enum,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=cel.expr.conformance.proto3.TestAllTypes_NestedEnum"`
MapStringMessage map[string]*TestAllTypes_NestedMessage `protobuf:"bytes,227,rep,name=map_string_message,json=mapStringMessage,proto3" json:"map_string_message,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringDuration map[string]*durationpb.Duration `protobuf:"bytes,243,rep,name=map_string_duration,json=mapStringDuration,proto3" json:"map_string_duration,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringTimestamp map[string]*timestamppb.Timestamp `protobuf:"bytes,244,rep,name=map_string_timestamp,json=mapStringTimestamp,proto3" json:"map_string_timestamp,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringNullValue map[string]structpb.NullValue `protobuf:"bytes,245,rep,name=map_string_null_value,json=mapStringNullValue,proto3" json:"map_string_null_value,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.protobuf.NullValue"`
MapStringAny map[string]*anypb.Any `protobuf:"bytes,311,rep,name=map_string_any,json=mapStringAny,proto3" json:"map_string_any,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringStruct map[string]*structpb.Struct `protobuf:"bytes,312,rep,name=map_string_struct,json=mapStringStruct,proto3" json:"map_string_struct,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringValue map[string]*structpb.Value `protobuf:"bytes,313,rep,name=map_string_value,json=mapStringValue,proto3" json:"map_string_value,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringListValue map[string]*structpb.ListValue `protobuf:"bytes,314,rep,name=map_string_list_value,json=mapStringListValue,proto3" json:"map_string_list_value,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringInt64Wrapper map[string]*wrapperspb.Int64Value `protobuf:"bytes,315,rep,name=map_string_int64_wrapper,json=mapStringInt64Wrapper,proto3" json:"map_string_int64_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringInt32Wrapper map[string]*wrapperspb.Int32Value `protobuf:"bytes,316,rep,name=map_string_int32_wrapper,json=mapStringInt32Wrapper,proto3" json:"map_string_int32_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringDoubleWrapper map[string]*wrapperspb.DoubleValue `protobuf:"bytes,317,rep,name=map_string_double_wrapper,json=mapStringDoubleWrapper,proto3" json:"map_string_double_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringFloatWrapper map[string]*wrapperspb.FloatValue `protobuf:"bytes,318,rep,name=map_string_float_wrapper,json=mapStringFloatWrapper,proto3" json:"map_string_float_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringUint64Wrapper map[string]*wrapperspb.UInt64Value `protobuf:"bytes,319,rep,name=map_string_uint64_wrapper,json=mapStringUint64Wrapper,proto3" json:"map_string_uint64_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringUint32Wrapper map[string]*wrapperspb.UInt32Value `protobuf:"bytes,320,rep,name=map_string_uint32_wrapper,json=mapStringUint32Wrapper,proto3" json:"map_string_uint32_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringStringWrapper map[string]*wrapperspb.StringValue `protobuf:"bytes,321,rep,name=map_string_string_wrapper,json=mapStringStringWrapper,proto3" json:"map_string_string_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringBoolWrapper map[string]*wrapperspb.BoolValue `protobuf:"bytes,322,rep,name=map_string_bool_wrapper,json=mapStringBoolWrapper,proto3" json:"map_string_bool_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MapStringBytesWrapper map[string]*wrapperspb.BytesValue `protobuf:"bytes,323,rep,name=map_string_bytes_wrapper,json=mapStringBytesWrapper,proto3" json:"map_string_bytes_wrapper,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
// Types that are valid to be assigned to Kind:
//
// *TestAllTypes_OneofType
// *TestAllTypes_OneofMsg
// *TestAllTypes_OneofBool
Kind isTestAllTypes_Kind `protobuf_oneof:"kind"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TestAllTypes) Reset() {
*x = TestAllTypes{}
mi := &file_cel_expr_conformance_proto3_test_all_types_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TestAllTypes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestAllTypes) ProtoMessage() {}
func (x *TestAllTypes) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_proto3_test_all_types_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestAllTypes.ProtoReflect.Descriptor instead.
func (*TestAllTypes) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_proto3_test_all_types_proto_rawDescGZIP(), []int{0}
}
func (x *TestAllTypes) GetSingleInt32() int32 {
if x != nil {
return x.SingleInt32
}
return 0
}
func (x *TestAllTypes) GetSingleInt64() int64 {
if x != nil {
return x.SingleInt64
}
return 0
}
func (x *TestAllTypes) GetSingleUint32() uint32 {
if x != nil {
return x.SingleUint32
}
return 0
}
func (x *TestAllTypes) GetSingleUint64() uint64 {
if x != nil {
return x.SingleUint64
}
return 0
}
func (x *TestAllTypes) GetSingleSint32() int32 {
if x != nil {
return x.SingleSint32
}
return 0
}
func (x *TestAllTypes) GetSingleSint64() int64 {
if x != nil {
return x.SingleSint64
}
return 0
}
func (x *TestAllTypes) GetSingleFixed32() uint32 {
if x != nil {
return x.SingleFixed32
}
return 0
}
func (x *TestAllTypes) GetSingleFixed64() uint64 {
if x != nil {
return x.SingleFixed64
}
return 0
}
func (x *TestAllTypes) GetSingleSfixed32() int32 {
if x != nil {
return x.SingleSfixed32
}
return 0
}
func (x *TestAllTypes) GetSingleSfixed64() int64 {
if x != nil {
return x.SingleSfixed64
}
return 0
}
func (x *TestAllTypes) GetSingleFloat() float32 {
if x != nil {
return x.SingleFloat
}
return 0
}
func (x *TestAllTypes) GetSingleDouble() float64 {
if x != nil {
return x.SingleDouble
}
return 0
}
func (x *TestAllTypes) GetSingleBool() bool {
if x != nil {
return x.SingleBool
}
return false
}
func (x *TestAllTypes) GetSingleString() string {
if x != nil {
return x.SingleString
}
return ""
}
func (x *TestAllTypes) GetSingleBytes() []byte {
if x != nil {
return x.SingleBytes
}
return nil
}
func (x *TestAllTypes) GetOptionalBool() bool {
if x != nil && x.OptionalBool != nil {
return *x.OptionalBool
}
return false
}
func (x *TestAllTypes) GetOptionalString() bool {
if x != nil && x.OptionalString != nil {
return *x.OptionalString
}
return false
}
func (x *TestAllTypes) GetIn() bool {
if x != nil {
return x.In
}
return false
}
func (x *TestAllTypes) GetSingleAny() *anypb.Any {
if x != nil {
return x.SingleAny
}
return nil
}
func (x *TestAllTypes) GetSingleDuration() *durationpb.Duration {
if x != nil {
return x.SingleDuration
}
return nil
}
func (x *TestAllTypes) GetSingleTimestamp() *timestamppb.Timestamp {
if x != nil {
return x.SingleTimestamp
}
return nil
}
func (x *TestAllTypes) GetSingleStruct() *structpb.Struct {
if x != nil {
return x.SingleStruct
}
return nil
}
func (x *TestAllTypes) GetSingleValue() *structpb.Value {
if x != nil {
return x.SingleValue
}
return nil
}
func (x *TestAllTypes) GetSingleInt64Wrapper() *wrapperspb.Int64Value {
if x != nil {
return x.SingleInt64Wrapper
}
return nil
}
func (x *TestAllTypes) GetSingleInt32Wrapper() *wrapperspb.Int32Value {
if x != nil {
return x.SingleInt32Wrapper
}
return nil
}
func (x *TestAllTypes) GetSingleDoubleWrapper() *wrapperspb.DoubleValue {
if x != nil {
return x.SingleDoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetSingleFloatWrapper() *wrapperspb.FloatValue {
if x != nil {
return x.SingleFloatWrapper
}
return nil
}
func (x *TestAllTypes) GetSingleUint64Wrapper() *wrapperspb.UInt64Value {
if x != nil {
return x.SingleUint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetSingleUint32Wrapper() *wrapperspb.UInt32Value {
if x != nil {
return x.SingleUint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetSingleStringWrapper() *wrapperspb.StringValue {
if x != nil {
return x.SingleStringWrapper
}
return nil
}
func (x *TestAllTypes) GetSingleBoolWrapper() *wrapperspb.BoolValue {
if x != nil {
return x.SingleBoolWrapper
}
return nil
}
func (x *TestAllTypes) GetSingleBytesWrapper() *wrapperspb.BytesValue {
if x != nil {
return x.SingleBytesWrapper
}
return nil
}
func (x *TestAllTypes) GetListValue() *structpb.ListValue {
if x != nil {
return x.ListValue
}
return nil
}
func (x *TestAllTypes) GetNullValue() structpb.NullValue {
if x != nil {
return x.NullValue
}
return structpb.NullValue(0)
}
func (x *TestAllTypes) GetOptionalNullValue() structpb.NullValue {
if x != nil && x.OptionalNullValue != nil {
return *x.OptionalNullValue
}
return structpb.NullValue(0)
}
func (x *TestAllTypes) GetFieldMask() *fieldmaskpb.FieldMask {
if x != nil {
return x.FieldMask
}
return nil
}
func (x *TestAllTypes) GetEmpty() *emptypb.Empty {
if x != nil {
return x.Empty
}
return nil
}
func (x *TestAllTypes) GetNestedType() isTestAllTypes_NestedType {
if x != nil {
return x.NestedType
}
return nil
}
func (x *TestAllTypes) GetSingleNestedMessage() *TestAllTypes_NestedMessage {
if x != nil {
if x, ok := x.NestedType.(*TestAllTypes_SingleNestedMessage); ok {
return x.SingleNestedMessage
}
}
return nil
}
func (x *TestAllTypes) GetSingleNestedEnum() TestAllTypes_NestedEnum {
if x != nil {
if x, ok := x.NestedType.(*TestAllTypes_SingleNestedEnum); ok {
return x.SingleNestedEnum
}
}
return TestAllTypes_FOO
}
func (x *TestAllTypes) GetStandaloneMessage() *TestAllTypes_NestedMessage {
if x != nil {
return x.StandaloneMessage
}
return nil
}
func (x *TestAllTypes) GetStandaloneEnum() TestAllTypes_NestedEnum {
if x != nil {
return x.StandaloneEnum
}
return TestAllTypes_FOO
}
func (x *TestAllTypes) GetRepeatedInt32() []int32 {
if x != nil {
return x.RepeatedInt32
}
return nil
}
func (x *TestAllTypes) GetRepeatedInt64() []int64 {
if x != nil {
return x.RepeatedInt64
}
return nil
}
func (x *TestAllTypes) GetRepeatedUint32() []uint32 {
if x != nil {
return x.RepeatedUint32
}
return nil
}
func (x *TestAllTypes) GetRepeatedUint64() []uint64 {
if x != nil {
return x.RepeatedUint64
}
return nil
}
func (x *TestAllTypes) GetRepeatedSint32() []int32 {
if x != nil {
return x.RepeatedSint32
}
return nil
}
func (x *TestAllTypes) GetRepeatedSint64() []int64 {
if x != nil {
return x.RepeatedSint64
}
return nil
}
func (x *TestAllTypes) GetRepeatedFixed32() []uint32 {
if x != nil {
return x.RepeatedFixed32
}
return nil
}
func (x *TestAllTypes) GetRepeatedFixed64() []uint64 {
if x != nil {
return x.RepeatedFixed64
}
return nil
}
func (x *TestAllTypes) GetRepeatedSfixed32() []int32 {
if x != nil {
return x.RepeatedSfixed32
}
return nil
}
func (x *TestAllTypes) GetRepeatedSfixed64() []int64 {
if x != nil {
return x.RepeatedSfixed64
}
return nil
}
func (x *TestAllTypes) GetRepeatedFloat() []float32 {
if x != nil {
return x.RepeatedFloat
}
return nil
}
func (x *TestAllTypes) GetRepeatedDouble() []float64 {
if x != nil {
return x.RepeatedDouble
}
return nil
}
func (x *TestAllTypes) GetRepeatedBool() []bool {
if x != nil {
return x.RepeatedBool
}
return nil
}
func (x *TestAllTypes) GetRepeatedString() []string {
if x != nil {
return x.RepeatedString
}
return nil
}
func (x *TestAllTypes) GetRepeatedBytes() [][]byte {
if x != nil {
return x.RepeatedBytes
}
return nil
}
func (x *TestAllTypes) GetRepeatedNestedMessage() []*TestAllTypes_NestedMessage {
if x != nil {
return x.RepeatedNestedMessage
}
return nil
}
func (x *TestAllTypes) GetRepeatedNestedEnum() []TestAllTypes_NestedEnum {
if x != nil {
return x.RepeatedNestedEnum
}
return nil
}
func (x *TestAllTypes) GetRepeatedStringPiece() []string {
if x != nil {
return x.RepeatedStringPiece
}
return nil
}
func (x *TestAllTypes) GetRepeatedCord() []string {
if x != nil {
return x.RepeatedCord
}
return nil
}
func (x *TestAllTypes) GetRepeatedLazyMessage() []*TestAllTypes_NestedMessage {
if x != nil {
return x.RepeatedLazyMessage
}
return nil
}
func (x *TestAllTypes) GetRepeatedAny() []*anypb.Any {
if x != nil {
return x.RepeatedAny
}
return nil
}
func (x *TestAllTypes) GetRepeatedDuration() []*durationpb.Duration {
if x != nil {
return x.RepeatedDuration
}
return nil
}
func (x *TestAllTypes) GetRepeatedTimestamp() []*timestamppb.Timestamp {
if x != nil {
return x.RepeatedTimestamp
}
return nil
}
func (x *TestAllTypes) GetRepeatedStruct() []*structpb.Struct {
if x != nil {
return x.RepeatedStruct
}
return nil
}
func (x *TestAllTypes) GetRepeatedValue() []*structpb.Value {
if x != nil {
return x.RepeatedValue
}
return nil
}
func (x *TestAllTypes) GetRepeatedInt64Wrapper() []*wrapperspb.Int64Value {
if x != nil {
return x.RepeatedInt64Wrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedInt32Wrapper() []*wrapperspb.Int32Value {
if x != nil {
return x.RepeatedInt32Wrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedDoubleWrapper() []*wrapperspb.DoubleValue {
if x != nil {
return x.RepeatedDoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedFloatWrapper() []*wrapperspb.FloatValue {
if x != nil {
return x.RepeatedFloatWrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedUint64Wrapper() []*wrapperspb.UInt64Value {
if x != nil {
return x.RepeatedUint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedUint32Wrapper() []*wrapperspb.UInt32Value {
if x != nil {
return x.RepeatedUint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedStringWrapper() []*wrapperspb.StringValue {
if x != nil {
return x.RepeatedStringWrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedBoolWrapper() []*wrapperspb.BoolValue {
if x != nil {
return x.RepeatedBoolWrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedBytesWrapper() []*wrapperspb.BytesValue {
if x != nil {
return x.RepeatedBytesWrapper
}
return nil
}
func (x *TestAllTypes) GetRepeatedListValue() []*structpb.ListValue {
if x != nil {
return x.RepeatedListValue
}
return nil
}
func (x *TestAllTypes) GetRepeatedNullValue() []structpb.NullValue {
if x != nil {
return x.RepeatedNullValue
}
return nil
}
func (x *TestAllTypes) GetMapInt64NestedType() map[int64]*NestedTestAllTypes {
if x != nil {
return x.MapInt64NestedType
}
return nil
}
func (x *TestAllTypes) GetMapBoolBool() map[bool]bool {
if x != nil {
return x.MapBoolBool
}
return nil
}
func (x *TestAllTypes) GetMapBoolString() map[bool]string {
if x != nil {
return x.MapBoolString
}
return nil
}
func (x *TestAllTypes) GetMapBoolBytes() map[bool][]byte {
if x != nil {
return x.MapBoolBytes
}
return nil
}
func (x *TestAllTypes) GetMapBoolInt32() map[bool]int32 {
if x != nil {
return x.MapBoolInt32
}
return nil
}
func (x *TestAllTypes) GetMapBoolInt64() map[bool]int64 {
if x != nil {
return x.MapBoolInt64
}
return nil
}
func (x *TestAllTypes) GetMapBoolUint32() map[bool]uint32 {
if x != nil {
return x.MapBoolUint32
}
return nil
}
func (x *TestAllTypes) GetMapBoolUint64() map[bool]uint64 {
if x != nil {
return x.MapBoolUint64
}
return nil
}
func (x *TestAllTypes) GetMapBoolFloat() map[bool]float32 {
if x != nil {
return x.MapBoolFloat
}
return nil
}
func (x *TestAllTypes) GetMapBoolDouble() map[bool]float64 {
if x != nil {
return x.MapBoolDouble
}
return nil
}
func (x *TestAllTypes) GetMapBoolEnum() map[bool]TestAllTypes_NestedEnum {
if x != nil {
return x.MapBoolEnum
}
return nil
}
func (x *TestAllTypes) GetMapBoolMessage() map[bool]*TestAllTypes_NestedMessage {
if x != nil {
return x.MapBoolMessage
}
return nil
}
func (x *TestAllTypes) GetMapBoolDuration() map[bool]*durationpb.Duration {
if x != nil {
return x.MapBoolDuration
}
return nil
}
func (x *TestAllTypes) GetMapBoolTimestamp() map[bool]*timestamppb.Timestamp {
if x != nil {
return x.MapBoolTimestamp
}
return nil
}
func (x *TestAllTypes) GetMapBoolNullValue() map[bool]structpb.NullValue {
if x != nil {
return x.MapBoolNullValue
}
return nil
}
func (x *TestAllTypes) GetMapBoolAny() map[bool]*anypb.Any {
if x != nil {
return x.MapBoolAny
}
return nil
}
func (x *TestAllTypes) GetMapBoolStruct() map[bool]*structpb.Struct {
if x != nil {
return x.MapBoolStruct
}
return nil
}
func (x *TestAllTypes) GetMapBoolValue() map[bool]*structpb.Value {
if x != nil {
return x.MapBoolValue
}
return nil
}
func (x *TestAllTypes) GetMapBoolListValue() map[bool]*structpb.ListValue {
if x != nil {
return x.MapBoolListValue
}
return nil
}
func (x *TestAllTypes) GetMapBoolInt64Wrapper() map[bool]*wrapperspb.Int64Value {
if x != nil {
return x.MapBoolInt64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolInt32Wrapper() map[bool]*wrapperspb.Int32Value {
if x != nil {
return x.MapBoolInt32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolDoubleWrapper() map[bool]*wrapperspb.DoubleValue {
if x != nil {
return x.MapBoolDoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolFloatWrapper() map[bool]*wrapperspb.FloatValue {
if x != nil {
return x.MapBoolFloatWrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolUint64Wrapper() map[bool]*wrapperspb.UInt64Value {
if x != nil {
return x.MapBoolUint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolUint32Wrapper() map[bool]*wrapperspb.UInt32Value {
if x != nil {
return x.MapBoolUint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolStringWrapper() map[bool]*wrapperspb.StringValue {
if x != nil {
return x.MapBoolStringWrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolBoolWrapper() map[bool]*wrapperspb.BoolValue {
if x != nil {
return x.MapBoolBoolWrapper
}
return nil
}
func (x *TestAllTypes) GetMapBoolBytesWrapper() map[bool]*wrapperspb.BytesValue {
if x != nil {
return x.MapBoolBytesWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32Bool() map[int32]bool {
if x != nil {
return x.MapInt32Bool
}
return nil
}
func (x *TestAllTypes) GetMapInt32String() map[int32]string {
if x != nil {
return x.MapInt32String
}
return nil
}
func (x *TestAllTypes) GetMapInt32Bytes() map[int32][]byte {
if x != nil {
return x.MapInt32Bytes
}
return nil
}
func (x *TestAllTypes) GetMapInt32Int32() map[int32]int32 {
if x != nil {
return x.MapInt32Int32
}
return nil
}
func (x *TestAllTypes) GetMapInt32Int64() map[int32]int64 {
if x != nil {
return x.MapInt32Int64
}
return nil
}
func (x *TestAllTypes) GetMapInt32Uint32() map[int32]uint32 {
if x != nil {
return x.MapInt32Uint32
}
return nil
}
func (x *TestAllTypes) GetMapInt32Uint64() map[int32]uint64 {
if x != nil {
return x.MapInt32Uint64
}
return nil
}
func (x *TestAllTypes) GetMapInt32Float() map[int32]float32 {
if x != nil {
return x.MapInt32Float
}
return nil
}
func (x *TestAllTypes) GetMapInt32Double() map[int32]float64 {
if x != nil {
return x.MapInt32Double
}
return nil
}
func (x *TestAllTypes) GetMapInt32Enum() map[int32]TestAllTypes_NestedEnum {
if x != nil {
return x.MapInt32Enum
}
return nil
}
func (x *TestAllTypes) GetMapInt32Message() map[int32]*TestAllTypes_NestedMessage {
if x != nil {
return x.MapInt32Message
}
return nil
}
func (x *TestAllTypes) GetMapInt32Duration() map[int32]*durationpb.Duration {
if x != nil {
return x.MapInt32Duration
}
return nil
}
func (x *TestAllTypes) GetMapInt32Timestamp() map[int32]*timestamppb.Timestamp {
if x != nil {
return x.MapInt32Timestamp
}
return nil
}
func (x *TestAllTypes) GetMapInt32NullValue() map[int32]structpb.NullValue {
if x != nil {
return x.MapInt32NullValue
}
return nil
}
func (x *TestAllTypes) GetMapInt32Any() map[int32]*anypb.Any {
if x != nil {
return x.MapInt32Any
}
return nil
}
func (x *TestAllTypes) GetMapInt32Struct() map[int32]*structpb.Struct {
if x != nil {
return x.MapInt32Struct
}
return nil
}
func (x *TestAllTypes) GetMapInt32Value() map[int32]*structpb.Value {
if x != nil {
return x.MapInt32Value
}
return nil
}
func (x *TestAllTypes) GetMapInt32ListValue() map[int32]*structpb.ListValue {
if x != nil {
return x.MapInt32ListValue
}
return nil
}
func (x *TestAllTypes) GetMapInt32Int64Wrapper() map[int32]*wrapperspb.Int64Value {
if x != nil {
return x.MapInt32Int64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32Int32Wrapper() map[int32]*wrapperspb.Int32Value {
if x != nil {
return x.MapInt32Int32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32DoubleWrapper() map[int32]*wrapperspb.DoubleValue {
if x != nil {
return x.MapInt32DoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32FloatWrapper() map[int32]*wrapperspb.FloatValue {
if x != nil {
return x.MapInt32FloatWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32Uint64Wrapper() map[int32]*wrapperspb.UInt64Value {
if x != nil {
return x.MapInt32Uint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32Uint32Wrapper() map[int32]*wrapperspb.UInt32Value {
if x != nil {
return x.MapInt32Uint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32StringWrapper() map[int32]*wrapperspb.StringValue {
if x != nil {
return x.MapInt32StringWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32BoolWrapper() map[int32]*wrapperspb.BoolValue {
if x != nil {
return x.MapInt32BoolWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt32BytesWrapper() map[int32]*wrapperspb.BytesValue {
if x != nil {
return x.MapInt32BytesWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64Bool() map[int64]bool {
if x != nil {
return x.MapInt64Bool
}
return nil
}
func (x *TestAllTypes) GetMapInt64String() map[int64]string {
if x != nil {
return x.MapInt64String
}
return nil
}
func (x *TestAllTypes) GetMapInt64Bytes() map[int64][]byte {
if x != nil {
return x.MapInt64Bytes
}
return nil
}
func (x *TestAllTypes) GetMapInt64Int32() map[int64]int32 {
if x != nil {
return x.MapInt64Int32
}
return nil
}
func (x *TestAllTypes) GetMapInt64Int64() map[int64]int64 {
if x != nil {
return x.MapInt64Int64
}
return nil
}
func (x *TestAllTypes) GetMapInt64Uint32() map[int64]uint32 {
if x != nil {
return x.MapInt64Uint32
}
return nil
}
func (x *TestAllTypes) GetMapInt64Uint64() map[int64]uint64 {
if x != nil {
return x.MapInt64Uint64
}
return nil
}
func (x *TestAllTypes) GetMapInt64Float() map[int64]float32 {
if x != nil {
return x.MapInt64Float
}
return nil
}
func (x *TestAllTypes) GetMapInt64Double() map[int64]float64 {
if x != nil {
return x.MapInt64Double
}
return nil
}
func (x *TestAllTypes) GetMapInt64Enum() map[int64]TestAllTypes_NestedEnum {
if x != nil {
return x.MapInt64Enum
}
return nil
}
func (x *TestAllTypes) GetMapInt64Message() map[int64]*TestAllTypes_NestedMessage {
if x != nil {
return x.MapInt64Message
}
return nil
}
func (x *TestAllTypes) GetMapInt64Duration() map[int64]*durationpb.Duration {
if x != nil {
return x.MapInt64Duration
}
return nil
}
func (x *TestAllTypes) GetMapInt64Timestamp() map[int64]*timestamppb.Timestamp {
if x != nil {
return x.MapInt64Timestamp
}
return nil
}
func (x *TestAllTypes) GetMapInt64NullValue() map[int64]structpb.NullValue {
if x != nil {
return x.MapInt64NullValue
}
return nil
}
func (x *TestAllTypes) GetMapInt64Any() map[int64]*anypb.Any {
if x != nil {
return x.MapInt64Any
}
return nil
}
func (x *TestAllTypes) GetMapInt64Struct() map[int64]*structpb.Struct {
if x != nil {
return x.MapInt64Struct
}
return nil
}
func (x *TestAllTypes) GetMapInt64Value() map[int64]*structpb.Value {
if x != nil {
return x.MapInt64Value
}
return nil
}
func (x *TestAllTypes) GetMapInt64ListValue() map[int64]*structpb.ListValue {
if x != nil {
return x.MapInt64ListValue
}
return nil
}
func (x *TestAllTypes) GetMapInt64Int64Wrapper() map[int64]*wrapperspb.Int64Value {
if x != nil {
return x.MapInt64Int64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64Int32Wrapper() map[int64]*wrapperspb.Int32Value {
if x != nil {
return x.MapInt64Int32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64DoubleWrapper() map[int64]*wrapperspb.DoubleValue {
if x != nil {
return x.MapInt64DoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64FloatWrapper() map[int64]*wrapperspb.FloatValue {
if x != nil {
return x.MapInt64FloatWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64Uint64Wrapper() map[int64]*wrapperspb.UInt64Value {
if x != nil {
return x.MapInt64Uint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64Uint32Wrapper() map[int64]*wrapperspb.UInt32Value {
if x != nil {
return x.MapInt64Uint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64StringWrapper() map[int64]*wrapperspb.StringValue {
if x != nil {
return x.MapInt64StringWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64BoolWrapper() map[int64]*wrapperspb.BoolValue {
if x != nil {
return x.MapInt64BoolWrapper
}
return nil
}
func (x *TestAllTypes) GetMapInt64BytesWrapper() map[int64]*wrapperspb.BytesValue {
if x != nil {
return x.MapInt64BytesWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32Bool() map[uint32]bool {
if x != nil {
return x.MapUint32Bool
}
return nil
}
func (x *TestAllTypes) GetMapUint32String() map[uint32]string {
if x != nil {
return x.MapUint32String
}
return nil
}
func (x *TestAllTypes) GetMapUint32Bytes() map[uint32][]byte {
if x != nil {
return x.MapUint32Bytes
}
return nil
}
func (x *TestAllTypes) GetMapUint32Int32() map[uint32]int32 {
if x != nil {
return x.MapUint32Int32
}
return nil
}
func (x *TestAllTypes) GetMapUint32Int64() map[uint32]int64 {
if x != nil {
return x.MapUint32Int64
}
return nil
}
func (x *TestAllTypes) GetMapUint32Uint32() map[uint32]uint32 {
if x != nil {
return x.MapUint32Uint32
}
return nil
}
func (x *TestAllTypes) GetMapUint32Uint64() map[uint32]uint64 {
if x != nil {
return x.MapUint32Uint64
}
return nil
}
func (x *TestAllTypes) GetMapUint32Float() map[uint32]float32 {
if x != nil {
return x.MapUint32Float
}
return nil
}
func (x *TestAllTypes) GetMapUint32Double() map[uint32]float64 {
if x != nil {
return x.MapUint32Double
}
return nil
}
func (x *TestAllTypes) GetMapUint32Enum() map[uint32]TestAllTypes_NestedEnum {
if x != nil {
return x.MapUint32Enum
}
return nil
}
func (x *TestAllTypes) GetMapUint32Message() map[uint32]*TestAllTypes_NestedMessage {
if x != nil {
return x.MapUint32Message
}
return nil
}
func (x *TestAllTypes) GetMapUint32Duration() map[uint32]*durationpb.Duration {
if x != nil {
return x.MapUint32Duration
}
return nil
}
func (x *TestAllTypes) GetMapUint32Timestamp() map[uint32]*timestamppb.Timestamp {
if x != nil {
return x.MapUint32Timestamp
}
return nil
}
func (x *TestAllTypes) GetMapUint32NullValue() map[uint32]structpb.NullValue {
if x != nil {
return x.MapUint32NullValue
}
return nil
}
func (x *TestAllTypes) GetMapUint32Any() map[uint32]*anypb.Any {
if x != nil {
return x.MapUint32Any
}
return nil
}
func (x *TestAllTypes) GetMapUint32Struct() map[uint32]*structpb.Struct {
if x != nil {
return x.MapUint32Struct
}
return nil
}
func (x *TestAllTypes) GetMapUint32Value() map[uint32]*structpb.Value {
if x != nil {
return x.MapUint32Value
}
return nil
}
func (x *TestAllTypes) GetMapUint32ListValue() map[uint32]*structpb.ListValue {
if x != nil {
return x.MapUint32ListValue
}
return nil
}
func (x *TestAllTypes) GetMapUint32Int64Wrapper() map[uint32]*wrapperspb.Int64Value {
if x != nil {
return x.MapUint32Int64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32Int32Wrapper() map[uint32]*wrapperspb.Int32Value {
if x != nil {
return x.MapUint32Int32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32DoubleWrapper() map[uint32]*wrapperspb.DoubleValue {
if x != nil {
return x.MapUint32DoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32FloatWrapper() map[uint32]*wrapperspb.FloatValue {
if x != nil {
return x.MapUint32FloatWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32Uint64Wrapper() map[uint32]*wrapperspb.UInt64Value {
if x != nil {
return x.MapUint32Uint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32Uint32Wrapper() map[uint32]*wrapperspb.UInt32Value {
if x != nil {
return x.MapUint32Uint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32StringWrapper() map[uint32]*wrapperspb.StringValue {
if x != nil {
return x.MapUint32StringWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32BoolWrapper() map[uint32]*wrapperspb.BoolValue {
if x != nil {
return x.MapUint32BoolWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint32BytesWrapper() map[uint32]*wrapperspb.BytesValue {
if x != nil {
return x.MapUint32BytesWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64Bool() map[uint64]bool {
if x != nil {
return x.MapUint64Bool
}
return nil
}
func (x *TestAllTypes) GetMapUint64String() map[uint64]string {
if x != nil {
return x.MapUint64String
}
return nil
}
func (x *TestAllTypes) GetMapUint64Bytes() map[uint64][]byte {
if x != nil {
return x.MapUint64Bytes
}
return nil
}
func (x *TestAllTypes) GetMapUint64Int32() map[uint64]int32 {
if x != nil {
return x.MapUint64Int32
}
return nil
}
func (x *TestAllTypes) GetMapUint64Int64() map[uint64]int64 {
if x != nil {
return x.MapUint64Int64
}
return nil
}
func (x *TestAllTypes) GetMapUint64Uint32() map[uint64]uint32 {
if x != nil {
return x.MapUint64Uint32
}
return nil
}
func (x *TestAllTypes) GetMapUint64Uint64() map[uint64]uint64 {
if x != nil {
return x.MapUint64Uint64
}
return nil
}
func (x *TestAllTypes) GetMapUint64Float() map[uint64]float32 {
if x != nil {
return x.MapUint64Float
}
return nil
}
func (x *TestAllTypes) GetMapUint64Double() map[uint64]float64 {
if x != nil {
return x.MapUint64Double
}
return nil
}
func (x *TestAllTypes) GetMapUint64Enum() map[uint64]TestAllTypes_NestedEnum {
if x != nil {
return x.MapUint64Enum
}
return nil
}
func (x *TestAllTypes) GetMapUint64Message() map[uint64]*TestAllTypes_NestedMessage {
if x != nil {
return x.MapUint64Message
}
return nil
}
func (x *TestAllTypes) GetMapUint64Duration() map[uint64]*durationpb.Duration {
if x != nil {
return x.MapUint64Duration
}
return nil
}
func (x *TestAllTypes) GetMapUint64Timestamp() map[uint64]*timestamppb.Timestamp {
if x != nil {
return x.MapUint64Timestamp
}
return nil
}
func (x *TestAllTypes) GetMapUint64NullValue() map[uint64]structpb.NullValue {
if x != nil {
return x.MapUint64NullValue
}
return nil
}
func (x *TestAllTypes) GetMapUint64Any() map[uint64]*anypb.Any {
if x != nil {
return x.MapUint64Any
}
return nil
}
func (x *TestAllTypes) GetMapUint64Struct() map[uint64]*structpb.Struct {
if x != nil {
return x.MapUint64Struct
}
return nil
}
func (x *TestAllTypes) GetMapUint64Value() map[uint64]*structpb.Value {
if x != nil {
return x.MapUint64Value
}
return nil
}
func (x *TestAllTypes) GetMapUint64ListValue() map[uint64]*structpb.ListValue {
if x != nil {
return x.MapUint64ListValue
}
return nil
}
func (x *TestAllTypes) GetMapUint64Int64Wrapper() map[uint64]*wrapperspb.Int64Value {
if x != nil {
return x.MapUint64Int64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64Int32Wrapper() map[uint64]*wrapperspb.Int32Value {
if x != nil {
return x.MapUint64Int32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64DoubleWrapper() map[uint64]*wrapperspb.DoubleValue {
if x != nil {
return x.MapUint64DoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64FloatWrapper() map[uint64]*wrapperspb.FloatValue {
if x != nil {
return x.MapUint64FloatWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64Uint64Wrapper() map[uint64]*wrapperspb.UInt64Value {
if x != nil {
return x.MapUint64Uint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64Uint32Wrapper() map[uint64]*wrapperspb.UInt32Value {
if x != nil {
return x.MapUint64Uint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64StringWrapper() map[uint64]*wrapperspb.StringValue {
if x != nil {
return x.MapUint64StringWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64BoolWrapper() map[uint64]*wrapperspb.BoolValue {
if x != nil {
return x.MapUint64BoolWrapper
}
return nil
}
func (x *TestAllTypes) GetMapUint64BytesWrapper() map[uint64]*wrapperspb.BytesValue {
if x != nil {
return x.MapUint64BytesWrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringBool() map[string]bool {
if x != nil {
return x.MapStringBool
}
return nil
}
func (x *TestAllTypes) GetMapStringString() map[string]string {
if x != nil {
return x.MapStringString
}
return nil
}
func (x *TestAllTypes) GetMapStringBytes() map[string][]byte {
if x != nil {
return x.MapStringBytes
}
return nil
}
func (x *TestAllTypes) GetMapStringInt32() map[string]int32 {
if x != nil {
return x.MapStringInt32
}
return nil
}
func (x *TestAllTypes) GetMapStringInt64() map[string]int64 {
if x != nil {
return x.MapStringInt64
}
return nil
}
func (x *TestAllTypes) GetMapStringUint32() map[string]uint32 {
if x != nil {
return x.MapStringUint32
}
return nil
}
func (x *TestAllTypes) GetMapStringUint64() map[string]uint64 {
if x != nil {
return x.MapStringUint64
}
return nil
}
func (x *TestAllTypes) GetMapStringFloat() map[string]float32 {
if x != nil {
return x.MapStringFloat
}
return nil
}
func (x *TestAllTypes) GetMapStringDouble() map[string]float64 {
if x != nil {
return x.MapStringDouble
}
return nil
}
func (x *TestAllTypes) GetMapStringEnum() map[string]TestAllTypes_NestedEnum {
if x != nil {
return x.MapStringEnum
}
return nil
}
func (x *TestAllTypes) GetMapStringMessage() map[string]*TestAllTypes_NestedMessage {
if x != nil {
return x.MapStringMessage
}
return nil
}
func (x *TestAllTypes) GetMapStringDuration() map[string]*durationpb.Duration {
if x != nil {
return x.MapStringDuration
}
return nil
}
func (x *TestAllTypes) GetMapStringTimestamp() map[string]*timestamppb.Timestamp {
if x != nil {
return x.MapStringTimestamp
}
return nil
}
func (x *TestAllTypes) GetMapStringNullValue() map[string]structpb.NullValue {
if x != nil {
return x.MapStringNullValue
}
return nil
}
func (x *TestAllTypes) GetMapStringAny() map[string]*anypb.Any {
if x != nil {
return x.MapStringAny
}
return nil
}
func (x *TestAllTypes) GetMapStringStruct() map[string]*structpb.Struct {
if x != nil {
return x.MapStringStruct
}
return nil
}
func (x *TestAllTypes) GetMapStringValue() map[string]*structpb.Value {
if x != nil {
return x.MapStringValue
}
return nil
}
func (x *TestAllTypes) GetMapStringListValue() map[string]*structpb.ListValue {
if x != nil {
return x.MapStringListValue
}
return nil
}
func (x *TestAllTypes) GetMapStringInt64Wrapper() map[string]*wrapperspb.Int64Value {
if x != nil {
return x.MapStringInt64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringInt32Wrapper() map[string]*wrapperspb.Int32Value {
if x != nil {
return x.MapStringInt32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringDoubleWrapper() map[string]*wrapperspb.DoubleValue {
if x != nil {
return x.MapStringDoubleWrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringFloatWrapper() map[string]*wrapperspb.FloatValue {
if x != nil {
return x.MapStringFloatWrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringUint64Wrapper() map[string]*wrapperspb.UInt64Value {
if x != nil {
return x.MapStringUint64Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringUint32Wrapper() map[string]*wrapperspb.UInt32Value {
if x != nil {
return x.MapStringUint32Wrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringStringWrapper() map[string]*wrapperspb.StringValue {
if x != nil {
return x.MapStringStringWrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringBoolWrapper() map[string]*wrapperspb.BoolValue {
if x != nil {
return x.MapStringBoolWrapper
}
return nil
}
func (x *TestAllTypes) GetMapStringBytesWrapper() map[string]*wrapperspb.BytesValue {
if x != nil {
return x.MapStringBytesWrapper
}
return nil
}
func (x *TestAllTypes) GetKind() isTestAllTypes_Kind {
if x != nil {
return x.Kind
}
return nil
}
func (x *TestAllTypes) GetOneofType() *NestedTestAllTypes {
if x != nil {
if x, ok := x.Kind.(*TestAllTypes_OneofType); ok {
return x.OneofType
}
}
return nil
}
func (x *TestAllTypes) GetOneofMsg() *TestAllTypes_NestedMessage {
if x != nil {
if x, ok := x.Kind.(*TestAllTypes_OneofMsg); ok {
return x.OneofMsg
}
}
return nil
}
func (x *TestAllTypes) GetOneofBool() bool {
if x != nil {
if x, ok := x.Kind.(*TestAllTypes_OneofBool); ok {
return x.OneofBool
}
}
return false
}
type isTestAllTypes_NestedType interface {
isTestAllTypes_NestedType()
}
type TestAllTypes_SingleNestedMessage struct {
SingleNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,21,opt,name=single_nested_message,json=singleNestedMessage,proto3,oneof"`
}
type TestAllTypes_SingleNestedEnum struct {
SingleNestedEnum TestAllTypes_NestedEnum `protobuf:"varint,22,opt,name=single_nested_enum,json=singleNestedEnum,proto3,enum=cel.expr.conformance.proto3.TestAllTypes_NestedEnum,oneof"`
}
func (*TestAllTypes_SingleNestedMessage) isTestAllTypes_NestedType() {}
func (*TestAllTypes_SingleNestedEnum) isTestAllTypes_NestedType() {}
type isTestAllTypes_Kind interface {
isTestAllTypes_Kind()
}
type TestAllTypes_OneofType struct {
OneofType *NestedTestAllTypes `protobuf:"bytes,400,opt,name=oneof_type,json=oneofType,proto3,oneof"`
}
type TestAllTypes_OneofMsg struct {
OneofMsg *TestAllTypes_NestedMessage `protobuf:"bytes,401,opt,name=oneof_msg,json=oneofMsg,proto3,oneof"`
}
type TestAllTypes_OneofBool struct {
OneofBool bool `protobuf:"varint,402,opt,name=oneof_bool,json=oneofBool,proto3,oneof"`
}
func (*TestAllTypes_OneofType) isTestAllTypes_Kind() {}
func (*TestAllTypes_OneofMsg) isTestAllTypes_Kind() {}
func (*TestAllTypes_OneofBool) isTestAllTypes_Kind() {}
type NestedTestAllTypes struct {
state protoimpl.MessageState `protogen:"open.v1"`
Child *NestedTestAllTypes `protobuf:"bytes,1,opt,name=child,proto3" json:"child,omitempty"`
Payload *TestAllTypes `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NestedTestAllTypes) Reset() {
*x = NestedTestAllTypes{}
mi := &file_cel_expr_conformance_proto3_test_all_types_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NestedTestAllTypes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NestedTestAllTypes) ProtoMessage() {}
func (x *NestedTestAllTypes) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_proto3_test_all_types_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NestedTestAllTypes.ProtoReflect.Descriptor instead.
func (*NestedTestAllTypes) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_proto3_test_all_types_proto_rawDescGZIP(), []int{1}
}
func (x *NestedTestAllTypes) GetChild() *NestedTestAllTypes {
if x != nil {
return x.Child
}
return nil
}
func (x *NestedTestAllTypes) GetPayload() *TestAllTypes {
if x != nil {
return x.Payload
}
return nil
}
type TestAllTypes_NestedMessage struct {
state protoimpl.MessageState `protogen:"open.v1"`
Bb int32 `protobuf:"varint,1,opt,name=bb,proto3" json:"bb,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TestAllTypes_NestedMessage) Reset() {
*x = TestAllTypes_NestedMessage{}
mi := &file_cel_expr_conformance_proto3_test_all_types_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TestAllTypes_NestedMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestAllTypes_NestedMessage) ProtoMessage() {}
func (x *TestAllTypes_NestedMessage) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_proto3_test_all_types_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestAllTypes_NestedMessage.ProtoReflect.Descriptor instead.
func (*TestAllTypes_NestedMessage) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_proto3_test_all_types_proto_rawDescGZIP(), []int{0, 0}
}
func (x *TestAllTypes_NestedMessage) GetBb() int32 {
if x != nil {
return x.Bb
}
return 0
}
var File_cel_expr_conformance_proto3_test_all_types_proto protoreflect.FileDescriptor
var file_cel_expr_conformance_proto3_test_all_types_proto_rawDesc = []byte{
0x0a, 0x30, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2f, 0x74, 0x65,
0x73, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x12, 0x1b, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x1a,
0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 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, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d,
0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63,
0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0xab, 0x02, 0x0a, 0x0c, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69,
0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0b, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x21, 0x0a,
0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x02, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34,
0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f,
0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x69,
0x6e, 0x67, 0x6c, 0x65, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69,
0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28,
0x11, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12,
0x23, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x66,
0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0d, 0x73, 0x69,
0x6e, 0x67, 0x6c, 0x65, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x25, 0x0a, 0x0e, 0x73,
0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x08, 0x20,
0x01, 0x28, 0x06, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x46, 0x69, 0x78, 0x65, 0x64,
0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x66, 0x69,
0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x0e, 0x73, 0x69, 0x6e,
0x67, 0x6c, 0x65, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x73,
0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x10, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x66, 0x69, 0x78,
0x65, 0x64, 0x36, 0x34, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x66,
0x6c, 0x6f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x67,
0x6c, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x6c,
0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c,
0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0a, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x23, 0x0a,
0x0d, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0e,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x79, 0x74,
0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0c,
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12,
0x2c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a,
0x02, 0x69, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x33, 0x0a,
0x0a, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x64, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x09, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x41,
0x6e, 0x79, 0x12, 0x42, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x64, 0x75, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x75,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x73, 0x69,
0x6e, 0x67, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3c, 0x0a,
0x0d, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x67,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0c, 0x73,
0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x39, 0x0a, 0x0c, 0x73,
0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x68, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x67, 0x6c,
0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4d, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x69,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x6a, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x64,
0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x6b, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x6c,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f,
0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x6d,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x6c,
0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x18, 0x6e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x15, 0x73, 0x69, 0x6e,
0x67, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x13, 0x73,
0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x42, 0x6f, 0x6f, 0x6c,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x67, 0x6c,
0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18,
0x71, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x72, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x12, 0x39, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x73, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4f, 0x0a, 0x13,
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x74, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x04, 0x52, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
0x6c, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a,
0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x75, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x09, 0x66,
0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x2c, 0x0a, 0x05, 0x65, 0x6d, 0x70, 0x74,
0x79, 0x18, 0x76, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52,
0x05, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x6d, 0x0a, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00,
0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x64, 0x0a, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f,
0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x34, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73,
0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x6c,
0x65, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x66, 0x0a, 0x12, 0x73,
0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x52, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, 0x6e, 0x65, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x12, 0x5d, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, 0x6e,
0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e,
0x75, 0x6d, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, 0x6e, 0x65, 0x45, 0x6e,
0x75, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65,
0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x20, 0x20, 0x03, 0x28,
0x03, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34,
0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61,
0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x22, 0x20, 0x03,
0x28, 0x04, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x23, 0x20, 0x03, 0x28, 0x11, 0x52, 0x0e, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72,
0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x24,
0x20, 0x03, 0x28, 0x12, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x25, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0f,
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12,
0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65,
0x64, 0x36, 0x34, 0x18, 0x26, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61,
0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65,
0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18,
0x27, 0x20, 0x03, 0x28, 0x0f, 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53,
0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x28, 0x20, 0x03,
0x28, 0x10, 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78,
0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x29, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x72, 0x65,
0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72,
0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x2a,
0x20, 0x03, 0x28, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x6f,
0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x2c, 0x20, 0x03,
0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62,
0x79, 0x74, 0x65, 0x73, 0x18, 0x2d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65,
0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6f, 0x0a, 0x17, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73,
0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x66, 0x0a, 0x14, 0x72, 0x65,
0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e,
0x75, 0x6d, 0x18, 0x34, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12,
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e,
0x75, 0x6d, 0x12, 0x36, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x18, 0x35, 0x20, 0x03, 0x28,
0x09, 0x42, 0x02, 0x08, 0x02, 0x52, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x65, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0d, 0x72, 0x65,
0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x36, 0x20, 0x03, 0x28,
0x09, 0x42, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x43,
0x6f, 0x72, 0x64, 0x12, 0x6b, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
0x6c, 0x61, 0x7a, 0x79, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x37, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65,
0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x13, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x7a, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x12, 0x37, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x79,
0x18, 0x78, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x72, 0x65,
0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x79, 0x12, 0x46, 0x0a, 0x11, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x79,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x49, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x7a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61,
0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x40, 0x0a, 0x0f,
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18,
0x7b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0e,
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x3d,
0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x7c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d,
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x51, 0x0a,
0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f,
0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x7d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x72, 0x65, 0x70, 0x65,
0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x12, 0x51, 0x0a, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x7e, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x72,
0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x7f,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62,
0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x16, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x77, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x18, 0x80, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f,
0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x55, 0x0a,
0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x81, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x72,
0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18,
0x82, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x17, 0x72,
0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x83, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x12, 0x4f, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62,
0x6f, 0x6f, 0x6c, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x84, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13,
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x85, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x14, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x86,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x12, 0x4b, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x87, 0x01, 0x20, 0x03,
0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11,
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x12, 0x74, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6e,
0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x36, 0x34, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x65, 0x73,
0x74, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5e, 0x0a, 0x0d, 0x6d, 0x61, 0x70, 0x5f, 0x62,
0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x3f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x6d, 0x61, 0x70, 0x42,
0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x62,
0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x40, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42,
0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d,
0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x61, 0x0a,
0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73,
0x12, 0x61, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x18, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x12, 0x61, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x43, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e,
0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f,
0x6f, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x44, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f,
0x6f, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x64, 0x0a, 0x0f,
0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18,
0x45, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x12, 0x61, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x66,
0x6c, 0x6f, 0x61, 0x74, 0x18, 0x46, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x46, 0x6c, 0x6f,
0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c,
0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f,
0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x47, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61,
0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x5e, 0x0a, 0x0d, 0x6d,
0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x48, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b,
0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x67, 0x0a, 0x10, 0x6d,
0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
0x49, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c,
0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe4, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42,
0x6f, 0x6f, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0f, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x6e, 0x0a, 0x12, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xe5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
0x6c, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x10, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x12, 0x6f, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, 0x75,
0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xe6, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f,
0x6f, 0x6c, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x10, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x12, 0x5c, 0x0a, 0x0c, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x61,
0x6e, 0x79, 0x18, 0xf6, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x41, 0x6e, 0x79, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x41, 0x6e, 0x79,
0x12, 0x65, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x74, 0x72,
0x75, 0x63, 0x74, 0x18, 0xf7, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72,
0x75, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
0x6c, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x62, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x62,
0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xf8, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42,
0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x6f, 0x0a, 0x13, 0x6d,
0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0xf9, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x61, 0x70, 0x42,
0x6f, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x78, 0x0a, 0x16,
0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xfa, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x78, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f,
0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x18, 0xfb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70,
0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x64, 0x6f, 0x75,
0x62, 0x6c, 0x65, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xfc, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c,
0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x78, 0x0a,
0x16, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f,
0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xfd, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x62,
0x6f, 0x6f, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x18, 0xfe, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14,
0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c,
0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18,
0xff, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70,
0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x80, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x75,
0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f,
0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x81, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x78, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f,
0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18,
0x82, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x42,
0x6f, 0x6f, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12,
0x61, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x62, 0x6f, 0x6f,
0x6c, 0x18, 0x4a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x6f,
0x6f, 0x6c, 0x12, 0x67, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f,
0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x4b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x64, 0x0a, 0x0f, 0x6d,
0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x4c,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79, 0x74, 0x65,
0x73, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x18, 0x4d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x4e, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d,
0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x67, 0x0a,
0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x18, 0x4f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x67, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x50, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x0e, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f,
0x61, 0x74, 0x18, 0x51, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61,
0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x67, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x52, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e,
0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x61,
0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x6e, 0x75, 0x6d,
0x18, 0x53, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x75,
0x6d, 0x12, 0x6a, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x54, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x6e, 0x0a,
0x12, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x75,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a,
0x13, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x18, 0xe8, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x12, 0x72, 0x0a, 0x14, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6e, 0x75,
0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xe9, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x40, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x11, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4e, 0x75, 0x6c, 0x6c, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x12, 0x5f, 0x0a, 0x0d, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x83, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x41, 0x6e, 0x79, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x84, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x0e, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12,
0x65, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x85, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x72, 0x0a, 0x14, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x86,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61,
0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x87, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x36, 0x34,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x18, 0x88, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14,
0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x18, 0x89, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c,
0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18,
0x8a, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x8b, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x8c, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x8d, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x12, 0x78, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x62,
0x6f, 0x6f, 0x6c, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x8e, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x42, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d,
0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x8f, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79, 0x74, 0x65,
0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x61, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x55, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x67, 0x0a, 0x10, 0x6d,
0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18,
0x56, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x57, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61,
0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x58, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x18, 0x59, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x67, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x5a, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x0e, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12,
0x67, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x18, 0x5b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x5c, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x67,
0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x64, 0x6f, 0x75, 0x62,
0x6c, 0x65, 0x18, 0x5d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x6f, 0x75, 0x62,
0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x61, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x5e, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x36, 0x34, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x6a, 0x0a, 0x11, 0x6d, 0x61,
0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
0x5f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x6e, 0x0a, 0x12, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xea, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x75,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xeb, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x72, 0x0a, 0x14, 0x6d, 0x61, 0x70,
0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0xec, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x75, 0x6c, 0x6c,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x36, 0x34, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x5f, 0x0a,
0x0d, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x90,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x0b, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x41, 0x6e, 0x79, 0x12, 0x68,
0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x73, 0x74, 0x72, 0x75,
0x63, 0x74, 0x18, 0x91, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72,
0x75, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x65, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x92, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
0x72, 0x0a, 0x14, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6c, 0x69, 0x73,
0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x93, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x11, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x94,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x95, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a,
0x18, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
0x65, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x96, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x36, 0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34,
0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a,
0x17, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74,
0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x97, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c,
0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61,
0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x98, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61,
0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x99, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61,
0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x9a, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x78, 0x0a, 0x16, 0x6d, 0x61,
0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x77, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x18, 0x9b, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42,
0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x13, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18,
0x9c, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x12, 0x64, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f,
0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x60, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42,
0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x6a, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x61, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x12, 0x67, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x62, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x10,
0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x18, 0x63, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0xc8, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x0e, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12,
0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x75, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x18, 0xc9, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x6b, 0x0a, 0x11,
0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x18, 0xca, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70,
0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0xcb, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c,
0x6f, 0x61, 0x74, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0xcc, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x12, 0x65, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65,
0x6e, 0x75, 0x6d, 0x18, 0xcd, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45,
0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x6e, 0x0a, 0x12, 0x6d, 0x61, 0x70, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xce, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x71, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xed,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x74, 0x0a, 0x14, 0x6d, 0x61,
0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x18, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6e,
0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xef, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4e, 0x75,
0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x62, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x9d, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x41, 0x6e, 0x79, 0x12, 0x6b, 0x0a, 0x11, 0x6d,
0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
0x18, 0x9e, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x75,
0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f,
0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x9f, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xa0, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70,
0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xa1, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70,
0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xa2, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d, 0x61,
0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f,
0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xa3, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a,
0x18, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f, 0x61,
0x74, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xa4, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81, 0x01,
0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x75, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xa5, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18,
0xa6, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x18, 0xa7, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70,
0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x77, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x18, 0xa8, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x14, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x18, 0xa9, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79,
0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x15, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x65, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0xcf, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d,
0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x6b, 0x0a,
0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x73, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x18, 0xd0, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61,
0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xd1,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42,
0x79, 0x74, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0xd2, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e,
0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x68,
0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x18, 0xd3, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e,
0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f,
0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0xd4, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0xd5, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0xd6, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x6b, 0x0a, 0x11,
0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
0x65, 0x18, 0xd7, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x6f, 0x75,
0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x65, 0x0a, 0x0f, 0x6d, 0x61, 0x70,
0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0xd8, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x75, 0x6d,
0x12, 0x6e, 0x0a, 0x12, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xd9, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10,
0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x12, 0x71, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x64,
0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xf0, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x11, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x75, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x74, 0x0a, 0x14, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xf1, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70,
0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0xf2, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x75,
0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x12, 0x62, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x61,
0x6e, 0x79, 0x18, 0xaa, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x41, 0x6e,
0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x41, 0x6e, 0x79, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0xab, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x75, 0x63,
0x74, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xac, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x75, 0x0a, 0x15, 0x6d,
0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0xad, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12,
0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xae,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xaf,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x18, 0xb0, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x6f, 0x75, 0x62,
0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16,
0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x18, 0xb1, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c,
0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x15, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x18, 0xb2, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d,
0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xb3, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81,
0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x73, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xb4, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xb5, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12,
0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x62, 0x79,
0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xb6, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12,
0x65, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f,
0x6f, 0x6c, 0x18, 0xda, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x6f,
0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x6a, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x3d, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xdb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61,
0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x10,
0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x18, 0xdc, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0xdd, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0e, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x36, 0x34,
0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x75,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0xde, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61,
0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x6b, 0x0a,
0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x18, 0xdf, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61,
0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0xe0,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46,
0x6c, 0x6f, 0x61, 0x74, 0x12, 0x6b, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0xe1, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c,
0x65, 0x12, 0x65, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f,
0x65, 0x6e, 0x75, 0x6d, 0x18, 0xe2, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x6e, 0x0a, 0x12, 0x6d, 0x61, 0x70, 0x5f,
0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xe3,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x71, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f,
0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0xf3, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x74, 0x0a, 0x14, 0x6d,
0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x18, 0xf4, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d,
0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f,
0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xf5, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e,
0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x62, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f,
0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0xb7, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c,
0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x79, 0x12, 0x6b, 0x0a, 0x11,
0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63,
0x74, 0x18, 0xb8, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72,
0x75, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x61, 0x70,
0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xb9, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xba, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61,
0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xbb, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e,
0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61,
0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xbc, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d,
0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xbd, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e,
0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x6c, 0x6f,
0x61, 0x74, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xbe, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81,
0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xbf, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x53,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x18, 0xc0, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16,
0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x73,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x18, 0xc1, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7b, 0x0a, 0x17, 0x6d, 0x61,
0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x77, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0xc2, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x6c,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x7e, 0x0a, 0x18, 0x6d, 0x61, 0x70, 0x5f, 0x73,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x18, 0xc3, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42,
0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x15, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x90, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
0x64, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x48, 0x01, 0x52,
0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x6f, 0x6e,
0x65, 0x6f, 0x66, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x91, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x01, 0x52, 0x08, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
0x4d, 0x73, 0x67, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x6f, 0x6f,
0x6c, 0x18, 0x92, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f,
0x66, 0x42, 0x6f, 0x6f, 0x6c, 0x1a, 0x1f, 0x0a, 0x0d, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x62, 0x62, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x02, 0x62, 0x62, 0x1a, 0x76, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e,
0x0a, 0x10, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40,
0x0a, 0x12, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x3f, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c,
0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x42, 0x6f,
0x6f, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x42,
0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x74, 0x0a, 0x10, 0x4d, 0x61,
0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x34, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x7a, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5d, 0x0a, 0x14,
0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5f, 0x0a, 0x15, 0x4d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5f, 0x0a, 0x15,
0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x53, 0x0a,
0x0f, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x59, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72,
0x75, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75,
0x63, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x57, 0x0a,
0x11, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5f, 0x0a, 0x15, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
0x6c, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x42, 0x6f,
0x6f, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x18,
0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x65, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x75, 0x62,
0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x42,
0x6f, 0x6f, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a,
0x19, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x55,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x19, 0x4d,
0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f,
0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c,
0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40,
0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e,
0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13,
0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x75, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x75, 0x6d, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7b, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x37, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x5e, 0x0a, 0x15, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44,
0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x60, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x54, 0x0a, 0x10, 0x4d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41,
0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5a, 0x0a,
0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x58, 0x0a, 0x12, 0x4d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x60, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x4c,
0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x19, 0x4d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33,
0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x66, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75,
0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x19, 0x4d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x66, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x66, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x62, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x19, 0x4d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65,
0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f,
0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36,
0x34, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e,
0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70,
0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d,
0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41,
0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f,
0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x44,
0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x75, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e,
0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7b, 0x0a,
0x14, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5e, 0x0a, 0x15, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, 0x0a, 0x16, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, 0x0a, 0x16,
0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x54,
0x0a, 0x10, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5a, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34,
0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x58, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, 0x0a, 0x16, 0x4d, 0x61,
0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x19,
0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61,
0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x64, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x49,
0x6e, 0x74, 0x36, 0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x64, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61,
0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66,
0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x62,
0x0a, 0x18, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f,
0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x64, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x79,
0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41,
0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x79, 0x74, 0x65, 0x73,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d,
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61,
0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x44,
0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x76, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
0x6e, 0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7c,
0x0a, 0x15, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5f, 0x0a, 0x16,
0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x61, 0x0a,
0x17, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4e, 0x75, 0x6c,
0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e,
0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x55, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5b, 0x0a, 0x14, 0x4d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x59, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4c,
0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a,
0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a,
0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x57, 0x72,
0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c,
0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b,
0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63,
0x0a, 0x19, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x6f, 0x6f, 0x6c, 0x57,
0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42,
0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61,
0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14,
0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x79, 0x74,
0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a,
0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c,
0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x76, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x55,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x34, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x7c, 0x0a, 0x15, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5f,
0x0a, 0x16, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x44, 0x75, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x4e,
0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x55, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5b, 0x0a, 0x14,
0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x59, 0x0a, 0x13, 0x4d, 0x61, 0x70,
0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36,
0x34, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65,
0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x33, 0x32,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65,
0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x6c, 0x6f, 0x61, 0x74,
0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67,
0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x33,
0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x55, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x63, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x6f, 0x6f,
0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12,
0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42,
0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42,
0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d,
0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x76, 0x0a, 0x12, 0x4d, 0x61,
0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x34, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73,
0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x7c, 0x0a, 0x15, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x5f, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x1a, 0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x55, 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5b,
0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63,
0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x59, 0x0a, 0x13, 0x4d,
0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x61, 0x0a, 0x17, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x6f,
0x61, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x69, 0x6e,
0x74, 0x33, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x1b, 0x4d, 0x61, 0x70,
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x72, 0x61, 0x70,
0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x63, 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42,
0x6f, 0x6f, 0x6c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x1a, 0x4d, 0x61, 0x70, 0x53, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x27,
0x0a, 0x0a, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03,
0x46, 0x4f, 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x52, 0x10, 0x01, 0x12, 0x07,
0x0a, 0x03, 0x42, 0x41, 0x5a, 0x10, 0x02, 0x42, 0x0d, 0x0a, 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65,
0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x10,
0x0a, 0x0e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c,
0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74,
0x72, 0x69, 0x6e, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
0x6c, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa0, 0x01, 0x0a,
0x12, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
0x70, 0x65, 0x73, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x43, 0x0a, 0x07, 0x70, 0x61,
0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2a,
0x27, 0x0a, 0x0a, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a,
0x03, 0x47, 0x4f, 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x41, 0x52, 0x10, 0x01, 0x12,
0x07, 0x0a, 0x03, 0x47, 0x41, 0x5a, 0x10, 0x02, 0x42, 0x5a, 0x0a, 0x1f, 0x64, 0x65, 0x76, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x42, 0x11, 0x54, 0x65, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
0x5a, 0x1f, 0x63, 0x65, 0x6c, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cel_expr_conformance_proto3_test_all_types_proto_rawDescOnce sync.Once
file_cel_expr_conformance_proto3_test_all_types_proto_rawDescData = file_cel_expr_conformance_proto3_test_all_types_proto_rawDesc
)
func file_cel_expr_conformance_proto3_test_all_types_proto_rawDescGZIP() []byte {
file_cel_expr_conformance_proto3_test_all_types_proto_rawDescOnce.Do(func() {
file_cel_expr_conformance_proto3_test_all_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_cel_expr_conformance_proto3_test_all_types_proto_rawDescData)
})
return file_cel_expr_conformance_proto3_test_all_types_proto_rawDescData
}
var file_cel_expr_conformance_proto3_test_all_types_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_cel_expr_conformance_proto3_test_all_types_proto_msgTypes = make([]protoimpl.MessageInfo, 166)
var file_cel_expr_conformance_proto3_test_all_types_proto_goTypes = []any{
(GlobalEnum)(0), // 0: cel.expr.conformance.proto3.GlobalEnum
(TestAllTypes_NestedEnum)(0), // 1: cel.expr.conformance.proto3.TestAllTypes.NestedEnum
(*TestAllTypes)(nil), // 2: cel.expr.conformance.proto3.TestAllTypes
(*NestedTestAllTypes)(nil), // 3: cel.expr.conformance.proto3.NestedTestAllTypes
(*TestAllTypes_NestedMessage)(nil), // 4: cel.expr.conformance.proto3.TestAllTypes.NestedMessage
nil, // 5: cel.expr.conformance.proto3.TestAllTypes.MapInt64NestedTypeEntry
nil, // 6: cel.expr.conformance.proto3.TestAllTypes.MapBoolBoolEntry
nil, // 7: cel.expr.conformance.proto3.TestAllTypes.MapBoolStringEntry
nil, // 8: cel.expr.conformance.proto3.TestAllTypes.MapBoolBytesEntry
nil, // 9: cel.expr.conformance.proto3.TestAllTypes.MapBoolInt32Entry
nil, // 10: cel.expr.conformance.proto3.TestAllTypes.MapBoolInt64Entry
nil, // 11: cel.expr.conformance.proto3.TestAllTypes.MapBoolUint32Entry
nil, // 12: cel.expr.conformance.proto3.TestAllTypes.MapBoolUint64Entry
nil, // 13: cel.expr.conformance.proto3.TestAllTypes.MapBoolFloatEntry
nil, // 14: cel.expr.conformance.proto3.TestAllTypes.MapBoolDoubleEntry
nil, // 15: cel.expr.conformance.proto3.TestAllTypes.MapBoolEnumEntry
nil, // 16: cel.expr.conformance.proto3.TestAllTypes.MapBoolMessageEntry
nil, // 17: cel.expr.conformance.proto3.TestAllTypes.MapBoolDurationEntry
nil, // 18: cel.expr.conformance.proto3.TestAllTypes.MapBoolTimestampEntry
nil, // 19: cel.expr.conformance.proto3.TestAllTypes.MapBoolNullValueEntry
nil, // 20: cel.expr.conformance.proto3.TestAllTypes.MapBoolAnyEntry
nil, // 21: cel.expr.conformance.proto3.TestAllTypes.MapBoolStructEntry
nil, // 22: cel.expr.conformance.proto3.TestAllTypes.MapBoolValueEntry
nil, // 23: cel.expr.conformance.proto3.TestAllTypes.MapBoolListValueEntry
nil, // 24: cel.expr.conformance.proto3.TestAllTypes.MapBoolInt64WrapperEntry
nil, // 25: cel.expr.conformance.proto3.TestAllTypes.MapBoolInt32WrapperEntry
nil, // 26: cel.expr.conformance.proto3.TestAllTypes.MapBoolDoubleWrapperEntry
nil, // 27: cel.expr.conformance.proto3.TestAllTypes.MapBoolFloatWrapperEntry
nil, // 28: cel.expr.conformance.proto3.TestAllTypes.MapBoolUint64WrapperEntry
nil, // 29: cel.expr.conformance.proto3.TestAllTypes.MapBoolUint32WrapperEntry
nil, // 30: cel.expr.conformance.proto3.TestAllTypes.MapBoolStringWrapperEntry
nil, // 31: cel.expr.conformance.proto3.TestAllTypes.MapBoolBoolWrapperEntry
nil, // 32: cel.expr.conformance.proto3.TestAllTypes.MapBoolBytesWrapperEntry
nil, // 33: cel.expr.conformance.proto3.TestAllTypes.MapInt32BoolEntry
nil, // 34: cel.expr.conformance.proto3.TestAllTypes.MapInt32StringEntry
nil, // 35: cel.expr.conformance.proto3.TestAllTypes.MapInt32BytesEntry
nil, // 36: cel.expr.conformance.proto3.TestAllTypes.MapInt32Int32Entry
nil, // 37: cel.expr.conformance.proto3.TestAllTypes.MapInt32Int64Entry
nil, // 38: cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint32Entry
nil, // 39: cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint64Entry
nil, // 40: cel.expr.conformance.proto3.TestAllTypes.MapInt32FloatEntry
nil, // 41: cel.expr.conformance.proto3.TestAllTypes.MapInt32DoubleEntry
nil, // 42: cel.expr.conformance.proto3.TestAllTypes.MapInt32EnumEntry
nil, // 43: cel.expr.conformance.proto3.TestAllTypes.MapInt32MessageEntry
nil, // 44: cel.expr.conformance.proto3.TestAllTypes.MapInt32DurationEntry
nil, // 45: cel.expr.conformance.proto3.TestAllTypes.MapInt32TimestampEntry
nil, // 46: cel.expr.conformance.proto3.TestAllTypes.MapInt32NullValueEntry
nil, // 47: cel.expr.conformance.proto3.TestAllTypes.MapInt32AnyEntry
nil, // 48: cel.expr.conformance.proto3.TestAllTypes.MapInt32StructEntry
nil, // 49: cel.expr.conformance.proto3.TestAllTypes.MapInt32ValueEntry
nil, // 50: cel.expr.conformance.proto3.TestAllTypes.MapInt32ListValueEntry
nil, // 51: cel.expr.conformance.proto3.TestAllTypes.MapInt32Int64WrapperEntry
nil, // 52: cel.expr.conformance.proto3.TestAllTypes.MapInt32Int32WrapperEntry
nil, // 53: cel.expr.conformance.proto3.TestAllTypes.MapInt32DoubleWrapperEntry
nil, // 54: cel.expr.conformance.proto3.TestAllTypes.MapInt32FloatWrapperEntry
nil, // 55: cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint64WrapperEntry
nil, // 56: cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint32WrapperEntry
nil, // 57: cel.expr.conformance.proto3.TestAllTypes.MapInt32StringWrapperEntry
nil, // 58: cel.expr.conformance.proto3.TestAllTypes.MapInt32BoolWrapperEntry
nil, // 59: cel.expr.conformance.proto3.TestAllTypes.MapInt32BytesWrapperEntry
nil, // 60: cel.expr.conformance.proto3.TestAllTypes.MapInt64BoolEntry
nil, // 61: cel.expr.conformance.proto3.TestAllTypes.MapInt64StringEntry
nil, // 62: cel.expr.conformance.proto3.TestAllTypes.MapInt64BytesEntry
nil, // 63: cel.expr.conformance.proto3.TestAllTypes.MapInt64Int32Entry
nil, // 64: cel.expr.conformance.proto3.TestAllTypes.MapInt64Int64Entry
nil, // 65: cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint32Entry
nil, // 66: cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint64Entry
nil, // 67: cel.expr.conformance.proto3.TestAllTypes.MapInt64FloatEntry
nil, // 68: cel.expr.conformance.proto3.TestAllTypes.MapInt64DoubleEntry
nil, // 69: cel.expr.conformance.proto3.TestAllTypes.MapInt64EnumEntry
nil, // 70: cel.expr.conformance.proto3.TestAllTypes.MapInt64MessageEntry
nil, // 71: cel.expr.conformance.proto3.TestAllTypes.MapInt64DurationEntry
nil, // 72: cel.expr.conformance.proto3.TestAllTypes.MapInt64TimestampEntry
nil, // 73: cel.expr.conformance.proto3.TestAllTypes.MapInt64NullValueEntry
nil, // 74: cel.expr.conformance.proto3.TestAllTypes.MapInt64AnyEntry
nil, // 75: cel.expr.conformance.proto3.TestAllTypes.MapInt64StructEntry
nil, // 76: cel.expr.conformance.proto3.TestAllTypes.MapInt64ValueEntry
nil, // 77: cel.expr.conformance.proto3.TestAllTypes.MapInt64ListValueEntry
nil, // 78: cel.expr.conformance.proto3.TestAllTypes.MapInt64Int64WrapperEntry
nil, // 79: cel.expr.conformance.proto3.TestAllTypes.MapInt64Int32WrapperEntry
nil, // 80: cel.expr.conformance.proto3.TestAllTypes.MapInt64DoubleWrapperEntry
nil, // 81: cel.expr.conformance.proto3.TestAllTypes.MapInt64FloatWrapperEntry
nil, // 82: cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint64WrapperEntry
nil, // 83: cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint32WrapperEntry
nil, // 84: cel.expr.conformance.proto3.TestAllTypes.MapInt64StringWrapperEntry
nil, // 85: cel.expr.conformance.proto3.TestAllTypes.MapInt64BoolWrapperEntry
nil, // 86: cel.expr.conformance.proto3.TestAllTypes.MapInt64BytesWrapperEntry
nil, // 87: cel.expr.conformance.proto3.TestAllTypes.MapUint32BoolEntry
nil, // 88: cel.expr.conformance.proto3.TestAllTypes.MapUint32StringEntry
nil, // 89: cel.expr.conformance.proto3.TestAllTypes.MapUint32BytesEntry
nil, // 90: cel.expr.conformance.proto3.TestAllTypes.MapUint32Int32Entry
nil, // 91: cel.expr.conformance.proto3.TestAllTypes.MapUint32Int64Entry
nil, // 92: cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint32Entry
nil, // 93: cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint64Entry
nil, // 94: cel.expr.conformance.proto3.TestAllTypes.MapUint32FloatEntry
nil, // 95: cel.expr.conformance.proto3.TestAllTypes.MapUint32DoubleEntry
nil, // 96: cel.expr.conformance.proto3.TestAllTypes.MapUint32EnumEntry
nil, // 97: cel.expr.conformance.proto3.TestAllTypes.MapUint32MessageEntry
nil, // 98: cel.expr.conformance.proto3.TestAllTypes.MapUint32DurationEntry
nil, // 99: cel.expr.conformance.proto3.TestAllTypes.MapUint32TimestampEntry
nil, // 100: cel.expr.conformance.proto3.TestAllTypes.MapUint32NullValueEntry
nil, // 101: cel.expr.conformance.proto3.TestAllTypes.MapUint32AnyEntry
nil, // 102: cel.expr.conformance.proto3.TestAllTypes.MapUint32StructEntry
nil, // 103: cel.expr.conformance.proto3.TestAllTypes.MapUint32ValueEntry
nil, // 104: cel.expr.conformance.proto3.TestAllTypes.MapUint32ListValueEntry
nil, // 105: cel.expr.conformance.proto3.TestAllTypes.MapUint32Int64WrapperEntry
nil, // 106: cel.expr.conformance.proto3.TestAllTypes.MapUint32Int32WrapperEntry
nil, // 107: cel.expr.conformance.proto3.TestAllTypes.MapUint32DoubleWrapperEntry
nil, // 108: cel.expr.conformance.proto3.TestAllTypes.MapUint32FloatWrapperEntry
nil, // 109: cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint64WrapperEntry
nil, // 110: cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint32WrapperEntry
nil, // 111: cel.expr.conformance.proto3.TestAllTypes.MapUint32StringWrapperEntry
nil, // 112: cel.expr.conformance.proto3.TestAllTypes.MapUint32BoolWrapperEntry
nil, // 113: cel.expr.conformance.proto3.TestAllTypes.MapUint32BytesWrapperEntry
nil, // 114: cel.expr.conformance.proto3.TestAllTypes.MapUint64BoolEntry
nil, // 115: cel.expr.conformance.proto3.TestAllTypes.MapUint64StringEntry
nil, // 116: cel.expr.conformance.proto3.TestAllTypes.MapUint64BytesEntry
nil, // 117: cel.expr.conformance.proto3.TestAllTypes.MapUint64Int32Entry
nil, // 118: cel.expr.conformance.proto3.TestAllTypes.MapUint64Int64Entry
nil, // 119: cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint32Entry
nil, // 120: cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint64Entry
nil, // 121: cel.expr.conformance.proto3.TestAllTypes.MapUint64FloatEntry
nil, // 122: cel.expr.conformance.proto3.TestAllTypes.MapUint64DoubleEntry
nil, // 123: cel.expr.conformance.proto3.TestAllTypes.MapUint64EnumEntry
nil, // 124: cel.expr.conformance.proto3.TestAllTypes.MapUint64MessageEntry
nil, // 125: cel.expr.conformance.proto3.TestAllTypes.MapUint64DurationEntry
nil, // 126: cel.expr.conformance.proto3.TestAllTypes.MapUint64TimestampEntry
nil, // 127: cel.expr.conformance.proto3.TestAllTypes.MapUint64NullValueEntry
nil, // 128: cel.expr.conformance.proto3.TestAllTypes.MapUint64AnyEntry
nil, // 129: cel.expr.conformance.proto3.TestAllTypes.MapUint64StructEntry
nil, // 130: cel.expr.conformance.proto3.TestAllTypes.MapUint64ValueEntry
nil, // 131: cel.expr.conformance.proto3.TestAllTypes.MapUint64ListValueEntry
nil, // 132: cel.expr.conformance.proto3.TestAllTypes.MapUint64Int64WrapperEntry
nil, // 133: cel.expr.conformance.proto3.TestAllTypes.MapUint64Int32WrapperEntry
nil, // 134: cel.expr.conformance.proto3.TestAllTypes.MapUint64DoubleWrapperEntry
nil, // 135: cel.expr.conformance.proto3.TestAllTypes.MapUint64FloatWrapperEntry
nil, // 136: cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint64WrapperEntry
nil, // 137: cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint32WrapperEntry
nil, // 138: cel.expr.conformance.proto3.TestAllTypes.MapUint64StringWrapperEntry
nil, // 139: cel.expr.conformance.proto3.TestAllTypes.MapUint64BoolWrapperEntry
nil, // 140: cel.expr.conformance.proto3.TestAllTypes.MapUint64BytesWrapperEntry
nil, // 141: cel.expr.conformance.proto3.TestAllTypes.MapStringBoolEntry
nil, // 142: cel.expr.conformance.proto3.TestAllTypes.MapStringStringEntry
nil, // 143: cel.expr.conformance.proto3.TestAllTypes.MapStringBytesEntry
nil, // 144: cel.expr.conformance.proto3.TestAllTypes.MapStringInt32Entry
nil, // 145: cel.expr.conformance.proto3.TestAllTypes.MapStringInt64Entry
nil, // 146: cel.expr.conformance.proto3.TestAllTypes.MapStringUint32Entry
nil, // 147: cel.expr.conformance.proto3.TestAllTypes.MapStringUint64Entry
nil, // 148: cel.expr.conformance.proto3.TestAllTypes.MapStringFloatEntry
nil, // 149: cel.expr.conformance.proto3.TestAllTypes.MapStringDoubleEntry
nil, // 150: cel.expr.conformance.proto3.TestAllTypes.MapStringEnumEntry
nil, // 151: cel.expr.conformance.proto3.TestAllTypes.MapStringMessageEntry
nil, // 152: cel.expr.conformance.proto3.TestAllTypes.MapStringDurationEntry
nil, // 153: cel.expr.conformance.proto3.TestAllTypes.MapStringTimestampEntry
nil, // 154: cel.expr.conformance.proto3.TestAllTypes.MapStringNullValueEntry
nil, // 155: cel.expr.conformance.proto3.TestAllTypes.MapStringAnyEntry
nil, // 156: cel.expr.conformance.proto3.TestAllTypes.MapStringStructEntry
nil, // 157: cel.expr.conformance.proto3.TestAllTypes.MapStringValueEntry
nil, // 158: cel.expr.conformance.proto3.TestAllTypes.MapStringListValueEntry
nil, // 159: cel.expr.conformance.proto3.TestAllTypes.MapStringInt64WrapperEntry
nil, // 160: cel.expr.conformance.proto3.TestAllTypes.MapStringInt32WrapperEntry
nil, // 161: cel.expr.conformance.proto3.TestAllTypes.MapStringDoubleWrapperEntry
nil, // 162: cel.expr.conformance.proto3.TestAllTypes.MapStringFloatWrapperEntry
nil, // 163: cel.expr.conformance.proto3.TestAllTypes.MapStringUint64WrapperEntry
nil, // 164: cel.expr.conformance.proto3.TestAllTypes.MapStringUint32WrapperEntry
nil, // 165: cel.expr.conformance.proto3.TestAllTypes.MapStringStringWrapperEntry
nil, // 166: cel.expr.conformance.proto3.TestAllTypes.MapStringBoolWrapperEntry
nil, // 167: cel.expr.conformance.proto3.TestAllTypes.MapStringBytesWrapperEntry
(*anypb.Any)(nil), // 168: google.protobuf.Any
(*durationpb.Duration)(nil), // 169: google.protobuf.Duration
(*timestamppb.Timestamp)(nil), // 170: google.protobuf.Timestamp
(*structpb.Struct)(nil), // 171: google.protobuf.Struct
(*structpb.Value)(nil), // 172: google.protobuf.Value
(*wrapperspb.Int64Value)(nil), // 173: google.protobuf.Int64Value
(*wrapperspb.Int32Value)(nil), // 174: google.protobuf.Int32Value
(*wrapperspb.DoubleValue)(nil), // 175: google.protobuf.DoubleValue
(*wrapperspb.FloatValue)(nil), // 176: google.protobuf.FloatValue
(*wrapperspb.UInt64Value)(nil), // 177: google.protobuf.UInt64Value
(*wrapperspb.UInt32Value)(nil), // 178: google.protobuf.UInt32Value
(*wrapperspb.StringValue)(nil), // 179: google.protobuf.StringValue
(*wrapperspb.BoolValue)(nil), // 180: google.protobuf.BoolValue
(*wrapperspb.BytesValue)(nil), // 181: google.protobuf.BytesValue
(*structpb.ListValue)(nil), // 182: google.protobuf.ListValue
(structpb.NullValue)(0), // 183: google.protobuf.NullValue
(*fieldmaskpb.FieldMask)(nil), // 184: google.protobuf.FieldMask
(*emptypb.Empty)(nil), // 185: google.protobuf.Empty
}
var file_cel_expr_conformance_proto3_test_all_types_proto_depIdxs = []int32{
168, // 0: cel.expr.conformance.proto3.TestAllTypes.single_any:type_name -> google.protobuf.Any
169, // 1: cel.expr.conformance.proto3.TestAllTypes.single_duration:type_name -> google.protobuf.Duration
170, // 2: cel.expr.conformance.proto3.TestAllTypes.single_timestamp:type_name -> google.protobuf.Timestamp
171, // 3: cel.expr.conformance.proto3.TestAllTypes.single_struct:type_name -> google.protobuf.Struct
172, // 4: cel.expr.conformance.proto3.TestAllTypes.single_value:type_name -> google.protobuf.Value
173, // 5: cel.expr.conformance.proto3.TestAllTypes.single_int64_wrapper:type_name -> google.protobuf.Int64Value
174, // 6: cel.expr.conformance.proto3.TestAllTypes.single_int32_wrapper:type_name -> google.protobuf.Int32Value
175, // 7: cel.expr.conformance.proto3.TestAllTypes.single_double_wrapper:type_name -> google.protobuf.DoubleValue
176, // 8: cel.expr.conformance.proto3.TestAllTypes.single_float_wrapper:type_name -> google.protobuf.FloatValue
177, // 9: cel.expr.conformance.proto3.TestAllTypes.single_uint64_wrapper:type_name -> google.protobuf.UInt64Value
178, // 10: cel.expr.conformance.proto3.TestAllTypes.single_uint32_wrapper:type_name -> google.protobuf.UInt32Value
179, // 11: cel.expr.conformance.proto3.TestAllTypes.single_string_wrapper:type_name -> google.protobuf.StringValue
180, // 12: cel.expr.conformance.proto3.TestAllTypes.single_bool_wrapper:type_name -> google.protobuf.BoolValue
181, // 13: cel.expr.conformance.proto3.TestAllTypes.single_bytes_wrapper:type_name -> google.protobuf.BytesValue
182, // 14: cel.expr.conformance.proto3.TestAllTypes.list_value:type_name -> google.protobuf.ListValue
183, // 15: cel.expr.conformance.proto3.TestAllTypes.null_value:type_name -> google.protobuf.NullValue
183, // 16: cel.expr.conformance.proto3.TestAllTypes.optional_null_value:type_name -> google.protobuf.NullValue
184, // 17: cel.expr.conformance.proto3.TestAllTypes.field_mask:type_name -> google.protobuf.FieldMask
185, // 18: cel.expr.conformance.proto3.TestAllTypes.empty:type_name -> google.protobuf.Empty
4, // 19: cel.expr.conformance.proto3.TestAllTypes.single_nested_message:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedMessage
1, // 20: cel.expr.conformance.proto3.TestAllTypes.single_nested_enum:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedEnum
4, // 21: cel.expr.conformance.proto3.TestAllTypes.standalone_message:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedMessage
1, // 22: cel.expr.conformance.proto3.TestAllTypes.standalone_enum:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedEnum
4, // 23: cel.expr.conformance.proto3.TestAllTypes.repeated_nested_message:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedMessage
1, // 24: cel.expr.conformance.proto3.TestAllTypes.repeated_nested_enum:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedEnum
4, // 25: cel.expr.conformance.proto3.TestAllTypes.repeated_lazy_message:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedMessage
168, // 26: cel.expr.conformance.proto3.TestAllTypes.repeated_any:type_name -> google.protobuf.Any
169, // 27: cel.expr.conformance.proto3.TestAllTypes.repeated_duration:type_name -> google.protobuf.Duration
170, // 28: cel.expr.conformance.proto3.TestAllTypes.repeated_timestamp:type_name -> google.protobuf.Timestamp
171, // 29: cel.expr.conformance.proto3.TestAllTypes.repeated_struct:type_name -> google.protobuf.Struct
172, // 30: cel.expr.conformance.proto3.TestAllTypes.repeated_value:type_name -> google.protobuf.Value
173, // 31: cel.expr.conformance.proto3.TestAllTypes.repeated_int64_wrapper:type_name -> google.protobuf.Int64Value
174, // 32: cel.expr.conformance.proto3.TestAllTypes.repeated_int32_wrapper:type_name -> google.protobuf.Int32Value
175, // 33: cel.expr.conformance.proto3.TestAllTypes.repeated_double_wrapper:type_name -> google.protobuf.DoubleValue
176, // 34: cel.expr.conformance.proto3.TestAllTypes.repeated_float_wrapper:type_name -> google.protobuf.FloatValue
177, // 35: cel.expr.conformance.proto3.TestAllTypes.repeated_uint64_wrapper:type_name -> google.protobuf.UInt64Value
178, // 36: cel.expr.conformance.proto3.TestAllTypes.repeated_uint32_wrapper:type_name -> google.protobuf.UInt32Value
179, // 37: cel.expr.conformance.proto3.TestAllTypes.repeated_string_wrapper:type_name -> google.protobuf.StringValue
180, // 38: cel.expr.conformance.proto3.TestAllTypes.repeated_bool_wrapper:type_name -> google.protobuf.BoolValue
181, // 39: cel.expr.conformance.proto3.TestAllTypes.repeated_bytes_wrapper:type_name -> google.protobuf.BytesValue
182, // 40: cel.expr.conformance.proto3.TestAllTypes.repeated_list_value:type_name -> google.protobuf.ListValue
183, // 41: cel.expr.conformance.proto3.TestAllTypes.repeated_null_value:type_name -> google.protobuf.NullValue
5, // 42: cel.expr.conformance.proto3.TestAllTypes.map_int64_nested_type:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64NestedTypeEntry
6, // 43: cel.expr.conformance.proto3.TestAllTypes.map_bool_bool:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolBoolEntry
7, // 44: cel.expr.conformance.proto3.TestAllTypes.map_bool_string:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolStringEntry
8, // 45: cel.expr.conformance.proto3.TestAllTypes.map_bool_bytes:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolBytesEntry
9, // 46: cel.expr.conformance.proto3.TestAllTypes.map_bool_int32:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolInt32Entry
10, // 47: cel.expr.conformance.proto3.TestAllTypes.map_bool_int64:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolInt64Entry
11, // 48: cel.expr.conformance.proto3.TestAllTypes.map_bool_uint32:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolUint32Entry
12, // 49: cel.expr.conformance.proto3.TestAllTypes.map_bool_uint64:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolUint64Entry
13, // 50: cel.expr.conformance.proto3.TestAllTypes.map_bool_float:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolFloatEntry
14, // 51: cel.expr.conformance.proto3.TestAllTypes.map_bool_double:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolDoubleEntry
15, // 52: cel.expr.conformance.proto3.TestAllTypes.map_bool_enum:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolEnumEntry
16, // 53: cel.expr.conformance.proto3.TestAllTypes.map_bool_message:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolMessageEntry
17, // 54: cel.expr.conformance.proto3.TestAllTypes.map_bool_duration:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolDurationEntry
18, // 55: cel.expr.conformance.proto3.TestAllTypes.map_bool_timestamp:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolTimestampEntry
19, // 56: cel.expr.conformance.proto3.TestAllTypes.map_bool_null_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolNullValueEntry
20, // 57: cel.expr.conformance.proto3.TestAllTypes.map_bool_any:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolAnyEntry
21, // 58: cel.expr.conformance.proto3.TestAllTypes.map_bool_struct:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolStructEntry
22, // 59: cel.expr.conformance.proto3.TestAllTypes.map_bool_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolValueEntry
23, // 60: cel.expr.conformance.proto3.TestAllTypes.map_bool_list_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolListValueEntry
24, // 61: cel.expr.conformance.proto3.TestAllTypes.map_bool_int64_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolInt64WrapperEntry
25, // 62: cel.expr.conformance.proto3.TestAllTypes.map_bool_int32_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolInt32WrapperEntry
26, // 63: cel.expr.conformance.proto3.TestAllTypes.map_bool_double_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolDoubleWrapperEntry
27, // 64: cel.expr.conformance.proto3.TestAllTypes.map_bool_float_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolFloatWrapperEntry
28, // 65: cel.expr.conformance.proto3.TestAllTypes.map_bool_uint64_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolUint64WrapperEntry
29, // 66: cel.expr.conformance.proto3.TestAllTypes.map_bool_uint32_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolUint32WrapperEntry
30, // 67: cel.expr.conformance.proto3.TestAllTypes.map_bool_string_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolStringWrapperEntry
31, // 68: cel.expr.conformance.proto3.TestAllTypes.map_bool_bool_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolBoolWrapperEntry
32, // 69: cel.expr.conformance.proto3.TestAllTypes.map_bool_bytes_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapBoolBytesWrapperEntry
33, // 70: cel.expr.conformance.proto3.TestAllTypes.map_int32_bool:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32BoolEntry
34, // 71: cel.expr.conformance.proto3.TestAllTypes.map_int32_string:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32StringEntry
35, // 72: cel.expr.conformance.proto3.TestAllTypes.map_int32_bytes:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32BytesEntry
36, // 73: cel.expr.conformance.proto3.TestAllTypes.map_int32_int32:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32Int32Entry
37, // 74: cel.expr.conformance.proto3.TestAllTypes.map_int32_int64:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32Int64Entry
38, // 75: cel.expr.conformance.proto3.TestAllTypes.map_int32_uint32:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint32Entry
39, // 76: cel.expr.conformance.proto3.TestAllTypes.map_int32_uint64:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint64Entry
40, // 77: cel.expr.conformance.proto3.TestAllTypes.map_int32_float:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32FloatEntry
41, // 78: cel.expr.conformance.proto3.TestAllTypes.map_int32_double:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32DoubleEntry
42, // 79: cel.expr.conformance.proto3.TestAllTypes.map_int32_enum:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32EnumEntry
43, // 80: cel.expr.conformance.proto3.TestAllTypes.map_int32_message:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32MessageEntry
44, // 81: cel.expr.conformance.proto3.TestAllTypes.map_int32_duration:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32DurationEntry
45, // 82: cel.expr.conformance.proto3.TestAllTypes.map_int32_timestamp:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32TimestampEntry
46, // 83: cel.expr.conformance.proto3.TestAllTypes.map_int32_null_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32NullValueEntry
47, // 84: cel.expr.conformance.proto3.TestAllTypes.map_int32_any:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32AnyEntry
48, // 85: cel.expr.conformance.proto3.TestAllTypes.map_int32_struct:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32StructEntry
49, // 86: cel.expr.conformance.proto3.TestAllTypes.map_int32_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32ValueEntry
50, // 87: cel.expr.conformance.proto3.TestAllTypes.map_int32_list_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32ListValueEntry
51, // 88: cel.expr.conformance.proto3.TestAllTypes.map_int32_int64_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32Int64WrapperEntry
52, // 89: cel.expr.conformance.proto3.TestAllTypes.map_int32_int32_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32Int32WrapperEntry
53, // 90: cel.expr.conformance.proto3.TestAllTypes.map_int32_double_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32DoubleWrapperEntry
54, // 91: cel.expr.conformance.proto3.TestAllTypes.map_int32_float_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32FloatWrapperEntry
55, // 92: cel.expr.conformance.proto3.TestAllTypes.map_int32_uint64_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint64WrapperEntry
56, // 93: cel.expr.conformance.proto3.TestAllTypes.map_int32_uint32_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint32WrapperEntry
57, // 94: cel.expr.conformance.proto3.TestAllTypes.map_int32_string_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32StringWrapperEntry
58, // 95: cel.expr.conformance.proto3.TestAllTypes.map_int32_bool_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32BoolWrapperEntry
59, // 96: cel.expr.conformance.proto3.TestAllTypes.map_int32_bytes_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt32BytesWrapperEntry
60, // 97: cel.expr.conformance.proto3.TestAllTypes.map_int64_bool:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64BoolEntry
61, // 98: cel.expr.conformance.proto3.TestAllTypes.map_int64_string:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64StringEntry
62, // 99: cel.expr.conformance.proto3.TestAllTypes.map_int64_bytes:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64BytesEntry
63, // 100: cel.expr.conformance.proto3.TestAllTypes.map_int64_int32:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64Int32Entry
64, // 101: cel.expr.conformance.proto3.TestAllTypes.map_int64_int64:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64Int64Entry
65, // 102: cel.expr.conformance.proto3.TestAllTypes.map_int64_uint32:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint32Entry
66, // 103: cel.expr.conformance.proto3.TestAllTypes.map_int64_uint64:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint64Entry
67, // 104: cel.expr.conformance.proto3.TestAllTypes.map_int64_float:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64FloatEntry
68, // 105: cel.expr.conformance.proto3.TestAllTypes.map_int64_double:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64DoubleEntry
69, // 106: cel.expr.conformance.proto3.TestAllTypes.map_int64_enum:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64EnumEntry
70, // 107: cel.expr.conformance.proto3.TestAllTypes.map_int64_message:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64MessageEntry
71, // 108: cel.expr.conformance.proto3.TestAllTypes.map_int64_duration:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64DurationEntry
72, // 109: cel.expr.conformance.proto3.TestAllTypes.map_int64_timestamp:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64TimestampEntry
73, // 110: cel.expr.conformance.proto3.TestAllTypes.map_int64_null_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64NullValueEntry
74, // 111: cel.expr.conformance.proto3.TestAllTypes.map_int64_any:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64AnyEntry
75, // 112: cel.expr.conformance.proto3.TestAllTypes.map_int64_struct:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64StructEntry
76, // 113: cel.expr.conformance.proto3.TestAllTypes.map_int64_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64ValueEntry
77, // 114: cel.expr.conformance.proto3.TestAllTypes.map_int64_list_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64ListValueEntry
78, // 115: cel.expr.conformance.proto3.TestAllTypes.map_int64_int64_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64Int64WrapperEntry
79, // 116: cel.expr.conformance.proto3.TestAllTypes.map_int64_int32_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64Int32WrapperEntry
80, // 117: cel.expr.conformance.proto3.TestAllTypes.map_int64_double_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64DoubleWrapperEntry
81, // 118: cel.expr.conformance.proto3.TestAllTypes.map_int64_float_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64FloatWrapperEntry
82, // 119: cel.expr.conformance.proto3.TestAllTypes.map_int64_uint64_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint64WrapperEntry
83, // 120: cel.expr.conformance.proto3.TestAllTypes.map_int64_uint32_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint32WrapperEntry
84, // 121: cel.expr.conformance.proto3.TestAllTypes.map_int64_string_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64StringWrapperEntry
85, // 122: cel.expr.conformance.proto3.TestAllTypes.map_int64_bool_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64BoolWrapperEntry
86, // 123: cel.expr.conformance.proto3.TestAllTypes.map_int64_bytes_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapInt64BytesWrapperEntry
87, // 124: cel.expr.conformance.proto3.TestAllTypes.map_uint32_bool:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32BoolEntry
88, // 125: cel.expr.conformance.proto3.TestAllTypes.map_uint32_string:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32StringEntry
89, // 126: cel.expr.conformance.proto3.TestAllTypes.map_uint32_bytes:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32BytesEntry
90, // 127: cel.expr.conformance.proto3.TestAllTypes.map_uint32_int32:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32Int32Entry
91, // 128: cel.expr.conformance.proto3.TestAllTypes.map_uint32_int64:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32Int64Entry
92, // 129: cel.expr.conformance.proto3.TestAllTypes.map_uint32_uint32:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint32Entry
93, // 130: cel.expr.conformance.proto3.TestAllTypes.map_uint32_uint64:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint64Entry
94, // 131: cel.expr.conformance.proto3.TestAllTypes.map_uint32_float:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32FloatEntry
95, // 132: cel.expr.conformance.proto3.TestAllTypes.map_uint32_double:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32DoubleEntry
96, // 133: cel.expr.conformance.proto3.TestAllTypes.map_uint32_enum:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32EnumEntry
97, // 134: cel.expr.conformance.proto3.TestAllTypes.map_uint32_message:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32MessageEntry
98, // 135: cel.expr.conformance.proto3.TestAllTypes.map_uint32_duration:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32DurationEntry
99, // 136: cel.expr.conformance.proto3.TestAllTypes.map_uint32_timestamp:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32TimestampEntry
100, // 137: cel.expr.conformance.proto3.TestAllTypes.map_uint32_null_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32NullValueEntry
101, // 138: cel.expr.conformance.proto3.TestAllTypes.map_uint32_any:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32AnyEntry
102, // 139: cel.expr.conformance.proto3.TestAllTypes.map_uint32_struct:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32StructEntry
103, // 140: cel.expr.conformance.proto3.TestAllTypes.map_uint32_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32ValueEntry
104, // 141: cel.expr.conformance.proto3.TestAllTypes.map_uint32_list_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32ListValueEntry
105, // 142: cel.expr.conformance.proto3.TestAllTypes.map_uint32_int64_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32Int64WrapperEntry
106, // 143: cel.expr.conformance.proto3.TestAllTypes.map_uint32_int32_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32Int32WrapperEntry
107, // 144: cel.expr.conformance.proto3.TestAllTypes.map_uint32_double_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32DoubleWrapperEntry
108, // 145: cel.expr.conformance.proto3.TestAllTypes.map_uint32_float_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32FloatWrapperEntry
109, // 146: cel.expr.conformance.proto3.TestAllTypes.map_uint32_uint64_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint64WrapperEntry
110, // 147: cel.expr.conformance.proto3.TestAllTypes.map_uint32_uint32_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint32WrapperEntry
111, // 148: cel.expr.conformance.proto3.TestAllTypes.map_uint32_string_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32StringWrapperEntry
112, // 149: cel.expr.conformance.proto3.TestAllTypes.map_uint32_bool_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32BoolWrapperEntry
113, // 150: cel.expr.conformance.proto3.TestAllTypes.map_uint32_bytes_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint32BytesWrapperEntry
114, // 151: cel.expr.conformance.proto3.TestAllTypes.map_uint64_bool:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64BoolEntry
115, // 152: cel.expr.conformance.proto3.TestAllTypes.map_uint64_string:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64StringEntry
116, // 153: cel.expr.conformance.proto3.TestAllTypes.map_uint64_bytes:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64BytesEntry
117, // 154: cel.expr.conformance.proto3.TestAllTypes.map_uint64_int32:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64Int32Entry
118, // 155: cel.expr.conformance.proto3.TestAllTypes.map_uint64_int64:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64Int64Entry
119, // 156: cel.expr.conformance.proto3.TestAllTypes.map_uint64_uint32:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint32Entry
120, // 157: cel.expr.conformance.proto3.TestAllTypes.map_uint64_uint64:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint64Entry
121, // 158: cel.expr.conformance.proto3.TestAllTypes.map_uint64_float:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64FloatEntry
122, // 159: cel.expr.conformance.proto3.TestAllTypes.map_uint64_double:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64DoubleEntry
123, // 160: cel.expr.conformance.proto3.TestAllTypes.map_uint64_enum:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64EnumEntry
124, // 161: cel.expr.conformance.proto3.TestAllTypes.map_uint64_message:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64MessageEntry
125, // 162: cel.expr.conformance.proto3.TestAllTypes.map_uint64_duration:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64DurationEntry
126, // 163: cel.expr.conformance.proto3.TestAllTypes.map_uint64_timestamp:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64TimestampEntry
127, // 164: cel.expr.conformance.proto3.TestAllTypes.map_uint64_null_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64NullValueEntry
128, // 165: cel.expr.conformance.proto3.TestAllTypes.map_uint64_any:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64AnyEntry
129, // 166: cel.expr.conformance.proto3.TestAllTypes.map_uint64_struct:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64StructEntry
130, // 167: cel.expr.conformance.proto3.TestAllTypes.map_uint64_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64ValueEntry
131, // 168: cel.expr.conformance.proto3.TestAllTypes.map_uint64_list_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64ListValueEntry
132, // 169: cel.expr.conformance.proto3.TestAllTypes.map_uint64_int64_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64Int64WrapperEntry
133, // 170: cel.expr.conformance.proto3.TestAllTypes.map_uint64_int32_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64Int32WrapperEntry
134, // 171: cel.expr.conformance.proto3.TestAllTypes.map_uint64_double_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64DoubleWrapperEntry
135, // 172: cel.expr.conformance.proto3.TestAllTypes.map_uint64_float_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64FloatWrapperEntry
136, // 173: cel.expr.conformance.proto3.TestAllTypes.map_uint64_uint64_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint64WrapperEntry
137, // 174: cel.expr.conformance.proto3.TestAllTypes.map_uint64_uint32_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint32WrapperEntry
138, // 175: cel.expr.conformance.proto3.TestAllTypes.map_uint64_string_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64StringWrapperEntry
139, // 176: cel.expr.conformance.proto3.TestAllTypes.map_uint64_bool_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64BoolWrapperEntry
140, // 177: cel.expr.conformance.proto3.TestAllTypes.map_uint64_bytes_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapUint64BytesWrapperEntry
141, // 178: cel.expr.conformance.proto3.TestAllTypes.map_string_bool:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringBoolEntry
142, // 179: cel.expr.conformance.proto3.TestAllTypes.map_string_string:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringStringEntry
143, // 180: cel.expr.conformance.proto3.TestAllTypes.map_string_bytes:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringBytesEntry
144, // 181: cel.expr.conformance.proto3.TestAllTypes.map_string_int32:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringInt32Entry
145, // 182: cel.expr.conformance.proto3.TestAllTypes.map_string_int64:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringInt64Entry
146, // 183: cel.expr.conformance.proto3.TestAllTypes.map_string_uint32:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringUint32Entry
147, // 184: cel.expr.conformance.proto3.TestAllTypes.map_string_uint64:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringUint64Entry
148, // 185: cel.expr.conformance.proto3.TestAllTypes.map_string_float:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringFloatEntry
149, // 186: cel.expr.conformance.proto3.TestAllTypes.map_string_double:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringDoubleEntry
150, // 187: cel.expr.conformance.proto3.TestAllTypes.map_string_enum:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringEnumEntry
151, // 188: cel.expr.conformance.proto3.TestAllTypes.map_string_message:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringMessageEntry
152, // 189: cel.expr.conformance.proto3.TestAllTypes.map_string_duration:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringDurationEntry
153, // 190: cel.expr.conformance.proto3.TestAllTypes.map_string_timestamp:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringTimestampEntry
154, // 191: cel.expr.conformance.proto3.TestAllTypes.map_string_null_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringNullValueEntry
155, // 192: cel.expr.conformance.proto3.TestAllTypes.map_string_any:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringAnyEntry
156, // 193: cel.expr.conformance.proto3.TestAllTypes.map_string_struct:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringStructEntry
157, // 194: cel.expr.conformance.proto3.TestAllTypes.map_string_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringValueEntry
158, // 195: cel.expr.conformance.proto3.TestAllTypes.map_string_list_value:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringListValueEntry
159, // 196: cel.expr.conformance.proto3.TestAllTypes.map_string_int64_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringInt64WrapperEntry
160, // 197: cel.expr.conformance.proto3.TestAllTypes.map_string_int32_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringInt32WrapperEntry
161, // 198: cel.expr.conformance.proto3.TestAllTypes.map_string_double_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringDoubleWrapperEntry
162, // 199: cel.expr.conformance.proto3.TestAllTypes.map_string_float_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringFloatWrapperEntry
163, // 200: cel.expr.conformance.proto3.TestAllTypes.map_string_uint64_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringUint64WrapperEntry
164, // 201: cel.expr.conformance.proto3.TestAllTypes.map_string_uint32_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringUint32WrapperEntry
165, // 202: cel.expr.conformance.proto3.TestAllTypes.map_string_string_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringStringWrapperEntry
166, // 203: cel.expr.conformance.proto3.TestAllTypes.map_string_bool_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringBoolWrapperEntry
167, // 204: cel.expr.conformance.proto3.TestAllTypes.map_string_bytes_wrapper:type_name -> cel.expr.conformance.proto3.TestAllTypes.MapStringBytesWrapperEntry
3, // 205: cel.expr.conformance.proto3.TestAllTypes.oneof_type:type_name -> cel.expr.conformance.proto3.NestedTestAllTypes
4, // 206: cel.expr.conformance.proto3.TestAllTypes.oneof_msg:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedMessage
3, // 207: cel.expr.conformance.proto3.NestedTestAllTypes.child:type_name -> cel.expr.conformance.proto3.NestedTestAllTypes
2, // 208: cel.expr.conformance.proto3.NestedTestAllTypes.payload:type_name -> cel.expr.conformance.proto3.TestAllTypes
3, // 209: cel.expr.conformance.proto3.TestAllTypes.MapInt64NestedTypeEntry.value:type_name -> cel.expr.conformance.proto3.NestedTestAllTypes
1, // 210: cel.expr.conformance.proto3.TestAllTypes.MapBoolEnumEntry.value:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedEnum
4, // 211: cel.expr.conformance.proto3.TestAllTypes.MapBoolMessageEntry.value:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedMessage
169, // 212: cel.expr.conformance.proto3.TestAllTypes.MapBoolDurationEntry.value:type_name -> google.protobuf.Duration
170, // 213: cel.expr.conformance.proto3.TestAllTypes.MapBoolTimestampEntry.value:type_name -> google.protobuf.Timestamp
183, // 214: cel.expr.conformance.proto3.TestAllTypes.MapBoolNullValueEntry.value:type_name -> google.protobuf.NullValue
168, // 215: cel.expr.conformance.proto3.TestAllTypes.MapBoolAnyEntry.value:type_name -> google.protobuf.Any
171, // 216: cel.expr.conformance.proto3.TestAllTypes.MapBoolStructEntry.value:type_name -> google.protobuf.Struct
172, // 217: cel.expr.conformance.proto3.TestAllTypes.MapBoolValueEntry.value:type_name -> google.protobuf.Value
182, // 218: cel.expr.conformance.proto3.TestAllTypes.MapBoolListValueEntry.value:type_name -> google.protobuf.ListValue
173, // 219: cel.expr.conformance.proto3.TestAllTypes.MapBoolInt64WrapperEntry.value:type_name -> google.protobuf.Int64Value
174, // 220: cel.expr.conformance.proto3.TestAllTypes.MapBoolInt32WrapperEntry.value:type_name -> google.protobuf.Int32Value
175, // 221: cel.expr.conformance.proto3.TestAllTypes.MapBoolDoubleWrapperEntry.value:type_name -> google.protobuf.DoubleValue
176, // 222: cel.expr.conformance.proto3.TestAllTypes.MapBoolFloatWrapperEntry.value:type_name -> google.protobuf.FloatValue
177, // 223: cel.expr.conformance.proto3.TestAllTypes.MapBoolUint64WrapperEntry.value:type_name -> google.protobuf.UInt64Value
178, // 224: cel.expr.conformance.proto3.TestAllTypes.MapBoolUint32WrapperEntry.value:type_name -> google.protobuf.UInt32Value
179, // 225: cel.expr.conformance.proto3.TestAllTypes.MapBoolStringWrapperEntry.value:type_name -> google.protobuf.StringValue
180, // 226: cel.expr.conformance.proto3.TestAllTypes.MapBoolBoolWrapperEntry.value:type_name -> google.protobuf.BoolValue
181, // 227: cel.expr.conformance.proto3.TestAllTypes.MapBoolBytesWrapperEntry.value:type_name -> google.protobuf.BytesValue
1, // 228: cel.expr.conformance.proto3.TestAllTypes.MapInt32EnumEntry.value:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedEnum
4, // 229: cel.expr.conformance.proto3.TestAllTypes.MapInt32MessageEntry.value:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedMessage
169, // 230: cel.expr.conformance.proto3.TestAllTypes.MapInt32DurationEntry.value:type_name -> google.protobuf.Duration
170, // 231: cel.expr.conformance.proto3.TestAllTypes.MapInt32TimestampEntry.value:type_name -> google.protobuf.Timestamp
183, // 232: cel.expr.conformance.proto3.TestAllTypes.MapInt32NullValueEntry.value:type_name -> google.protobuf.NullValue
168, // 233: cel.expr.conformance.proto3.TestAllTypes.MapInt32AnyEntry.value:type_name -> google.protobuf.Any
171, // 234: cel.expr.conformance.proto3.TestAllTypes.MapInt32StructEntry.value:type_name -> google.protobuf.Struct
172, // 235: cel.expr.conformance.proto3.TestAllTypes.MapInt32ValueEntry.value:type_name -> google.protobuf.Value
182, // 236: cel.expr.conformance.proto3.TestAllTypes.MapInt32ListValueEntry.value:type_name -> google.protobuf.ListValue
173, // 237: cel.expr.conformance.proto3.TestAllTypes.MapInt32Int64WrapperEntry.value:type_name -> google.protobuf.Int64Value
174, // 238: cel.expr.conformance.proto3.TestAllTypes.MapInt32Int32WrapperEntry.value:type_name -> google.protobuf.Int32Value
175, // 239: cel.expr.conformance.proto3.TestAllTypes.MapInt32DoubleWrapperEntry.value:type_name -> google.protobuf.DoubleValue
176, // 240: cel.expr.conformance.proto3.TestAllTypes.MapInt32FloatWrapperEntry.value:type_name -> google.protobuf.FloatValue
177, // 241: cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint64WrapperEntry.value:type_name -> google.protobuf.UInt64Value
178, // 242: cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint32WrapperEntry.value:type_name -> google.protobuf.UInt32Value
179, // 243: cel.expr.conformance.proto3.TestAllTypes.MapInt32StringWrapperEntry.value:type_name -> google.protobuf.StringValue
180, // 244: cel.expr.conformance.proto3.TestAllTypes.MapInt32BoolWrapperEntry.value:type_name -> google.protobuf.BoolValue
181, // 245: cel.expr.conformance.proto3.TestAllTypes.MapInt32BytesWrapperEntry.value:type_name -> google.protobuf.BytesValue
1, // 246: cel.expr.conformance.proto3.TestAllTypes.MapInt64EnumEntry.value:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedEnum
4, // 247: cel.expr.conformance.proto3.TestAllTypes.MapInt64MessageEntry.value:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedMessage
169, // 248: cel.expr.conformance.proto3.TestAllTypes.MapInt64DurationEntry.value:type_name -> google.protobuf.Duration
170, // 249: cel.expr.conformance.proto3.TestAllTypes.MapInt64TimestampEntry.value:type_name -> google.protobuf.Timestamp
183, // 250: cel.expr.conformance.proto3.TestAllTypes.MapInt64NullValueEntry.value:type_name -> google.protobuf.NullValue
168, // 251: cel.expr.conformance.proto3.TestAllTypes.MapInt64AnyEntry.value:type_name -> google.protobuf.Any
171, // 252: cel.expr.conformance.proto3.TestAllTypes.MapInt64StructEntry.value:type_name -> google.protobuf.Struct
172, // 253: cel.expr.conformance.proto3.TestAllTypes.MapInt64ValueEntry.value:type_name -> google.protobuf.Value
182, // 254: cel.expr.conformance.proto3.TestAllTypes.MapInt64ListValueEntry.value:type_name -> google.protobuf.ListValue
173, // 255: cel.expr.conformance.proto3.TestAllTypes.MapInt64Int64WrapperEntry.value:type_name -> google.protobuf.Int64Value
174, // 256: cel.expr.conformance.proto3.TestAllTypes.MapInt64Int32WrapperEntry.value:type_name -> google.protobuf.Int32Value
175, // 257: cel.expr.conformance.proto3.TestAllTypes.MapInt64DoubleWrapperEntry.value:type_name -> google.protobuf.DoubleValue
176, // 258: cel.expr.conformance.proto3.TestAllTypes.MapInt64FloatWrapperEntry.value:type_name -> google.protobuf.FloatValue
177, // 259: cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint64WrapperEntry.value:type_name -> google.protobuf.UInt64Value
178, // 260: cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint32WrapperEntry.value:type_name -> google.protobuf.UInt32Value
179, // 261: cel.expr.conformance.proto3.TestAllTypes.MapInt64StringWrapperEntry.value:type_name -> google.protobuf.StringValue
180, // 262: cel.expr.conformance.proto3.TestAllTypes.MapInt64BoolWrapperEntry.value:type_name -> google.protobuf.BoolValue
181, // 263: cel.expr.conformance.proto3.TestAllTypes.MapInt64BytesWrapperEntry.value:type_name -> google.protobuf.BytesValue
1, // 264: cel.expr.conformance.proto3.TestAllTypes.MapUint32EnumEntry.value:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedEnum
4, // 265: cel.expr.conformance.proto3.TestAllTypes.MapUint32MessageEntry.value:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedMessage
169, // 266: cel.expr.conformance.proto3.TestAllTypes.MapUint32DurationEntry.value:type_name -> google.protobuf.Duration
170, // 267: cel.expr.conformance.proto3.TestAllTypes.MapUint32TimestampEntry.value:type_name -> google.protobuf.Timestamp
183, // 268: cel.expr.conformance.proto3.TestAllTypes.MapUint32NullValueEntry.value:type_name -> google.protobuf.NullValue
168, // 269: cel.expr.conformance.proto3.TestAllTypes.MapUint32AnyEntry.value:type_name -> google.protobuf.Any
171, // 270: cel.expr.conformance.proto3.TestAllTypes.MapUint32StructEntry.value:type_name -> google.protobuf.Struct
172, // 271: cel.expr.conformance.proto3.TestAllTypes.MapUint32ValueEntry.value:type_name -> google.protobuf.Value
182, // 272: cel.expr.conformance.proto3.TestAllTypes.MapUint32ListValueEntry.value:type_name -> google.protobuf.ListValue
173, // 273: cel.expr.conformance.proto3.TestAllTypes.MapUint32Int64WrapperEntry.value:type_name -> google.protobuf.Int64Value
174, // 274: cel.expr.conformance.proto3.TestAllTypes.MapUint32Int32WrapperEntry.value:type_name -> google.protobuf.Int32Value
175, // 275: cel.expr.conformance.proto3.TestAllTypes.MapUint32DoubleWrapperEntry.value:type_name -> google.protobuf.DoubleValue
176, // 276: cel.expr.conformance.proto3.TestAllTypes.MapUint32FloatWrapperEntry.value:type_name -> google.protobuf.FloatValue
177, // 277: cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint64WrapperEntry.value:type_name -> google.protobuf.UInt64Value
178, // 278: cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint32WrapperEntry.value:type_name -> google.protobuf.UInt32Value
179, // 279: cel.expr.conformance.proto3.TestAllTypes.MapUint32StringWrapperEntry.value:type_name -> google.protobuf.StringValue
180, // 280: cel.expr.conformance.proto3.TestAllTypes.MapUint32BoolWrapperEntry.value:type_name -> google.protobuf.BoolValue
181, // 281: cel.expr.conformance.proto3.TestAllTypes.MapUint32BytesWrapperEntry.value:type_name -> google.protobuf.BytesValue
1, // 282: cel.expr.conformance.proto3.TestAllTypes.MapUint64EnumEntry.value:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedEnum
4, // 283: cel.expr.conformance.proto3.TestAllTypes.MapUint64MessageEntry.value:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedMessage
169, // 284: cel.expr.conformance.proto3.TestAllTypes.MapUint64DurationEntry.value:type_name -> google.protobuf.Duration
170, // 285: cel.expr.conformance.proto3.TestAllTypes.MapUint64TimestampEntry.value:type_name -> google.protobuf.Timestamp
183, // 286: cel.expr.conformance.proto3.TestAllTypes.MapUint64NullValueEntry.value:type_name -> google.protobuf.NullValue
168, // 287: cel.expr.conformance.proto3.TestAllTypes.MapUint64AnyEntry.value:type_name -> google.protobuf.Any
171, // 288: cel.expr.conformance.proto3.TestAllTypes.MapUint64StructEntry.value:type_name -> google.protobuf.Struct
172, // 289: cel.expr.conformance.proto3.TestAllTypes.MapUint64ValueEntry.value:type_name -> google.protobuf.Value
182, // 290: cel.expr.conformance.proto3.TestAllTypes.MapUint64ListValueEntry.value:type_name -> google.protobuf.ListValue
173, // 291: cel.expr.conformance.proto3.TestAllTypes.MapUint64Int64WrapperEntry.value:type_name -> google.protobuf.Int64Value
174, // 292: cel.expr.conformance.proto3.TestAllTypes.MapUint64Int32WrapperEntry.value:type_name -> google.protobuf.Int32Value
175, // 293: cel.expr.conformance.proto3.TestAllTypes.MapUint64DoubleWrapperEntry.value:type_name -> google.protobuf.DoubleValue
176, // 294: cel.expr.conformance.proto3.TestAllTypes.MapUint64FloatWrapperEntry.value:type_name -> google.protobuf.FloatValue
177, // 295: cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint64WrapperEntry.value:type_name -> google.protobuf.UInt64Value
178, // 296: cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint32WrapperEntry.value:type_name -> google.protobuf.UInt32Value
179, // 297: cel.expr.conformance.proto3.TestAllTypes.MapUint64StringWrapperEntry.value:type_name -> google.protobuf.StringValue
180, // 298: cel.expr.conformance.proto3.TestAllTypes.MapUint64BoolWrapperEntry.value:type_name -> google.protobuf.BoolValue
181, // 299: cel.expr.conformance.proto3.TestAllTypes.MapUint64BytesWrapperEntry.value:type_name -> google.protobuf.BytesValue
1, // 300: cel.expr.conformance.proto3.TestAllTypes.MapStringEnumEntry.value:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedEnum
4, // 301: cel.expr.conformance.proto3.TestAllTypes.MapStringMessageEntry.value:type_name -> cel.expr.conformance.proto3.TestAllTypes.NestedMessage
169, // 302: cel.expr.conformance.proto3.TestAllTypes.MapStringDurationEntry.value:type_name -> google.protobuf.Duration
170, // 303: cel.expr.conformance.proto3.TestAllTypes.MapStringTimestampEntry.value:type_name -> google.protobuf.Timestamp
183, // 304: cel.expr.conformance.proto3.TestAllTypes.MapStringNullValueEntry.value:type_name -> google.protobuf.NullValue
168, // 305: cel.expr.conformance.proto3.TestAllTypes.MapStringAnyEntry.value:type_name -> google.protobuf.Any
171, // 306: cel.expr.conformance.proto3.TestAllTypes.MapStringStructEntry.value:type_name -> google.protobuf.Struct
172, // 307: cel.expr.conformance.proto3.TestAllTypes.MapStringValueEntry.value:type_name -> google.protobuf.Value
182, // 308: cel.expr.conformance.proto3.TestAllTypes.MapStringListValueEntry.value:type_name -> google.protobuf.ListValue
173, // 309: cel.expr.conformance.proto3.TestAllTypes.MapStringInt64WrapperEntry.value:type_name -> google.protobuf.Int64Value
174, // 310: cel.expr.conformance.proto3.TestAllTypes.MapStringInt32WrapperEntry.value:type_name -> google.protobuf.Int32Value
175, // 311: cel.expr.conformance.proto3.TestAllTypes.MapStringDoubleWrapperEntry.value:type_name -> google.protobuf.DoubleValue
176, // 312: cel.expr.conformance.proto3.TestAllTypes.MapStringFloatWrapperEntry.value:type_name -> google.protobuf.FloatValue
177, // 313: cel.expr.conformance.proto3.TestAllTypes.MapStringUint64WrapperEntry.value:type_name -> google.protobuf.UInt64Value
178, // 314: cel.expr.conformance.proto3.TestAllTypes.MapStringUint32WrapperEntry.value:type_name -> google.protobuf.UInt32Value
179, // 315: cel.expr.conformance.proto3.TestAllTypes.MapStringStringWrapperEntry.value:type_name -> google.protobuf.StringValue
180, // 316: cel.expr.conformance.proto3.TestAllTypes.MapStringBoolWrapperEntry.value:type_name -> google.protobuf.BoolValue
181, // 317: cel.expr.conformance.proto3.TestAllTypes.MapStringBytesWrapperEntry.value:type_name -> google.protobuf.BytesValue
318, // [318:318] is the sub-list for method output_type
318, // [318:318] is the sub-list for method input_type
318, // [318:318] is the sub-list for extension type_name
318, // [318:318] is the sub-list for extension extendee
0, // [0:318] is the sub-list for field type_name
}
func init() { file_cel_expr_conformance_proto3_test_all_types_proto_init() }
func file_cel_expr_conformance_proto3_test_all_types_proto_init() {
if File_cel_expr_conformance_proto3_test_all_types_proto != nil {
return
}
file_cel_expr_conformance_proto3_test_all_types_proto_msgTypes[0].OneofWrappers = []any{
(*TestAllTypes_SingleNestedMessage)(nil),
(*TestAllTypes_SingleNestedEnum)(nil),
(*TestAllTypes_OneofType)(nil),
(*TestAllTypes_OneofMsg)(nil),
(*TestAllTypes_OneofBool)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cel_expr_conformance_proto3_test_all_types_proto_rawDesc,
NumEnums: 2,
NumMessages: 166,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cel_expr_conformance_proto3_test_all_types_proto_goTypes,
DependencyIndexes: file_cel_expr_conformance_proto3_test_all_types_proto_depIdxs,
EnumInfos: file_cel_expr_conformance_proto3_test_all_types_proto_enumTypes,
MessageInfos: file_cel_expr_conformance_proto3_test_all_types_proto_msgTypes,
}.Build()
File_cel_expr_conformance_proto3_test_all_types_proto = out.File
file_cel_expr_conformance_proto3_test_all_types_proto_rawDesc = nil
file_cel_expr_conformance_proto3_test_all_types_proto_goTypes = nil
file_cel_expr_conformance_proto3_test_all_types_proto_depIdxs = nil
}
cel-spec-0.24.0/conformance/test/ 0000775 0000000 0000000 00000000000 15006676303 0016547 5 ustar 00root root 0000000 0000000 cel-spec-0.24.0/conformance/test/BUILD.bazel 0000775 0000000 0000000 00000002205 15006676303 0020427 0 ustar 00root root 0000000 0000000 # Copyright 2024 Google LLC
#
# 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
#
# https://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.
load("@io_bazel_rules_go//go:def.bzl", "go_library")
package(
default_visibility = ["//visibility:public"],
licenses = ["notice"], # Apache 2.0
)
go_library(
name = "go_default_library",
srcs = [
"simple.pb.go",
"suite.pb.go"
],
importpath = "cel.dev/expr/conformance/test",
deps = [
"//:expr",
"//conformance:go_default_library",
"@org_golang_google_protobuf//reflect/protoreflect",
"@org_golang_google_protobuf//runtime/protoimpl",
"@org_golang_google_protobuf//types/known/anypb",
],
)
cel-spec-0.24.0/conformance/test/simple.pb.go 0000775 0000000 0000000 00000067242 15006676303 0021005 0 ustar 00root root 0000000 0000000 // Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.3
// protoc v5.27.1
// source: cel/expr/conformance/test/simple.proto
package test
import (
expr "cel.dev/expr"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type SimpleTestFile struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
Section []*SimpleTestSection `protobuf:"bytes,3,rep,name=section,proto3" json:"section,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SimpleTestFile) Reset() {
*x = SimpleTestFile{}
mi := &file_cel_expr_conformance_test_simple_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SimpleTestFile) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SimpleTestFile) ProtoMessage() {}
func (x *SimpleTestFile) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_test_simple_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SimpleTestFile.ProtoReflect.Descriptor instead.
func (*SimpleTestFile) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_test_simple_proto_rawDescGZIP(), []int{0}
}
func (x *SimpleTestFile) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SimpleTestFile) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *SimpleTestFile) GetSection() []*SimpleTestSection {
if x != nil {
return x.Section
}
return nil
}
type SimpleTestSection struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
Test []*SimpleTest `protobuf:"bytes,3,rep,name=test,proto3" json:"test,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SimpleTestSection) Reset() {
*x = SimpleTestSection{}
mi := &file_cel_expr_conformance_test_simple_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SimpleTestSection) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SimpleTestSection) ProtoMessage() {}
func (x *SimpleTestSection) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_test_simple_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SimpleTestSection.ProtoReflect.Descriptor instead.
func (*SimpleTestSection) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_test_simple_proto_rawDescGZIP(), []int{1}
}
func (x *SimpleTestSection) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SimpleTestSection) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *SimpleTestSection) GetTest() []*SimpleTest {
if x != nil {
return x.Test
}
return nil
}
type SimpleTest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
Expr string `protobuf:"bytes,3,opt,name=expr,proto3" json:"expr,omitempty"`
DisableMacros bool `protobuf:"varint,4,opt,name=disable_macros,json=disableMacros,proto3" json:"disable_macros,omitempty"`
DisableCheck bool `protobuf:"varint,5,opt,name=disable_check,json=disableCheck,proto3" json:"disable_check,omitempty"`
CheckOnly bool `protobuf:"varint,15,opt,name=check_only,json=checkOnly,proto3" json:"check_only,omitempty"`
TypeEnv []*expr.Decl `protobuf:"bytes,6,rep,name=type_env,json=typeEnv,proto3" json:"type_env,omitempty"`
Container string `protobuf:"bytes,13,opt,name=container,proto3" json:"container,omitempty"`
Locale string `protobuf:"bytes,14,opt,name=locale,proto3" json:"locale,omitempty"`
Bindings map[string]*expr.ExprValue `protobuf:"bytes,7,rep,name=bindings,proto3" json:"bindings,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
// Types that are valid to be assigned to ResultMatcher:
//
// *SimpleTest_Value
// *SimpleTest_TypedResult
// *SimpleTest_EvalError
// *SimpleTest_AnyEvalErrors
// *SimpleTest_Unknown
// *SimpleTest_AnyUnknowns
ResultMatcher isSimpleTest_ResultMatcher `protobuf_oneof:"result_matcher"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SimpleTest) Reset() {
*x = SimpleTest{}
mi := &file_cel_expr_conformance_test_simple_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SimpleTest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SimpleTest) ProtoMessage() {}
func (x *SimpleTest) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_test_simple_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SimpleTest.ProtoReflect.Descriptor instead.
func (*SimpleTest) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_test_simple_proto_rawDescGZIP(), []int{2}
}
func (x *SimpleTest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SimpleTest) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *SimpleTest) GetExpr() string {
if x != nil {
return x.Expr
}
return ""
}
func (x *SimpleTest) GetDisableMacros() bool {
if x != nil {
return x.DisableMacros
}
return false
}
func (x *SimpleTest) GetDisableCheck() bool {
if x != nil {
return x.DisableCheck
}
return false
}
func (x *SimpleTest) GetCheckOnly() bool {
if x != nil {
return x.CheckOnly
}
return false
}
func (x *SimpleTest) GetTypeEnv() []*expr.Decl {
if x != nil {
return x.TypeEnv
}
return nil
}
func (x *SimpleTest) GetContainer() string {
if x != nil {
return x.Container
}
return ""
}
func (x *SimpleTest) GetLocale() string {
if x != nil {
return x.Locale
}
return ""
}
func (x *SimpleTest) GetBindings() map[string]*expr.ExprValue {
if x != nil {
return x.Bindings
}
return nil
}
func (x *SimpleTest) GetResultMatcher() isSimpleTest_ResultMatcher {
if x != nil {
return x.ResultMatcher
}
return nil
}
func (x *SimpleTest) GetValue() *expr.Value {
if x != nil {
if x, ok := x.ResultMatcher.(*SimpleTest_Value); ok {
return x.Value
}
}
return nil
}
func (x *SimpleTest) GetTypedResult() *TypedResult {
if x != nil {
if x, ok := x.ResultMatcher.(*SimpleTest_TypedResult); ok {
return x.TypedResult
}
}
return nil
}
func (x *SimpleTest) GetEvalError() *expr.ErrorSet {
if x != nil {
if x, ok := x.ResultMatcher.(*SimpleTest_EvalError); ok {
return x.EvalError
}
}
return nil
}
func (x *SimpleTest) GetAnyEvalErrors() *ErrorSetMatcher {
if x != nil {
if x, ok := x.ResultMatcher.(*SimpleTest_AnyEvalErrors); ok {
return x.AnyEvalErrors
}
}
return nil
}
func (x *SimpleTest) GetUnknown() *expr.UnknownSet {
if x != nil {
if x, ok := x.ResultMatcher.(*SimpleTest_Unknown); ok {
return x.Unknown
}
}
return nil
}
func (x *SimpleTest) GetAnyUnknowns() *UnknownSetMatcher {
if x != nil {
if x, ok := x.ResultMatcher.(*SimpleTest_AnyUnknowns); ok {
return x.AnyUnknowns
}
}
return nil
}
type isSimpleTest_ResultMatcher interface {
isSimpleTest_ResultMatcher()
}
type SimpleTest_Value struct {
Value *expr.Value `protobuf:"bytes,8,opt,name=value,proto3,oneof"`
}
type SimpleTest_TypedResult struct {
TypedResult *TypedResult `protobuf:"bytes,16,opt,name=typed_result,json=typedResult,proto3,oneof"`
}
type SimpleTest_EvalError struct {
EvalError *expr.ErrorSet `protobuf:"bytes,9,opt,name=eval_error,json=evalError,proto3,oneof"`
}
type SimpleTest_AnyEvalErrors struct {
AnyEvalErrors *ErrorSetMatcher `protobuf:"bytes,10,opt,name=any_eval_errors,json=anyEvalErrors,proto3,oneof"`
}
type SimpleTest_Unknown struct {
Unknown *expr.UnknownSet `protobuf:"bytes,11,opt,name=unknown,proto3,oneof"`
}
type SimpleTest_AnyUnknowns struct {
AnyUnknowns *UnknownSetMatcher `protobuf:"bytes,12,opt,name=any_unknowns,json=anyUnknowns,proto3,oneof"`
}
func (*SimpleTest_Value) isSimpleTest_ResultMatcher() {}
func (*SimpleTest_TypedResult) isSimpleTest_ResultMatcher() {}
func (*SimpleTest_EvalError) isSimpleTest_ResultMatcher() {}
func (*SimpleTest_AnyEvalErrors) isSimpleTest_ResultMatcher() {}
func (*SimpleTest_Unknown) isSimpleTest_ResultMatcher() {}
func (*SimpleTest_AnyUnknowns) isSimpleTest_ResultMatcher() {}
type TypedResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Result *expr.Value `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
DeducedType *expr.Type `protobuf:"bytes,2,opt,name=deduced_type,json=deducedType,proto3" json:"deduced_type,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TypedResult) Reset() {
*x = TypedResult{}
mi := &file_cel_expr_conformance_test_simple_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TypedResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TypedResult) ProtoMessage() {}
func (x *TypedResult) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_test_simple_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TypedResult.ProtoReflect.Descriptor instead.
func (*TypedResult) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_test_simple_proto_rawDescGZIP(), []int{3}
}
func (x *TypedResult) GetResult() *expr.Value {
if x != nil {
return x.Result
}
return nil
}
func (x *TypedResult) GetDeducedType() *expr.Type {
if x != nil {
return x.DeducedType
}
return nil
}
type ErrorSetMatcher struct {
state protoimpl.MessageState `protogen:"open.v1"`
Errors []*expr.ErrorSet `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ErrorSetMatcher) Reset() {
*x = ErrorSetMatcher{}
mi := &file_cel_expr_conformance_test_simple_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ErrorSetMatcher) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ErrorSetMatcher) ProtoMessage() {}
func (x *ErrorSetMatcher) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_test_simple_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ErrorSetMatcher.ProtoReflect.Descriptor instead.
func (*ErrorSetMatcher) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_test_simple_proto_rawDescGZIP(), []int{4}
}
func (x *ErrorSetMatcher) GetErrors() []*expr.ErrorSet {
if x != nil {
return x.Errors
}
return nil
}
type UnknownSetMatcher struct {
state protoimpl.MessageState `protogen:"open.v1"`
Unknowns []*expr.UnknownSet `protobuf:"bytes,1,rep,name=unknowns,proto3" json:"unknowns,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *UnknownSetMatcher) Reset() {
*x = UnknownSetMatcher{}
mi := &file_cel_expr_conformance_test_simple_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UnknownSetMatcher) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UnknownSetMatcher) ProtoMessage() {}
func (x *UnknownSetMatcher) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_test_simple_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UnknownSetMatcher.ProtoReflect.Descriptor instead.
func (*UnknownSetMatcher) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_test_simple_proto_rawDescGZIP(), []int{5}
}
func (x *UnknownSetMatcher) GetUnknowns() []*expr.UnknownSet {
if x != nil {
return x.Unknowns
}
return nil
}
var File_cel_expr_conformance_test_simple_proto protoreflect.FileDescriptor
var file_cel_expr_conformance_test_simple_proto_rawDesc = []byte{
0x0a, 0x26, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x73, 0x69, 0x6d, 0x70,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x74,
0x65, 0x73, 0x74, 0x1a, 0x16, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x68,
0x65, 0x63, 0x6b, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x63, 0x65, 0x6c,
0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x14, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x0e, 0x53, 0x69, 0x6d, 0x70, 0x6c,
0x65, 0x54, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a,
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x46, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x2c, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x69, 0x6d,
0x70, 0x6c, 0x65, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07,
0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x11, 0x53, 0x69, 0x6d, 0x70,
0x6c, 0x65, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x04, 0x74, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x25, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x69,
0x6d, 0x70, 0x6c, 0x65, 0x54, 0x65, 0x73, 0x74, 0x52, 0x04, 0x74, 0x65, 0x73, 0x74, 0x22, 0xdd,
0x06, 0x0a, 0x0a, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x54, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62,
0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x12, 0x23,
0x0a, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18,
0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68,
0x65, 0x63, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6f, 0x6e, 0x6c,
0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x6e,
0x6c, 0x79, 0x12, 0x29, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x06,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x44, 0x65, 0x63, 0x6c, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x76, 0x12, 0x1c, 0x0a,
0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6c,
0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63,
0x61, 0x6c, 0x65, 0x12, 0x4f, 0x0a, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18,
0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x74, 0x65, 0x73,
0x74, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x54, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x69, 0x6e,
0x64, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x62, 0x69, 0x6e, 0x64,
0x69, 0x6e, 0x67, 0x73, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4b, 0x0a,
0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x10, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e,
0x54, 0x79, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x74,
0x79, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x0a, 0x65, 0x76,
0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53,
0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x65, 0x76, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12,
0x54, 0x0a, 0x0f, 0x61, 0x6e, 0x79, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f,
0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x74, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x74,
0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x6e, 0x79, 0x45, 0x76, 0x61, 0x6c, 0x45,
0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07,
0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x12, 0x51, 0x0a, 0x0c, 0x61, 0x6e, 0x79, 0x5f, 0x75,
0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77,
0x6e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x61,
0x6e, 0x79, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x73, 0x1a, 0x50, 0x0a, 0x0d, 0x42, 0x69,
0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x10, 0x0a, 0x0e,
0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x22, 0x69,
0x0a, 0x0b, 0x54, 0x79, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a,
0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06,
0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x31, 0x0a, 0x0c, 0x64, 0x65, 0x64, 0x75, 0x63, 0x65,
0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x64, 0x65,
0x64, 0x75, 0x63, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0x3d, 0x0a, 0x0f, 0x45, 0x72, 0x72,
0x6f, 0x72, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x06,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74,
0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x45, 0x0a, 0x11, 0x55, 0x6e, 0x6b, 0x6e,
0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x30, 0x0a,
0x08, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x14, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f,
0x77, 0x6e, 0x53, 0x65, 0x74, 0x52, 0x08, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x73, 0x42,
0x50, 0x0a, 0x1d, 0x64, 0x65, 0x76, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x74, 0x65, 0x73, 0x74,
0x42, 0x0b, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
0x1d, 0x63, 0x65, 0x6c, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x6f,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x74, 0x65, 0x73, 0x74, 0xf8, 0x01,
0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cel_expr_conformance_test_simple_proto_rawDescOnce sync.Once
file_cel_expr_conformance_test_simple_proto_rawDescData = file_cel_expr_conformance_test_simple_proto_rawDesc
)
func file_cel_expr_conformance_test_simple_proto_rawDescGZIP() []byte {
file_cel_expr_conformance_test_simple_proto_rawDescOnce.Do(func() {
file_cel_expr_conformance_test_simple_proto_rawDescData = protoimpl.X.CompressGZIP(file_cel_expr_conformance_test_simple_proto_rawDescData)
})
return file_cel_expr_conformance_test_simple_proto_rawDescData
}
var file_cel_expr_conformance_test_simple_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_cel_expr_conformance_test_simple_proto_goTypes = []any{
(*SimpleTestFile)(nil), // 0: cel.expr.conformance.test.SimpleTestFile
(*SimpleTestSection)(nil), // 1: cel.expr.conformance.test.SimpleTestSection
(*SimpleTest)(nil), // 2: cel.expr.conformance.test.SimpleTest
(*TypedResult)(nil), // 3: cel.expr.conformance.test.TypedResult
(*ErrorSetMatcher)(nil), // 4: cel.expr.conformance.test.ErrorSetMatcher
(*UnknownSetMatcher)(nil), // 5: cel.expr.conformance.test.UnknownSetMatcher
nil, // 6: cel.expr.conformance.test.SimpleTest.BindingsEntry
(*expr.Decl)(nil), // 7: cel.expr.Decl
(*expr.Value)(nil), // 8: cel.expr.Value
(*expr.ErrorSet)(nil), // 9: cel.expr.ErrorSet
(*expr.UnknownSet)(nil), // 10: cel.expr.UnknownSet
(*expr.Type)(nil), // 11: cel.expr.Type
(*expr.ExprValue)(nil), // 12: cel.expr.ExprValue
}
var file_cel_expr_conformance_test_simple_proto_depIdxs = []int32{
1, // 0: cel.expr.conformance.test.SimpleTestFile.section:type_name -> cel.expr.conformance.test.SimpleTestSection
2, // 1: cel.expr.conformance.test.SimpleTestSection.test:type_name -> cel.expr.conformance.test.SimpleTest
7, // 2: cel.expr.conformance.test.SimpleTest.type_env:type_name -> cel.expr.Decl
6, // 3: cel.expr.conformance.test.SimpleTest.bindings:type_name -> cel.expr.conformance.test.SimpleTest.BindingsEntry
8, // 4: cel.expr.conformance.test.SimpleTest.value:type_name -> cel.expr.Value
3, // 5: cel.expr.conformance.test.SimpleTest.typed_result:type_name -> cel.expr.conformance.test.TypedResult
9, // 6: cel.expr.conformance.test.SimpleTest.eval_error:type_name -> cel.expr.ErrorSet
4, // 7: cel.expr.conformance.test.SimpleTest.any_eval_errors:type_name -> cel.expr.conformance.test.ErrorSetMatcher
10, // 8: cel.expr.conformance.test.SimpleTest.unknown:type_name -> cel.expr.UnknownSet
5, // 9: cel.expr.conformance.test.SimpleTest.any_unknowns:type_name -> cel.expr.conformance.test.UnknownSetMatcher
8, // 10: cel.expr.conformance.test.TypedResult.result:type_name -> cel.expr.Value
11, // 11: cel.expr.conformance.test.TypedResult.deduced_type:type_name -> cel.expr.Type
9, // 12: cel.expr.conformance.test.ErrorSetMatcher.errors:type_name -> cel.expr.ErrorSet
10, // 13: cel.expr.conformance.test.UnknownSetMatcher.unknowns:type_name -> cel.expr.UnknownSet
12, // 14: cel.expr.conformance.test.SimpleTest.BindingsEntry.value:type_name -> cel.expr.ExprValue
15, // [15:15] is the sub-list for method output_type
15, // [15:15] is the sub-list for method input_type
15, // [15:15] is the sub-list for extension type_name
15, // [15:15] is the sub-list for extension extendee
0, // [0:15] is the sub-list for field type_name
}
func init() { file_cel_expr_conformance_test_simple_proto_init() }
func file_cel_expr_conformance_test_simple_proto_init() {
if File_cel_expr_conformance_test_simple_proto != nil {
return
}
file_cel_expr_conformance_test_simple_proto_msgTypes[2].OneofWrappers = []any{
(*SimpleTest_Value)(nil),
(*SimpleTest_TypedResult)(nil),
(*SimpleTest_EvalError)(nil),
(*SimpleTest_AnyEvalErrors)(nil),
(*SimpleTest_Unknown)(nil),
(*SimpleTest_AnyUnknowns)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cel_expr_conformance_test_simple_proto_rawDesc,
NumEnums: 0,
NumMessages: 7,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cel_expr_conformance_test_simple_proto_goTypes,
DependencyIndexes: file_cel_expr_conformance_test_simple_proto_depIdxs,
MessageInfos: file_cel_expr_conformance_test_simple_proto_msgTypes,
}.Build()
File_cel_expr_conformance_test_simple_proto = out.File
file_cel_expr_conformance_test_simple_proto_rawDesc = nil
file_cel_expr_conformance_test_simple_proto_goTypes = nil
file_cel_expr_conformance_test_simple_proto_depIdxs = nil
}
cel-spec-0.24.0/conformance/test/suite.pb.go 0000775 0000000 0000000 00000066342 15006676303 0020645 0 ustar 00root root 0000000 0000000 // Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.3
// protoc v5.27.1
// source: cel/expr/conformance/test/suite.proto
package test
import (
expr "cel.dev/expr"
conformance "cel.dev/expr/conformance"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
anypb "google.golang.org/protobuf/types/known/anypb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type TestSuite struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
Sections []*TestSection `protobuf:"bytes,3,rep,name=sections,proto3" json:"sections,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TestSuite) Reset() {
*x = TestSuite{}
mi := &file_cel_expr_conformance_test_suite_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TestSuite) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestSuite) ProtoMessage() {}
func (x *TestSuite) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_test_suite_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestSuite.ProtoReflect.Descriptor instead.
func (*TestSuite) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_test_suite_proto_rawDescGZIP(), []int{0}
}
func (x *TestSuite) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *TestSuite) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *TestSuite) GetSections() []*TestSection {
if x != nil {
return x.Sections
}
return nil
}
type TestSection struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
Tests []*TestCase `protobuf:"bytes,3,rep,name=tests,proto3" json:"tests,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TestSection) Reset() {
*x = TestSection{}
mi := &file_cel_expr_conformance_test_suite_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TestSection) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestSection) ProtoMessage() {}
func (x *TestSection) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_test_suite_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestSection.ProtoReflect.Descriptor instead.
func (*TestSection) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_test_suite_proto_rawDescGZIP(), []int{1}
}
func (x *TestSection) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *TestSection) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *TestSection) GetTests() []*TestCase {
if x != nil {
return x.Tests
}
return nil
}
type TestCase struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
Expr string `protobuf:"bytes,3,opt,name=expr,proto3" json:"expr,omitempty"`
Env *conformance.Environment `protobuf:"bytes,4,opt,name=env,proto3" json:"env,omitempty"`
Input map[string]*InputValue `protobuf:"bytes,5,rep,name=input,proto3" json:"input,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
InputContext *InputContext `protobuf:"bytes,6,opt,name=input_context,json=inputContext,proto3" json:"input_context,omitempty"`
Output *TestOutput `protobuf:"bytes,7,opt,name=output,proto3" json:"output,omitempty"`
DeducedType *expr.Type `protobuf:"bytes,8,opt,name=deduced_type,json=deducedType,proto3" json:"deduced_type,omitempty"`
DisableCheck bool `protobuf:"varint,9,opt,name=disable_check,json=disableCheck,proto3" json:"disable_check,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TestCase) Reset() {
*x = TestCase{}
mi := &file_cel_expr_conformance_test_suite_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TestCase) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestCase) ProtoMessage() {}
func (x *TestCase) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_test_suite_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestCase.ProtoReflect.Descriptor instead.
func (*TestCase) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_test_suite_proto_rawDescGZIP(), []int{2}
}
func (x *TestCase) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *TestCase) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *TestCase) GetExpr() string {
if x != nil {
return x.Expr
}
return ""
}
func (x *TestCase) GetEnv() *conformance.Environment {
if x != nil {
return x.Env
}
return nil
}
func (x *TestCase) GetInput() map[string]*InputValue {
if x != nil {
return x.Input
}
return nil
}
func (x *TestCase) GetInputContext() *InputContext {
if x != nil {
return x.InputContext
}
return nil
}
func (x *TestCase) GetOutput() *TestOutput {
if x != nil {
return x.Output
}
return nil
}
func (x *TestCase) GetDeducedType() *expr.Type {
if x != nil {
return x.DeducedType
}
return nil
}
func (x *TestCase) GetDisableCheck() bool {
if x != nil {
return x.DisableCheck
}
return false
}
type InputContext struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Types that are valid to be assigned to InputContextKind:
//
// *InputContext_ContextMessage
// *InputContext_ContextExpr
InputContextKind isInputContext_InputContextKind `protobuf_oneof:"input_context_kind"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *InputContext) Reset() {
*x = InputContext{}
mi := &file_cel_expr_conformance_test_suite_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *InputContext) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InputContext) ProtoMessage() {}
func (x *InputContext) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_test_suite_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InputContext.ProtoReflect.Descriptor instead.
func (*InputContext) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_test_suite_proto_rawDescGZIP(), []int{3}
}
func (x *InputContext) GetInputContextKind() isInputContext_InputContextKind {
if x != nil {
return x.InputContextKind
}
return nil
}
func (x *InputContext) GetContextMessage() *anypb.Any {
if x != nil {
if x, ok := x.InputContextKind.(*InputContext_ContextMessage); ok {
return x.ContextMessage
}
}
return nil
}
func (x *InputContext) GetContextExpr() string {
if x != nil {
if x, ok := x.InputContextKind.(*InputContext_ContextExpr); ok {
return x.ContextExpr
}
}
return ""
}
type isInputContext_InputContextKind interface {
isInputContext_InputContextKind()
}
type InputContext_ContextMessage struct {
ContextMessage *anypb.Any `protobuf:"bytes,1,opt,name=context_message,json=contextMessage,proto3,oneof"`
}
type InputContext_ContextExpr struct {
ContextExpr string `protobuf:"bytes,2,opt,name=context_expr,json=contextExpr,proto3,oneof"`
}
func (*InputContext_ContextMessage) isInputContext_InputContextKind() {}
func (*InputContext_ContextExpr) isInputContext_InputContextKind() {}
type InputValue struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Types that are valid to be assigned to Kind:
//
// *InputValue_Value
// *InputValue_Expr
Kind isInputValue_Kind `protobuf_oneof:"kind"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *InputValue) Reset() {
*x = InputValue{}
mi := &file_cel_expr_conformance_test_suite_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *InputValue) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InputValue) ProtoMessage() {}
func (x *InputValue) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_test_suite_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InputValue.ProtoReflect.Descriptor instead.
func (*InputValue) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_test_suite_proto_rawDescGZIP(), []int{4}
}
func (x *InputValue) GetKind() isInputValue_Kind {
if x != nil {
return x.Kind
}
return nil
}
func (x *InputValue) GetValue() *expr.Value {
if x != nil {
if x, ok := x.Kind.(*InputValue_Value); ok {
return x.Value
}
}
return nil
}
func (x *InputValue) GetExpr() string {
if x != nil {
if x, ok := x.Kind.(*InputValue_Expr); ok {
return x.Expr
}
}
return ""
}
type isInputValue_Kind interface {
isInputValue_Kind()
}
type InputValue_Value struct {
Value *expr.Value `protobuf:"bytes,1,opt,name=value,proto3,oneof"`
}
type InputValue_Expr struct {
Expr string `protobuf:"bytes,2,opt,name=expr,proto3,oneof"`
}
func (*InputValue_Value) isInputValue_Kind() {}
func (*InputValue_Expr) isInputValue_Kind() {}
type TestOutput struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Types that are valid to be assigned to ResultKind:
//
// *TestOutput_ResultValue
// *TestOutput_ResultExpr
// *TestOutput_EvalError
// *TestOutput_Unknown
ResultKind isTestOutput_ResultKind `protobuf_oneof:"result_kind"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TestOutput) Reset() {
*x = TestOutput{}
mi := &file_cel_expr_conformance_test_suite_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TestOutput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestOutput) ProtoMessage() {}
func (x *TestOutput) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_conformance_test_suite_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestOutput.ProtoReflect.Descriptor instead.
func (*TestOutput) Descriptor() ([]byte, []int) {
return file_cel_expr_conformance_test_suite_proto_rawDescGZIP(), []int{5}
}
func (x *TestOutput) GetResultKind() isTestOutput_ResultKind {
if x != nil {
return x.ResultKind
}
return nil
}
func (x *TestOutput) GetResultValue() *expr.Value {
if x != nil {
if x, ok := x.ResultKind.(*TestOutput_ResultValue); ok {
return x.ResultValue
}
}
return nil
}
func (x *TestOutput) GetResultExpr() string {
if x != nil {
if x, ok := x.ResultKind.(*TestOutput_ResultExpr); ok {
return x.ResultExpr
}
}
return ""
}
func (x *TestOutput) GetEvalError() *expr.ErrorSet {
if x != nil {
if x, ok := x.ResultKind.(*TestOutput_EvalError); ok {
return x.EvalError
}
}
return nil
}
func (x *TestOutput) GetUnknown() *expr.UnknownSet {
if x != nil {
if x, ok := x.ResultKind.(*TestOutput_Unknown); ok {
return x.Unknown
}
}
return nil
}
type isTestOutput_ResultKind interface {
isTestOutput_ResultKind()
}
type TestOutput_ResultValue struct {
ResultValue *expr.Value `protobuf:"bytes,8,opt,name=result_value,json=resultValue,proto3,oneof"`
}
type TestOutput_ResultExpr struct {
ResultExpr string `protobuf:"bytes,9,opt,name=result_expr,json=resultExpr,proto3,oneof"`
}
type TestOutput_EvalError struct {
EvalError *expr.ErrorSet `protobuf:"bytes,10,opt,name=eval_error,json=evalError,proto3,oneof"`
}
type TestOutput_Unknown struct {
Unknown *expr.UnknownSet `protobuf:"bytes,11,opt,name=unknown,proto3,oneof"`
}
func (*TestOutput_ResultValue) isTestOutput_ResultKind() {}
func (*TestOutput_ResultExpr) isTestOutput_ResultKind() {}
func (*TestOutput_EvalError) isTestOutput_ResultKind() {}
func (*TestOutput_Unknown) isTestOutput_ResultKind() {}
var File_cel_expr_conformance_test_suite_proto protoreflect.FileDescriptor
var file_cel_expr_conformance_test_suite_proto_rawDesc = []byte{
0x0a, 0x25, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x73, 0x75, 0x69, 0x74,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70,
0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x74, 0x65,
0x73, 0x74, 0x1a, 0x16, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x68, 0x65,
0x63, 0x6b, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x63, 0x65, 0x6c, 0x2f,
0x65, 0x78, 0x70, 0x72, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x14, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f,
0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x5f,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e,
0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74,
0x53, 0x75, 0x69, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x08, 0x73,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e,
0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x6e, 0x63, 0x65, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22,
0x7e, 0x0a, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e,
0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x05, 0x74, 0x65, 0x73, 0x74, 0x73, 0x22,
0x95, 0x04, 0x0a, 0x08, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x33, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72,
0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x44, 0x0a, 0x05, 0x69,
0x6e, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x65, 0x6c,
0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
0x65, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x2e,
0x49, 0x6e, 0x70, 0x75, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75,
0x74, 0x12, 0x4c, 0x0a, 0x0d, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65,
0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65,
0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e,
0x74, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
0x74, 0x52, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
0x3d, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x25, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x31,
0x0a, 0x0c, 0x64, 0x65, 0x64, 0x75, 0x63, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x64, 0x75, 0x63, 0x65, 0x64, 0x54, 0x79, 0x70,
0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x65,
0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x1a, 0x5f, 0x0a, 0x0a, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x74, 0x65, 0x73,
0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8a, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75,
0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x3f, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74,
0x65, 0x78, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65,
0x78, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x63, 0x6f, 0x6e,
0x74, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48,
0x00, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x78, 0x70, 0x72, 0x42, 0x14,
0x0a, 0x12, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f,
0x6b, 0x69, 0x6e, 0x64, 0x22, 0x53, 0x0a, 0x0a, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x65,
0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x65, 0x78, 0x70,
0x72, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x0a, 0x54, 0x65,
0x73, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x34, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48,
0x00, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21,
0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x09, 0x20,
0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x45, 0x78, 0x70,
0x72, 0x12, 0x33, 0x0a, 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72,
0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x65, 0x76, 0x61,
0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77,
0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x2e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52,
0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x4f, 0x0a, 0x1d, 0x64, 0x65, 0x76, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6e, 0x63, 0x65, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x42, 0x0a, 0x53, 0x75, 0x69, 0x74, 0x65, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x1d, 0x63, 0x65, 0x6c, 0x2e, 0x64, 0x65, 0x76, 0x2f,
0x65, 0x78, 0x70, 0x72, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
0x2f, 0x74, 0x65, 0x73, 0x74, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cel_expr_conformance_test_suite_proto_rawDescOnce sync.Once
file_cel_expr_conformance_test_suite_proto_rawDescData = file_cel_expr_conformance_test_suite_proto_rawDesc
)
func file_cel_expr_conformance_test_suite_proto_rawDescGZIP() []byte {
file_cel_expr_conformance_test_suite_proto_rawDescOnce.Do(func() {
file_cel_expr_conformance_test_suite_proto_rawDescData = protoimpl.X.CompressGZIP(file_cel_expr_conformance_test_suite_proto_rawDescData)
})
return file_cel_expr_conformance_test_suite_proto_rawDescData
}
var file_cel_expr_conformance_test_suite_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_cel_expr_conformance_test_suite_proto_goTypes = []any{
(*TestSuite)(nil), // 0: cel.expr.conformance.test.TestSuite
(*TestSection)(nil), // 1: cel.expr.conformance.test.TestSection
(*TestCase)(nil), // 2: cel.expr.conformance.test.TestCase
(*InputContext)(nil), // 3: cel.expr.conformance.test.InputContext
(*InputValue)(nil), // 4: cel.expr.conformance.test.InputValue
(*TestOutput)(nil), // 5: cel.expr.conformance.test.TestOutput
nil, // 6: cel.expr.conformance.test.TestCase.InputEntry
(*conformance.Environment)(nil), // 7: cel.expr.conformance.Environment
(*expr.Type)(nil), // 8: cel.expr.Type
(*anypb.Any)(nil), // 9: google.protobuf.Any
(*expr.Value)(nil), // 10: cel.expr.Value
(*expr.ErrorSet)(nil), // 11: cel.expr.ErrorSet
(*expr.UnknownSet)(nil), // 12: cel.expr.UnknownSet
}
var file_cel_expr_conformance_test_suite_proto_depIdxs = []int32{
1, // 0: cel.expr.conformance.test.TestSuite.sections:type_name -> cel.expr.conformance.test.TestSection
2, // 1: cel.expr.conformance.test.TestSection.tests:type_name -> cel.expr.conformance.test.TestCase
7, // 2: cel.expr.conformance.test.TestCase.env:type_name -> cel.expr.conformance.Environment
6, // 3: cel.expr.conformance.test.TestCase.input:type_name -> cel.expr.conformance.test.TestCase.InputEntry
3, // 4: cel.expr.conformance.test.TestCase.input_context:type_name -> cel.expr.conformance.test.InputContext
5, // 5: cel.expr.conformance.test.TestCase.output:type_name -> cel.expr.conformance.test.TestOutput
8, // 6: cel.expr.conformance.test.TestCase.deduced_type:type_name -> cel.expr.Type
9, // 7: cel.expr.conformance.test.InputContext.context_message:type_name -> google.protobuf.Any
10, // 8: cel.expr.conformance.test.InputValue.value:type_name -> cel.expr.Value
10, // 9: cel.expr.conformance.test.TestOutput.result_value:type_name -> cel.expr.Value
11, // 10: cel.expr.conformance.test.TestOutput.eval_error:type_name -> cel.expr.ErrorSet
12, // 11: cel.expr.conformance.test.TestOutput.unknown:type_name -> cel.expr.UnknownSet
4, // 12: cel.expr.conformance.test.TestCase.InputEntry.value:type_name -> cel.expr.conformance.test.InputValue
13, // [13:13] is the sub-list for method output_type
13, // [13:13] is the sub-list for method input_type
13, // [13:13] is the sub-list for extension type_name
13, // [13:13] is the sub-list for extension extendee
0, // [0:13] is the sub-list for field type_name
}
func init() { file_cel_expr_conformance_test_suite_proto_init() }
func file_cel_expr_conformance_test_suite_proto_init() {
if File_cel_expr_conformance_test_suite_proto != nil {
return
}
file_cel_expr_conformance_test_suite_proto_msgTypes[3].OneofWrappers = []any{
(*InputContext_ContextMessage)(nil),
(*InputContext_ContextExpr)(nil),
}
file_cel_expr_conformance_test_suite_proto_msgTypes[4].OneofWrappers = []any{
(*InputValue_Value)(nil),
(*InputValue_Expr)(nil),
}
file_cel_expr_conformance_test_suite_proto_msgTypes[5].OneofWrappers = []any{
(*TestOutput_ResultValue)(nil),
(*TestOutput_ResultExpr)(nil),
(*TestOutput_EvalError)(nil),
(*TestOutput_Unknown)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cel_expr_conformance_test_suite_proto_rawDesc,
NumEnums: 0,
NumMessages: 7,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cel_expr_conformance_test_suite_proto_goTypes,
DependencyIndexes: file_cel_expr_conformance_test_suite_proto_depIdxs,
MessageInfos: file_cel_expr_conformance_test_suite_proto_msgTypes,
}.Build()
File_cel_expr_conformance_test_suite_proto = out.File
file_cel_expr_conformance_test_suite_proto_rawDesc = nil
file_cel_expr_conformance_test_suite_proto_goTypes = nil
file_cel_expr_conformance_test_suite_proto_depIdxs = nil
}
cel-spec-0.24.0/doc/ 0000775 0000000 0000000 00000000000 15006676303 0014043 5 ustar 00root root 0000000 0000000 cel-spec-0.24.0/doc/extensions/ 0000775 0000000 0000000 00000000000 15006676303 0016242 5 ustar 00root root 0000000 0000000 cel-spec-0.24.0/doc/extensions/strings.md 0000664 0000000 0000000 00000012665 15006676303 0020267 0 ustar 00root root 0000000 0000000
# Strings
## string.format(list) -> string
### Format
`%[.precision]conversion`
### Precision
Optional. In the form of a period `.` followed by a required positive decimal digit sequence. The default precision is `6`. Not all conversions support precision.
### Conversion
| Character | Precision | Description |
| --- | --- | --- |
| `s` | N |
bool | The value is foramtted as true or false. |
int | The value is formatted in base 10 with a preceding - if the value is negative. No insignificant 0s must be included. |
uint | The value is formatted in base 10. No insignificant 0s must be included. |
double | The value is formatted in base 10. No insignificant 0s must be included. If there are no significant digits after the . then it must be excluded. |
bytes | The value is formatted as if `string(value)` was performed and any invalid UTF-8 sequences are replaced with \ufffd. Multiple adjacent invalid UTF-8 sequences must be replaced with a single \ufffd. |
string | The value is included as is. |
duration | The value is formatted as decimal seconds as if the value was converted to double and then formatted as %ds. |
timestamp | The value is formatted according to RFC 3339 and is always in UTC. |
null_type | The value is formatted as null. |
type | The value is formatted as a string. |
list | The value is formatted as if each element was formatted as "%s".format([element]), joined together with , and enclosed with [ and ]. |
map | The value is formatted as if each entry was formatted as "%s: %s".format([key, value]), sorted by the formatted keys in ascending order, joined together with , , and enclosed with { and }. |
|
| `d` | N | int | The value is formatted in base 10 with a preceding - if the value is negative. No insignificant 0s must be included. |
uint | The value is formatted in base 10. No insignificant 0s must be included. |
double | The value is formatted in base 10. No insignificant 0s must be included. If there are no significant digits after the . then it must be excluded. |
|
| `f` | Y | `int` `uint` `double`: The value is converted to the style `[-]dddddd.dddddd` where there is at least one digit before the decimal and exactly `precision` digits after the decimal. If `precision` is 0, then the decimal is excluded. |
| `e` | Y | `int` `uint` `double`: The value is converted to the style `[-]d.dddddde±dd` where there is one digit before the decimal and `precision` digits after the decimal followed by `e`, then the plus or minus, and then two digits. |
| `x` `X` | N | Values are formatted in base 16. For `x` lowercase letters are used. For `X` uppercase letters are used.int uint | The value is formatted in base 16 with no insignificant digits. If the value was negative - is prepended. |
string | The value is formatted as if `bytes(value)` was used to convert the string to bytes and then each byte is formatted in base 16 with exactly 2 digits. |
bytes | The value is formatted as if each byte is formatted in base 16 with exactly 2 digits. |
|
| `o` | N | `int` `uint`: The value is converted to base 8 with no insignificant digits. If the value was negative `-` is prepended. |
| `b` | N | `int` `uint` `bool`: The value is converted to base 2 with no insignificant digits. If the value was negative `-` is prepended. |
> In all cases where `double` is accepted: if the value is NaN the result is `NaN`, if the value is infinity the result is `[-]Infinity`.
### Examples
```
"%s".format(["foo"]) // foo
"%s".format([b"foo"]) // foo
"%d".format([1]) // 1
"%d".format([1u]) // 1
"%d".format([3.14]) // 3.14
"%f".format([1]) // 1.000000
"%f".format([1u]) // 1.000000
"%f".format([3.14]) // 3.140000
"%.1f".format([3.14]) // 3.1
"%e".format([1]) // 1.000000e+00
"%e".format([1u]) // 1.000000e+00
"%e".format([3.14]) // 3.140000e+00
"%.1e".format([3.14]) // 3.1e+00
"%.1e".format([-3.14]) // -3.1e+00
```
cel-spec-0.24.0/doc/intro.md 0000664 0000000 0000000 00000010060 15006676303 0015515 0 ustar 00root root 0000000 0000000 # Introduction
The Common Expression Language (CEL) is a simple expression language built on
top of [protocol buffer][1] types. This page discusses basic usage. See
[Language Definition](langdef.md) for the reference.
Suppose a type defined as follows (using protocol buffer syntax):
```proto
package google.account;
import "google/protobuf/struct.proto";
message Account {
oneof {
string user_id = 1;
int64 gaia_id = 2;
}
string display_name = 3;
string phone_number = 4;
repeated string emails = 5;
google.protobuf.Struct properties = 6;
...
}
```
CEL allows for simple computations to be defined on types like this one. For
example, given an instance of the `Account` type assigned to the variable
`account`:
```proto
has(account.user_id) || has(account.gaia_id) // true if either one is set
size(account.emails) > 0 // true if emails is non-empty
matches(account.phone_number, "[0-9-]+") // true if number matches regexp
```
CEL expressions support most operators and functions one would expect when
working with protocol buffers: boolean operators, relations, arithmetics on
numbers, string and byte string operations, and operations to deal with lists
and maps. The full reference of standard operations is described in the
[language definition](langdef.md#standard). Note that applications of CEL may add
more functions and also allow users to define their own.
CEL also supports construction of list, map, and protocol buffer objects. The
following expressions evaluate to true:
```proto
Account{user_id: 'Pokemon'}.user_id == 'Pokemon'
[true,false,true][1] == false
{'blue': 0x000080, 'red': 0xFF0000}['red'] == 0xFF0000
```
CEL expressions are usually type checked, though the language is designed such
that type checking is optional. Moreover, the language can deal with dynamically
typed features of the most recent protocol buffer standard, [proto3][2], like
`google.protobuf.Struct`. Consider the field `account.properties` which has type
`Struct`. This type represents an untyped Object and is similar to JSON's notion
of an Object. Many APIs use this type for representing user defined data which
doesn't have a matching protocol buffer type. Within CEL, these objects support
the same accesses and functions as protocol buffer types:
```proto
has(account.properties.id) && size(account.properties.id) > 0
```
When the expression `account.properties` is evaluated, CEL will automatically
convert the underlying `Struct` representation into a `map`, on which the `has` function can be called. And if a
`Value` is accessed, it will be automatically converted into one of the variants
as expressed by its oneof-definitions. In the example, if `id` is defined in the
struct, and its `Value` represents a string, the function `size` on strings will
be called. If, in turn, `Value` represents a list, the function `size` on lists
is called.
If one views CEL coming from dynamic languages, it's natural to think of the
`size` function as taking any value and determining what to do with it based on
the runtime type (which may include throwing an error because the type cannot be
processed). Coming from statically typed languages, it's natural to think of
`size` as an overloaded function which, if resolution is not possible at compile
time, will be deferred to runtime.
Type dependent behavior can also be expressed, since types are first-class
citizens of CEL:
```proto
has(account.properties.id)
&& (type(account.properties.id) == string
|| type(account.properties.id) == list)
```
CEL's default type checker deals with a mixture of dynamic and static typing;
the resulting type system is commonly also called *gradual typing*. Simply
spoken, the type checker tries to figure out as much as it can, and defers
undecidable decisions to the runtime. However, a CEL expression which does not
make use of any of the dynamic features based on `Struct` et.al can be always
fully type checked at compile time.
[1]: https://en.wikipedia.org/wiki/Protocol_Buffers
[2]: https://developers.google.com/protocol-buffers/docs/proto3
cel-spec-0.24.0/doc/langdef.md 0000664 0000000 0000000 00000241121 15006676303 0015766 0 ustar 00root root 0000000 0000000 # Language Definition
This page constitutes the reference for CEL. For a gentle introduction, see
[Intro](intro.md).
## Contents
- [Overview](#overview)
- [Syntax](#syntax)
- [Name Resolution](#name-resolution)
- [Values](#values)
- [Numeric Values](#numeric-values)
- [String and Bytes Values](#string-and-bytes-values)
- [Aggregate Values](#aggregate-values)
- [Booleans and Null](#booleans-and-null)
- [Type Values](#type-values)
- [Abstract Types](#abstract-types)
- [Protocol Buffer Data Conversion](#protocol-buffer-data-conversion)
- [Dynamic Values](#dynamic-values)
- [JSON Data Conversion](#json-data-conversion)
- [Gradual Type Checking](#gradual-type-checking)
- [Evaluation](#evaluation)
- [Evaluation Environment](#evaluation-environment)
- [Runtime Errors](#runtime-errors)
- [Logical Operators](#logical-operators)
- [Macros](#macros)
- [Field Selection](#field-selection)
- [Performance](#performance)
- [Abstract Sizes](#abstract-sizes)
- [Time Complexity](#time-complexity)
- [Space Complexity](#space-complexity)
- [Macro Performance](#macro-performance)
- [Performance Limits](#performance-limits)
- [Functions](#functions)
- [Extension Functions](#extension-functions)
- [Receiver Call Style](#receiver-call-style)
- [Standard Definitions](#standard-definitions)
- [Equality](#equality)
- [Ordering](#ordering)
- [Overflow](#overflow)
- [Timezones](#timezones)
- [Regular Expressions](#regular-expressions)
- [Standard Environment](#standard-environment)
- [Appendix 1: Legacy Behavior](#appendix-1-legacy-behavior)
- [Enums as Ints](#enums-as-ints)
## Overview
In the taxonomy of programming languages, CEL is:
* **memory-safe:** programs cannot access unrelated memory, such as
out-of-bounds array indexes or use-after-free pointer dereferences;
* **side-effect-free:** a CEL program only computes an output from its inputs;
* **terminating:** CEL programs cannot loop forever;
* **strongly-typed:** values have a well-defined type, and operators and
functions check that their arguments have the expected types;
* **dynamically-typed:** types are associated with values, not with variables
or expressions, and type safety is enforced at runtime;
* **gradually-typed:** an optional type-checking phase before runtime can
detect and reject some programs which would violate type constraints.
## Syntax
The grammar of CEL is defined below, using `|` for alternatives, `[]` for
optional, `{}` for repeated, and `()` for grouping.
```grammar
Expr = ConditionalOr ["?" ConditionalOr ":" Expr] ;
ConditionalOr = [ConditionalOr "||"] ConditionalAnd ;
ConditionalAnd = [ConditionalAnd "&&"] Relation ;
Relation = [Relation Relop] Addition ;
Relop = "<" | "<=" | ">=" | ">" | "==" | "!=" | "in" ;
Addition = [Addition ("+" | "-")] Multiplication ;
Multiplication = [Multiplication ("*" | "/" | "%")] Unary ;
Unary = Member
| "!" {"!"} Member
| "-" {"-"} Member
;
Member = Primary
| Member "." SELECTOR ["(" [ExprList] ")"]
| Member "[" Expr "]"
;
Primary = ["."] IDENT ["(" [ExprList] ")"]
| "(" Expr ")"
| "[" [ExprList] [","] "]"
| "{" [MapInits] [","] "}"
| ["."] SELECTOR { "." SELECTOR } "{" [FieldInits] [","] "}"
| LITERAL
;
ExprList = Expr {"," Expr} ;
FieldInits = SELECTOR ":" Expr {"," SELECTOR ":" Expr} ;
MapInits = Expr ":" Expr {"," Expr ":" Expr} ;
```
Implementations are required to support at least:
* 24-32 repetitions of repeating rules, i.e.:
* 32 terms separated by `||` in a row;
* 32 terms separated by `&&` in a row;
* 32 function call arguments;
* list literals with 32 elements;
* map or message literals with 32 fields;
* 24 consecutive ternary conditionals `?:`;
* 24 binary arithmetic operators of the same precedence in a row;
* 24 relations in a row.
* 12 repetitions of recursive rules, i.e:
* 12 nested function calls;
* 12 selection (`.`) operators in a row;
* 12 indexing (`[_]`) operators in a row;
* 12 nested list, map, or message literals.
This grammar corresponds to the following operator precedence and associativity:
Precedence | Operator | Description | Associativity
---------- | --------------- | ------------------------------ | -------------
1 | () | Function call | Left-to-right
| . | Qualified name or field access |
| [] | Indexing |
| {} | Field initialization |
2 | - (unary) | Negation | Right-to-left
| ! | Logical NOT |
3 | * | Multiplication | Left-to-right
| / | Division |
| % | Remainder |
4 | + | Addition |
| - (binary) | Subtraction |
5 | == != < > <= >= | Relations |
| in | Inclusion test |
6 | && | Logical AND |
7 | \|\| | Logical OR |
8 | ?: | Conditional | Right-to-left
The lexis is defined below. As is typical, the `WHITESPACE` and `COMMENT`
productions are only used to recognize separate lexical elements and are ignored
by the grammar. Please note, that in the lexer `[]` denotes a character range,
`*` represents zero or more, `+` represents one or more, and `?` denotes zero
or one occurrence.
```
IDENT ::= SELECTOR - RESERVED
SELECTOR ::= [_a-zA-Z][_a-zA-Z0-9]* - KEYWORD
LITERAL ::= INT_LIT | UINT_LIT | FLOAT_LIT | STRING_LIT | BYTES_LIT
| BOOL_LIT | NULL_LIT
INT_LIT ::= -? DIGIT+ | -? 0x HEXDIGIT+
UINT_LIT ::= INT_LIT [uU]
FLOAT_LIT ::= -? DIGIT* . DIGIT+ EXPONENT? | -? DIGIT+ EXPONENT
DIGIT ::= [0-9]
HEXDIGIT ::= [0-9abcdefABCDEF]
EXPONENT ::= [eE] [+-]? DIGIT+
STRING_LIT ::= [rR]? ( " ~( " | \r | \n )* "
| ' ~( ' | \r | \n )* '
| """ ~"""* """
| ''' ~'''* '''
)
BYTES_LIT ::= [bB] STRING_LIT
ESCAPE ::= \ [abfnrtv\?"'`]
| \ [xX] HEXDIGIT HEXDIGIT
| \ u HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT
| \ U HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT
| \ [0-3] [0-7] [0-7]
BOOL_LIT ::= "true" | "false"
NULL_LIT ::= "null"
KEYWORD ::= BOOL_LIT | NULL_LIT | "in"
RESERVED ::= "as" | "break" | "const" | "continue" | "else"
| "for" | "function" | "if" | "import" | "let"
| "loop" | "package" | "namespace" | "return"
| "var" | "void" | "while"
WHITESPACE ::= [\t\n\f\r ]+
COMMENT ::= '//' ~\n* \n
```
For the sake of a readable representation, the escape
sequences (`ESCAPE`) are kept implicit in string tokens. This means that strings
without the `r` or `R` (raw) prefix process `ESCAPE` sequences, while in strings
with the raw prefix they stay uninterpreted. See documentation of string
literals below.
The following language keywords are reserved and cannot be used as identifiers,
function names, selectors, struct name segments, or field names:
false in null true
The following tokens are reserved to allow easier embedding of CEL into a host
language and cannot be used as identifiers or function names[^function-names]:
as break const continue else for function if import let loop package
namespace return var void while
In general it is a bad idea for those defining contexts or extensions to use
identifiers that are reserved words in programming languages which might embed
CEL.
[^function-names]: Except for receiver-call-style functions, e.g. `a.package()`,
which is permitted.
### Name Resolution
A CEL expression is parsed in the scope of a specific protocol buffer package or
message, which controls the interpretation of names. The scope is set by the
application context of an expression. A CEL expression can contain simple names
as in `a` or qualified names as in `a.b`. The meaning of such expressions is a
combination of one or more of:
* Variables and Functions: some simple names refer to variables in the
execution context, standard functions, or other name bindings provided by
the CEL application.
* Field selection: appending a period and identifier to an expression could
indicate that we're accessing a field within a protocol buffer or map.
* Protocol buffer package names: a simple or qualified name could represent an
absolute or relative name in the protocol buffer package namespace. Package
names must be followed by a message type, or enum constant.
* Protocol buffer message types and enum constants: following an
optional protocol buffer package name, a simple or qualified name could
refer to a message type or an enum constant in the package's namespace.
Resolution works as follows. If `a.b` is a name to be resolved in the context of
a protobuf declaration with scope `A.B`, then resolution is attempted, in order,
as `A.B.a.b`, `A.a.b`, and finally `a.b`. To override this behavior, one can use
`.a.b`; this name will only be attempted to be resolved in the root scope, i.e.
as `a.b`.
If name qualification is mixed with field selection, the longest prefix of the
name which resolves in the current lexical scope is used. For example, if
`a.b.c` resolves to a message declaration, and `a.b` does so as well with `c` a
possible field selection, then `a.b.c` takes priority over the interpretation
`(a.b).c`.
## Values
Values in CEL represent any of the following:
Type | Description
------------- | ---------------------------------------------------------------
`int` | 64-bit signed integers
`uint` | 64-bit unsigned integers
`double` | 64-bit IEEE floating-point numbers
`bool` | Booleans (`true` or `false`)
`string` | Strings of Unicode code points
`bytes` | Byte sequences
`list` | Lists of values
`map` | Associative arrays with `int`, `uint`, `bool`, or `string` keys
`null_type` | The value `null`
message names | Protocol buffer messages
`type` | Values representing the types in the first column
### Numeric Values
CEL supports only 64-bit integers and 64-bit IEEE double-precision
floating-point. We only support positive, decimal integer literals; negative
integers are produced by the unary negation operator. Note that the integer 7 as
an `int` is a different value than 7 as a `uint`, which would be written `7u`.
Double-precision floating-point is also supported, and the integer 7 would be
written `7.0`, `7e0`, `.700e1`, or any equivalent representation using a decimal
point or exponent.
Note that currently there are no automatic arithmetic conversions for the
numeric types (`int`, `uint`, and `double`). The arithmetic operators typically
contain overloads for arguments of the same numeric type, but not for mixed-type
arguments. Therefore an expression like `1 + 1u` is going to fail to dispatch.
To perform mixed-type arithmetic, use explicit conversion functions such as
`uint(1) + 1u`. Such explicit conversions will maintain their meaning even if
arithmetic conversions are added in the future.
CEL provides no way to control the finer points of floating-point arithmetic,
such as expression evaluation, rounding mode, or exception handling. However,
any two not-a-number values will compare equal even if their underlying
properties are different.
### String and Bytes Values
Strings are valid sequences of Unicode code points. Bytes are arbitrary
sequences of octets (eight-bit data).
Quoted string literals are delimited by either single- or double-quote
characters, where the closing delimiter must match the opening one, and can
contain any unescaped character except the delimiter or newlines (either CR or
LF).
Triple-quoted string literals are delimited by three single-quotes or three
double-quotes, and may contain any unescaped characters except for the delimiter
sequence. Again, the closing delimiter must match the opening one. Triple-quoted
strings may contain newlines.
Both sorts of strings can include escape sequences, described below.
If preceded by an `r` or `R` character, the string is a _raw_ string and does
not interpret escape sequences. Raw strings are useful for expressing strings
which themselves must use escape sequences, such as regular expressions or
program text.
Bytes literals are represented by string literals preceded by a `b` or `B`
character. The bytes literal is the sequence of bytes given by the UTF-8
representation of the string literal. In addition, the octal escape sequence are
interpreted as octet values rather than as Unicode code points. Both raw and
multiline string literals can be used for byte literals.
Escape sequences are a backslash (`` \ ``) followed by one of the following:
* A punctuation mark representing itself:
* `` \ ``: backslash
* `?`: question mark
* `"`: double quote
* `'`: single quote
* `` ` ``: backtick
* A code for whitespace:
* `a`: bell
* `b`: backspace
* `f`: form feed
* `n`: line feed
* `r`: carriage return
* `t`: horizontal tab
* `v`: vertical tab
* A `u` followed by four hexadecimal characters, encoding a Unicode code point
in the [BMP](https://www.unicode.org/roadmaps/bmp/).
* A `U` followed by eight hexadecimal characters, encoding a Unicode code
point (in any plane). Valid only for string literals.
* A `x` or `X` followed by two hexadecimal characters. For strings, it denotes
a Unicode code point. For bytes, it represents an octet value.
* Three octal digits, in the range `000` to `377`. For strings, it denotes a
Unicode code point. For bytes, it represents an octet value.
All hexadecimal digits in escape sequences are case-insensitive.
Examples:
CEL Literal | Meaning
------------- | ---------------------------------------------------
`""` | Empty string
`'""'` | String of two double-quote characters
`'''x''x'''` | String of four characters "`x''x`"
`"\""` | String of one double-quote character
`"\\"` | String of one backslash character
`r"\\"` | String of two backslash characters
`b"abc"` | Byte sequence of 97, 98, 99
`b"ÿ"` | Sequence of bytes 195 and 191 (UTF-8 of ÿ)
`b"\303\277"` | Also sequence of bytes 195 and 191
`"\303\277"` | String of "ÿ" (code points 195, 191)
`"\377"` | String of "ÿ" (code point 255)
`b"\377"` | Sequence of byte 255 (*not* UTF-8 of ÿ)
`"\xFF"` | String of "ÿ" (code point 255)
`b"\xff"` | Sequence of byte 255 (*not* UTF-8 of ÿ)
The following constructions are syntactically invalid and will result in a parse
error:
* A backslash (`` \ ``) outside of a valid escape sequence, e.g. `\s`.
* An invalid Unicode code point, e.g. `\u2FE0`.
* A UTF-16 surrogate code point, even if in a valid UTF-16 surrogate pair,
e.g. `\uD83D\uDE03` or `\UD83DDE03`.
While strings must be sequences of valid Unicode code points, no Unicode
normalization is attempted on strings, as there are several normal forms, they
can be expensive to convert, and we don't know which is desired. If Unicode
normalization is desired, it should be performed outside of CEL, or done as a
custom extension function.
Likewise, no advanced collation is attempted on strings, as this depends on the
normalization and can be locale-dependent. Strings are simply treated as
sequences of code points and are ordered with lexicographic ordering based on
the numeric value of the code points.
### Aggregate Values
Lists are ordered sequences of values.
Maps are a set of key values, and a mapping from these keys to arbitrary values.
Key values must be an allowed key type: `int`, `uint`, `bool`, or `string`. Thus
maps are the union of what's allowed in protocol buffer maps and JSON objects.
Note that the type checker uses a finer-grained notion of list and map types.
Lists are `list(A)` for the homogeneous type `A` of list elements. Maps are
`map(K, V)` for maps with keys of type `K` and values of type `V`. The type
`dyn` is used for heterogeneous values See
[Gradual Type Checking](#gradual-type-checking). But these constraints are only
enforced within the type checker; at runtime, lists and maps can have
heterogeneous types.
Any protocol buffer message is a CEL value, and each message type is its own CEL
type, represented as its fully-qualified name.
A list can be denoted by the expression `[e1, e2, ..., eN]`, a map by `{ek1:
ev1, ek2: ev2, ..., ekN: evN}`, and a message by `M{f1: e1, f2: e2, ..., fN:
eN}`, where `M` must be a simple or qualified name which resolves to a message
type (see [Name Resolution](#name-resolution)). For a map, the entry keys are
sub-expressions that must evaluate to values of an allowed type (`int`, `uint`,
`bool`, or `string`). For a message, the field names are identifiers. It is an
error to have duplicate keys or field names. The empty list, map, and message
are `[]`, `{}`, and `M{}`, respectively.
See [Field Selection](#field-selection) for accessing elements of lists, maps,
and messages.
### Booleans and Null
CEL has `true` and `false` as the literals for the `bool` type, with the usual
meanings.
The null value is written `null`. It is used in conversion to and from protocol
buffer and JSON data, but otherwise has no built-in meaning in CEL. In
particular, null has its own type (`null_type`) and is not necessarily allowed
where a value of some other type is expected.
### Type Values
Every value in CEL has a runtime type which is itself a value. The standard
function `type(x)` returns the type of expression `x`.
As types are values, those values (`int`, `string`, etc.) also have a type: the
type `type`, which is an expression by itself which in turn also has type
`type`. So
* `type(1)` evaluates to `int`
* `type("a")` evaluates to `string`
* `type(1) == string` evaluates to `false`
* `type(type(1)) == type(string)` evaluates to `true`
### Abstract Types
A CEL implementation can add new types to the language. These types will be
given names in the same namespace as the other types, but will have no special
support in the language syntax. The only way to construct or use values of these
abstract types is through functions which the implementor must also provide.
Commonly, an abstract type will have a representation as a protocol buffer, so
that it can be stored or transmitted across a network. In this case, the
abstract type will be given the same name as the protocol buffer, which will
prevent CEL programs from being able to use that particular protocol buffer
message type; they will not be able to construct values of that type by message
expressions nor access the message fields. The abstract type remains abstract.
By default, CEL uses `google.protobuf.Timestamp` and `google.protobuf.Duration`
as abstract types. The standard functions provide ways to construct and
manipulate these values, but CEL programs cannot construct them with message
expressions or access their message fields.
### Protocol Buffer Data Conversion
Protocol buffers have a richer range of types than CEL, so Protocol buffer data
is converted to CEL data when read from a message field, and CEL data is
converted in the other direction when initializing a field. In general, protocol
buffer data can be converted to CEL without error, but range errors are possible
in the other direction.
Protocol Buffer Field Type | CEL Type
------------------------------------------------ | --------
int32, int64, sint32, sint64, sfixed32, sfixed64 | `int`
uint32, uint64, fixed32, fixed64 | `uint`
float, double | `double`
bool, string, bytes | same
enum E | `int`
repeated | `list`
map | `map`
oneof | options expanded individually, at most one is set
message M | M, except for conversions below
Signed integers, unsigned integers, and floating point numbers are converted to
the singular CEL type of the same sort. The CEL type is capable of expressing
the full range of protocol buffer values. When converting from CEL to protocol
buffers, an out-of-range CEL value results in an error.
Boolean, string, and bytes types have identical ranges and are converted without
error.
Protocol buffer enum values are converted to the corresponding `int` value.
Protocol buffer enum fields can accept any signed 32-bit number, values outside
that range will raise an error.
Repeated fields are converted to CEL lists of converted values, preserving the
order. In the other direction, the CEL list elements must be of the right type
and value to be converted to the corresponding protocol buffer type. Similarly,
protocol buffer maps are converted to CEL maps, and CEL map keys and values must
have the right type and value to be converted in the other direction.
Oneof fields are represented by the translation of each of their options as a
separate field, but at most one of these fields will be "set", as detected by
the `has()` macro. See [Macros](#macros).
Since protocol buffer messages are first-class CEL values, message-valued fields
are used without conversion.
Every protocol buffer field has a default value, and there is no semantic
difference between a field set to this default value, and an unset field. For
message fields, their default value is just the unset state, and an unset
message field is distinct from one set to an empty (i.e. all-unset) message.
The `has()` macro (see [Macros](#macros)) tells whether a message field is set
(i.e. not unset, hence not set to the default value). If an unset field is
nevertheless selected, it evaluates to its default value, or if it is a message
field, it evaluates to an empty (i.e. all-unset) message. This allows
expressions to use iterative field selection to examine the state of fields in
deeply nested messages without needing to test whether every intermediate field
is set. (See exception for wrapper types, below.)
### Dynamic Values
CEL automatically converts certain protocol buffer messages in the
`google.protobuf` package to other types.
google.protobuf message | CEL Conversion
----------------------- | --------------
`Any` | dynamically converted to the contained message type, or error
`ListValue` | list of `Value` messages
`Struct` | map (with string keys, `Value` values)
`Value` | dynamically converted to the contained type (null, double, string, bool, `Struct`, or `ListValue`)
wrapper types | converted as eponymous field type
The wrapper types are `BoolValue`, `BytesValue`, `DoubleValue`, `FloatValue`,
`Int32Value`, `Int64Value`, `NullValue`, `StringValue`, `Uint32Value`, and
`Uint64Value`. Values of these wrapper types are converted to the obvious type.
Additionally, field selection of an unset message field of wrapper type will
evaluate to `null`, instead of the default message. This is an exception to the
usual evaluation of unset message fields.
Note that this implies some cascading conversions. An `Any` message might be
converted to a `Struct`, one of whose `Value`-typed values might be converted to
a `ListValue` of more values, and so on.
Also, note that all of these conversions are dynamic at runtime, so CEL's static
type analysis cannot avoid the possibility of type-related errors in expressions
using these dynamic values.
## JSON Data Conversion
CEL can also work with JSON data. Since there is a natural correspondence of
most CEL data with protocol buffer data, and protocol buffers have a
[defined mapping](https://developers.google.com/protocol-buffers/docs/proto3#json)
to JSON, this creates a natural mapping of CEL to JSON. This creates an exact
bidirectional mapping between JSON types and a subset of CEL data:
JSON Type | CEL Type
--------- | -----------------------------------------------
`null` | `null`
Boolean | `bool`
Number | `double` (except infinities or NaN)
String | `string`
Array | `list` of bi-convertible elements
Object | `map` (with string keys, bi-convertible values)
We define JSON mappings for much of the remainder of CEL data, but note that
this data will not map back in to CEL as the same value:
CEL Data | JSON Data
------------------------------------------------------ | ---------
`int` | Number if in interoperable range, otherwise decimal String.
`uint` | Number if in interoperable range, otherwise decimal String.
double infinity | String `"Infinity"` or `"-Infinity"`
double NaN | String "NaN"
`bytes` | String of base64-encoded bytes
message | JSON conversion of protobuf message.
`list` of convertible elements | JSON Array of converted values
`list` with a non-convertible element | none
`map` with string keys and convertible values | JSON Object with converted values
`map` with a non-string key or a non-convertible value | none
`type` | none
The "interoperable" range of integer values is `-(2^53-1)` to `2^53 - 1`.
## Gradual Type Checking
CEL is a dynamically-typed language, meaning that the types of the values of the
variables and expressions might not be known until runtime. However, CEL has an
optional type-checking phase that takes the types declared for all functions and
variables and tries to deduce the type of the expression and of all its
sub-expressions. This is not always possible, due to the dynamic expansion of
certain messages like `Struct`, `Value`, and `Any` (see
[Dynamic Values](#dynamic-values)). However, if a CEL program does not use
dynamically-expanded messages, it can be statically type-checked.
The type checker uses a richer type system than the types of the dynamic values:
lists have a type parameter for the type of the elements, and maps have two
parameters for the types of keys and values, respectively. These richer types
preserve the stronger type guarantees that protocol buffer messages have. We can
infer stronger types from the standard functions, such as accessing list
elements or map fields. However, the `type()` function and dynamic dispatch to
particular function overloads only use the coarser types of the dynamic values.
The type checker also introduces the `dyn` type, which is the union of all other
types. Therefore the type checker could accept a list of heterogeneous values as
`dyn([1, 3.14, "foo"])`, which is given the type `list(dyn)`. The standard
function `dyn` has no effect at runtime, but signals to the type checker that
its argument should be considered of type `dyn`, `list(dyn)`, or a `dyn`-valued
map.
A CEL type checker attempts to identify possible runtime errors (see
[Runtime Errors](#runtime-errors)), particularly `no_matching_overload` and
`no_such_field`, ahead of runtime. It also serves to optimize execution speed
by narrowing down the number of possible matching overloads for a function
call, and by allowing for a more efficient (unboxed) runtime representation of
values.
By construction, a CEL expression that does not use the dynamic features coming
from `Struct`, `Value`, or `Any`, can be fully statically type-checked and all
overloads can be resolved ahead of runtime.
If a CEL expression uses a mixture of dynamic and static features, a type
checker will still attempt to derive as much information as possible and
delegate undecidable type decisions to runtime.
The type checker is an optional phase of evaluation. Running the type checker
does not affect the result of evaluation, it can only reject expressions as
ill-typed in a given typing context.
## Evaluation
For a given evaluation environment, a CEL expression will deterministically
evaluate to either a value or an error. Here are how different expressions are
evaluated:
* **Literals:** the various kinds of literals (numbers, booleans, strings,
bytes, and `null`) evaluate to the values they represent.
* **Variables:** variables are looked up in the binding environment. An
unbound variable evaluates to an error.
* **List, Map, and Message expressions:** each sub-expression is evaluated and
if any sub-expression results in an error, this expression results in an
error. Otherwise, it results in the list, map, or message of the
sub-expression results, or an error if one of the values is of the wrong
type.
* **Field selection:** see [Field Selection](#field-selection).
* **Macros:** see [Macros](#macros).
* **Logical operators:** see [Logical Operators](#logical-operators).
* **Other operators:** operators are translated into specially-named functions
and the sub-expressions become their arguments, for instance `e1 + e2`
becomes `_+_(e1, e2)`, which is then evaluated as a normal function.
* **Normal functions:** all argument sub-expressions are evaluated and if any
results in an error, then this expression results in an error. Otherwise,
the function is identified by its name and dispatched to a particular
overload based on the types of the sub-expression values. See
[Functions](#functions).
Because CEL is free of side effects, the order of evaluation among
sub-expressions is not guaranteed. If multiple sub-expressions would evaluate to
errors causing the enclosing expression to evaluate to an error, it will
propagate one or more of the sub-expression errors, but it is not specified
which ones.
### Evaluation Environment
A CEL expression is parsed and evaluated in the scope of a particular protocol
buffer package, which controls name resolution as described above, and a binding
context, which binds identifiers to values, errors, and functions. A given
identifier has different meanings as a function name or as a variable, depending
on the use. For instance in the expression `size(requests) > size`, the first
`size` is a function, and the second is a variable.
The CEL implementation provides mechanisms for adding bindings of variable names
to either values or errors. The implementation will also provide function
bindings for at least all the standard functions listed below.
Where feasible, CEL implementations ensure that a value bound to a variable name
or returned by a custom function conforms to the CEL type declared for that
value or, for dynamic typed values, _a_ CEL type. Where implementations allow
nonconforming values, (e.g. strings with invalid Unicode code points) to be
provided to a CEL program, conformance must be enforced by the application
embedding the CEL program in order to ensure type safety is maintained.
Some implementations might make use of a _context proto_, where a single
protocol buffer message represents all variable bindings: each field in the
message is a binding of the field name to the field value. This provides a
convenient encapsulation of the binding environment.
The evaluation environment can also specify the expected type of the result. If
the expected type is one of the protocol buffer wrapper messages, then CEL will
attempt to convert the result to the wrapper message, or will raise an error if
the conversion fails.
### Runtime Errors
In general, when a runtime error is produced, expression evaluation is
terminated; exceptions to this rule are discussed in
[Logical Operators](#logical-operators) and [Macros](#macros).
CEL provides the following built-in runtime errors:
* `no_matching_overload`: this function has no overload for the types of the
arguments.
* `no_such_field`: a map or message does not contain the desired field.
There is no in-language representation of errors, no generic way to raise them,
and no way to catch or bypass errors, except for the short-circuiting behavior
of the logical operators, and macros.
### Logical Operators
In the conditional operator `e ? e1 : e2`, evaluates to `e1` if `e` evaluates to
`true`, and `e2` if `e` evaluates to `false`. The untaken branch is presumed to
not be executed, though that is an implementation detail.
In the boolean operators `&&` and `||`: if any of their operands uniquely
determines the result (`false` for `&&` and `true` for `||`) the other operand
may or may not be evaluated, and if that evaluation produces a runtime error, it
will be ignored. This makes those operators commutative (in contrast to
traditional boolean short-circuit operators). The rationale for this behavior is
to allow the boolean operators to be mapped to indexed queries, and align better
with SQL semantics.
To get traditional left-to-right short-circuiting evaluation of logical
operators, as in C or other languages (also called "McCarthy Evaluation"), the
expression `e1 && e2` can be rewritten `e1 ? e2 : false`. Similarly, `e1 || e2`
can be rewritten `e1 ? true : e2`.
### Macros
CEL supports a small set of predefined macros. Macro invocations have the same
syntax as function calls, but follow different type checking rules and runtime
semantics than regular functions. An application of CEL opts-in to which macros
to support, selecting from the predefined set of macros. The currently available
macros are:
* `has(e.f)`: tests whether a field is available. See "Field Selection" below.
* `e.all(x, p)`: tests whether a predicate holds for all elements of a list
`e` or keys of a map `e`. Here `x` is a simple identifier to be used in `p`
which binds to the element or key. The `all()` macro combines per-element
predicate results with the "and" (`&&`) operator, so if any predicate
evaluates to `false`, the macro evaluates to `false`, ignoring any errors
from other predicates.
* `e.exists(x, p)`: like the `all()` macro, but combines the predicate results
with the "or" (`||`) operator, so if any predicate evaluates to `true`, the
macro evaluates to `true`, ignoring any errors from other predicates.
* `e.exists_one(x, p)`: like the `exists()` macro, but evaluates to `true` only
if the predicate of exactly one element/key evaluates to `true`, and the
rest to `false`. Any other combination of boolean results evaluates to
`false`, and any predicate error causes the macro to raise an error.
* `e.map(x, t)`:
* transforms a list `e` by taking each element `x` to the
function given by the expression `t`, which can use the variable `x`. For
instance, `[1, 2, 3].map(n, n * n)` evaluates to `[1, 4, 9]`. Any evaluation
error for any element causes the macro to raise an error.
* transforms a map `e` by taking each key in the map `x` to the function
given by the expression `t`, which can use the variable `x`. For
instance, `{'one': 1, 'two': 2}.map(k, k)` evaluates to `['one', 'two']`.
Any evaluation error for any element causes the macro to raise an error.
* `e.map(x, p, t)`: Same as the two-arg map but with a conditional `p` filter
before the value is transformed.
* `e.filter(x, p)`:
* for a list `e`, returns the sublist of all elements `x` which
evaluate to `true` in the predicate expression `p` (which can use variable
`x`). For instance, `[1, 2, 3].filter(i, i % 2 > 0)` evaluates to `[1, 3]`.
If no elements evaluate to `true`, the result is an empty list. Any
evaluation error for any element causes the macro to raise an error.
* for a map `e`, returns the list of all map keys `x` which
evaluate to `true` in the predicate expression `p` (which can use variable
`x`). For instance, `{'one': 1, 'two': 2}.filter(k, k == 'one')` evaluates
to `['one']`. If no elements evaluate to `true`, the result is an empty
list. Any evaluation error for any element causes the macro to raise an error.
### Field Selection
A field selection expression, `e.f`, can be applied both to messages and to
maps. For maps, selection is interpreted as the field being a string key.
The semantics depends on the type of the result of evaluating expression `e`:
1. If `e` evaluates to a message and `f` is not declared in this message, the runtime
error `no_such_field` is raised.
2. If `e` evaluates to a message and `f` is declared, but the field is not set, the
default value of the field's type will be produced. Note that this is `null`
for messages or the according primitive default value as determined by
proto2 or proto3 semantics.
3. If `e` evaluates to a map, then `e.f` is equivalent to `e['f']` (where `f`
is still being used as a meta-variable, e.g. the expression `x.foo` is
equivalent to the expression `x['foo']` when `x` evaluates to a map).
4. In all other cases, `e.f` evaluates to an error.
To test for the presence of a field, the boolean-valued macro `has(e.f)` can be
used.
1. If `e` evaluates to a map, then `has(e.f)` indicates whether the string `f`
is a key in the map (note that `f` must syntactically be an identifier).
2. If `e` evaluates to a message and `f` is not a declared field for the
message, `has(e.f)` raises a `no_such_field` error.
3. If `e` evaluates to a protocol buffers version 2 message and `f` is a
defined field:
- If `f` is a repeated field or map field, `has(e.f)` indicates whether
the field is non-empty.
- If `f` is a singular or oneof field, `has(e.f)` indicates
whether the field is set.
4. If `e` evaluates to a protocol buffers version 3 message and `f` is a
defined field:
- If `f` is a repeated field or map field, `has(e.f)` indicates whether
the field is non-empty.
- If `f` is a oneof or singular message field, `has(e.f)` indicates
whether the field is set.
- If `f` is some other singular field, `has(e.f)` indicates whether the
field's value is its default value (zero for numeric fields, `false` for
booleans, empty for strings and bytes).
5. In all other cases, `has(e.f)` evaluates to an error.
## Performance
Since one of the main applications for CEL is for execution of untrusted
expressions with reliable containment, the time and space cost of evaluation
is an essential part of the specification of the language. But we also want to
give considerable freedom in how to implement the language. To balance these
concerns, we specify only the time and space computational complexity of
language constructs and standard functions (see [Functions](#functions)).
CEL applications are responsible for noting the computational complexity of
any extension functions they provide.
### Abstract Sizes
Space and time complexity will be measured in terms of an abstract size
measurement of CEL expressions and values. The size of a CEL value depends on
its type:
* *string*: The size is its length, i.e. the number of code points, plus a
constant.
* *bytes*: The size is its length, i.e. the number of bytes, plus a constant.
* *list*: The size is the sum of sizes of its entries, plus a constant.
* *map*: The size is the sum of the key size plus the value size for all of
its entries, plus a constant.
* *message*: The size is the sum of the size of all fields, plus a constant.
* All other values have constant size.
The size of a CEL program is:
* *string literal*: The size of the resulting value.
* *bytes literal*: The size of the resulting value.
* Grammatical aggregates are the sum of the size of their components.
* Grammatical primitives other than above have constant size.
Thus, the size of a CEL program is bounded by either the length of the source
text string or the bytes of the proto-encoded AST.
The inputs to a CEL expression are the _bindings_ given to the evaluator and
the _literals_ within the expression itself.
### Time Complexity
Unless otherwise noted, the time complexity of an expression is the sum of the
time complexity of its sub-expressions, plus the sum of the sizes of the
sub-expression values, plus a constant.
For instance, an expression `x` has constant time complexity since it has no
sub-expressions. An expression `x != y` takes time proportional to the sum of
sizes of the bindings of `x` and `y`, plus a constant.
Some functions cost less than this:
* The conditional expression `_?_:_`, only evaluates one of the alternative
sub-expressions.
* For the `size()` function on lists and maps, the time is proportional to
the length of its input, not its total size (plus the time of the
sub-expression).
* The index operator on lists takes constant time (plus the time of the
sub-expressions).
* The select operator on messages takes constant time (plus the time of the
sub-expression).
Some functions take more time than this. The following functions take time
proportional to the _product_ of their input sizes (plus the time of the
sub-expressions):
* The index operator on maps.
* The select operator on maps.
* The in operator.
* The `contains`, `startsWith`, `endsWith`, and `matches` functions on
strings.
See below for the time cost of macros.
Implementations are free to provide a more performant implementation. For
instance, a hashing implementation of maps would make indexing/selection
faster, but we do not require such sophistication from all implementations.
### Space Complexity
Unless otherwise noted, the space complexity of an expression is the sum of the
space complexity of its sub-expressions, plus a constant. The exceptions are:
* *Literals*: Message, map, and list literals allocate new space for their
output.
* *Concatenation*: The `_+_` operator on lists and strings allocate new space
for their output.
See below for the space cost of macros.
We'll assume that bytes-to-string and string-to-bytes conversions do not need
to allocate new space.
### Macro Performance
Macros can take considerably more time and space than other constructs, and
can lead to exponential behavior when nested or chained. For instance,
```
[0,1].all(x,
[0,1].all(x,
...
[0,1].all(x, 1/0)...))
```
takes exponential (in the size of the expression) time to evaluate, while
```
["foo","bar"].map(x, [x+x,x+x]).map(x, [x+x,x+x])...map(x, [x+x,x+x])
```
is exponential in both time and space.
The time and space cost of macros is the cost of the range sub-expression `e`,
plus the following:
* `has(e.f)`: Space is constant.
* If `e` is a map, time is linear in size of `e`.
* If `e` is a message, time is constant.
* `e.all(x, p)`, `e.exists(x, p)`, and `e.exists_one(x, p)`
* Time is the sum of the time of `p` for each element of `e`.
* Space is constant.
* `e.map(x, t)`
* Time is the sum of time of `t` for each element of `e`.
* Space is the sum of space of `t` for each element of `e`, plus a
constant.
* `e.filter(x, t)`
* Time is the sum of time of `t` for each element of `e`.
* Space is the space of `e`.
### Performance Limits
Putting this all together, we can make the following statements about the cost
of evaluation. Let `P` be the non-literal size of the expression, `L` be the
size of the literals, `B` be the size of the bindings, and `I=B+L` be the total
size of the inputs.
* The macros other than `has()` are the only avenue for exponential
behavior. This can be curtailed by the implementation allowing applications
to set limits on the recursion or chaining of macros, or disable them
entirely.
* The concatenation operator `_+_` is the only operator that dramatically
increases the space complexity, with the program `x + x + ... + x` taking
time and space `O(B * P^2)`.
* The string-detection functions (`contains()` and friends) yield a boolean
result, thus cannot be nested to drive exponential or even higher
polynomial cost. We can bound the time cost by `O(B^2 * P)`, with a
limiting case being `x.contains(y) || x.contains(y) || ...`.
* The map indexing operators yield a smaller result than their input, and
thus are also limited in their ability to increase the cost. A particularly
bad case would be an expensive selection that returns a subcomponent that
contains the majority of the size of the aggregate, resulting in a time
cost of `O(P * I)`, and see below.
* Eliminating all of the above and using only default-cost functions, plus
aggregate literals, time and space are limited `O(P * I)`.
A limiting time example is `size(x) + size(x) + ...`.
A limiting time and space example is `[x, x, ..., x]`.
Note that custom function will alter this analysis if they are more expensive
than the default costs.
## Functions
CEL functions have no observable side effects (there may be side effects like
logging or such which are not observable from CEL). The default argument
evaluation strategy for functions is strict, with exceptions from this rule
discussed in [Logical Operators](#logical-operators) and [Macros](#macros).
Functions are specified by a set of overloads. Each overload defines the number
and type of arguments and the type of the result, as well as an opaque
computation. Argument and result types can use type variables to express
overloads which work on lists and maps. At runtime, a matching overload is
selected and the according computation invoked. If no overload matches, the
runtime error `no_matching_overload` is raised (see also
[Runtime Errors](#errors)). For example, the standard function `size` is
specified by the following overloads:
|
size
|
(string) -> int
|
string length
|
|
(bytes) -> int
|
bytes length
|
|
(list(A)) -> int
|
list size
|
|
(map(A, B)) -> int
|
map size
|
Overloads must have non-overlapping argument types, after erasure of all type
variables (similar as type erasure in Java). Thus an implementation can
implement overload resolution by simply mapping all argument types to a strong
hash.
Operator sub-expressions are treated as calls to specially-named built-in
functions. For instance, the expression `e1 + e2` is dispatched to the function
`_+_` with arguments `e1` and `e2`. Note that since `_+_` is not an identifier,
there would be no way to write this as a normal function call.
See [Standard Definitions](#standard-definitions) for the list of all predefined
functions and operators.
### Extension Functions
It is possible to add extension functions to CEL, which then behave consistently
with standard functions. The mechanism for doing this is implementation
dependent and usually highly curated. For example, an application domain of CEL
can add a new overload to the `size` function above, provided this overload's
argument types do not overlap with any existing overload. For methodological
reasons, CEL does not allow overloading operators.
Like standard functions, extension functions must be free from observable side
effects in order to prevent expressions from having undefined results, since CEL
does not guarantee evaluation order of sub-expressions.
### Receiver Call Style
A function overload can be declared to use receiver call-style, so it must be
called as `e1.f(e2)` instead of `f(e1, e2)`. Overloads with different call
styles are non-overlapping per definition, regardless of their types.
## Standard Definitions
All predefined operators, functions and constants are listed in the table below.
For each symbol, the available overloads are listed. Operator symbols use a
notation like `_+_` where `_` is a placeholder for an argument.
### Equality
Equality (`_==_`) and inequality (`_!=_`) are defined for all types. Inequality
is the logical negation of equality, i.e. `e1 != e2` is the same as
`!(e1 == e2)` for all expressions `e1` and `e2`.
Type-checking asserts that arguments to equality operators must be the same
type. If the argument types differ, the type-checker will raise an error.
However, if at least one argument is dynamically typed, the type-checker
considers all arguments dynamic and defers type-agreement checks to the
interpreter.
The type-checker uses homogeneous equality to surface potential logical errors
during static analysis, but the runtime uses heterogeneous equality with
a definition of [numeric equality](#Numbers) which treats all numeric types as
though they exist on a continuous number line. Semantically, equality would be
expressed within in CEL as follows:
```cel
type(x) in [double, int, uint]
&& type(y) in [double, int, uint] ? numericEquals(x, y)
: type(x) == type(y) ? x == y
: false
```
CEL's support for boxed primitives relies on heterogeneous equality to ensure
that comparisons to `null` evaluate to `true` or `false` rather than error.
This behavior is also useful for evaluating JSON data where all numbers may
be provided as `double` or, depending on the underlying JSON implementation,
possibly `int`. This potential discrepancy between how runtimes handle dynamic
data is further motivation for supporting separate behaviors at type-check and
interpretation.
#### Numbers
The numeric types of `int`, `uint`, and `double` are compared as though they
exist on a continuous number line where two numbers `x` and `y` are equal if
`!(x < y || x > y)`. Since it is possible to compare numeric types without
type conversion, CEL uses this definition for `numericEquals` to support
comparison across numeric types.
This property of cross-type numeric equality is essential for supporting
JSON in a way which mostly closely matches user expectations. The following
expressions are equivalent as the type-checker cannot infer the type of the
`json.number` in the expression since it is considered `dyn` typed:
Index into a map:
```
{1: 'hello', 2: 'world'}[json.number]
{1: 'hello', 2: 'world'}[int(json.number)]
```
Set membership test of a json number in a list of integers:
```
json.number in [1, 2, 3]
int(json.number) in [1, 2, 3]
```
The `double` type follows the IEEE 754 standard. Not-a-number (`NaN`) values
compare as unequal, e.g. `NaN == NaN // false` and `NaN != NaN // true`.
#### Lists and Maps
Two `list` values equal if their entries at each ordinal are equal. For lists
`a` and `b` with length `N`, `a == b` is equivalent to:
```
a[0] == b[0] && a[1] == b[1] && ... && a[N-1] == b[N-1]
```
Two `map` values are equal if their entries are the same. For maps `a` and `b`
with keyset `k1, k2, ..., kN`, `a == b` equality is equivalent to:
```
a[k1] == b[k1] && a[k2] == b[k2] && ... && a[kN] == b[kN]
```
In short, when `list` lengths / `map` key sets are the same, and all element
comparisons are `true`, the result is `true`.
#### Protocol Buffers
CEL uses the C++ [`MessageDifferencer::Equals`](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.util.message_differencer#MessageDifferencer.Equals.details)
semantics for comparing Protocol Buffer messages across all runtimes. For two
messages to be equal:
- Both messages must share the same type name and `Descriptor` instance;
- Both messages must have the same set fields;
- All primitive typed fields compare equal by value, e.g. `string`, `int64`;
- All elements of `repeated` fields compare in-order as `true`;
- All entries of `map` fields compare order-independently as `true`;
- All fields of `message` and `group` typed fields compare true, with the
comparison being performed as if by recursion.
- All unknown fields compare `true` using byte equality.
In addition to the publicly documented behaviors for C++ protobuf equality,
there are some implementation behaviors which are important to mention:
- The `double` type follows the IEEE 754 standard where not-a-number (`NaN`)
values compare as unequal, e.g. `NaN == NaN // false` and
`NaN != NaN // true`.
- All `google.protobuf.Any` typed fields are unpacked before comparison,
unless the `type_url` cannot be resolved, in which case the comparison
falls back to byte equality.
Protocol buffer equality semantics in C++ are generally consistent with CEL's
definition of heterogeneous equality. Note, Java and Go proto equality
implementations do not follow IEEE 754 for `NaN` values and do not unpack
`google.protobuf.Any` values before comparison. These comparison differences
can result in false negatives or false positives; consequently, CEL provides
a uniform definition across runtimes to ensure consistent evaluation across
runtimes.
There is one edge case where CEL and protobuf equality will produce
different results; however, this edge case is sufficiently unlikely that
the difference is acceptable:
```
// Protocol buffer definition
message Msg {
repeated google.protobuf.Any values;
}
// CEL - Produces `false` according to protobuf equality since the types of
// Int32Value and FloatValue are not equal.
Msg{values: [google.protobuf.Int32Value{value: 1}]}
== Msg{values: [google.protobuf.FloatValue{value: 1.0}]}
// CEL - Produces `true` according to CEL equality with well-known
// protobuf type unwrapping of the list elements within `values`
// where the list values are unwrapped to CEL numbers and compared
// using `numericEquals`.
Msg{values: [google.protobuf.Int32Value{value: 1}]}.values
== Msg{values: [google.protobuf.FloatValue{value: 1.0}]}.values
```
### Ordering
Ordering operators are defined for `int`, `uint`, `double`, `string`, `bytes`,
`bool`, as well as `timestamp` and `duration`. Runtime ordering is also
supported across `int`, `uint`, and `double` for consistency with the runtime
equality definition for numeric types.
Strings and bytes obey lexicographic ordering of the byte values. Because
strings are encoded in UTF-8, strings consequently also obey lexicographic
ordering of their Unicode code points.
The ordering operators obey the usual algebraic properties, i.e. `e1 <= e2`
gives the same result as `!(e1 > e2)` as well as `(e1 < e2) || (e1 == e2)`.
### Overflow
Arithmetic operations raise an error when the results exceed the range of the
integer type (int, uint) or the timestamp or duration type. An error is also
raised for conversions which exceed the range of the target type.
There are a few additional considerations to keep in mind with respect to
how and when certain types will overflow:
* Duration values are limited to a single int64 value, or roughly +-290 years.
* Timestamp values are limited to the range of values which can be serialized
as a string: ["0001-01-01T00:00:00Z", "9999-12-31T23:59:59.999999999Z"].
* Double to int conversions are limited to (minInt, maxInt) non-inclusive.
Note, that whether the minimum or maximum integer value will roundtrip successfully
int -> double -> int can be compiler dependent which is the motivation for the
conservative round-tripping behavior.
### Timezones
Timezones are expressed in the following grammar:
```grammar
TimeZone = "UTC" | LongTZ | FixedTZ ;
LongTZ = ? list available at
https://www.joda.org/joda-time/timezones.html ? ;
FixedTZ = ( "+" | "-" ) Digit Digit ":" Digit Digit ;
Digit = "0" | "1" | ... | "9" ;
```
Fixed timezones are explicit hour and minute offsets from UTC. Long timezone
names are like `Europe/Paris`, `CET`, or `US/Central`.
### Regular Expressions
Regular expressions follow the
[RE2 syntax](https://github.com/google/re2/wiki/Syntax). Regular expression
matches succeed if they match a substring of the argument. Use explicit anchors
(`^` and `$`) in the pattern to force full-string matching, if desired.
### Standard Environment
#### Presence and Comprehension Macros
**has(message.field)** \- Checks if a field exists within a message. This macro
supports proto2, proto3, and map key accesses. Only map accesses using the
select notation are supported.
**Signatures**
* `has(message.field) -> bool`
**Examples**
```
// `true` if the 'address' field exists in the 'user' message
has(user.address)
// `true` if map 'm' has a key named 'key_name' defined. The value may be null
// as null does not connote absence in CEL.
has(m.key_name)
// `false` if the 'items' field is not set in the 'order' message
has(order.items)
// `false` if the 'user_id' key is not present in the 'sessions' map has(sessions.user_id)
```
**all \-** Tests whether all elements in the input list or all keys in a map
satisfy the given predicate. The all macro behaves in a manner consistent with
the Logical AND operator including in how it absorbs errors and short-circuits.
**Signatures**
* `list(A).all(A, predicate(A) -> bool) -> bool`
* `map(A, B).all(A, predicate(A) -> bool) -> bool`
**Examples**
```
[1, 2, 3].all(x, x > 0) // true
[1, 2, 0].all(x, x > 0) // false
['apple', 'banana', 'cherry'].all(fruit, fruit.size() > 3) // true
[3.14, 2.71, 1.61].all(num, num < 3.0) // false
{'a': 1, 'b': 2, 'c': 3}.all(key, key != 'b') // false
```
**exists** \- Tests whether any value in the list or any key in the map
satisfies the predicate expression. The exists macro behaves in a manner
consistent with the Logical OR operator including in how it absorbs errors and
short-circuits.
**Signatures**
* `list(A).exists(A, predicate(A) -> bool) -> bool`
* `map(A,B).exists(A, predicate(A) -> bool) -> bool`
**Examples**
```
[1, 2, 3].exists(i, i % 2 != 0) // true
[].exists(i, i > 0) // false
[0, -1, 5].exists(num, num < 0) // true
{'x': 'foo', 'y': 'bar'}.exists(key, key.startsWith('z')) // false
```
**exists\_one** \- Tests whether exactly one list element or map key satisfies
the predicate expression. This macro does not short-circuit in order to remain
consistent with logical operators being the only operators which can absorb
errors within CEL.
**Signatures**
* `list(A).exists_one(A, predicate(A)) -> bool`
* `map(A,B).exists_one(A, predicate(A)) -> bool`
**Examples**
```
[1, 2, 2].exists_one(i, i < 2) // true
{'a': 'hello', 'aa': 'hellohello'}.exists_one(k, k.startsWith('a')) // false
[1, 2, 3, 4].exists_one(num, num % 2 == 0) // false
```
**filter** \- Returns a list containing only the elements from the input list
that satisfy the given predicate
**Signatures**
* `list(A).filter(A, function(A) -> bool) -> list(A)`
* `map(A, B).filter(A, function(A) -> bool) -> list(A)`
**Examples**
```
[1, 2, 3].filter(x, x > 1) // [2, 3]
['cat', 'dog', 'bird', 'fish'].filter(pet, pet.size() == 3) // ['cat', 'dog']
[{'a': 10, 'b': 5, 'c': 20}].map(m, m.filter(key, m[key] > 10)) // [['c']]
```
**map** \- Returns a list where each element is the result of applying the
transform expression to the corresponding input list element or input map key.
There are two forms of the map macro:
* The three argument form transforms all elements.
* The four argument form transforms only elements which satisfy the predicate.
The four argument form of the macro exists to simplify combined filter / map
operations.
**Signatures**
* `list(A).map(A, function(A) -> T) -> list(T)`
* `list(A).map(A, function(A) -> bool, function(A) -> T) -> list(T)`
* `map(A, B).map(A, function(A) -> T) -> list(T)`
* `map(A, B).map(A, function(A) -> bool, function(A) -> T) -> list(T)`
**Examples**
```
[1, 2, 3].map(x, x * 2) // [2, 4, 6]
[5, 10, 15].map(x, x / 5) // [1, 2, 3]
['apple', 'banana'].map(fruit, fruit.upperAscii()) // ['APPLE', 'BANANA']
[1, 2, 3, 4].map(num, num % 2 == 0, num * 2) // [4, 8]
```
#### Logical Operators
**Logical NOT (\!)** \- Takes a boolean value as input and returns the opposite
boolean value.
**Signatures:**
* `!bool -> bool`
**Examples:**
```
!true // false
!false // true
!error // error
```
**Logical OR (||)** \- Compute the logical OR of two or more values. Errors and
unknown values are considered valid inputs to this operator and will not halt
evaluation.
**Signatures:**
* `bool || bool -> bool`
**Examples:**
```
true || false // true
false || false // false
error || true // true
error || false // error
```
**Logical AND (&&)** \- Compute the logical AND of two or more values. Errors
and unknown values are considered valid inputs to this operator and will not
halt evaluation.
**Signatures:**
* `bool && bool -> bool`
**Examples:**
```
true && true // true
true && false // false
error && true // error
error && false // false
```
**Conditional Operator (? : )** \- The conditional or ternary operator which
evaluates the test condition and only one of the remaining sub-expressions
**Signatures:**
* `bool ? A : A -> A`
**Examples:**
```
true ? 1 : 2 // 1
false ? "a" : "b" // "b"
true ? error : value // error
false ? error : value // value
(2 < 5) ? 'yes' : 'no' // 'yes'
('hello'.size() > 10) ? 1 / 0 : 42 // 42
```
**Note:**
* `error` is a special value in CEL that represents an error condition.
Operations involving `error` typically propagate the error.
* This documentation provides examples for a few CEL operators. The complete
CEL specification includes many more operators and functions.
#### Arithmetic Operators
**Negation (-)** \- Negate a numeric value.
**Signatures:**
* `-int -> int`
* `-double -> double`
**Examples:**
```
-(5) // -5
-(3.14) // -3.14
```
**Addition (+)** \- Adds two numeric values or concatenates two strings, bytes,
or lists.
**Signatures:**
* Numeric addition
* `int + int -> int`
* `uint + uint -> uint`
* `double + double -> double`
* Time and duration addition
* `google.protobuf.Timestamp + google.protobuf.Duration ->
google.protobuf.Timestamp`
* `google.protobuf.Duration + google.protobuf.Timestamp ->
google.protobuf.Timestamp`
* `google.protobuf.Duration + google.protobuf.Duration ->
google.protobuf.Duration`
* Concatenation
* `string + string -> string`
* `bytes + bytes -> bytes`
* `list(A) + list(A) -> list(A)`
**Examples:**
```
1 + 2 // 3
3.14 + 1.59 // 4.73
"Hello, " + "world!" // "Hello, world!"
[1] + [2, 3] // [1, 2, 3]
duration('1m') + duration('1s') // duration('1m1s')
timestamp('2023-01-01T00:00:00Z')
+ duration('24h') // timestamp('2023-01-02T00:00:00Z')
```
**Subtraction (-)** \- Subtracts two numeric values or calculates the duration
between two timestamps.
**Signatures:**
* Numeric subtraction
* `int - int -> int`
* `uint - uint -> uint`
* `double - double -> double`
* Time and duration subtraction
* `google.protobuf.Timestamp - google.protobuf.Timestamp ->
google.protobuf.Duration`
* `google.protobuf.Timestamp - google.protobuf.Duration ->
google.protobuf.Timestamp`
* `google.protobuf.Duration - google.protobuf.Duration ->
google.protobuf.Duration`
**Examples:**
```
5 - 3 // 2
10.5 - 2.0 // 8.5
duration('1m') - duration('1s') // duration('59s')
timestamp('2023-01-10T12:00:00Z')
- timestamp('2023-01-10T00:00:00Z') // duration('12h')
```
**Division (/)** \- Divides two numeric values.
**Signatures:**
* `int / int -> int`
* `uint / uint -> uint`
* `double / double -> double`
**Examples:**
```
10 / 2 // 5
7.0 / 2.0 // 3.5
```
**Modulus (%)** \- Compute the modulus of one integer into another.
**Signatures:**
* `int % int -> int`
* `uint % uint -> uint`
**Examples:**
```
3 % 2 // 1
6u % 3u // 0u
```
**Multiply (*)** \- Multiply two numbers. If the operation exceeds the possible
value which can be represented by the type, the result will be an overflow
error.
**Signatures:**
* `double * double -> double`
* `int * int -> int`
* `uint * uint -> uint`
**Examples:**
```
3.5 * 40.0 // 140.0
-2 * 6 // 12
13u * 3u // 39u
```
#### Comparison Operators
Comparisons require strict type equality at type-check time. If types do not
agree, then type-conversion is required in order to be explicit about the
intention and inherent risks of comparing across types.
The one exception to this rule is numeric comparisons at runtime. Since CEL
supports JSON in addition to Protocol Buffers, it must handle cases where the
user intent was to compare an integer value to a JSON value within the int53
range. For this reason, numeric comparisons across type are supported at
runtime as all numeric representations may be considered to exist along a
shared number line independent of their representation in memory.
**Equality (==)** \- Compares two values of the same type and returns `true` if
they are equal, and `false` otherwise
**Signatures:**
* `A == A -> bool` (where A can be any comparable type)
**Examples:**
```
1 == 1 // true
"hello" == "world" // false
bytes('hello') == b'hello' // true
duration('1h') == duration('60m') // true
dyn(3.0) == 3 // true
```
**Inequality (\!=)** \- Takes two values of the same type and returns `true` if
they are not equal, and `false` otherwise.
**Signatures:**
* `A != A -> bool` (where A can be any comparable type)
**Examples:**
```
1 != 2 // true
"a" != "a" // false
3.0 != 3.1 // true
```
**Less Than or Equal To (\<=)** \- Compare two values and return `true` if the
first value is less than or equal to the second value.
**Signatures:**
* `bool <= bool -> bool`
* `int <= int -> bool`
* `uint <= uint -> bool`
* `double <= double -> bool`
* `string <= string -> bool`
* `bytes <= bytes -> bool`
* `google.protobuf.Timestamp <= google.protobuf.Timestamp -> bool`
* `google.protobuf.Duration <= google.protobuf.Duration -> bool`
**Examples:**
```
2 <= 3 // true
'a' <= 'b' // true
timestamp('2023-08-25T12:00:00Z') <= timestamp('2023-08-26T12:00:00Z') // true
```
**Less Than (\<)** \- Compare two values and return `true` if the first value
is less than the second.
**Signatures:**
* `bool < bool -> bool`
* `int < int -> bool`
* `uint < uint -> bool`
* `double < double -> bool`
* `string < string -> bool`
* `bytes < bytes -> bool`
* `google.protobuf.Timestamp < google.protobuf.Timestamp -> bool`
* `google.protobuf.Duration < google.protobuf.Duration -> bool`
**Examples:**
```
2 < 3 // true
'a' < 'b' // true
duration('2h') < duration('3h') // true
-1 < dyn(1u) // true
```
**Greater Than or Equal To (\>=)** \- Compare two values and return `true` if
the first value is greater than or equal to the second.
**Signatures:**
* `bool >= bool -> bool`
* `int >= int -> bool`
* `uint >= uint -> bool`
* `double >= double -> bool`
* `string >= string -> bool`
* `bytes >= bytes -> bool`
* `google.protobuf.Timestamp >= google.protobuf.Timestamp -> bool`
* `google.protobuf.Duration >= google.protobuf.Duration -> bool`
**Examples:**
```
3 >= 2 // true
'b' >= 'a' // true
duration('2h') + duration('1h1m') >= duration('3h') // true
1 >= dyn(18446744073709551615u) // false
```
**Greater Than (\>)** \- Compares two values and return `true` if the first
value is greater than the second value
**Signatures:**
* `bool > bool -> bool`
* `int > int -> bool`
* `uint > uint -> bool`
* `double > double -> bool`
* `string > string -> bool`
* `bytes > bytes -> bool`
* `google.protobuf.Timestamp > google.protobuf.Timestamp -> bool`
* `google.protobuf.Duration > google.protobuf.Duration -> bool`
**Examples:**
```
3 > 2 // true
'b' > 'a' // true
5u > 3u // true
```
#### List Operators
**List Indexing (\[\])** \- list indexing. Constant time cost
**Signatures:**
* `list(A)[int] -> A`
**Examples:**
```
[1, 2, 3][1] // 2
```
**List Membership (in)** \- Checks if a value is present in a list. Time cost is
proportional to the product of the size of both arguments.
**Signatures:**
* `A in list(A) -> bool`
**Examples:**
```
2 in [1, 2, 3] // true
"a" in ["b", "c"] // false
```
**size** \- Determine the number of elements in the list.
**Signatures:**
* `list.size() -> int`
* `size(list) -> int`
**Examples:**
```
['hello', 'world'].size() // 2
size(['first', 'second', 'third']) // 3
```
#### Map Operators
**Map Indexing (\[\])** \- map indexing. Expected time complexity is O(1).
Some implementations may not guarantee O(1) lookup times, please check with
the CEL implementation to verify. In the worst case for string keys, the
lookup cost could be proportional to the size of the map keys times the
size of the index string.
**Signatures:**
* `map(A, B)[A] -> B`
**Examples:**
```
{'key1': 'value1', 'key2': 'value2'}['key1'] // 'value1'
{'name': 'Bob', 'age': 42}['age'] // 42
```
**Map Key Membership (in)** \- Checks if a key exists in a map. Expected time
complexity is O(1).
Some implementations may not guarantee O(1) lookup times, please check with
the CEL implementation to verify. In the worst case for string keys, the
lookup cost could be proportional to the size of the map keys times the
size of the index string.
**Signatures:**
* `A in map(A, B) -> bool`
**Examples:**
```
'key1' in {'key1': 'value1', 'key2': 'value2'} // true
3 in {1: "one", 2: "two"} // false
```
**size** \- Determine the number of entries in the map.
**Signatures:**
* `map.size() -> int`
* `size(map) -> int`
**Examples:**
```
{'hello': 'world'}.size() // 1
size({1: true, 2: false}) // 2
```
#### Bytes Functions
**size** \- Determine the number of bytes in the sequence.
**Signatures:**
* `bytes.size() -> int`
* `size(bytes) -> int`
**Examples:**
```
b'hello'.size() // 5
size(b'world!') // 6
size(b'\xF0\x9F\xA4\xAA') // 4
```
#### String Functions
**contains** \- Tests whether the string operand contains the substring. Time
complexity is proportional to the product of the sizes of the arguments.
**Signatures:**
* `string.contains(string) -> bool`
**Examples:**
```
"hello world".contains("world") // true
"foobar".contains("baz") // false
```
**endsWith** \- Tests whether the string operand ends with the specified suffix.
Average time complexity is linear with respect to the size of the suffix string.
Worst-case time complexity is proportional to the product of the sizes of the
arguments.
**Signatures:**
* `string.endsWith(string) -> bool`
**Examples:**
```
"hello world".endsWith("world") // true
"foobar".endsWith("bar") // true
```
**matches** \- Tests whether a string matches a given RE2 regular expression.
Time complexity is proportional to the product of the sizes of the arguments
as guaranteed by the [RE2 design](https://github.com/google/re2/wiki/WhyRE2).
**Signatures:**
* `matches(string, string) -> bool`
* `string.matches(string) -> bool`
**Examples:**
```
matches("foobar", "foo.*") // true
"foobar".matches("foo.*") // true
```
**startsWith** \- Tests whether the string operand starts with the specified
prefix. Average time complexity is linear with respect to the size of the
prefix. Worst-case time complexity is proportional to the product of the sizes
of the arguments.
**Signatures:**
* `string.startsWith(string) -> bool`
**Examples:**
```
"hello world".startsWith("hello") // true
"foobar".startsWith("foo") // true
```
**size** \- Determine the length of the string in terms of the number of Unicode
codepoints
**Signatures:**
* `string.size() -> int`
* `size(string) -> int`
**Examples:**
```
"hello".size() // 5
size("world!") // 6
"fiance\u0301".size() // 7
size(string(b'\xF0\x9F\xA4\xAA')) // 1
```
#### Date/Time Functions
All timestamp functions which take accept a timezone argument can use any of
the supported [Joda Timezones](https://www.joda.org/joda-time/timezones.html)
either using the numeric format or the geographic region.
**getDate** \- Get the day of the month from a timestamp (one-based indexing).
**Signatures:**
* `google.protobuf.Timestamp.getDate() -> int` (in UTC)
* `google.protobuf.Timestamp.getDate(string) -> int` (with timezone)
**Examples:**
```
timestamp("2023-12-25T00:00:00Z").getDate() // 25
timestamp("2023-12-25T00:00:00Z").getDate("America/Los_Angeles") // 24
```
**getDayOfMonth** \- Get the day of the month from a timestamp (zero-based
indexing).
**Signatures:**
* `google.protobuf.Timestamp.getDayOfMonth() -> int` (in UTC)
* `google.protobuf.Timestamp.getDayOfMonth(string) -> int` (with timezone)
**Examples:**
```
timestamp("2023-12-25T00:00:00Z").getDayOfMonth() // 24
timestamp("2023-12-25T00:00:00Z").getDayOfMonth("America/Los_Angeles") // 23
```
**getDayOfWeek** \- Get the day of the week from a timestamp (zero-based, zero
for Sunday).
**Signatures:**
* `google.protobuf.Timestamp.getDayOfWeek() -> int` (in UTC)
* `google.protobuf.Timestamp.getDayOfWeek(string) -> int` (with timezone)
**Examples:**
```
timestamp("2023-12-25T12:00:00Z").getDayOfWeek() // 1 (Monday)
```
**getDayOfYear** \- Get the day of the year from a timestamp (zero-based
indexing).
**Signatures:**
* `google.protobuf.Timestamp.getDayOfYear() -> int` (in UTC)
* `google.protobuf.Timestamp.getDayOfYear(string) -> int` (with timezone)
**Examples:**
```
timestamp("2023-12-25T12:00:00Z").getDayOfYear() // 358
```
**getFullYear** \- Get the year from a timestamp.
**Signatures:**
* `google.protobuf.Timestamp.getFullYear() -> int` (in UTC)
* `google.protobuf.Timestamp.getFullYear(string) -> int` (with timezone)
**Examples:**
```
timestamp("2023-12-25T12:00:00Z").getFullYear() // 2023
```
**getHours** \- Get the hour from a timestamp or convert the duration to hours
**Signatures:**
* `google.protobuf.Timestamp.getHours() -> int` (in UTC)
* `google.protobuf.Timestamp.getHours(string) -> int` (with timezone)
* `google.protobuf.Duration.getHours() -> int` convert the duration to hours
**Examples:**
```
timestamp("2023-12-25T12:00:00Z").getHours() // 12
duration("3h").getHours() // 3
```
**getMilliseconds** \- Get the milliseconds from a timestamp or the
milliseconds portion of the duration
**Signatures:**
* `google.protobuf.Timestamp.getMilliseconds() -> int` obtain the
milliseconds component of the timestamp in UTC.
* `google.protobuf.Timestamp.getMilliseconds(string) -> int` obtain the
milliseconds component with a timezone.
* `google.protobuf.Duration.getMilliseconds() -> int` obtain the milliseconds
portion of the duration value. Other time unit functions convert the
duration to that format; however, this method does not.
**Examples:**
```
timestamp("2023-12-25T12:00:00.500Z").getMilliseconds() // 500
duration("1.234s").getMilliseconds() // 234
```
**getMinutes** \- Get the minutes from a timestamp or convert a duration to
minutes
**Signatures:**
* `google.protobuf.Timestamp.getMinutes() -> int` get the minutes component
of a timestamp in UTC.
* `google.protobuf.Timestamp.getMinutes(string) -> int` get the minutes
component of a timestamp within a given timezone.
* `google.protobuf.Duration.getMinutes() -> int` convert the duration to
minutes.
**Examples:**
```
timestamp("2023-12-25T12:30:00Z").getMinutes() // 30
duration("1h30m").getMinutes() // 90
```
**getMonth** \- Get the month from a timestamp (zero-based, 0 for January).
**Signatures:**
* `google.protobuf.Timestamp.getMonth() -> int` (in UTC)
* `google.protobuf.Timestamp.getMonth(string) -> int` (with timezone)
**Examples:**
```
timestamp("2023-12-25T12:00:00Z").getMonth() // 11 (December)
```
**getSeconds** \- Get the seconds from a timestamp or convert the duration to
seconds
**Signatures:**
* `google.protobuf.Timestamp.getSeconds() -> int` get the seconds component
of the timestamp in UTC.
* `google.protobuf.Timestamp.getSeconds(string) -> int` get the seconds
component of the timestamp with a provided timezone.
* `google.protobuf.Duration.getSeconds() -> int` convert the duration to
seconds.
**Examples:**
```
timestamp("2023-12-25T12:30:30Z").getSeconds() // 30
duration("1m30s").getSeconds() // 90
```
#### Types and Conversions
**bool** `type(bool)` \- Type denotation
**Signatures:**
* `bool(bool) -> bool` (identity)
* `bool(string) -> bool` (type conversion)
**Examples:**
```
bool(true) // true
bool("true") // true
bool("FALSE") // false
```
**bytes** `type(bytes)` \- Type denotation
**Signatures:**
* `bytes(bytes) -> bytes` (identity)
* `bytes(string) -> bytes` (type conversion)
**Examples:**
```
bytes("hello") // b'hello'
bytes("🤪") // b'\xF0\x9F\xA4\xAA'
```
**double** `type(double)` \- Type denotation
**Signatures:**
* `double(double) -> double` (identity)
* `double(int) -> double` (type conversion)
* `double(uint) -> double` (type conversion)
* `double(string) -> double` (type conversion)
**Examples:**
```
double(3.14) // 3.14
double(10) // 10.0
double("3.14") // 3.14 (if successful, otherwise an error)
```
**duration**
Type conversion for duration values.
Note, duration strings should support the following suffixes:
* "h" (hour)
* "m" (minute)
* "s" (second)
* "ms" (millisecond)
* "us" (microsecond)
* "ns" (nanosecond)
Duration strings may be zero (`"0"`), negative (`-1h`), fractional (`-23.4s`),
and/or compound (`1h34us`). Durations greater than the hour granularity, such
as days or weeks, are not supported as this would necessitate an understanding
of the locale of the execution context to account for leap seconds and leap
years.
**Signatures:**
* `duration(google.protobuf.Duration) -> google.protobuf.Duration`
* `duration(string) -> google.protobuf.Duration`
**Examples:**
```
duration("1h30m") // google.protobuf.Duration representing 1 hour and 30 minutes
duration("0") // zero duration value
duration("-1.5h") // minus 90 minutes
```
**dyn** `type(dyn)` \- Type denotation
The `dyn` types does not exist at runtime, but provides a hint to the
type-checker to disable strong type agreement checks.
**Signatures:**
* `dyn(A) -> dyn` (type conversion) (where A is any type)
**Examples:**
```
dyn(123) // integer 123 marked `dyn` during type-checking
dyn("hello") // string "hello" marked `dyn` during type-checking
```
**int** `type(int)` \- Type denotation
**Signatures:**
* `int(int) -> int` (identity)
* `int(uint) -> int` (type conversion)
* `int(double) -> int` (type conversion, rounds toward zero, errors if out of
range)
* `int(string) -> int` (type conversion)
* `int(enum E) -> int` (type conversion)
* `int(google.protobuf.Timestamp) -> int` converts to seconds since Unix
epoch
**Examples:**
```
int(123) // 123
int(3.14) // 3
int("123") // 123 (if successful, otherwise an error)
```
**list** `type(list(dyn))` \- Type denotation
**map** `type(map(dyn, dyn))` \- Type denotation
**null\_type** `type(null)` \- Type denotation
**string** `type(string)` \- Type denotation
**Signatures:**
* `string(string) -> string` (identity)
* `string(bool) -> string` converts `true` to `"true"` and `false` to
`"false"`
* `string(int) -> string` converts integer values to base 10 representation
* `string(uint) -> string` converts unsigned integer values to base 10
representation
* `string(double) -> string` converts a double to a string
* `string(bytes) -> string` converts a byte sequence to a UTF-8 string, errors
for invalid code points
* `string(timestamp) -> string` converts a timestamp value to
[RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) format
* `string(duration) -> string` converts a duration value to seconds and
fractional seconds with an 's' suffix
**Examples:**
```
string(123) // "123"
string(123u) // "123u"
string(3.14) // "3.14"
string(b'hello') // "hello"
string(b'\xf0\x9f\xa4\xaa') // "🤪"
string(duration('1m1ms')) // "60.001s"
```
**timestamp**
**Signatures:**
* `timestamp(google.protobuf.Timestamp) -> google.protobuf.Timestamp`
(identity)
* `timestamp(string) -> google.protobuf.Timestamp` (type conversion, according
to RFC3339)
**Examples:**
```
// google.protobuf.Timestamp representing August 26, 2023 at 12:39 PM PDT
timestamp("2023-08-26T12:39:00-07:00")
```
**type** `type` \- Type denotation
**Signatures:**
* `type(A) -> type` (returns the type of the value, where A is any type)
**Examples:**
```
type(123) // int
type("hello") // string
```
**uint** `type(uint)` \- Type denotation
**Signatures:**
* `uint(uint) -> uint` (identity)
* `uint(int) -> uint` (type conversion)
* `uint(double) -> uint` (type conversion, rounds toward zero, errors if out
of range)
* `uint(string) -> uint` (type conversion)
**Examples:**
```
uint(123) // 123u
uint(3.14) // 3u
uint("123") // 123u (if successful, otherwise an error)
```
## Appendix 1: Legacy Behavior
### Homogeneous Equality
Prior to cel-spec v0.7.0, CEL runtimes only supported homogeneous equality to be
consistent with the homogeneous equality defined by the type-checker. The
original runtime definition for equality is as follows:
```
Equality and inequality are homogeneous; comparing values of different runtime
types results in a runtime error. Thus `2 == 3` is `false`, but `2 == 2.0` is an
error.
For `double`, all not-a-number (`NaN`) values compare equal. This is different
than the usual semantics of floating-point numbers, but it is more consistent
with the usual expectations of reflexivity, and is more compatible with the
usual notions of equality on protocol buffers.
```
cel-spec-0.24.0/eval.pb.go 0000775 0000000 0000000 00000036673 15006676303 0015176 0 ustar 00root root 0000000 0000000 // Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.3
// protoc v5.27.1
// source: cel/expr/eval.proto
package expr
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
anypb "google.golang.org/protobuf/types/known/anypb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type EvalState struct {
state protoimpl.MessageState `protogen:"open.v1"`
Values []*ExprValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
Results []*EvalState_Result `protobuf:"bytes,3,rep,name=results,proto3" json:"results,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *EvalState) Reset() {
*x = EvalState{}
mi := &file_cel_expr_eval_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *EvalState) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EvalState) ProtoMessage() {}
func (x *EvalState) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_eval_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EvalState.ProtoReflect.Descriptor instead.
func (*EvalState) Descriptor() ([]byte, []int) {
return file_cel_expr_eval_proto_rawDescGZIP(), []int{0}
}
func (x *EvalState) GetValues() []*ExprValue {
if x != nil {
return x.Values
}
return nil
}
func (x *EvalState) GetResults() []*EvalState_Result {
if x != nil {
return x.Results
}
return nil
}
type ExprValue struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Types that are valid to be assigned to Kind:
//
// *ExprValue_Value
// *ExprValue_Error
// *ExprValue_Unknown
Kind isExprValue_Kind `protobuf_oneof:"kind"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExprValue) Reset() {
*x = ExprValue{}
mi := &file_cel_expr_eval_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExprValue) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExprValue) ProtoMessage() {}
func (x *ExprValue) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_eval_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExprValue.ProtoReflect.Descriptor instead.
func (*ExprValue) Descriptor() ([]byte, []int) {
return file_cel_expr_eval_proto_rawDescGZIP(), []int{1}
}
func (x *ExprValue) GetKind() isExprValue_Kind {
if x != nil {
return x.Kind
}
return nil
}
func (x *ExprValue) GetValue() *Value {
if x != nil {
if x, ok := x.Kind.(*ExprValue_Value); ok {
return x.Value
}
}
return nil
}
func (x *ExprValue) GetError() *ErrorSet {
if x != nil {
if x, ok := x.Kind.(*ExprValue_Error); ok {
return x.Error
}
}
return nil
}
func (x *ExprValue) GetUnknown() *UnknownSet {
if x != nil {
if x, ok := x.Kind.(*ExprValue_Unknown); ok {
return x.Unknown
}
}
return nil
}
type isExprValue_Kind interface {
isExprValue_Kind()
}
type ExprValue_Value struct {
Value *Value `protobuf:"bytes,1,opt,name=value,proto3,oneof"`
}
type ExprValue_Error struct {
Error *ErrorSet `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}
type ExprValue_Unknown struct {
Unknown *UnknownSet `protobuf:"bytes,3,opt,name=unknown,proto3,oneof"`
}
func (*ExprValue_Value) isExprValue_Kind() {}
func (*ExprValue_Error) isExprValue_Kind() {}
func (*ExprValue_Unknown) isExprValue_Kind() {}
type ErrorSet struct {
state protoimpl.MessageState `protogen:"open.v1"`
Errors []*Status `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ErrorSet) Reset() {
*x = ErrorSet{}
mi := &file_cel_expr_eval_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ErrorSet) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ErrorSet) ProtoMessage() {}
func (x *ErrorSet) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_eval_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ErrorSet.ProtoReflect.Descriptor instead.
func (*ErrorSet) Descriptor() ([]byte, []int) {
return file_cel_expr_eval_proto_rawDescGZIP(), []int{2}
}
func (x *ErrorSet) GetErrors() []*Status {
if x != nil {
return x.Errors
}
return nil
}
type Status struct {
state protoimpl.MessageState `protogen:"open.v1"`
Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
Details []*anypb.Any `protobuf:"bytes,3,rep,name=details,proto3" json:"details,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Status) Reset() {
*x = Status{}
mi := &file_cel_expr_eval_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Status) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Status) ProtoMessage() {}
func (x *Status) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_eval_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Status.ProtoReflect.Descriptor instead.
func (*Status) Descriptor() ([]byte, []int) {
return file_cel_expr_eval_proto_rawDescGZIP(), []int{3}
}
func (x *Status) GetCode() int32 {
if x != nil {
return x.Code
}
return 0
}
func (x *Status) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *Status) GetDetails() []*anypb.Any {
if x != nil {
return x.Details
}
return nil
}
type UnknownSet struct {
state protoimpl.MessageState `protogen:"open.v1"`
Exprs []int64 `protobuf:"varint,1,rep,packed,name=exprs,proto3" json:"exprs,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *UnknownSet) Reset() {
*x = UnknownSet{}
mi := &file_cel_expr_eval_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UnknownSet) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UnknownSet) ProtoMessage() {}
func (x *UnknownSet) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_eval_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UnknownSet.ProtoReflect.Descriptor instead.
func (*UnknownSet) Descriptor() ([]byte, []int) {
return file_cel_expr_eval_proto_rawDescGZIP(), []int{4}
}
func (x *UnknownSet) GetExprs() []int64 {
if x != nil {
return x.Exprs
}
return nil
}
type EvalState_Result struct {
state protoimpl.MessageState `protogen:"open.v1"`
Expr int64 `protobuf:"varint,1,opt,name=expr,proto3" json:"expr,omitempty"`
Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *EvalState_Result) Reset() {
*x = EvalState_Result{}
mi := &file_cel_expr_eval_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *EvalState_Result) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EvalState_Result) ProtoMessage() {}
func (x *EvalState_Result) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_eval_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EvalState_Result.ProtoReflect.Descriptor instead.
func (*EvalState_Result) Descriptor() ([]byte, []int) {
return file_cel_expr_eval_proto_rawDescGZIP(), []int{0, 0}
}
func (x *EvalState_Result) GetExpr() int64 {
if x != nil {
return x.Expr
}
return 0
}
func (x *EvalState_Result) GetValue() int64 {
if x != nil {
return x.Value
}
return 0
}
var File_cel_expr_eval_proto protoreflect.FileDescriptor
var file_cel_expr_eval_proto_rawDesc = []byte{
0x0a, 0x13, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x1a,
0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x63, 0x65, 0x6c, 0x2f,
0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0xa2, 0x01, 0x0a, 0x09, 0x45, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b,
0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x72,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63,
0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74,
0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x73, 0x1a, 0x32, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65,
0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x05,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x65,
0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x48,
0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x07, 0x75, 0x6e, 0x6b, 0x6e,
0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x2e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x48,
0x00, 0x52, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69,
0x6e, 0x64, 0x22, 0x34, 0x0a, 0x08, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x28,
0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x66, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74,
0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x12, 0x2e, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
0x22, 0x22, 0x0a, 0x0a, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x14,
0x0a, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x65,
0x78, 0x70, 0x72, 0x73, 0x42, 0x2c, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x2e, 0x63, 0x65, 0x6c, 0x2e,
0x65, 0x78, 0x70, 0x72, 0x42, 0x09, 0x45, 0x76, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
0x01, 0x5a, 0x0c, 0x63, 0x65, 0x6c, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0xf8,
0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cel_expr_eval_proto_rawDescOnce sync.Once
file_cel_expr_eval_proto_rawDescData = file_cel_expr_eval_proto_rawDesc
)
func file_cel_expr_eval_proto_rawDescGZIP() []byte {
file_cel_expr_eval_proto_rawDescOnce.Do(func() {
file_cel_expr_eval_proto_rawDescData = protoimpl.X.CompressGZIP(file_cel_expr_eval_proto_rawDescData)
})
return file_cel_expr_eval_proto_rawDescData
}
var file_cel_expr_eval_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_cel_expr_eval_proto_goTypes = []any{
(*EvalState)(nil), // 0: cel.expr.EvalState
(*ExprValue)(nil), // 1: cel.expr.ExprValue
(*ErrorSet)(nil), // 2: cel.expr.ErrorSet
(*Status)(nil), // 3: cel.expr.Status
(*UnknownSet)(nil), // 4: cel.expr.UnknownSet
(*EvalState_Result)(nil), // 5: cel.expr.EvalState.Result
(*Value)(nil), // 6: cel.expr.Value
(*anypb.Any)(nil), // 7: google.protobuf.Any
}
var file_cel_expr_eval_proto_depIdxs = []int32{
1, // 0: cel.expr.EvalState.values:type_name -> cel.expr.ExprValue
5, // 1: cel.expr.EvalState.results:type_name -> cel.expr.EvalState.Result
6, // 2: cel.expr.ExprValue.value:type_name -> cel.expr.Value
2, // 3: cel.expr.ExprValue.error:type_name -> cel.expr.ErrorSet
4, // 4: cel.expr.ExprValue.unknown:type_name -> cel.expr.UnknownSet
3, // 5: cel.expr.ErrorSet.errors:type_name -> cel.expr.Status
7, // 6: cel.expr.Status.details:type_name -> google.protobuf.Any
7, // [7:7] is the sub-list for method output_type
7, // [7:7] is the sub-list for method input_type
7, // [7:7] is the sub-list for extension type_name
7, // [7:7] is the sub-list for extension extendee
0, // [0:7] is the sub-list for field type_name
}
func init() { file_cel_expr_eval_proto_init() }
func file_cel_expr_eval_proto_init() {
if File_cel_expr_eval_proto != nil {
return
}
file_cel_expr_value_proto_init()
file_cel_expr_eval_proto_msgTypes[1].OneofWrappers = []any{
(*ExprValue_Value)(nil),
(*ExprValue_Error)(nil),
(*ExprValue_Unknown)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cel_expr_eval_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cel_expr_eval_proto_goTypes,
DependencyIndexes: file_cel_expr_eval_proto_depIdxs,
MessageInfos: file_cel_expr_eval_proto_msgTypes,
}.Build()
File_cel_expr_eval_proto = out.File
file_cel_expr_eval_proto_rawDesc = nil
file_cel_expr_eval_proto_goTypes = nil
file_cel_expr_eval_proto_depIdxs = nil
}
cel-spec-0.24.0/explain.pb.go 0000775 0000000 0000000 00000017160 15006676303 0015675 0 ustar 00root root 0000000 0000000 // Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v3.21.5
// source: cel/expr/explain.proto
package expr
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// Deprecated: Do not use.
type Explain struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
ExprSteps []*Explain_ExprStep `protobuf:"bytes,2,rep,name=expr_steps,json=exprSteps,proto3" json:"expr_steps,omitempty"`
}
func (x *Explain) Reset() {
*x = Explain{}
if protoimpl.UnsafeEnabled {
mi := &file_cel_expr_explain_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Explain) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Explain) ProtoMessage() {}
func (x *Explain) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_explain_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Explain.ProtoReflect.Descriptor instead.
func (*Explain) Descriptor() ([]byte, []int) {
return file_cel_expr_explain_proto_rawDescGZIP(), []int{0}
}
func (x *Explain) GetValues() []*Value {
if x != nil {
return x.Values
}
return nil
}
func (x *Explain) GetExprSteps() []*Explain_ExprStep {
if x != nil {
return x.ExprSteps
}
return nil
}
type Explain_ExprStep struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
ValueIndex int32 `protobuf:"varint,2,opt,name=value_index,json=valueIndex,proto3" json:"value_index,omitempty"`
}
func (x *Explain_ExprStep) Reset() {
*x = Explain_ExprStep{}
if protoimpl.UnsafeEnabled {
mi := &file_cel_expr_explain_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Explain_ExprStep) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Explain_ExprStep) ProtoMessage() {}
func (x *Explain_ExprStep) ProtoReflect() protoreflect.Message {
mi := &file_cel_expr_explain_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Explain_ExprStep.ProtoReflect.Descriptor instead.
func (*Explain_ExprStep) Descriptor() ([]byte, []int) {
return file_cel_expr_explain_proto_rawDescGZIP(), []int{0, 0}
}
func (x *Explain_ExprStep) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *Explain_ExprStep) GetValueIndex() int32 {
if x != nil {
return x.ValueIndex
}
return 0
}
var File_cel_expr_explain_proto protoreflect.FileDescriptor
var file_cel_expr_explain_proto_rawDesc = []byte{
0x0a, 0x16, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61,
0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78,
0x70, 0x72, 0x1a, 0x14, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x01, 0x0a, 0x07, 0x45, 0x78, 0x70,
0x6c, 0x61, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x39, 0x0a,
0x0a, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70,
0x6c, 0x61, 0x69, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x53, 0x74, 0x65, 0x70, 0x52, 0x09, 0x65,
0x78, 0x70, 0x72, 0x53, 0x74, 0x65, 0x70, 0x73, 0x1a, 0x3b, 0x0a, 0x08, 0x45, 0x78, 0x70, 0x72,
0x53, 0x74, 0x65, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e,
0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x49, 0x6e, 0x64, 0x65, 0x78, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x2f, 0x0a, 0x0c, 0x64, 0x65, 0x76,
0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x42, 0x0c, 0x45, 0x78, 0x70, 0x6c, 0x61,
0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x0c, 0x63, 0x65, 0x6c, 0x2e, 0x64,
0x65, 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
}
var (
file_cel_expr_explain_proto_rawDescOnce sync.Once
file_cel_expr_explain_proto_rawDescData = file_cel_expr_explain_proto_rawDesc
)
func file_cel_expr_explain_proto_rawDescGZIP() []byte {
file_cel_expr_explain_proto_rawDescOnce.Do(func() {
file_cel_expr_explain_proto_rawDescData = protoimpl.X.CompressGZIP(file_cel_expr_explain_proto_rawDescData)
})
return file_cel_expr_explain_proto_rawDescData
}
var file_cel_expr_explain_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_cel_expr_explain_proto_goTypes = []interface{}{
(*Explain)(nil), // 0: cel.expr.Explain
(*Explain_ExprStep)(nil), // 1: cel.expr.Explain.ExprStep
(*Value)(nil), // 2: cel.expr.Value
}
var file_cel_expr_explain_proto_depIdxs = []int32{
2, // 0: cel.expr.Explain.values:type_name -> cel.expr.Value
1, // 1: cel.expr.Explain.expr_steps:type_name -> cel.expr.Explain.ExprStep
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_cel_expr_explain_proto_init() }
func file_cel_expr_explain_proto_init() {
if File_cel_expr_explain_proto != nil {
return
}
file_cel_expr_value_proto_init()
if !protoimpl.UnsafeEnabled {
file_cel_expr_explain_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Explain); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cel_expr_explain_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Explain_ExprStep); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cel_expr_explain_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cel_expr_explain_proto_goTypes,
DependencyIndexes: file_cel_expr_explain_proto_depIdxs,
MessageInfos: file_cel_expr_explain_proto_msgTypes,
}.Build()
File_cel_expr_explain_proto = out.File
file_cel_expr_explain_proto_rawDesc = nil
file_cel_expr_explain_proto_goTypes = nil
file_cel_expr_explain_proto_depIdxs = nil
}
cel-spec-0.24.0/go.mod 0000664 0000000 0000000 00000000347 15006676303 0014410 0 ustar 00root root 0000000 0000000 module cel.dev/expr
go 1.22.0
toolchain go1.23.0
require (
google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7
google.golang.org/protobuf v1.34.2
)
require github.com/google/go-cmp v0.6.0 // indirect
cel-spec-0.24.0/go.sum 0000664 0000000 0000000 00000001125 15006676303 0014430 0 ustar 00root root 0000000 0000000 github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7 h1:2035KHhUv+EpyB+hWgJnaWKJOdX1E95w2S8Rr4uWKTs=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
cel-spec-0.24.0/proto/ 0000775 0000000 0000000 00000000000 15006676303 0014441 5 ustar 00root root 0000000 0000000 cel-spec-0.24.0/proto/buf.yaml 0000664 0000000 0000000 00000000422 15006676303 0016077 0 ustar 00root root 0000000 0000000 version: v1
deps:
- buf.build/googleapis/googleapis
build:
excludes: [test, dev]
lint:
ignore:
- cel/expr/conformance/proto2/test_all_types.proto
- cel/expr/conformance/proto3/test_all_types.proto
except:
- PACKAGE_VERSION_SUFFIX
- ENUM_VALUE_PREFIX
cel-spec-0.24.0/proto/cel/ 0000775 0000000 0000000 00000000000 15006676303 0015204 5 ustar 00root root 0000000 0000000 cel-spec-0.24.0/proto/cel/expr/ 0000775 0000000 0000000 00000000000 15006676303 0016162 5 ustar 00root root 0000000 0000000 cel-spec-0.24.0/proto/cel/expr/BUILD.bazel 0000664 0000000 0000000 00000015317 15006676303 0020047 0 ustar 00root root 0000000 0000000 package(default_visibility = ["//visibility:public"])
##############################################################################
# Common
##############################################################################
load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
proto_library(
name = "expr_proto",
srcs = [
"checked.proto",
"eval.proto",
"explain.proto",
"syntax.proto",
"value.proto",
],
strip_import_prefix = "/proto",
deps = [
"@com_google_googleapis//google/rpc:status_proto",
"@com_google_protobuf//:any_proto",
"@com_google_protobuf//:duration_proto",
"@com_google_protobuf//:empty_proto",
"@com_google_protobuf//:struct_proto",
"@com_google_protobuf//:timestamp_proto",
],
)
proto_library(
name = "syntax_proto",
srcs = [
"syntax.proto",
],
strip_import_prefix = "/proto",
deps = [
"@com_google_protobuf//:duration_proto",
"@com_google_protobuf//:struct_proto",
"@com_google_protobuf//:timestamp_proto",
],
)
proto_library(
name = "checked_proto",
srcs = [
"checked.proto",
],
strip_import_prefix = "/proto",
deps = [
":syntax_proto",
"@com_google_protobuf//:empty_proto",
"@com_google_protobuf//:struct_proto",
],
)
proto_library(
name = "value_proto",
srcs = [
"value.proto",
],
strip_import_prefix = "/proto",
deps = [
"@com_google_protobuf//:any_proto",
"@com_google_protobuf//:struct_proto",
],
)
proto_library(
name = "eval_proto",
srcs = [
"eval.proto",
],
strip_import_prefix = "/proto",
deps = [
":value_proto",
"@com_google_protobuf//:any_proto",
],
)
proto_library(
name = "explain_proto",
srcs = [
"explain.proto",
],
deprecation = "Use EvalState instead.",
strip_import_prefix = "/proto",
deps = [
":value_proto",
],
)
##############################################################################
# Java
##############################################################################
load("@com_google_protobuf//bazel:java_proto_library.bzl", "java_proto_library")
load("@com_google_protobuf//bazel:java_lite_proto_library.bzl", "java_lite_proto_library")
java_proto_library(
name = "expr_java_proto",
deps = [":expr_proto"],
)
java_lite_proto_library(
name = "expr_java_proto_lite",
deps = [":expr_proto"],
)
java_proto_library(
name = "syntax_java_proto",
deps = [":syntax_proto"],
)
java_lite_proto_library(
name = "syntax_java_proto_lite",
deps = [":syntax_proto"],
)
java_proto_library(
name = "checked_java_proto",
deps = [":checked_proto"],
)
java_lite_proto_library(
name = "checked_java_proto_lite",
deps = [":checked_proto"],
)
java_proto_library(
name = "value_java_proto",
deps = [":value_proto"],
)
java_lite_proto_library(
name = "value_java_proto_lite",
deps = [":value_proto"],
)
java_proto_library(
name = "eval_java_proto",
deps = [":eval_proto"],
)
java_lite_proto_library(
name = "eval_java_proto_lite",
deps = [":eval_proto"],
)
java_proto_library(
name = "explain_java_proto",
deprecation = "Use EvalState instead.",
deps = [":explain_proto"],
)
###############################################################################
## Go
###############################################################################
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
go_proto_library(
name = "expr_go_proto",
importpath = "cel.dev/expr",
protos = [":expr_proto"],
deps = [
"@org_golang_google_genproto_googleapis_rpc//status:go_default_library",
],
)
go_proto_library(
name = "syntax_go_proto",
importpath = "cel.dev/expr",
protos = [":syntax_proto"],
)
go_proto_library(
name = "checked_go_proto",
embed = [":syntax_go_proto"],
importpath = "cel.dev/expr",
protos = [":checked_proto"],
)
go_proto_library(
name = "value_go_proto",
importpath = "cel.dev/expr",
protos = [":value_proto"],
)
go_proto_library(
name = "eval_go_proto",
embed = [":value_go_proto"],
importpath = "cel.dev/expr",
protos = [":eval_proto"],
deps = [
"@org_golang_google_genproto_googleapis_rpc//status:go_default_library",
],
)
go_proto_library(
name = "explain_go_proto",
deprecation = "Use EvalState instead.",
embed = [":value_go_proto"],
importpath = "cel.dev/expr",
protos = [":explain_proto"],
)
###############################################################################
## C++
###############################################################################
# Note: cc_proto_library cannot generate a target for expr_proto due to the subtargets
# defined below
load("@com_google_protobuf//bazel:cc_proto_library.bzl", "cc_proto_library")
cc_proto_library(
name = "syntax_cc_proto",
deps = [":syntax_proto"],
)
cc_proto_library(
name = "checked_cc_proto",
deps = [":checked_proto"],
)
cc_proto_library(
name = "value_cc_proto",
deps = [":value_proto"],
)
cc_proto_library(
name = "eval_cc_proto",
deps = [":eval_proto"],
)
cc_proto_library(
name = "explain_cc_proto",
deprecation = "Use EvalState instead.",
deps = [":explain_proto"],
)
###############################################################################
## upb
###############################################################################
load("@com_google_protobuf//bazel:upb_c_proto_library.bzl", "upb_c_proto_library")
upb_c_proto_library(
name = "syntax_upb_proto",
deps = [":syntax_proto"],
)
upb_c_proto_library(
name = "checked_upb_proto",
deps = [":checked_proto"],
)
upb_c_proto_library(
name = "value_upb_proto",
deps = [":value_proto"],
)
upb_c_proto_library(
name = "eval_upb_proto",
deps = [":eval_proto"],
)
upb_c_proto_library(
name = "explain_upb_proto",
deprecation = "Use EvalState instead.",
deps = [":explain_proto"],
)
###############################################################################
## Python
###############################################################################
load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
py_proto_library(
name = "syntax_py_pb2",
deps = [":syntax_proto"],
)
py_proto_library(
name = "checked_py_pb2",
deps = [":checked_proto"],
)
py_proto_library(
name = "value_py_pb2",
deps = [":value_proto"],
)
py_proto_library(
name = "eval_py_pb2",
deps = [":eval_proto"],
)
py_proto_library(
name = "explain_py_pb2",
deprecation = "Use EvalState instead.",
deps = [":explain_proto"],
)
cel-spec-0.24.0/proto/cel/expr/checked.proto 0000664 0000000 0000000 00000033051 15006676303 0020637 0 ustar 00root root 0000000 0000000 // Copyright 2023 Google LLC
//
// 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.
syntax = "proto3";
package cel.expr;
import "cel/expr/syntax.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/struct.proto";
option cc_enable_arenas = true;
option go_package = "cel.dev/expr";
option java_multiple_files = true;
option java_outer_classname = "DeclProto";
option java_package = "dev.cel.expr";
// Protos for representing CEL declarations and typed checked expressions.
// A CEL expression which has been successfully type checked.
message CheckedExpr {
// A map from expression ids to resolved references.
//
// The following entries are in this table:
//
// - An Ident or Select expression is represented here if it resolves to a
// declaration. For instance, if `a.b.c` is represented by
// `select(select(id(a), b), c)`, and `a.b` resolves to a declaration,
// while `c` is a field selection, then the reference is attached to the
// nested select expression (but not to the id or or the outer select).
// In turn, if `a` resolves to a declaration and `b.c` are field selections,
// the reference is attached to the ident expression.
// - Every Call expression has an entry here, identifying the function being
// called.
// - Every CreateStruct expression for a message has an entry, identifying
// the message.
map reference_map = 2;
// A map from expression ids to types.
//
// Every expression node which has a type different than DYN has a mapping
// here. If an expression has type DYN, it is omitted from this map to save
// space.
map type_map = 3;
// The source info derived from input that generated the parsed `expr` and
// any optimizations made during the type-checking pass.
SourceInfo source_info = 5;
// The expr version indicates the major / minor version number of the `expr`
// representation.
//
// The most common reason for a version change will be to indicate to the CEL
// runtimes that transformations have been performed on the expr during static
// analysis. In some cases, this will save the runtime the work of applying
// the same or similar transformations prior to evaluation.
string expr_version = 6;
// The checked expression. Semantically equivalent to the parsed `expr`, but
// may have structural differences.
Expr expr = 4;
}
// Represents a CEL type.
message Type {
// List type with typed elements, e.g. `list`.
message ListType {
// The element type.
Type elem_type = 1;
}
// Map type with parameterized key and value types, e.g. `map`.
message MapType {
// The type of the key.
Type key_type = 1;
// The type of the value.
Type value_type = 2;
}
// Function type with result and arg types.
message FunctionType {
// Result type of the function.
Type result_type = 1;
// Argument types of the function.
repeated Type arg_types = 2;
}
// Application defined abstract type.
message AbstractType {
// The fully qualified name of this abstract type.
string name = 1;
// Parameter types for this abstract type.
repeated Type parameter_types = 2;
}
// CEL primitive types.
enum PrimitiveType {
// Unspecified type.
PRIMITIVE_TYPE_UNSPECIFIED = 0;
// Boolean type.
BOOL = 1;
// Int64 type.
//
// 32-bit integer values are widened to int64.
INT64 = 2;
// Uint64 type.
//
// 32-bit unsigned integer values are widened to uint64.
UINT64 = 3;
// Double type.
//
// 32-bit float values are widened to double values.
DOUBLE = 4;
// String type.
STRING = 5;
// Bytes type.
BYTES = 6;
}
// Well-known protobuf types treated with first-class support in CEL.
enum WellKnownType {
// Unspecified type.
WELL_KNOWN_TYPE_UNSPECIFIED = 0;
// Well-known protobuf.Any type.
//
// Any types are a polymorphic message type. During type-checking they are
// treated like `DYN` types, but at runtime they are resolved to a specific
// message type specified at evaluation time.
ANY = 1;
// Well-known protobuf.Timestamp type, internally referenced as `timestamp`.
TIMESTAMP = 2;
// Well-known protobuf.Duration type, internally referenced as `duration`.
DURATION = 3;
}
// The kind of type.
oneof type_kind {
// Dynamic type.
google.protobuf.Empty dyn = 1;
// Null value.
google.protobuf.NullValue null = 2;
// Primitive types: `true`, `1u`, `-2.0`, `'string'`, `b'bytes'`.
PrimitiveType primitive = 3;
// Wrapper of a primitive type, e.g. `google.protobuf.Int64Value`.
PrimitiveType wrapper = 4;
// Well-known protobuf type such as `google.protobuf.Timestamp`.
WellKnownType well_known = 5;
// Parameterized list with elements of `list_type`, e.g. `list`.
ListType list_type = 6;
// Parameterized map with typed keys and values.
MapType map_type = 7;
// Function type.
FunctionType function = 8;
// Protocol buffer message type.
//
// The `message_type` string specifies the qualified message type name. For
// example, `google.type.PhoneNumber`.
string message_type = 9;
// Type param type.
//
// The `type_param` string specifies the type parameter name, e.g. `list`
// would be a `list_type` whose element type was a `type_param` type
// named `E`.
string type_param = 10;
// Type type.
//
// The `type` value specifies the target type. e.g. int is type with a
// target type of `Primitive.INT64`.
Type type = 11;
// Error type.
//
// During type-checking if an expression is an error, its type is propagated
// as the `ERROR` type. This permits the type-checker to discover other
// errors present in the expression.
google.protobuf.Empty error = 12;
// Abstract, application defined type.
//
// An abstract type has no accessible field names, and it can only be
// inspected via helper / member functions.
AbstractType abstract_type = 14;
}
}
// Represents a declaration of a named value or function.
//
// A declaration is part of the contract between the expression, the agent
// evaluating that expression, and the caller requesting evaluation.
message Decl {
// Identifier declaration which specifies its type and optional `Expr` value.
//
// An identifier without a value is a declaration that must be provided at
// evaluation time. An identifier with a value should resolve to a constant,
// but may be used in conjunction with other identifiers bound at evaluation
// time.
message IdentDecl {
// Required. The type of the identifier.
Type type = 1;
// The constant value of the identifier. If not specified, the identifier
// must be supplied at evaluation time.
Constant value = 2;
// Documentation string for the identifier.
//
// Provide a brief description of what the variable represents and whether
// there are any constraints on the formatting or supported value range.
//
// Examples:
//
// 'request.auth.principal' - string which uniquely identifies an
// authenticated principal. For JSON Web Tokens (JWTs), the principal
// is the combination of the issuer ('iss') and subject ('sub') token
// fields concatenated by a forward slash: iss + `/` + sub.
//
// 'min_cpus' - integer value indicates the minimum number of CPUs
// required for a compute cluster. The 'min_cpus' value must be
// greater than zero and less than 'max_cpus' or 64 whichever is less.
string doc = 3;
}
// Function declaration specifies one or more overloads which indicate the
// function's parameter types and return type.
//
// Functions have no observable side-effects (there may be side-effects like
// logging which are not observable from CEL).
message FunctionDecl {
// An overload indicates a function's parameter types and return type, and
// may optionally include a function body described in terms of
// [Expr][cel.expr.Expr] values.
//
// Functions overloads are declared in either a function or method
// call-style. For methods, the `params[0]` is the expected type of the
// target receiver.
//
// Overloads must have non-overlapping argument types after erasure of all
// parameterized type variables (similar as type erasure in Java).
message Overload {
// Required. Globally unique overload name of the function which reflects
// the function name and argument types.
//
// This will be used by a [Reference][cel.expr.Reference] to
// indicate the `overload_id` that was resolved for the function `name`.
string overload_id = 1;
// List of function parameter [Type][cel.expr.Type] values.
//
// Param types are disjoint after generic type parameters have been
// replaced with the type `DYN`. Since the `DYN` type is compatible with
// any other type, this means that if `A` is a type parameter, the
// function types `int` and `int` are not disjoint. Likewise,
// `map` is not disjoint from `map`.
//
// When the `result_type` of a function is a generic type param, the
// type param name also appears as the `type` of on at least one params.
repeated Type params = 2;
// The type param names associated with the function declaration.
//
// For example, `function ex(K key, map map) : V` would yield
// the type params of `K, V`.
repeated string type_params = 3;
// Required. The result type of the function. For example, the operator
// `string.isEmpty()` would have `result_type` of `kind: BOOL`.
Type result_type = 4;
// Whether the function is to be used in a method call-style `x.f(...)`
// of a function call-style `f(x, ...)`.
//
// For methods, the first parameter declaration, `params[0]` is the
// expected type of the target receiver.
bool is_instance_function = 5;
// Documentation string for the overload.
//
// Provide examples of the overload behavior, preferring to use literal
// values as input with a comment on the return value.
//
// Examples:
//
// // Determine whether a value of type exists within a list.
// 2 in [1, 2, 3] // returns true
//
// // Determine whether a key of type exists within a map.
// 'hello' in {'hi': 'you', 'hello': 'there'} // returns true
// 'help' in {'hi': 'you', 'hello': 'there'} // returns false
//
// // Take the substring of a string starting at a specific character
// // offset (inclusive).
// "tacocat".substring(1) // returns "acocat"
// "tacocat".substring(20) // error
//
// // Take the substring of a string starting at a specific character
// // offset (inclusive) and ending at the given offset (exclusive).
// "tacocat".substring(1, 6) // returns "acoca"
string doc = 6;
}
// Required. List of function overloads, must contain at least one overload.
repeated Overload overloads = 1;
// Documentation string for the function that indicates the general purpose
// of the function and its behavior.
//
// Documentation strings for the function should be general purpose with
// specific examples provided in the overload doc string.
//
// Examples:
//
// The 'in' operator tests whether an item exists in a collection.
//
// The 'substring' function returns a substring of a target string.
string doc = 2;
}
// The fully qualified name of the declaration.
//
// Declarations are organized in containers and this represents the full path
// to the declaration in its container, as in `cel.expr.Decl`.
//
// Declarations used as
// [FunctionDecl.Overload][cel.expr.Decl.FunctionDecl.Overload]
// parameters may or may not have a name depending on whether the overload is
// function declaration or a function definition containing a result
// [Expr][cel.expr.Expr].
string name = 1;
// Required. The declaration kind.
oneof decl_kind {
// Identifier declaration.
IdentDecl ident = 2;
// Function declaration.
FunctionDecl function = 3;
}
}
// Describes a resolved reference to a declaration.
message Reference {
// The fully qualified name of the declaration.
string name = 1;
// For references to functions, this is a list of `Overload.overload_id`
// values which match according to typing rules.
//
// If the list has more than one element, overload resolution among the
// presented candidates must happen at runtime because of dynamic types. The
// type checker attempts to narrow down this list as much as possible.
//
// Empty if this is not a reference to a
// [Decl.FunctionDecl][cel.expr.Decl.FunctionDecl].
repeated string overload_id = 3;
// For references to constants, this may contain the value of the
// constant if known at compile time.
Constant value = 4;
}
cel-spec-0.24.0/proto/cel/expr/conformance/ 0000775 0000000 0000000 00000000000 15006676303 0020454 5 ustar 00root root 0000000 0000000 cel-spec-0.24.0/proto/cel/expr/conformance/BUILD.bazel 0000664 0000000 0000000 00000004101 15006676303 0022326 0 ustar 00root root 0000000 0000000 package(default_visibility = ["//visibility:public"])
##############################################################################
# Common
##############################################################################
proto_library(
name = "conformance_service_proto",
srcs = ["conformance_service.proto"],
strip_import_prefix = "/proto",
deps = [
"//proto/cel/expr:checked_proto",
"//proto/cel/expr:eval_proto",
"//proto/cel/expr:syntax_proto",
"@com_google_googleapis//google/rpc:status_proto",
],
)
proto_library(
name = "env_config_proto",
srcs = ["env_config.proto"],
strip_import_prefix = "/proto",
deps = [
"//proto/cel/expr:checked_proto",
"@com_google_protobuf//:descriptor_proto",
"@com_google_protobuf//:struct_proto",
],
)
##############################################################################
# Java
##############################################################################
java_proto_library(
name = "conformance_service_java_proto",
deps = [":conformance_service_proto"],
)
###############################################################################
## Go
###############################################################################
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
go_proto_library(
name = "conformance_service_go_proto",
importpath = "cel.dev/expr/conformance",
protos = [":conformance_service_proto"],
deps = [
"//proto/cel/expr:expr_go_proto",
"@org_golang_google_genproto_googleapis_rpc//status:go_default_library",
],
)
go_proto_library(
name = "env_config_go_proto",
importpath = "cel.dev/expr/conformance",
protos = [":env_config_proto"],
deps = [
"//proto/cel/expr:expr_go_proto",
]
)
###############################################################################
## C++
###############################################################################
cc_proto_library(
name = "conformance_service_cc_proto",
deps = [":conformance_service_proto"],
)
cel-spec-0.24.0/proto/cel/expr/conformance/conformance_service.proto 0000664 0000000 0000000 00000013542 15006676303 0025560 0 ustar 00root root 0000000 0000000 // Copyright 2022 Google LLC
//
// 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.
syntax = "proto3";
package cel.expr.conformance;
import "cel/expr/checked.proto";
import "cel/expr/eval.proto";
import "cel/expr/syntax.proto";
import "google/rpc/status.proto";
option cc_enable_arenas = true;
option go_package = "cel.dev/expr/conformance";
option java_multiple_files = true;
option java_outer_classname = "ConformanceServiceProto";
option java_package = "dev.cel.expr.conformance";
// Access a CEL implementation from another process or machine.
// A CEL implementation is decomposed as a parser, a static checker,
// and an evaluator. Every CEL implementation is expected to provide
// a server for this API. The API will be used for conformance testing
// and other utilities.
service ConformanceService {
// Transforms CEL source text into a parsed representation.
rpc Parse(ParseRequest) returns (ParseResponse) {
}
// Runs static checks on a parsed CEL representation and return
// an annotated representation, or a set of issues.
rpc Check(CheckRequest) returns (CheckResponse) {
}
// Evaluates a parsed or annotation CEL representation given
// values of external bindings.
rpc Eval(EvalRequest) returns (EvalResponse) {
}
}
// Request message for the Parse method.
message ParseRequest {
// Required. Source text in CEL syntax.
string cel_source = 1;
// Tag for version of CEL syntax, for future use.
string syntax_version = 2;
// File or resource for source text, used in [SourceInfo][google.api.SourceInfo].
string source_location = 3;
// Prevent macro expansion. See "Macros" in Language Defiinition.
bool disable_macros = 4;
}
// Response message for the Parse method.
message ParseResponse {
// The parsed representation, or unset if parsing failed.
cel.expr.ParsedExpr parsed_expr = 1;
// Any number of issues with [StatusDetails][] as the details.
repeated google.rpc.Status issues = 2;
}
// Request message for the Check method.
message CheckRequest {
// Required. The parsed representation of the CEL program.
cel.expr.ParsedExpr parsed_expr = 1;
// Declarations of types for external variables and functions.
// Required if program uses external variables or functions
// not in the default environment.
repeated cel.expr.Decl type_env = 2;
// The protocol buffer context. See "Name Resolution" in the
// Language Definition.
string container = 3;
// If true, use only the declarations in [type_env][google.api.expr.conformance.v1alpha1.CheckRequest.type_env]. If false (default),
// add declarations for the standard definitions to the type environment. See
// "Standard Definitions" in the Language Definition.
bool no_std_env = 4;
}
// Response message for the Check method.
message CheckResponse {
// The annotated representation, or unset if checking failed.
cel.expr.CheckedExpr checked_expr = 1;
// Any number of issues with [StatusDetails][] as the details.
repeated google.rpc.Status issues = 2;
}
// Request message for the Eval method.
message EvalRequest {
// Required. Either the parsed or annotated representation of the CEL program.
oneof expr_kind {
// Evaluate based on the parsed representation.
cel.expr.ParsedExpr parsed_expr = 1;
// Evaluate based on the checked representation.
cel.expr.CheckedExpr checked_expr = 2;
}
// Bindings for the external variables. The types SHOULD be compatible
// with the type environment in [CheckRequest][google.api.expr.conformance.v1alpha1.CheckRequest], if checked.
map bindings = 3;
// SHOULD be the same container as used in [CheckRequest][google.api.expr.conformance.v1alpha1.CheckRequest], if checked.
string container = 4;
}
// Response message for the Eval method.
message EvalResponse {
// The execution result, or unset if execution couldn't start.
cel.expr.ExprValue result = 1;
// Any number of issues with [StatusDetails][] as the details.
// Note that CEL execution errors are reified into [ExprValue][].
// Nevertheless, we'll allow out-of-band issues to be raised,
// which also makes the replies more regular.
repeated google.rpc.Status issues = 2;
}
// A specific position in source.
message SourcePosition {
// The source location name (e.g. file name).
string location = 1;
// The UTF-8 code unit offset.
int32 offset = 2;
// The 1-based index of the starting line in the source text
// where the issue occurs, or 0 if unknown.
int32 line = 3;
// The 0-based index of the starting position within the line of source text
// where the issue occurs. Only meaningful if line is nonzero.
int32 column = 4;
}
// Warnings or errors in service execution are represented by
// [google.rpc.Status][google.rpc.Status] messages, with the following message
// in the details field.
message IssueDetails {
// Severities of issues.
enum Severity {
// An unspecified severity.
SEVERITY_UNSPECIFIED = 0;
// Deprecation issue for statements and method that may no longer be
// supported or maintained.
DEPRECATION = 1;
// Warnings such as: unused variables.
WARNING = 2;
// Errors such as: unmatched curly braces or variable redefinition.
ERROR = 3;
}
// The severity of the issue.
Severity severity = 1;
// Position in the source, if known.
SourcePosition position = 2;
// Expression ID from [Expr][], 0 if unknown.
int64 id = 3;
}
cel-spec-0.24.0/proto/cel/expr/conformance/env_config.proto 0000664 0000000 0000000 00000014736 15006676303 0023671 0 ustar 00root root 0000000 0000000 // Copyright 2025 Google LLC
//
// 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.
syntax = "proto3";
package cel.expr.conformance;
import "cel/expr/checked.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/descriptor.proto";
option cc_enable_arenas = true;
option go_package = "cel.dev/expr/conformance";
option java_multiple_files = true;
option java_outer_classname = "EnvironmentProto";
option java_package = "cel.dev.expr.conformance";
// Representation of a CEL Environment, defining what features and extensions
// are available for conformance testing.
message Environment {
// Name of the environment
string name = 1;
// Description for the current environment
string description = 2;
// Sets the namespace (container) for the expression.
// This is used to simplify resolution.
// For example with container
// `google.rpc.context`
// an identifier of `google.rpc.context.AttributeContext` could be referred
// to simply as `AttributeContext` in the CEL expression.
string container = 3;
// Import represents a type name that will be abbreviated by its simple name
// making it easier to reference simple type names from packages other than
// the expression container.
// For ex:
// Import{name: 'google.rpc.Status'}
// The above import will ensure that `google.rpc.Status` is available by the
// simple name `Status` within CEL expressions.
message Import {
// Qualified type name which will be abbreviated
string name = 1;
}
// List of abbreviations to be added to the CEL environment
repeated Import imports = 4;
// Set of options to subset a subsettable library
LibrarySubset stdlib = 5;
// List of extensions to enable in the CEL environment.
repeated Extension extensions = 6;
// ContextVariable represents a message type to be made available as a
// context variable to the CEL environment.
message ContextVariable {
// Fully qualified type name of the context proto.
string type_name = 1;
}
// If set, adds a context declaration from a proto message.
//
// Context messages have all of their top-level fields available as variables
// in the type checker.
ContextVariable context_variable = 7;
// List of declarations to be configured in the CEL environment.
//
// Note: The CEL environment can be configured with either the
// context_variable or a set of ident_decls provided as part of declarations.
// Providing both will result in an error.
repeated cel.expr.Decl declarations = 8;
// List of validators for validating the parsed ast.
repeated Validator validators = 9;
// List of feature flags to be enabled or disabled.
repeated Feature features = 10;
// Disables including the declarations from the standard CEL environment.
//
// NOTE: Do not disable the standard CEL declarations unless you are aware of
// the implications and have discussed your use case on cel-discuss@
// or with the members of the cel-governance-team@
//
// Deprecated: Use LibrarySubset to disable standard cel declarations instead:
// stdlib = LibrarySubset{ disable: true }
bool disable_standard_cel_declarations = 11;
// If provided, uses the provided FileDescriptorSet to extend types available
// the CEL expression. All "well-known" protobuf messages (google.protobuf.*)
// are known to the CEL compiler, but all others must be provided for type
// checking.
google.protobuf.FileDescriptorSet message_type_extension = 12;
// When macro call tracking is enabled, the resulting SourceInfo in the
// CheckedExpr will contain a collection of expressions representing the
// function calls which were replaced by macros.
//
// Deprecated: Use Feature to enable macro call tracking
// Feature{ name: "cel.feature.macro_call_tracking", enabled: true }
bool enable_macro_call_tracking = 13;
}
// Represents a named validator with an optional map-based configuration object.
// Naming convention followed by validators:
// .validator.
// For ex:
// `cel.validator.timestamp`
//
// Note: the map-keys must directly correspond to the internal representation of
// the original validator, and should only use primitive scalar types as values
// at this time.
message Validator {
string name = 1;
// Additional configurations to be included as part of the validation
map config = 2;
}
// Represents a named boolean feature flag supported by CEL.
// Naming convention followed by features:
// .feature.
// For ex:
// `cel.feature.cross_type_numeric_comparisons`
message Feature {
// Name of the feature flag.
string name = 1;
// State of the feature flab.
bool enabled = 2;
}
// Extension represents a versioned extension library reference to enable in the
// CEL environment.
message Extension {
// Name of the extension library.
string name = 1;
// Version of the extension library.
string version = 2;
}
// LibrarySubset indicates a subset of the macros and functions supported by a
// subsettable library.
message LibrarySubset {
// Indicates whether the library has been disabled, typically only
// used for default-enabled libraries like stdlib.
bool disabled = 1;
// Disables macros for the given library.
bool disable_macros = 2;
// Specifies a set of macro function names to include in the subset.
repeated string include_macros = 3;
// Specifies a set of macro function names to exclude from the subset.
// Note: if IncludeMacros is non-empty, then ExcludeFunctions is ignored.
repeated string exclude_macros = 4;
// Specifies a set of functions to include in the subset.
//
// Note: the overloads specified in the subset need only specify their ID.
// Note: if IncludeFunctions is non-empty, then ExcludeFunctions is ignored.
repeated cel.expr.Decl include_functions = 5;
// Specifies the set of functions to exclude from the subset.
//
// Note: the overloads specified in the subset need only specify their ID.
repeated cel.expr.Decl exclude_functions = 6;
}
cel-spec-0.24.0/proto/cel/expr/conformance/proto2/ 0000775 0000000 0000000 00000000000 15006676303 0021701 5 ustar 00root root 0000000 0000000 cel-spec-0.24.0/proto/cel/expr/conformance/proto2/BUILD.bazel 0000664 0000000 0000000 00000005447 15006676303 0023571 0 ustar 00root root 0000000 0000000 package(default_visibility = ["//visibility:public"])
##############################################################################
# Common
##############################################################################
load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
proto_library(
name = "test_all_types_proto",
srcs = [
"test_all_types.proto",
"test_all_types_extensions.proto",
],
strip_import_prefix = "/proto",
deps = [
"@com_google_protobuf//:any_proto",
"@com_google_protobuf//:duration_proto",
"@com_google_protobuf//:empty_proto",
"@com_google_protobuf//:field_mask_proto",
"@com_google_protobuf//:struct_proto",
"@com_google_protobuf//:timestamp_proto",
"@com_google_protobuf//:wrappers_proto",
],
)
##############################################################################
# Java
##############################################################################
load("@com_google_protobuf//bazel:java_proto_library.bzl", "java_proto_library")
java_proto_library(
name = "test_all_types_java_proto",
deps = [":test_all_types_proto"],
)
##############################################################################
# Javalite
##############################################################################
load("@com_google_protobuf//bazel:java_lite_proto_library.bzl", "java_lite_proto_library")
java_lite_proto_library(
name = "test_all_types_java_proto_lite",
deps = [":test_all_types_proto"],
)
###############################################################################
## Go
###############################################################################
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
go_proto_library(
name = "test_all_types_go_proto",
importpath = "cel.dev/expr/conformance/proto2",
protos = [":test_all_types_proto"],
)
###############################################################################
## C++
###############################################################################
load("@com_google_protobuf//bazel:cc_proto_library.bzl", "cc_proto_library")
cc_proto_library(
name = "test_all_types_cc_proto",
deps = [":test_all_types_proto"],
)
###############################################################################
## upb
###############################################################################
load("@com_google_protobuf//bazel:upb_c_proto_library.bzl", "upb_c_proto_library")
load("@com_google_protobuf//bazel:upb_proto_reflection_library.bzl", "upb_proto_reflection_library")
upb_c_proto_library(
name = "test_all_types_upb_proto",
deps = [":test_all_types_proto"],
)
upb_proto_reflection_library(
name = "test_all_types_upb_proto_reflection",
deps = [":test_all_types_proto"],
)
cel-spec-0.24.0/proto/cel/expr/conformance/proto2/test_all_types.proto 0000664 0000000 0000000 00000037370 15006676303 0026033 0 ustar 00root root 0000000 0000000 // Copyright 2024 Google LLC
//
// 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.
syntax = "proto2";
package cel.expr.conformance.proto2;
import "google/protobuf/any.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/field_mask.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
option cc_enable_arenas = true;
option go_package = "cel.dev/expr/conformance/proto2";
option java_multiple_files = true;
option java_outer_classname = "TestAllTypesProto";
option java_package = "dev.cel.expr.conformance.proto2";
// This proto includes every type of field in both singular and repeated
// forms.
message TestAllTypes {
message NestedMessage {
// The field name "b" fails to compile in proto1 because it conflicts with
// a local variable named "b" in one of the generated methods.
// This file needs to compile in proto1 to test backwards-compatibility.
optional int32 bb = 1;
}
enum NestedEnum {
FOO = 0;
BAR = 1;
BAZ = 2;
}
// Singular
optional int32 single_int32 = 1 [default = -32];
optional int64 single_int64 = 2 [default = -64];
optional uint32 single_uint32 = 3 [default = 32];
optional uint64 single_uint64 = 4 [default = 64];
optional sint32 single_sint32 = 5;
optional sint64 single_sint64 = 6;
optional fixed32 single_fixed32 = 7;
optional fixed64 single_fixed64 = 8;
optional sfixed32 single_sfixed32 = 9;
optional sfixed64 single_sfixed64 = 10;
optional float single_float = 11 [default = 3.0];
optional double single_double = 12 [default = 6.4];
optional bool single_bool = 13 [default = true];
optional string single_string = 14 [default = "empty"];
optional bytes single_bytes = 15 [default = "none"];
// Collides with 'in' operator.
optional bool in = 18;
// Wellknown.
optional google.protobuf.Any single_any = 100;
optional google.protobuf.Duration single_duration = 101;
optional google.protobuf.Timestamp single_timestamp = 102;
optional google.protobuf.Struct single_struct = 103;
optional google.protobuf.Value single_value = 104;
optional google.protobuf.Int64Value single_int64_wrapper = 105;
optional google.protobuf.Int32Value single_int32_wrapper = 106;
optional google.protobuf.DoubleValue single_double_wrapper = 107;
optional google.protobuf.FloatValue single_float_wrapper = 108;
optional google.protobuf.UInt64Value single_uint64_wrapper = 109;
optional google.protobuf.UInt32Value single_uint32_wrapper = 110;
optional google.protobuf.StringValue single_string_wrapper = 111;
optional google.protobuf.BoolValue single_bool_wrapper = 112;
optional google.protobuf.BytesValue single_bytes_wrapper = 113;
optional google.protobuf.ListValue list_value = 114;
optional google.protobuf.NullValue null_value = 115;
optional google.protobuf.NullValue optional_null_value = 116;
optional google.protobuf.FieldMask field_mask = 117;
optional google.protobuf.Empty empty = 118;
// Nested messages
oneof nested_type {
NestedMessage single_nested_message = 21;
NestedEnum single_nested_enum = 22 [default = BAR];
}
optional NestedMessage standalone_message = 23;
optional NestedEnum standalone_enum = 24;
// Repeated
repeated int32 repeated_int32 = 31;
repeated int64 repeated_int64 = 32;
repeated uint32 repeated_uint32 = 33;
repeated uint64 repeated_uint64 = 34;
repeated sint32 repeated_sint32 = 35;
repeated sint64 repeated_sint64 = 36;
repeated fixed32 repeated_fixed32 = 37;
repeated fixed64 repeated_fixed64 = 38;
repeated sfixed32 repeated_sfixed32 = 39;
repeated sfixed64 repeated_sfixed64 = 40;
repeated float repeated_float = 41;
repeated double repeated_double = 42;
repeated bool repeated_bool = 43;
repeated string repeated_string = 44;
repeated bytes repeated_bytes = 45;
// Repeated and nested
repeated NestedMessage repeated_nested_message = 51;
repeated NestedEnum repeated_nested_enum = 52;
repeated string repeated_string_piece = 53 [ctype = STRING_PIECE];
repeated string repeated_cord = 54 [ctype = CORD];
repeated NestedMessage repeated_lazy_message = 55;
// Repeated wellknown.
repeated google.protobuf.Any repeated_any = 120;
repeated google.protobuf.Duration repeated_duration = 121;
repeated google.protobuf.Timestamp repeated_timestamp = 122;
repeated google.protobuf.Struct repeated_struct = 123;
repeated google.protobuf.Value repeated_value = 124;
repeated google.protobuf.Int64Value repeated_int64_wrapper = 125;
repeated google.protobuf.Int32Value repeated_int32_wrapper = 126;
repeated google.protobuf.DoubleValue repeated_double_wrapper = 127;
repeated google.protobuf.FloatValue repeated_float_wrapper = 128;
repeated google.protobuf.UInt64Value repeated_uint64_wrapper = 129;
repeated google.protobuf.UInt32Value repeated_uint32_wrapper = 130;
repeated google.protobuf.StringValue repeated_string_wrapper = 131;
repeated google.protobuf.BoolValue repeated_bool_wrapper = 132;
repeated google.protobuf.BytesValue repeated_bytes_wrapper = 133;
repeated google.protobuf.ListValue repeated_list_value = 134;
repeated google.protobuf.NullValue repeated_null_value = 135;
// Map
map map_int64_nested_type = 62;
map map_bool_bool = 63;
map map_bool_string = 64;
map map_bool_bytes = 65;
map map_bool_int32 = 66;
map map_bool_int64 = 67;
map map_bool_uint32 = 68;
map map_bool_uint64 = 69;
map map_bool_float = 70;
map map_bool_double = 71;
map map_bool_enum = 72;
map map_bool_message = 73;
map map_bool_duration = 228;
map map_bool_timestamp = 229;
map map_bool_null_value = 230;
map map_bool_any = 246;
map map_bool_struct = 247;
map map_bool_value = 248;
map map_bool_list_value = 249;
map map_bool_int64_wrapper = 250;
map map_bool_int32_wrapper = 251;
map map_bool_double_wrapper = 252;
map map_bool_float_wrapper = 253;
map map_bool_uint64_wrapper = 254;
map map_bool_uint32_wrapper = 255;
map map_bool_string_wrapper = 256;
map map_bool_bool_wrapper = 257;
map map_bool_bytes_wrapper = 258;
map map_int32_bool = 74;
map map_int32_string = 75;
map map_int32_bytes = 76;
map map_int32_int32 = 77;
map map_int32_int64 = 78;
map map_int32_uint32 = 79;
map map_int32_uint64 = 80;
map map_int32_float = 81;
map map_int32_double = 82;
map map_int32_enum = 83;
map map_int32_message = 84;
map map_int32_duration = 231;
map map_int32_timestamp = 232;
map map_int32_null_value = 233;
map map_int32_any = 259;
map map_int32_struct = 260;
map map_int32_value = 261;
map map_int32_list_value = 262;
map map_int32_int64_wrapper = 263;
map map_int32_int32_wrapper = 264;
map map_int32_double_wrapper = 265;
map map_int32_float_wrapper = 266;
map map_int32_uint64_wrapper = 267;
map map_int32_uint32_wrapper = 268;
map map_int32_string_wrapper = 269;
map map_int32_bool_wrapper = 270;
map map_int32_bytes_wrapper = 271;
map map_int64_bool = 85;
map map_int64_string = 86;
map map_int64_bytes = 87;
map map_int64_int32 = 88;
map map_int64_int64 = 89;
map map_int64_uint32 = 90;
map map_int64_uint64 = 91;
map map_int64_float = 92;
map map_int64_double = 93;
map map_int64_enum = 94;
map map_int64_message = 95;
map map_int64_duration = 234;
map map_int64_timestamp = 235;
map map_int64_null_value = 236;
map map_int64_any = 272;
map map_int64_struct = 273;
map map_int64_value = 274;
map map_int64_list_value = 275;
map map_int64_int64_wrapper = 276;
map map_int64_int32_wrapper = 277;
map map_int64_double_wrapper = 278;
map map_int64_float_wrapper = 279;
map map_int64_uint64_wrapper = 280;
map map_int64_uint32_wrapper = 281;
map map_int64_string_wrapper = 282;
map map_int64_bool_wrapper = 283;
map map_int64_bytes_wrapper = 284;
map map_uint32_bool = 96;
map map_uint32_string = 97;
map map_uint32_bytes = 98;
map map_uint32_int32 = 99;
map map_uint32_int64 = 200;
map map_uint32_uint32 = 201;
map map_uint32_uint64 = 202;
map map_uint32_float = 203;
map map_uint32_double = 204;
map map_uint32_enum = 205;
map map_uint32_message = 206;
map map_uint32_duration = 237;
map map_uint32_timestamp = 238;
map map_uint32_null_value = 239;
map map_uint32_any = 285;
map map_uint32_struct = 286;
map map_uint32_value = 287;
map map_uint32_list_value = 288;
map map_uint32_int64_wrapper = 289;
map map_uint32_int32_wrapper = 290;
map map_uint32_double_wrapper = 291;
map map_uint32_float_wrapper = 292;
map map_uint32_uint64_wrapper = 293;
map map_uint32_uint32_wrapper = 294;
map map_uint32_string_wrapper = 295;
map map_uint32_bool_wrapper = 296;
map map_uint32_bytes_wrapper = 297;
map map_uint64_bool = 207;
map map_uint64_string = 208;
map map_uint64_bytes = 209;
map map_uint64_int32 = 210;
map map_uint64_int64 = 211;
map map_uint64_uint32 = 212;
map map_uint64_uint64 = 213;
map map_uint64_float = 214;
map map_uint64_double = 215;
map map_uint64_enum = 216;
map map_uint64_message = 217;
map map_uint64_duration = 240;
map map_uint64_timestamp = 241;
map map_uint64_null_value = 242;
map map_uint64_any = 298;
map map_uint64_struct = 299;
map map_uint64_value = 300;
map map_uint64_list_value = 301;
map map_uint64_int64_wrapper = 302;
map map_uint64_int32_wrapper = 303;
map map_uint64_double_wrapper = 304;
map map_uint64_float_wrapper = 305;
map map_uint64_uint64_wrapper = 306;
map map_uint64_uint32_wrapper = 307;
map map_uint64_string_wrapper = 308;
map map_uint64_bool_wrapper = 309;
map map_uint64_bytes_wrapper = 310;
map map_string_bool = 218;
map map_string_string = 61;
map map_string_bytes = 219;
map map_string_int32 = 220;
map map_string_int64 = 221;
map map_string_uint32 = 222;
map map_string_uint64 = 223;
map map_string_float = 224;
map map_string_double = 225;
map map_string_enum = 226;
map map_string_message = 227;
map map_string_duration = 243;
map map_string_timestamp = 244;
map map_string_null_value = 245;
map map_string_any = 311;
map map_string_struct = 312;
map map_string_value = 313;
map map_string_list_value = 314;
map map_string_int64_wrapper = 315;
map map_string_int32_wrapper = 316;
map map_string_double_wrapper = 317;
map map_string_float_wrapper = 318;
map map_string_uint64_wrapper = 319;
map map_string_uint32_wrapper = 320;
map map_string_string_wrapper = 321;
map map_string_bool_wrapper = 322;
map map_string_bytes_wrapper = 323;
oneof kind {
NestedTestAllTypes oneof_type = 400;
NestedMessage oneof_msg = 401;
bool oneof_bool = 402;
}
optional group NestedGroup = 403 {
optional int32 single_id = 404;
optional string single_name = 405;
}
extensions 1000 to max;
}
// This proto includes a recursively nested message.
message NestedTestAllTypes {
optional NestedTestAllTypes child = 1;
optional TestAllTypes payload = 2;
}
// This proto has a required field.
message TestRequired {
required int32 required_int32 = 1;
}
// This proto tests that global enums are resolved correctly.
enum GlobalEnum {
GOO = 0;
GAR = 1;
GAZ = 2;
}
cel-spec-0.24.0/proto/cel/expr/conformance/proto2/test_all_types_extensions.proto 0000664 0000000 0000000 00000003041 15006676303 0030276 0 ustar 00root root 0000000 0000000 // Copyright 2024 Google LLC
//
// 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.
syntax = "proto2";
package cel.expr.conformance.proto2;
import "cel/expr/conformance/proto2/test_all_types.proto";
option cc_enable_arenas = true;
option go_package = "cel.dev/expr/conformance/proto2";
option java_outer_classname = "TestAllTypesExtensions";
option java_package = "dev.cel.expr.conformance.proto2";
option java_multiple_files = true;
// Package scoped extensions
extend TestAllTypes {
optional int32 int32_ext = 1000;
optional TestAllTypes nested_ext = 1001;
optional TestAllTypes test_all_types_ext = 1002;
optional TestAllTypes.NestedEnum nested_enum_ext = 1003;
repeated TestAllTypes repeated_test_all_types = 1004;
}
// Message scoped extensions
message Proto2ExtensionScopedMessage {
extend TestAllTypes {
optional int64 int64_ext = 1005;
optional TestAllTypes message_scoped_nested_ext = 1006;
optional TestAllTypes.NestedEnum nested_enum_ext = 1007;
repeated TestAllTypes message_scoped_repeated_test_all_types = 1008;
}
}
cel-spec-0.24.0/proto/cel/expr/conformance/proto3/ 0000775 0000000 0000000 00000000000 15006676303 0021702 5 ustar 00root root 0000000 0000000 cel-spec-0.24.0/proto/cel/expr/conformance/proto3/BUILD.bazel 0000664 0000000 0000000 00000005355 15006676303 0023570 0 ustar 00root root 0000000 0000000 package(default_visibility = ["//visibility:public"])
##############################################################################
# Common
##############################################################################
load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
proto_library(
name = "test_all_types_proto",
srcs = ["test_all_types.proto"],
strip_import_prefix = "/proto",
deps = [
"@com_google_protobuf//:any_proto",
"@com_google_protobuf//:duration_proto",
"@com_google_protobuf//:empty_proto",
"@com_google_protobuf//:field_mask_proto",
"@com_google_protobuf//:struct_proto",
"@com_google_protobuf//:timestamp_proto",
"@com_google_protobuf//:wrappers_proto",
],
)
##############################################################################
# Java
##############################################################################
load("@com_google_protobuf//bazel:java_proto_library.bzl", "java_proto_library")
java_proto_library(
name = "test_all_types_java_proto",
deps = [":test_all_types_proto"],
)
##############################################################################
# Javalite
##############################################################################
load("@com_google_protobuf//bazel:java_lite_proto_library.bzl", "java_lite_proto_library")
java_lite_proto_library(
name = "test_all_types_java_proto_lite",
deps = [":test_all_types_proto"],
)
###############################################################################
## Go
###############################################################################
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
go_proto_library(
name = "test_all_types_go_proto",
importpath = "cel.dev/expr/conformance/proto3",
protos = [":test_all_types_proto"],
)
###############################################################################
## C++
###############################################################################
load("@com_google_protobuf//bazel:cc_proto_library.bzl", "cc_proto_library")
cc_proto_library(
name = "test_all_types_cc_proto",
deps = [":test_all_types_proto"],
)
###############################################################################
## upb
###############################################################################
load("@com_google_protobuf//bazel:upb_c_proto_library.bzl", "upb_c_proto_library")
load("@com_google_protobuf//bazel:upb_proto_reflection_library.bzl", "upb_proto_reflection_library")
upb_c_proto_library(
name = "test_all_types_upb_proto",
deps = [":test_all_types_proto"],
)
upb_proto_reflection_library(
name = "test_all_types_upb_proto_reflection",
deps = [":test_all_types_proto"],
)
cel-spec-0.24.0/proto/cel/expr/conformance/proto3/test_all_types.proto 0000664 0000000 0000000 00000036114 15006676303 0026027 0 ustar 00root root 0000000 0000000 // Copyright 2024 Google LLC
//
// 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.
syntax = "proto3";
package cel.expr.conformance.proto3;
import "google/protobuf/any.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/field_mask.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
option cc_enable_arenas = true;
option go_package = "cel.dev/expr/conformance/proto3";
option java_multiple_files = true;
option java_outer_classname = "TestAllTypesProto";
option java_package = "dev.cel.expr.conformance.proto3";
// This proto includes every type of field in both singular and repeated
// forms.
message TestAllTypes {
message NestedMessage {
// The field name "b" fails to compile in proto1 because it conflicts with
// a local variable named "b" in one of the generated methods.
// This file needs to compile in proto1 to test backwards-compatibility.
int32 bb = 1;
}
enum NestedEnum {
FOO = 0;
BAR = 1;
BAZ = 2;
}
// Singular
int32 single_int32 = 1;
int64 single_int64 = 2;
uint32 single_uint32 = 3;
uint64 single_uint64 = 4;
sint32 single_sint32 = 5;
sint64 single_sint64 = 6;
fixed32 single_fixed32 = 7;
fixed64 single_fixed64 = 8;
sfixed32 single_sfixed32 = 9;
sfixed64 single_sfixed64 = 10;
float single_float = 11;
double single_double = 12;
bool single_bool = 13;
string single_string = 14;
bytes single_bytes = 15;
optional bool optional_bool = 16;
optional string optional_string = 17;
// Collides with 'in' operator.
bool in = 18;
// Wellknown.
google.protobuf.Any single_any = 100;
google.protobuf.Duration single_duration = 101;
google.protobuf.Timestamp single_timestamp = 102;
google.protobuf.Struct single_struct = 103;
google.protobuf.Value single_value = 104;
google.protobuf.Int64Value single_int64_wrapper = 105;
google.protobuf.Int32Value single_int32_wrapper = 106;
google.protobuf.DoubleValue single_double_wrapper = 107;
google.protobuf.FloatValue single_float_wrapper = 108;
google.protobuf.UInt64Value single_uint64_wrapper = 109;
google.protobuf.UInt32Value single_uint32_wrapper = 110;
google.protobuf.StringValue single_string_wrapper = 111;
google.protobuf.BoolValue single_bool_wrapper = 112;
google.protobuf.BytesValue single_bytes_wrapper = 113;
google.protobuf.ListValue list_value = 114;
google.protobuf.NullValue null_value = 115;
optional google.protobuf.NullValue optional_null_value = 116;
google.protobuf.FieldMask field_mask = 117;
google.protobuf.Empty empty = 118;
// Nested messages
oneof nested_type {
NestedMessage single_nested_message = 21;
NestedEnum single_nested_enum = 22;
}
NestedMessage standalone_message = 23;
NestedEnum standalone_enum = 24;
// Repeated
repeated int32 repeated_int32 = 31;
repeated int64 repeated_int64 = 32;
repeated uint32 repeated_uint32 = 33;
repeated uint64 repeated_uint64 = 34;
repeated sint32 repeated_sint32 = 35;
repeated sint64 repeated_sint64 = 36;
repeated fixed32 repeated_fixed32 = 37;
repeated fixed64 repeated_fixed64 = 38;
repeated sfixed32 repeated_sfixed32 = 39;
repeated sfixed64 repeated_sfixed64 = 40;
repeated float repeated_float = 41;
repeated double repeated_double = 42;
repeated bool repeated_bool = 43;
repeated string repeated_string = 44;
repeated bytes repeated_bytes = 45;
// Repeated and nested
repeated NestedMessage repeated_nested_message = 51;
repeated NestedEnum repeated_nested_enum = 52;
repeated string repeated_string_piece = 53 [ctype = STRING_PIECE];
repeated string repeated_cord = 54 [ctype = CORD];
repeated NestedMessage repeated_lazy_message = 55;
// Repeated wellknown.
repeated google.protobuf.Any repeated_any = 120;
repeated google.protobuf.Duration repeated_duration = 121;
repeated google.protobuf.Timestamp repeated_timestamp = 122;
repeated google.protobuf.Struct repeated_struct = 123;
repeated google.protobuf.Value repeated_value = 124;
repeated google.protobuf.Int64Value repeated_int64_wrapper = 125;
repeated google.protobuf.Int32Value repeated_int32_wrapper = 126;
repeated google.protobuf.DoubleValue repeated_double_wrapper = 127;
repeated google.protobuf.FloatValue repeated_float_wrapper = 128;
repeated google.protobuf.UInt64Value repeated_uint64_wrapper = 129;
repeated google.protobuf.UInt32Value repeated_uint32_wrapper = 130;
repeated google.protobuf.StringValue repeated_string_wrapper = 131;
repeated google.protobuf.BoolValue repeated_bool_wrapper = 132;
repeated google.protobuf.BytesValue repeated_bytes_wrapper = 133;
repeated google.protobuf.ListValue repeated_list_value = 134;
repeated google.protobuf.NullValue repeated_null_value = 135;
// Map
map map_int64_nested_type = 62;
map map_bool_bool = 63;
map map_bool_string = 64;
map map_bool_bytes = 65;
map map_bool_int32 = 66;
map map_bool_int64 = 67;
map map_bool_uint32 = 68;
map map_bool_uint64 = 69;
map map_bool_float = 70;
map map_bool_double = 71;
map map_bool_enum = 72;
map map_bool_message = 73;
map map_bool_duration = 228;
map map_bool_timestamp = 229;
map map_bool_null_value = 230;
map map_bool_any = 246;
map map_bool_struct = 247;
map map_bool_value = 248;
map map_bool_list_value = 249;
map map_bool_int64_wrapper = 250;
map map_bool_int32_wrapper = 251;
map map_bool_double_wrapper = 252;
map map_bool_float_wrapper = 253;
map map_bool_uint64_wrapper = 254;
map map_bool_uint32_wrapper = 255;
map map_bool_string_wrapper = 256;
map map_bool_bool_wrapper = 257;
map map_bool_bytes_wrapper = 258;
map map_int32_bool = 74;
map map_int32_string = 75;
map map_int32_bytes = 76;
map map_int32_int32 = 77;
map map_int32_int64 = 78;
map map_int32_uint32 = 79;
map map_int32_uint64 = 80;
map map_int32_float = 81;
map map_int32_double = 82;
map map_int32_enum = 83;
map map_int32_message = 84;
map map_int32_duration = 231;
map map_int32_timestamp = 232;
map map_int32_null_value = 233;
map map_int32_any = 259;
map map_int32_struct = 260;
map map_int32_value = 261;
map map_int32_list_value = 262;
map map_int32_int64_wrapper = 263;
map map_int32_int32_wrapper = 264;
map map_int32_double_wrapper = 265;
map map_int32_float_wrapper = 266;
map map_int32_uint64_wrapper = 267;
map map_int32_uint32_wrapper = 268;
map map_int32_string_wrapper = 269;
map map_int32_bool_wrapper = 270;
map map_int32_bytes_wrapper = 271;
map map_int64_bool = 85;
map map_int64_string = 86;
map map_int64_bytes = 87;
map map_int64_int32 = 88;
map map_int64_int64 = 89;
map map_int64_uint32 = 90;
map map_int64_uint64 = 91;
map map_int64_float = 92;
map map_int64_double = 93;
map map_int64_enum = 94;
map map_int64_message = 95;
map