1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/api/expr/v1alpha1/checked.proto
20
21package expr
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
28	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
29	emptypb "google.golang.org/protobuf/types/known/emptypb"
30	structpb "google.golang.org/protobuf/types/known/structpb"
31)
32
33const (
34	// Verify that this generated code is sufficiently up-to-date.
35	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
36	// Verify that runtime/protoimpl is sufficiently up-to-date.
37	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
38)
39
40// CEL primitive types.
41type Type_PrimitiveType int32
42
43const (
44	// Unspecified type.
45	Type_PRIMITIVE_TYPE_UNSPECIFIED Type_PrimitiveType = 0
46	// Boolean type.
47	Type_BOOL Type_PrimitiveType = 1
48	// Int64 type.
49	//
50	// Proto-based integer values are widened to int64.
51	Type_INT64 Type_PrimitiveType = 2
52	// Uint64 type.
53	//
54	// Proto-based unsigned integer values are widened to uint64.
55	Type_UINT64 Type_PrimitiveType = 3
56	// Double type.
57	//
58	// Proto-based float values are widened to double values.
59	Type_DOUBLE Type_PrimitiveType = 4
60	// String type.
61	Type_STRING Type_PrimitiveType = 5
62	// Bytes type.
63	Type_BYTES Type_PrimitiveType = 6
64)
65
66// Enum value maps for Type_PrimitiveType.
67var (
68	Type_PrimitiveType_name = map[int32]string{
69		0: "PRIMITIVE_TYPE_UNSPECIFIED",
70		1: "BOOL",
71		2: "INT64",
72		3: "UINT64",
73		4: "DOUBLE",
74		5: "STRING",
75		6: "BYTES",
76	}
77	Type_PrimitiveType_value = map[string]int32{
78		"PRIMITIVE_TYPE_UNSPECIFIED": 0,
79		"BOOL":                       1,
80		"INT64":                      2,
81		"UINT64":                     3,
82		"DOUBLE":                     4,
83		"STRING":                     5,
84		"BYTES":                      6,
85	}
86)
87
88func (x Type_PrimitiveType) Enum() *Type_PrimitiveType {
89	p := new(Type_PrimitiveType)
90	*p = x
91	return p
92}
93
94func (x Type_PrimitiveType) String() string {
95	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
96}
97
98func (Type_PrimitiveType) Descriptor() protoreflect.EnumDescriptor {
99	return file_google_api_expr_v1alpha1_checked_proto_enumTypes[0].Descriptor()
100}
101
102func (Type_PrimitiveType) Type() protoreflect.EnumType {
103	return &file_google_api_expr_v1alpha1_checked_proto_enumTypes[0]
104}
105
106func (x Type_PrimitiveType) Number() protoreflect.EnumNumber {
107	return protoreflect.EnumNumber(x)
108}
109
110// Deprecated: Use Type_PrimitiveType.Descriptor instead.
111func (Type_PrimitiveType) EnumDescriptor() ([]byte, []int) {
112	return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{1, 0}
113}
114
115// Well-known protobuf types treated with first-class support in CEL.
116type Type_WellKnownType int32
117
118const (
119	// Unspecified type.
120	Type_WELL_KNOWN_TYPE_UNSPECIFIED Type_WellKnownType = 0
121	// Well-known protobuf.Any type.
122	//
123	// Any types are a polymorphic message type. During type-checking they are
124	// treated like `DYN` types, but at runtime they are resolved to a specific
125	// message type specified at evaluation time.
126	Type_ANY Type_WellKnownType = 1
127	// Well-known protobuf.Timestamp type, internally referenced as `timestamp`.
128	Type_TIMESTAMP Type_WellKnownType = 2
129	// Well-known protobuf.Duration type, internally referenced as `duration`.
130	Type_DURATION Type_WellKnownType = 3
131)
132
133// Enum value maps for Type_WellKnownType.
134var (
135	Type_WellKnownType_name = map[int32]string{
136		0: "WELL_KNOWN_TYPE_UNSPECIFIED",
137		1: "ANY",
138		2: "TIMESTAMP",
139		3: "DURATION",
140	}
141	Type_WellKnownType_value = map[string]int32{
142		"WELL_KNOWN_TYPE_UNSPECIFIED": 0,
143		"ANY":                         1,
144		"TIMESTAMP":                   2,
145		"DURATION":                    3,
146	}
147)
148
149func (x Type_WellKnownType) Enum() *Type_WellKnownType {
150	p := new(Type_WellKnownType)
151	*p = x
152	return p
153}
154
155func (x Type_WellKnownType) String() string {
156	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
157}
158
159func (Type_WellKnownType) Descriptor() protoreflect.EnumDescriptor {
160	return file_google_api_expr_v1alpha1_checked_proto_enumTypes[1].Descriptor()
161}
162
163func (Type_WellKnownType) Type() protoreflect.EnumType {
164	return &file_google_api_expr_v1alpha1_checked_proto_enumTypes[1]
165}
166
167func (x Type_WellKnownType) Number() protoreflect.EnumNumber {
168	return protoreflect.EnumNumber(x)
169}
170
171// Deprecated: Use Type_WellKnownType.Descriptor instead.
172func (Type_WellKnownType) EnumDescriptor() ([]byte, []int) {
173	return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{1, 1}
174}
175
176// A CEL expression which has been successfully type checked.
177type CheckedExpr struct {
178	state         protoimpl.MessageState
179	sizeCache     protoimpl.SizeCache
180	unknownFields protoimpl.UnknownFields
181
182	// A map from expression ids to resolved references.
183	//
184	// The following entries are in this table:
185	//
186	// - An Ident or Select expression is represented here if it resolves to a
187	//   declaration. For instance, if `a.b.c` is represented by
188	//   `select(select(id(a), b), c)`, and `a.b` resolves to a declaration,
189	//   while `c` is a field selection, then the reference is attached to the
190	//   nested select expression (but not to the id or or the outer select).
191	//   In turn, if `a` resolves to a declaration and `b.c` are field selections,
192	//   the reference is attached to the ident expression.
193	// - Every Call expression has an entry here, identifying the function being
194	//   called.
195	// - Every CreateStruct expression for a message has an entry, identifying
196	//   the message.
197	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"`
198	// A map from expression ids to types.
199	//
200	// Every expression node which has a type different than DYN has a mapping
201	// here. If an expression has type DYN, it is omitted from this map to save
202	// space.
203	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"`
204	// The source info derived from input that generated the parsed `expr` and
205	// any optimizations made during the type-checking pass.
206	SourceInfo *SourceInfo `protobuf:"bytes,5,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"`
207	// The checked expression. Semantically equivalent to the parsed `expr`, but
208	// may have structural differences.
209	Expr *Expr `protobuf:"bytes,4,opt,name=expr,proto3" json:"expr,omitempty"`
210}
211
212func (x *CheckedExpr) Reset() {
213	*x = CheckedExpr{}
214	if protoimpl.UnsafeEnabled {
215		mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[0]
216		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
217		ms.StoreMessageInfo(mi)
218	}
219}
220
221func (x *CheckedExpr) String() string {
222	return protoimpl.X.MessageStringOf(x)
223}
224
225func (*CheckedExpr) ProtoMessage() {}
226
227func (x *CheckedExpr) ProtoReflect() protoreflect.Message {
228	mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[0]
229	if protoimpl.UnsafeEnabled && x != nil {
230		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
231		if ms.LoadMessageInfo() == nil {
232			ms.StoreMessageInfo(mi)
233		}
234		return ms
235	}
236	return mi.MessageOf(x)
237}
238
239// Deprecated: Use CheckedExpr.ProtoReflect.Descriptor instead.
240func (*CheckedExpr) Descriptor() ([]byte, []int) {
241	return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{0}
242}
243
244func (x *CheckedExpr) GetReferenceMap() map[int64]*Reference {
245	if x != nil {
246		return x.ReferenceMap
247	}
248	return nil
249}
250
251func (x *CheckedExpr) GetTypeMap() map[int64]*Type {
252	if x != nil {
253		return x.TypeMap
254	}
255	return nil
256}
257
258func (x *CheckedExpr) GetSourceInfo() *SourceInfo {
259	if x != nil {
260		return x.SourceInfo
261	}
262	return nil
263}
264
265func (x *CheckedExpr) GetExpr() *Expr {
266	if x != nil {
267		return x.Expr
268	}
269	return nil
270}
271
272// Represents a CEL type.
273type Type struct {
274	state         protoimpl.MessageState
275	sizeCache     protoimpl.SizeCache
276	unknownFields protoimpl.UnknownFields
277
278	// The kind of type.
279	//
280	// Types that are assignable to TypeKind:
281	//	*Type_Dyn
282	//	*Type_Null
283	//	*Type_Primitive
284	//	*Type_Wrapper
285	//	*Type_WellKnown
286	//	*Type_ListType_
287	//	*Type_MapType_
288	//	*Type_Function
289	//	*Type_MessageType
290	//	*Type_TypeParam
291	//	*Type_Type
292	//	*Type_Error
293	//	*Type_AbstractType_
294	TypeKind isType_TypeKind `protobuf_oneof:"type_kind"`
295}
296
297func (x *Type) Reset() {
298	*x = Type{}
299	if protoimpl.UnsafeEnabled {
300		mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[1]
301		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
302		ms.StoreMessageInfo(mi)
303	}
304}
305
306func (x *Type) String() string {
307	return protoimpl.X.MessageStringOf(x)
308}
309
310func (*Type) ProtoMessage() {}
311
312func (x *Type) ProtoReflect() protoreflect.Message {
313	mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[1]
314	if protoimpl.UnsafeEnabled && x != nil {
315		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
316		if ms.LoadMessageInfo() == nil {
317			ms.StoreMessageInfo(mi)
318		}
319		return ms
320	}
321	return mi.MessageOf(x)
322}
323
324// Deprecated: Use Type.ProtoReflect.Descriptor instead.
325func (*Type) Descriptor() ([]byte, []int) {
326	return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{1}
327}
328
329func (m *Type) GetTypeKind() isType_TypeKind {
330	if m != nil {
331		return m.TypeKind
332	}
333	return nil
334}
335
336func (x *Type) GetDyn() *emptypb.Empty {
337	if x, ok := x.GetTypeKind().(*Type_Dyn); ok {
338		return x.Dyn
339	}
340	return nil
341}
342
343func (x *Type) GetNull() structpb.NullValue {
344	if x, ok := x.GetTypeKind().(*Type_Null); ok {
345		return x.Null
346	}
347	return structpb.NullValue_NULL_VALUE
348}
349
350func (x *Type) GetPrimitive() Type_PrimitiveType {
351	if x, ok := x.GetTypeKind().(*Type_Primitive); ok {
352		return x.Primitive
353	}
354	return Type_PRIMITIVE_TYPE_UNSPECIFIED
355}
356
357func (x *Type) GetWrapper() Type_PrimitiveType {
358	if x, ok := x.GetTypeKind().(*Type_Wrapper); ok {
359		return x.Wrapper
360	}
361	return Type_PRIMITIVE_TYPE_UNSPECIFIED
362}
363
364func (x *Type) GetWellKnown() Type_WellKnownType {
365	if x, ok := x.GetTypeKind().(*Type_WellKnown); ok {
366		return x.WellKnown
367	}
368	return Type_WELL_KNOWN_TYPE_UNSPECIFIED
369}
370
371func (x *Type) GetListType() *Type_ListType {
372	if x, ok := x.GetTypeKind().(*Type_ListType_); ok {
373		return x.ListType
374	}
375	return nil
376}
377
378func (x *Type) GetMapType() *Type_MapType {
379	if x, ok := x.GetTypeKind().(*Type_MapType_); ok {
380		return x.MapType
381	}
382	return nil
383}
384
385func (x *Type) GetFunction() *Type_FunctionType {
386	if x, ok := x.GetTypeKind().(*Type_Function); ok {
387		return x.Function
388	}
389	return nil
390}
391
392func (x *Type) GetMessageType() string {
393	if x, ok := x.GetTypeKind().(*Type_MessageType); ok {
394		return x.MessageType
395	}
396	return ""
397}
398
399func (x *Type) GetTypeParam() string {
400	if x, ok := x.GetTypeKind().(*Type_TypeParam); ok {
401		return x.TypeParam
402	}
403	return ""
404}
405
406func (x *Type) GetType() *Type {
407	if x, ok := x.GetTypeKind().(*Type_Type); ok {
408		return x.Type
409	}
410	return nil
411}
412
413func (x *Type) GetError() *emptypb.Empty {
414	if x, ok := x.GetTypeKind().(*Type_Error); ok {
415		return x.Error
416	}
417	return nil
418}
419
420func (x *Type) GetAbstractType() *Type_AbstractType {
421	if x, ok := x.GetTypeKind().(*Type_AbstractType_); ok {
422		return x.AbstractType
423	}
424	return nil
425}
426
427type isType_TypeKind interface {
428	isType_TypeKind()
429}
430
431type Type_Dyn struct {
432	// Dynamic type.
433	Dyn *emptypb.Empty `protobuf:"bytes,1,opt,name=dyn,proto3,oneof"`
434}
435
436type Type_Null struct {
437	// Null value.
438	Null structpb.NullValue `protobuf:"varint,2,opt,name=null,proto3,enum=google.protobuf.NullValue,oneof"`
439}
440
441type Type_Primitive struct {
442	// Primitive types: `true`, `1u`, `-2.0`, `'string'`, `b'bytes'`.
443	Primitive Type_PrimitiveType `protobuf:"varint,3,opt,name=primitive,proto3,enum=google.api.expr.v1alpha1.Type_PrimitiveType,oneof"`
444}
445
446type Type_Wrapper struct {
447	// Wrapper of a primitive type, e.g. `google.protobuf.Int64Value`.
448	Wrapper Type_PrimitiveType `protobuf:"varint,4,opt,name=wrapper,proto3,enum=google.api.expr.v1alpha1.Type_PrimitiveType,oneof"`
449}
450
451type Type_WellKnown struct {
452	// Well-known protobuf type such as `google.protobuf.Timestamp`.
453	WellKnown Type_WellKnownType `protobuf:"varint,5,opt,name=well_known,json=wellKnown,proto3,enum=google.api.expr.v1alpha1.Type_WellKnownType,oneof"`
454}
455
456type Type_ListType_ struct {
457	// Parameterized list with elements of `list_type`, e.g. `list<timestamp>`.
458	ListType *Type_ListType `protobuf:"bytes,6,opt,name=list_type,json=listType,proto3,oneof"`
459}
460
461type Type_MapType_ struct {
462	// Parameterized map with typed keys and values.
463	MapType *Type_MapType `protobuf:"bytes,7,opt,name=map_type,json=mapType,proto3,oneof"`
464}
465
466type Type_Function struct {
467	// Function type.
468	Function *Type_FunctionType `protobuf:"bytes,8,opt,name=function,proto3,oneof"`
469}
470
471type Type_MessageType struct {
472	// Protocol buffer message type.
473	//
474	// The `message_type` string specifies the qualified message type name. For
475	// example, `google.plus.Profile`.
476	MessageType string `protobuf:"bytes,9,opt,name=message_type,json=messageType,proto3,oneof"`
477}
478
479type Type_TypeParam struct {
480	// Type param type.
481	//
482	// The `type_param` string specifies the type parameter name, e.g. `list<E>`
483	// would be a `list_type` whose element type was a `type_param` type
484	// named `E`.
485	TypeParam string `protobuf:"bytes,10,opt,name=type_param,json=typeParam,proto3,oneof"`
486}
487
488type Type_Type struct {
489	// Type type.
490	//
491	// The `type` value specifies the target type. e.g. int is type with a
492	// target type of `Primitive.INT`.
493	Type *Type `protobuf:"bytes,11,opt,name=type,proto3,oneof"`
494}
495
496type Type_Error struct {
497	// Error type.
498	//
499	// During type-checking if an expression is an error, its type is propagated
500	// as the `ERROR` type. This permits the type-checker to discover other
501	// errors present in the expression.
502	Error *emptypb.Empty `protobuf:"bytes,12,opt,name=error,proto3,oneof"`
503}
504
505type Type_AbstractType_ struct {
506	// Abstract, application defined type.
507	AbstractType *Type_AbstractType `protobuf:"bytes,14,opt,name=abstract_type,json=abstractType,proto3,oneof"`
508}
509
510func (*Type_Dyn) isType_TypeKind() {}
511
512func (*Type_Null) isType_TypeKind() {}
513
514func (*Type_Primitive) isType_TypeKind() {}
515
516func (*Type_Wrapper) isType_TypeKind() {}
517
518func (*Type_WellKnown) isType_TypeKind() {}
519
520func (*Type_ListType_) isType_TypeKind() {}
521
522func (*Type_MapType_) isType_TypeKind() {}
523
524func (*Type_Function) isType_TypeKind() {}
525
526func (*Type_MessageType) isType_TypeKind() {}
527
528func (*Type_TypeParam) isType_TypeKind() {}
529
530func (*Type_Type) isType_TypeKind() {}
531
532func (*Type_Error) isType_TypeKind() {}
533
534func (*Type_AbstractType_) isType_TypeKind() {}
535
536// Represents a declaration of a named value or function.
537//
538// A declaration is part of the contract between the expression, the agent
539// evaluating that expression, and the caller requesting evaluation.
540type Decl struct {
541	state         protoimpl.MessageState
542	sizeCache     protoimpl.SizeCache
543	unknownFields protoimpl.UnknownFields
544
545	// The fully qualified name of the declaration.
546	//
547	// Declarations are organized in containers and this represents the full path
548	// to the declaration in its container, as in `google.api.expr.Decl`.
549	//
550	// Declarations used as [FunctionDecl.Overload][google.api.expr.v1alpha1.Decl.FunctionDecl.Overload] parameters may or may not
551	// have a name depending on whether the overload is function declaration or a
552	// function definition containing a result [Expr][google.api.expr.v1alpha1.Expr].
553	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
554	// Required. The declaration kind.
555	//
556	// Types that are assignable to DeclKind:
557	//	*Decl_Ident
558	//	*Decl_Function
559	DeclKind isDecl_DeclKind `protobuf_oneof:"decl_kind"`
560}
561
562func (x *Decl) Reset() {
563	*x = Decl{}
564	if protoimpl.UnsafeEnabled {
565		mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[2]
566		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
567		ms.StoreMessageInfo(mi)
568	}
569}
570
571func (x *Decl) String() string {
572	return protoimpl.X.MessageStringOf(x)
573}
574
575func (*Decl) ProtoMessage() {}
576
577func (x *Decl) ProtoReflect() protoreflect.Message {
578	mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[2]
579	if protoimpl.UnsafeEnabled && x != nil {
580		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
581		if ms.LoadMessageInfo() == nil {
582			ms.StoreMessageInfo(mi)
583		}
584		return ms
585	}
586	return mi.MessageOf(x)
587}
588
589// Deprecated: Use Decl.ProtoReflect.Descriptor instead.
590func (*Decl) Descriptor() ([]byte, []int) {
591	return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{2}
592}
593
594func (x *Decl) GetName() string {
595	if x != nil {
596		return x.Name
597	}
598	return ""
599}
600
601func (m *Decl) GetDeclKind() isDecl_DeclKind {
602	if m != nil {
603		return m.DeclKind
604	}
605	return nil
606}
607
608func (x *Decl) GetIdent() *Decl_IdentDecl {
609	if x, ok := x.GetDeclKind().(*Decl_Ident); ok {
610		return x.Ident
611	}
612	return nil
613}
614
615func (x *Decl) GetFunction() *Decl_FunctionDecl {
616	if x, ok := x.GetDeclKind().(*Decl_Function); ok {
617		return x.Function
618	}
619	return nil
620}
621
622type isDecl_DeclKind interface {
623	isDecl_DeclKind()
624}
625
626type Decl_Ident struct {
627	// Identifier declaration.
628	Ident *Decl_IdentDecl `protobuf:"bytes,2,opt,name=ident,proto3,oneof"`
629}
630
631type Decl_Function struct {
632	// Function declaration.
633	Function *Decl_FunctionDecl `protobuf:"bytes,3,opt,name=function,proto3,oneof"`
634}
635
636func (*Decl_Ident) isDecl_DeclKind() {}
637
638func (*Decl_Function) isDecl_DeclKind() {}
639
640// Describes a resolved reference to a declaration.
641type Reference struct {
642	state         protoimpl.MessageState
643	sizeCache     protoimpl.SizeCache
644	unknownFields protoimpl.UnknownFields
645
646	// The fully qualified name of the declaration.
647	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
648	// For references to functions, this is a list of `Overload.overload_id`
649	// values which match according to typing rules.
650	//
651	// If the list has more than one element, overload resolution among the
652	// presented candidates must happen at runtime because of dynamic types. The
653	// type checker attempts to narrow down this list as much as possible.
654	//
655	// Empty if this is not a reference to a [Decl.FunctionDecl][google.api.expr.v1alpha1.Decl.FunctionDecl].
656	OverloadId []string `protobuf:"bytes,3,rep,name=overload_id,json=overloadId,proto3" json:"overload_id,omitempty"`
657	// For references to constants, this may contain the value of the
658	// constant if known at compile time.
659	Value *Constant `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
660}
661
662func (x *Reference) Reset() {
663	*x = Reference{}
664	if protoimpl.UnsafeEnabled {
665		mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[3]
666		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
667		ms.StoreMessageInfo(mi)
668	}
669}
670
671func (x *Reference) String() string {
672	return protoimpl.X.MessageStringOf(x)
673}
674
675func (*Reference) ProtoMessage() {}
676
677func (x *Reference) ProtoReflect() protoreflect.Message {
678	mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[3]
679	if protoimpl.UnsafeEnabled && x != nil {
680		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
681		if ms.LoadMessageInfo() == nil {
682			ms.StoreMessageInfo(mi)
683		}
684		return ms
685	}
686	return mi.MessageOf(x)
687}
688
689// Deprecated: Use Reference.ProtoReflect.Descriptor instead.
690func (*Reference) Descriptor() ([]byte, []int) {
691	return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{3}
692}
693
694func (x *Reference) GetName() string {
695	if x != nil {
696		return x.Name
697	}
698	return ""
699}
700
701func (x *Reference) GetOverloadId() []string {
702	if x != nil {
703		return x.OverloadId
704	}
705	return nil
706}
707
708func (x *Reference) GetValue() *Constant {
709	if x != nil {
710		return x.Value
711	}
712	return nil
713}
714
715// List type with typed elements, e.g. `list<example.proto.MyMessage>`.
716type Type_ListType struct {
717	state         protoimpl.MessageState
718	sizeCache     protoimpl.SizeCache
719	unknownFields protoimpl.UnknownFields
720
721	// The element type.
722	ElemType *Type `protobuf:"bytes,1,opt,name=elem_type,json=elemType,proto3" json:"elem_type,omitempty"`
723}
724
725func (x *Type_ListType) Reset() {
726	*x = Type_ListType{}
727	if protoimpl.UnsafeEnabled {
728		mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[6]
729		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
730		ms.StoreMessageInfo(mi)
731	}
732}
733
734func (x *Type_ListType) String() string {
735	return protoimpl.X.MessageStringOf(x)
736}
737
738func (*Type_ListType) ProtoMessage() {}
739
740func (x *Type_ListType) ProtoReflect() protoreflect.Message {
741	mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[6]
742	if protoimpl.UnsafeEnabled && x != nil {
743		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
744		if ms.LoadMessageInfo() == nil {
745			ms.StoreMessageInfo(mi)
746		}
747		return ms
748	}
749	return mi.MessageOf(x)
750}
751
752// Deprecated: Use Type_ListType.ProtoReflect.Descriptor instead.
753func (*Type_ListType) Descriptor() ([]byte, []int) {
754	return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{1, 0}
755}
756
757func (x *Type_ListType) GetElemType() *Type {
758	if x != nil {
759		return x.ElemType
760	}
761	return nil
762}
763
764// Map type with parameterized key and value types, e.g. `map<string, int>`.
765type Type_MapType struct {
766	state         protoimpl.MessageState
767	sizeCache     protoimpl.SizeCache
768	unknownFields protoimpl.UnknownFields
769
770	// The type of the key.
771	KeyType *Type `protobuf:"bytes,1,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty"`
772	// The type of the value.
773	ValueType *Type `protobuf:"bytes,2,opt,name=value_type,json=valueType,proto3" json:"value_type,omitempty"`
774}
775
776func (x *Type_MapType) Reset() {
777	*x = Type_MapType{}
778	if protoimpl.UnsafeEnabled {
779		mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[7]
780		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
781		ms.StoreMessageInfo(mi)
782	}
783}
784
785func (x *Type_MapType) String() string {
786	return protoimpl.X.MessageStringOf(x)
787}
788
789func (*Type_MapType) ProtoMessage() {}
790
791func (x *Type_MapType) ProtoReflect() protoreflect.Message {
792	mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[7]
793	if protoimpl.UnsafeEnabled && x != nil {
794		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
795		if ms.LoadMessageInfo() == nil {
796			ms.StoreMessageInfo(mi)
797		}
798		return ms
799	}
800	return mi.MessageOf(x)
801}
802
803// Deprecated: Use Type_MapType.ProtoReflect.Descriptor instead.
804func (*Type_MapType) Descriptor() ([]byte, []int) {
805	return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{1, 1}
806}
807
808func (x *Type_MapType) GetKeyType() *Type {
809	if x != nil {
810		return x.KeyType
811	}
812	return nil
813}
814
815func (x *Type_MapType) GetValueType() *Type {
816	if x != nil {
817		return x.ValueType
818	}
819	return nil
820}
821
822// Function type with result and arg types.
823type Type_FunctionType struct {
824	state         protoimpl.MessageState
825	sizeCache     protoimpl.SizeCache
826	unknownFields protoimpl.UnknownFields
827
828	// Result type of the function.
829	ResultType *Type `protobuf:"bytes,1,opt,name=result_type,json=resultType,proto3" json:"result_type,omitempty"`
830	// Argument types of the function.
831	ArgTypes []*Type `protobuf:"bytes,2,rep,name=arg_types,json=argTypes,proto3" json:"arg_types,omitempty"`
832}
833
834func (x *Type_FunctionType) Reset() {
835	*x = Type_FunctionType{}
836	if protoimpl.UnsafeEnabled {
837		mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[8]
838		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
839		ms.StoreMessageInfo(mi)
840	}
841}
842
843func (x *Type_FunctionType) String() string {
844	return protoimpl.X.MessageStringOf(x)
845}
846
847func (*Type_FunctionType) ProtoMessage() {}
848
849func (x *Type_FunctionType) ProtoReflect() protoreflect.Message {
850	mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[8]
851	if protoimpl.UnsafeEnabled && x != nil {
852		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
853		if ms.LoadMessageInfo() == nil {
854			ms.StoreMessageInfo(mi)
855		}
856		return ms
857	}
858	return mi.MessageOf(x)
859}
860
861// Deprecated: Use Type_FunctionType.ProtoReflect.Descriptor instead.
862func (*Type_FunctionType) Descriptor() ([]byte, []int) {
863	return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{1, 2}
864}
865
866func (x *Type_FunctionType) GetResultType() *Type {
867	if x != nil {
868		return x.ResultType
869	}
870	return nil
871}
872
873func (x *Type_FunctionType) GetArgTypes() []*Type {
874	if x != nil {
875		return x.ArgTypes
876	}
877	return nil
878}
879
880// Application defined abstract type.
881type Type_AbstractType struct {
882	state         protoimpl.MessageState
883	sizeCache     protoimpl.SizeCache
884	unknownFields protoimpl.UnknownFields
885
886	// The fully qualified name of this abstract type.
887	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
888	// Parameter types for this abstract type.
889	ParameterTypes []*Type `protobuf:"bytes,2,rep,name=parameter_types,json=parameterTypes,proto3" json:"parameter_types,omitempty"`
890}
891
892func (x *Type_AbstractType) Reset() {
893	*x = Type_AbstractType{}
894	if protoimpl.UnsafeEnabled {
895		mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[9]
896		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
897		ms.StoreMessageInfo(mi)
898	}
899}
900
901func (x *Type_AbstractType) String() string {
902	return protoimpl.X.MessageStringOf(x)
903}
904
905func (*Type_AbstractType) ProtoMessage() {}
906
907func (x *Type_AbstractType) ProtoReflect() protoreflect.Message {
908	mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[9]
909	if protoimpl.UnsafeEnabled && x != nil {
910		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
911		if ms.LoadMessageInfo() == nil {
912			ms.StoreMessageInfo(mi)
913		}
914		return ms
915	}
916	return mi.MessageOf(x)
917}
918
919// Deprecated: Use Type_AbstractType.ProtoReflect.Descriptor instead.
920func (*Type_AbstractType) Descriptor() ([]byte, []int) {
921	return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{1, 3}
922}
923
924func (x *Type_AbstractType) GetName() string {
925	if x != nil {
926		return x.Name
927	}
928	return ""
929}
930
931func (x *Type_AbstractType) GetParameterTypes() []*Type {
932	if x != nil {
933		return x.ParameterTypes
934	}
935	return nil
936}
937
938// Identifier declaration which specifies its type and optional `Expr` value.
939//
940// An identifier without a value is a declaration that must be provided at
941// evaluation time. An identifier with a value should resolve to a constant,
942// but may be used in conjunction with other identifiers bound at evaluation
943// time.
944type Decl_IdentDecl struct {
945	state         protoimpl.MessageState
946	sizeCache     protoimpl.SizeCache
947	unknownFields protoimpl.UnknownFields
948
949	// Required. The type of the identifier.
950	Type *Type `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
951	// The constant value of the identifier. If not specified, the identifier
952	// must be supplied at evaluation time.
953	Value *Constant `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
954	// Documentation string for the identifier.
955	Doc string `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"`
956}
957
958func (x *Decl_IdentDecl) Reset() {
959	*x = Decl_IdentDecl{}
960	if protoimpl.UnsafeEnabled {
961		mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[10]
962		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
963		ms.StoreMessageInfo(mi)
964	}
965}
966
967func (x *Decl_IdentDecl) String() string {
968	return protoimpl.X.MessageStringOf(x)
969}
970
971func (*Decl_IdentDecl) ProtoMessage() {}
972
973func (x *Decl_IdentDecl) ProtoReflect() protoreflect.Message {
974	mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[10]
975	if protoimpl.UnsafeEnabled && x != nil {
976		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
977		if ms.LoadMessageInfo() == nil {
978			ms.StoreMessageInfo(mi)
979		}
980		return ms
981	}
982	return mi.MessageOf(x)
983}
984
985// Deprecated: Use Decl_IdentDecl.ProtoReflect.Descriptor instead.
986func (*Decl_IdentDecl) Descriptor() ([]byte, []int) {
987	return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{2, 0}
988}
989
990func (x *Decl_IdentDecl) GetType() *Type {
991	if x != nil {
992		return x.Type
993	}
994	return nil
995}
996
997func (x *Decl_IdentDecl) GetValue() *Constant {
998	if x != nil {
999		return x.Value
1000	}
1001	return nil
1002}
1003
1004func (x *Decl_IdentDecl) GetDoc() string {
1005	if x != nil {
1006		return x.Doc
1007	}
1008	return ""
1009}
1010
1011// Function declaration specifies one or more overloads which indicate the
1012// function's parameter types and return type, and may optionally specify a
1013// function definition in terms of CEL expressions.
1014//
1015// Functions have no observable side-effects (there may be side-effects like
1016// logging which are not observable from CEL).
1017type Decl_FunctionDecl struct {
1018	state         protoimpl.MessageState
1019	sizeCache     protoimpl.SizeCache
1020	unknownFields protoimpl.UnknownFields
1021
1022	// Required. List of function overloads, must contain at least one overload.
1023	Overloads []*Decl_FunctionDecl_Overload `protobuf:"bytes,1,rep,name=overloads,proto3" json:"overloads,omitempty"`
1024}
1025
1026func (x *Decl_FunctionDecl) Reset() {
1027	*x = Decl_FunctionDecl{}
1028	if protoimpl.UnsafeEnabled {
1029		mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[11]
1030		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1031		ms.StoreMessageInfo(mi)
1032	}
1033}
1034
1035func (x *Decl_FunctionDecl) String() string {
1036	return protoimpl.X.MessageStringOf(x)
1037}
1038
1039func (*Decl_FunctionDecl) ProtoMessage() {}
1040
1041func (x *Decl_FunctionDecl) ProtoReflect() protoreflect.Message {
1042	mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[11]
1043	if protoimpl.UnsafeEnabled && x != nil {
1044		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1045		if ms.LoadMessageInfo() == nil {
1046			ms.StoreMessageInfo(mi)
1047		}
1048		return ms
1049	}
1050	return mi.MessageOf(x)
1051}
1052
1053// Deprecated: Use Decl_FunctionDecl.ProtoReflect.Descriptor instead.
1054func (*Decl_FunctionDecl) Descriptor() ([]byte, []int) {
1055	return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{2, 1}
1056}
1057
1058func (x *Decl_FunctionDecl) GetOverloads() []*Decl_FunctionDecl_Overload {
1059	if x != nil {
1060		return x.Overloads
1061	}
1062	return nil
1063}
1064
1065// An overload indicates a function's parameter types and return type, and
1066// may optionally include a function body described in terms of [Expr][google.api.expr.v1alpha1.Expr]
1067// values.
1068//
1069// Functions overloads are declared in either a function or method
1070// call-style. For methods, the `params[0]` is the expected type of the
1071// target receiver.
1072//
1073// Overloads must have non-overlapping argument types after erasure of all
1074// parameterized type variables (similar as type erasure in Java).
1075type Decl_FunctionDecl_Overload struct {
1076	state         protoimpl.MessageState
1077	sizeCache     protoimpl.SizeCache
1078	unknownFields protoimpl.UnknownFields
1079
1080	// Required. Globally unique overload name of the function which reflects
1081	// the function name and argument types.
1082	//
1083	// This will be used by a [Reference][google.api.expr.v1alpha1.Reference] to indicate the `overload_id` that
1084	// was resolved for the function `name`.
1085	OverloadId string `protobuf:"bytes,1,opt,name=overload_id,json=overloadId,proto3" json:"overload_id,omitempty"`
1086	// List of function parameter [Type][google.api.expr.v1alpha1.Type] values.
1087	//
1088	// Param types are disjoint after generic type parameters have been
1089	// replaced with the type `DYN`. Since the `DYN` type is compatible with
1090	// any other type, this means that if `A` is a type parameter, the
1091	// function types `int<A>` and `int<int>` are not disjoint. Likewise,
1092	// `map<string, string>` is not disjoint from `map<K, V>`.
1093	//
1094	// When the `result_type` of a function is a generic type param, the
1095	// type param name also appears as the `type` of on at least one params.
1096	Params []*Type `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"`
1097	// The type param names associated with the function declaration.
1098	//
1099	// For example, `function ex<K,V>(K key, map<K, V> map) : V` would yield
1100	// the type params of `K, V`.
1101	TypeParams []string `protobuf:"bytes,3,rep,name=type_params,json=typeParams,proto3" json:"type_params,omitempty"`
1102	// Required. The result type of the function. For example, the operator
1103	// `string.isEmpty()` would have `result_type` of `kind: BOOL`.
1104	ResultType *Type `protobuf:"bytes,4,opt,name=result_type,json=resultType,proto3" json:"result_type,omitempty"`
1105	// Whether the function is to be used in a method call-style `x.f(...)`
1106	// of a function call-style `f(x, ...)`.
1107	//
1108	// For methods, the first parameter declaration, `params[0]` is the
1109	// expected type of the target receiver.
1110	IsInstanceFunction bool `protobuf:"varint,5,opt,name=is_instance_function,json=isInstanceFunction,proto3" json:"is_instance_function,omitempty"`
1111	// Documentation string for the overload.
1112	Doc string `protobuf:"bytes,6,opt,name=doc,proto3" json:"doc,omitempty"`
1113}
1114
1115func (x *Decl_FunctionDecl_Overload) Reset() {
1116	*x = Decl_FunctionDecl_Overload{}
1117	if protoimpl.UnsafeEnabled {
1118		mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[12]
1119		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1120		ms.StoreMessageInfo(mi)
1121	}
1122}
1123
1124func (x *Decl_FunctionDecl_Overload) String() string {
1125	return protoimpl.X.MessageStringOf(x)
1126}
1127
1128func (*Decl_FunctionDecl_Overload) ProtoMessage() {}
1129
1130func (x *Decl_FunctionDecl_Overload) ProtoReflect() protoreflect.Message {
1131	mi := &file_google_api_expr_v1alpha1_checked_proto_msgTypes[12]
1132	if protoimpl.UnsafeEnabled && x != nil {
1133		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1134		if ms.LoadMessageInfo() == nil {
1135			ms.StoreMessageInfo(mi)
1136		}
1137		return ms
1138	}
1139	return mi.MessageOf(x)
1140}
1141
1142// Deprecated: Use Decl_FunctionDecl_Overload.ProtoReflect.Descriptor instead.
1143func (*Decl_FunctionDecl_Overload) Descriptor() ([]byte, []int) {
1144	return file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP(), []int{2, 1, 0}
1145}
1146
1147func (x *Decl_FunctionDecl_Overload) GetOverloadId() string {
1148	if x != nil {
1149		return x.OverloadId
1150	}
1151	return ""
1152}
1153
1154func (x *Decl_FunctionDecl_Overload) GetParams() []*Type {
1155	if x != nil {
1156		return x.Params
1157	}
1158	return nil
1159}
1160
1161func (x *Decl_FunctionDecl_Overload) GetTypeParams() []string {
1162	if x != nil {
1163		return x.TypeParams
1164	}
1165	return nil
1166}
1167
1168func (x *Decl_FunctionDecl_Overload) GetResultType() *Type {
1169	if x != nil {
1170		return x.ResultType
1171	}
1172	return nil
1173}
1174
1175func (x *Decl_FunctionDecl_Overload) GetIsInstanceFunction() bool {
1176	if x != nil {
1177		return x.IsInstanceFunction
1178	}
1179	return false
1180}
1181
1182func (x *Decl_FunctionDecl_Overload) GetDoc() string {
1183	if x != nil {
1184		return x.Doc
1185	}
1186	return ""
1187}
1188
1189var File_google_api_expr_v1alpha1_checked_proto protoreflect.FileDescriptor
1190
1191var file_google_api_expr_v1alpha1_checked_proto_rawDesc = []byte{
1192	0x0a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70,
1193	0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b,
1194	0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1195	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
1196	0x61, 0x31, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65,
1197	0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x79, 0x6e,
1198	0x74, 0x61, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1199	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79,
1200	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
1201	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70,
1202	0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf7, 0x03, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64,
1203	0x45, 0x78, 0x70, 0x72, 0x12, 0x5c, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
1204	0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f,
1205	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31,
1206	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78,
1207	0x70, 0x72, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45,
1208	0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d,
1209	0x61, 0x70, 0x12, 0x4d, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03,
1210	0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
1211	0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
1212	0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65,
1213	0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x61,
1214	0x70, 0x12, 0x45, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
1215	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1216	0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
1217	0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x6f,
1218	0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72,
1219	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1220	0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
1221	0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x1a, 0x64, 0x0a, 0x11,
1222	0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
1223	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
1224	0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
1225	0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e,
1226	0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65,
1227	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
1228	0x38, 0x01, 0x1a, 0x5a, 0x0a, 0x0c, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
1229	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
1230	0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
1231	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69,
1232	0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54,
1233	0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc8,
1234	0x0b, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x03, 0x64, 0x79, 0x6e, 0x18, 0x01,
1235	0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
1236	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x03,
1237	0x64, 0x79, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
1238	0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1239	0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52,
1240	0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x4c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69,
1241	0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1242	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
1243	0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69,
1244	0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74,
1245	0x69, 0x76, 0x65, 0x12, 0x48, 0x0a, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x04,
1246	0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
1247	0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
1248	0x54, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79,
1249	0x70, 0x65, 0x48, 0x00, 0x52, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4d, 0x0a,
1250	0x0a, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
1251	0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65,
1252	0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70,
1253	0x65, 0x2e, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x48,
1254	0x00, 0x52, 0x09, 0x77, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x12, 0x46, 0x0a, 0x09,
1255	0x6c, 0x69, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
1256	0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70,
1257	0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e,
1258	0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74,
1259	0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65,
1260	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1261	0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
1262	0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00,
1263	0x52, 0x07, 0x6d, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x49, 0x0a, 0x08, 0x66, 0x75, 0x6e,
1264	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f,
1265	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31,
1266	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x75, 0x6e, 0x63,
1267	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63,
1268	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f,
1269	0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x65,
1270	0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x79, 0x70,
1271	0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
1272	0x09, 0x74, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79,
1273	0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1274	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
1275	0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
1276	0x12, 0x2e, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
1277	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
1278	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
1279	0x12, 0x52, 0x0a, 0x0d, 0x61, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70,
1280	0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1281	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
1282	0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74,
1283	0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74,
1284	0x54, 0x79, 0x70, 0x65, 0x1a, 0x47, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65,
1285	0x12, 0x3b, 0x0a, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
1286	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69,
1287	0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54,
1288	0x79, 0x70, 0x65, 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x83, 0x01,
1289	0x0a, 0x07, 0x4d, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x6b, 0x65, 0x79,
1290	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f,
1291	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31,
1292	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6b, 0x65, 0x79,
1293	0x54, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79,
1294	0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1295	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
1296	0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54,
1297	0x79, 0x70, 0x65, 0x1a, 0x8c, 0x01, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
1298	0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x74,
1299	0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1300	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c,
1301	0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c,
1302	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70,
1303	0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1304	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
1305	0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x61, 0x72, 0x67, 0x54, 0x79, 0x70,
1306	0x65, 0x73, 0x1a, 0x6b, 0x0a, 0x0c, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79,
1307	0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
1308	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65,
1309	0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
1310	0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70,
1311	0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52,
1312	0x0e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22,
1313	0x73, 0x0a, 0x0d, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65,
1314	0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x49, 0x4d, 0x49, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x54, 0x59,
1315	0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
1316	0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e,
1317	0x54, 0x36, 0x34, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10,
1318	0x03, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x0a, 0x0a,
1319	0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x59, 0x54,
1320	0x45, 0x53, 0x10, 0x06, 0x22, 0x56, 0x0a, 0x0d, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77,
1321	0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x57, 0x45, 0x4c, 0x4c, 0x5f, 0x4b, 0x4e,
1322	0x4f, 0x57, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
1323	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x01, 0x12,
1324	0x0d, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x02, 0x12, 0x0c,
1325	0x0a, 0x08, 0x44, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x42, 0x0b, 0x0a, 0x09,
1326	0x74, 0x79, 0x70, 0x65, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xb3, 0x05, 0x0a, 0x04, 0x44, 0x65,
1327	0x63, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
1328	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x18,
1329	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
1330	0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
1331	0x2e, 0x44, 0x65, 0x63, 0x6c, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x63, 0x6c, 0x48,
1332	0x00, 0x52, 0x05, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63,
1333	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
1334	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61,
1335	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74,
1336	0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74,
1337	0x69, 0x6f, 0x6e, 0x1a, 0x8b, 0x01, 0x0a, 0x09, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x63,
1338	0x6c, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
1339	0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70,
1340	0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52,
1341	0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
1342	0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
1343	0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
1344	0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12,
1345	0x10, 0x0a, 0x03, 0x64, 0x6f, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x6f,
1346	0x63, 0x1a, 0xee, 0x02, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65,
1347	0x63, 0x6c, 0x12, 0x52, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18,
1348	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
1349	0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
1350	0x2e, 0x44, 0x65, 0x63, 0x6c, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65,
1351	0x63, 0x6c, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x09, 0x6f, 0x76, 0x65,
1352	0x72, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x1a, 0x89, 0x02, 0x0a, 0x08, 0x4f, 0x76, 0x65, 0x72, 0x6c,
1353	0x6f, 0x61, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x5f,
1354	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f,
1355	0x61, 0x64, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02,
1356	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
1357	0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
1358	0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
1359	0x74, 0x79, 0x70, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
1360	0x09, 0x52, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3f, 0x0a,
1361	0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01,
1362	0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e,
1363	0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x79,
1364	0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30,
1365	0x0a, 0x14, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x75,
1366	0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73,
1367	0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
1368	0x12, 0x10, 0x0a, 0x03, 0x64, 0x6f, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64,
1369	0x6f, 0x63, 0x42, 0x0b, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x6c, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22,
1370	0x7a, 0x0a, 0x09, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04,
1371	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
1372	0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18,
1373	0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x49,
1374	0x64, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
1375	0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78,
1376	0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73,
1377	0x74, 0x61, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x6c, 0x0a, 0x1c, 0x63,
1378	0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78,
1379	0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x09, 0x44, 0x65, 0x63,
1380	0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1381	0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70,
1382	0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f,
1383	0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
1384	0x31, 0x3b, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1385	0x33,
1386}
1387
1388var (
1389	file_google_api_expr_v1alpha1_checked_proto_rawDescOnce sync.Once
1390	file_google_api_expr_v1alpha1_checked_proto_rawDescData = file_google_api_expr_v1alpha1_checked_proto_rawDesc
1391)
1392
1393func file_google_api_expr_v1alpha1_checked_proto_rawDescGZIP() []byte {
1394	file_google_api_expr_v1alpha1_checked_proto_rawDescOnce.Do(func() {
1395		file_google_api_expr_v1alpha1_checked_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_expr_v1alpha1_checked_proto_rawDescData)
1396	})
1397	return file_google_api_expr_v1alpha1_checked_proto_rawDescData
1398}
1399
1400var file_google_api_expr_v1alpha1_checked_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
1401var file_google_api_expr_v1alpha1_checked_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
1402var file_google_api_expr_v1alpha1_checked_proto_goTypes = []interface{}{
1403	(Type_PrimitiveType)(0),            // 0: google.api.expr.v1alpha1.Type.PrimitiveType
1404	(Type_WellKnownType)(0),            // 1: google.api.expr.v1alpha1.Type.WellKnownType
1405	(*CheckedExpr)(nil),                // 2: google.api.expr.v1alpha1.CheckedExpr
1406	(*Type)(nil),                       // 3: google.api.expr.v1alpha1.Type
1407	(*Decl)(nil),                       // 4: google.api.expr.v1alpha1.Decl
1408	(*Reference)(nil),                  // 5: google.api.expr.v1alpha1.Reference
1409	nil,                                // 6: google.api.expr.v1alpha1.CheckedExpr.ReferenceMapEntry
1410	nil,                                // 7: google.api.expr.v1alpha1.CheckedExpr.TypeMapEntry
1411	(*Type_ListType)(nil),              // 8: google.api.expr.v1alpha1.Type.ListType
1412	(*Type_MapType)(nil),               // 9: google.api.expr.v1alpha1.Type.MapType
1413	(*Type_FunctionType)(nil),          // 10: google.api.expr.v1alpha1.Type.FunctionType
1414	(*Type_AbstractType)(nil),          // 11: google.api.expr.v1alpha1.Type.AbstractType
1415	(*Decl_IdentDecl)(nil),             // 12: google.api.expr.v1alpha1.Decl.IdentDecl
1416	(*Decl_FunctionDecl)(nil),          // 13: google.api.expr.v1alpha1.Decl.FunctionDecl
1417	(*Decl_FunctionDecl_Overload)(nil), // 14: google.api.expr.v1alpha1.Decl.FunctionDecl.Overload
1418	(*SourceInfo)(nil),                 // 15: google.api.expr.v1alpha1.SourceInfo
1419	(*Expr)(nil),                       // 16: google.api.expr.v1alpha1.Expr
1420	(*emptypb.Empty)(nil),              // 17: google.protobuf.Empty
1421	(structpb.NullValue)(0),            // 18: google.protobuf.NullValue
1422	(*Constant)(nil),                   // 19: google.api.expr.v1alpha1.Constant
1423}
1424var file_google_api_expr_v1alpha1_checked_proto_depIdxs = []int32{
1425	6,  // 0: google.api.expr.v1alpha1.CheckedExpr.reference_map:type_name -> google.api.expr.v1alpha1.CheckedExpr.ReferenceMapEntry
1426	7,  // 1: google.api.expr.v1alpha1.CheckedExpr.type_map:type_name -> google.api.expr.v1alpha1.CheckedExpr.TypeMapEntry
1427	15, // 2: google.api.expr.v1alpha1.CheckedExpr.source_info:type_name -> google.api.expr.v1alpha1.SourceInfo
1428	16, // 3: google.api.expr.v1alpha1.CheckedExpr.expr:type_name -> google.api.expr.v1alpha1.Expr
1429	17, // 4: google.api.expr.v1alpha1.Type.dyn:type_name -> google.protobuf.Empty
1430	18, // 5: google.api.expr.v1alpha1.Type.null:type_name -> google.protobuf.NullValue
1431	0,  // 6: google.api.expr.v1alpha1.Type.primitive:type_name -> google.api.expr.v1alpha1.Type.PrimitiveType
1432	0,  // 7: google.api.expr.v1alpha1.Type.wrapper:type_name -> google.api.expr.v1alpha1.Type.PrimitiveType
1433	1,  // 8: google.api.expr.v1alpha1.Type.well_known:type_name -> google.api.expr.v1alpha1.Type.WellKnownType
1434	8,  // 9: google.api.expr.v1alpha1.Type.list_type:type_name -> google.api.expr.v1alpha1.Type.ListType
1435	9,  // 10: google.api.expr.v1alpha1.Type.map_type:type_name -> google.api.expr.v1alpha1.Type.MapType
1436	10, // 11: google.api.expr.v1alpha1.Type.function:type_name -> google.api.expr.v1alpha1.Type.FunctionType
1437	3,  // 12: google.api.expr.v1alpha1.Type.type:type_name -> google.api.expr.v1alpha1.Type
1438	17, // 13: google.api.expr.v1alpha1.Type.error:type_name -> google.protobuf.Empty
1439	11, // 14: google.api.expr.v1alpha1.Type.abstract_type:type_name -> google.api.expr.v1alpha1.Type.AbstractType
1440	12, // 15: google.api.expr.v1alpha1.Decl.ident:type_name -> google.api.expr.v1alpha1.Decl.IdentDecl
1441	13, // 16: google.api.expr.v1alpha1.Decl.function:type_name -> google.api.expr.v1alpha1.Decl.FunctionDecl
1442	19, // 17: google.api.expr.v1alpha1.Reference.value:type_name -> google.api.expr.v1alpha1.Constant
1443	5,  // 18: google.api.expr.v1alpha1.CheckedExpr.ReferenceMapEntry.value:type_name -> google.api.expr.v1alpha1.Reference
1444	3,  // 19: google.api.expr.v1alpha1.CheckedExpr.TypeMapEntry.value:type_name -> google.api.expr.v1alpha1.Type
1445	3,  // 20: google.api.expr.v1alpha1.Type.ListType.elem_type:type_name -> google.api.expr.v1alpha1.Type
1446	3,  // 21: google.api.expr.v1alpha1.Type.MapType.key_type:type_name -> google.api.expr.v1alpha1.Type
1447	3,  // 22: google.api.expr.v1alpha1.Type.MapType.value_type:type_name -> google.api.expr.v1alpha1.Type
1448	3,  // 23: google.api.expr.v1alpha1.Type.FunctionType.result_type:type_name -> google.api.expr.v1alpha1.Type
1449	3,  // 24: google.api.expr.v1alpha1.Type.FunctionType.arg_types:type_name -> google.api.expr.v1alpha1.Type
1450	3,  // 25: google.api.expr.v1alpha1.Type.AbstractType.parameter_types:type_name -> google.api.expr.v1alpha1.Type
1451	3,  // 26: google.api.expr.v1alpha1.Decl.IdentDecl.type:type_name -> google.api.expr.v1alpha1.Type
1452	19, // 27: google.api.expr.v1alpha1.Decl.IdentDecl.value:type_name -> google.api.expr.v1alpha1.Constant
1453	14, // 28: google.api.expr.v1alpha1.Decl.FunctionDecl.overloads:type_name -> google.api.expr.v1alpha1.Decl.FunctionDecl.Overload
1454	3,  // 29: google.api.expr.v1alpha1.Decl.FunctionDecl.Overload.params:type_name -> google.api.expr.v1alpha1.Type
1455	3,  // 30: google.api.expr.v1alpha1.Decl.FunctionDecl.Overload.result_type:type_name -> google.api.expr.v1alpha1.Type
1456	31, // [31:31] is the sub-list for method output_type
1457	31, // [31:31] is the sub-list for method input_type
1458	31, // [31:31] is the sub-list for extension type_name
1459	31, // [31:31] is the sub-list for extension extendee
1460	0,  // [0:31] is the sub-list for field type_name
1461}
1462
1463func init() { file_google_api_expr_v1alpha1_checked_proto_init() }
1464func file_google_api_expr_v1alpha1_checked_proto_init() {
1465	if File_google_api_expr_v1alpha1_checked_proto != nil {
1466		return
1467	}
1468	file_google_api_expr_v1alpha1_syntax_proto_init()
1469	if !protoimpl.UnsafeEnabled {
1470		file_google_api_expr_v1alpha1_checked_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1471			switch v := v.(*CheckedExpr); i {
1472			case 0:
1473				return &v.state
1474			case 1:
1475				return &v.sizeCache
1476			case 2:
1477				return &v.unknownFields
1478			default:
1479				return nil
1480			}
1481		}
1482		file_google_api_expr_v1alpha1_checked_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1483			switch v := v.(*Type); i {
1484			case 0:
1485				return &v.state
1486			case 1:
1487				return &v.sizeCache
1488			case 2:
1489				return &v.unknownFields
1490			default:
1491				return nil
1492			}
1493		}
1494		file_google_api_expr_v1alpha1_checked_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1495			switch v := v.(*Decl); i {
1496			case 0:
1497				return &v.state
1498			case 1:
1499				return &v.sizeCache
1500			case 2:
1501				return &v.unknownFields
1502			default:
1503				return nil
1504			}
1505		}
1506		file_google_api_expr_v1alpha1_checked_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1507			switch v := v.(*Reference); i {
1508			case 0:
1509				return &v.state
1510			case 1:
1511				return &v.sizeCache
1512			case 2:
1513				return &v.unknownFields
1514			default:
1515				return nil
1516			}
1517		}
1518		file_google_api_expr_v1alpha1_checked_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
1519			switch v := v.(*Type_ListType); i {
1520			case 0:
1521				return &v.state
1522			case 1:
1523				return &v.sizeCache
1524			case 2:
1525				return &v.unknownFields
1526			default:
1527				return nil
1528			}
1529		}
1530		file_google_api_expr_v1alpha1_checked_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
1531			switch v := v.(*Type_MapType); i {
1532			case 0:
1533				return &v.state
1534			case 1:
1535				return &v.sizeCache
1536			case 2:
1537				return &v.unknownFields
1538			default:
1539				return nil
1540			}
1541		}
1542		file_google_api_expr_v1alpha1_checked_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
1543			switch v := v.(*Type_FunctionType); i {
1544			case 0:
1545				return &v.state
1546			case 1:
1547				return &v.sizeCache
1548			case 2:
1549				return &v.unknownFields
1550			default:
1551				return nil
1552			}
1553		}
1554		file_google_api_expr_v1alpha1_checked_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
1555			switch v := v.(*Type_AbstractType); i {
1556			case 0:
1557				return &v.state
1558			case 1:
1559				return &v.sizeCache
1560			case 2:
1561				return &v.unknownFields
1562			default:
1563				return nil
1564			}
1565		}
1566		file_google_api_expr_v1alpha1_checked_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
1567			switch v := v.(*Decl_IdentDecl); i {
1568			case 0:
1569				return &v.state
1570			case 1:
1571				return &v.sizeCache
1572			case 2:
1573				return &v.unknownFields
1574			default:
1575				return nil
1576			}
1577		}
1578		file_google_api_expr_v1alpha1_checked_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
1579			switch v := v.(*Decl_FunctionDecl); i {
1580			case 0:
1581				return &v.state
1582			case 1:
1583				return &v.sizeCache
1584			case 2:
1585				return &v.unknownFields
1586			default:
1587				return nil
1588			}
1589		}
1590		file_google_api_expr_v1alpha1_checked_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
1591			switch v := v.(*Decl_FunctionDecl_Overload); i {
1592			case 0:
1593				return &v.state
1594			case 1:
1595				return &v.sizeCache
1596			case 2:
1597				return &v.unknownFields
1598			default:
1599				return nil
1600			}
1601		}
1602	}
1603	file_google_api_expr_v1alpha1_checked_proto_msgTypes[1].OneofWrappers = []interface{}{
1604		(*Type_Dyn)(nil),
1605		(*Type_Null)(nil),
1606		(*Type_Primitive)(nil),
1607		(*Type_Wrapper)(nil),
1608		(*Type_WellKnown)(nil),
1609		(*Type_ListType_)(nil),
1610		(*Type_MapType_)(nil),
1611		(*Type_Function)(nil),
1612		(*Type_MessageType)(nil),
1613		(*Type_TypeParam)(nil),
1614		(*Type_Type)(nil),
1615		(*Type_Error)(nil),
1616		(*Type_AbstractType_)(nil),
1617	}
1618	file_google_api_expr_v1alpha1_checked_proto_msgTypes[2].OneofWrappers = []interface{}{
1619		(*Decl_Ident)(nil),
1620		(*Decl_Function)(nil),
1621	}
1622	type x struct{}
1623	out := protoimpl.TypeBuilder{
1624		File: protoimpl.DescBuilder{
1625			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1626			RawDescriptor: file_google_api_expr_v1alpha1_checked_proto_rawDesc,
1627			NumEnums:      2,
1628			NumMessages:   13,
1629			NumExtensions: 0,
1630			NumServices:   0,
1631		},
1632		GoTypes:           file_google_api_expr_v1alpha1_checked_proto_goTypes,
1633		DependencyIndexes: file_google_api_expr_v1alpha1_checked_proto_depIdxs,
1634		EnumInfos:         file_google_api_expr_v1alpha1_checked_proto_enumTypes,
1635		MessageInfos:      file_google_api_expr_v1alpha1_checked_proto_msgTypes,
1636	}.Build()
1637	File_google_api_expr_v1alpha1_checked_proto = out.File
1638	file_google_api_expr_v1alpha1_checked_proto_rawDesc = nil
1639	file_google_api_expr_v1alpha1_checked_proto_goTypes = nil
1640	file_google_api_expr_v1alpha1_checked_proto_depIdxs = nil
1641}
1642