1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/api/expr/v1alpha1/checked.proto
3
4package expr
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	empty "github.com/golang/protobuf/ptypes/empty"
12	_struct "github.com/golang/protobuf/ptypes/struct"
13)
14
15// Reference imports to suppress errors if they are not otherwise used.
16var _ = proto.Marshal
17var _ = fmt.Errorf
18var _ = math.Inf
19
20// This is a compile-time assertion to ensure that this generated file
21// is compatible with the proto package it is being compiled against.
22// A compilation error at this line likely means your copy of the
23// proto package needs to be updated.
24const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
25
26// CEL primitive types.
27type Type_PrimitiveType int32
28
29const (
30	// Unspecified type.
31	Type_PRIMITIVE_TYPE_UNSPECIFIED Type_PrimitiveType = 0
32	// Boolean type.
33	Type_BOOL Type_PrimitiveType = 1
34	// Int64 type.
35	//
36	// Proto-based integer values are widened to int64.
37	Type_INT64 Type_PrimitiveType = 2
38	// Uint64 type.
39	//
40	// Proto-based unsigned integer values are widened to uint64.
41	Type_UINT64 Type_PrimitiveType = 3
42	// Double type.
43	//
44	// Proto-based float values are widened to double values.
45	Type_DOUBLE Type_PrimitiveType = 4
46	// String type.
47	Type_STRING Type_PrimitiveType = 5
48	// Bytes type.
49	Type_BYTES Type_PrimitiveType = 6
50)
51
52var Type_PrimitiveType_name = map[int32]string{
53	0: "PRIMITIVE_TYPE_UNSPECIFIED",
54	1: "BOOL",
55	2: "INT64",
56	3: "UINT64",
57	4: "DOUBLE",
58	5: "STRING",
59	6: "BYTES",
60}
61
62var Type_PrimitiveType_value = map[string]int32{
63	"PRIMITIVE_TYPE_UNSPECIFIED": 0,
64	"BOOL":                       1,
65	"INT64":                      2,
66	"UINT64":                     3,
67	"DOUBLE":                     4,
68	"STRING":                     5,
69	"BYTES":                      6,
70}
71
72func (x Type_PrimitiveType) String() string {
73	return proto.EnumName(Type_PrimitiveType_name, int32(x))
74}
75
76func (Type_PrimitiveType) EnumDescriptor() ([]byte, []int) {
77	return fileDescriptor_30a741de3e790389, []int{1, 0}
78}
79
80// Well-known protobuf types treated with first-class support in CEL.
81type Type_WellKnownType int32
82
83const (
84	// Unspecified type.
85	Type_WELL_KNOWN_TYPE_UNSPECIFIED Type_WellKnownType = 0
86	// Well-known protobuf.Any type.
87	//
88	// Any types are a polymorphic message type. During type-checking they are
89	// treated like `DYN` types, but at runtime they are resolved to a specific
90	// message type specified at evaluation time.
91	Type_ANY Type_WellKnownType = 1
92	// Well-known protobuf.Timestamp type, internally referenced as `timestamp`.
93	Type_TIMESTAMP Type_WellKnownType = 2
94	// Well-known protobuf.Duration type, internally referenced as `duration`.
95	Type_DURATION Type_WellKnownType = 3
96)
97
98var Type_WellKnownType_name = map[int32]string{
99	0: "WELL_KNOWN_TYPE_UNSPECIFIED",
100	1: "ANY",
101	2: "TIMESTAMP",
102	3: "DURATION",
103}
104
105var Type_WellKnownType_value = map[string]int32{
106	"WELL_KNOWN_TYPE_UNSPECIFIED": 0,
107	"ANY":                         1,
108	"TIMESTAMP":                   2,
109	"DURATION":                    3,
110}
111
112func (x Type_WellKnownType) String() string {
113	return proto.EnumName(Type_WellKnownType_name, int32(x))
114}
115
116func (Type_WellKnownType) EnumDescriptor() ([]byte, []int) {
117	return fileDescriptor_30a741de3e790389, []int{1, 1}
118}
119
120// A CEL expression which has been successfully type checked.
121type CheckedExpr struct {
122	// A map from expression ids to resolved references.
123	//
124	// The following entries are in this table:
125	//
126	// - An Ident or Select expression is represented here if it resolves to a
127	//   declaration. For instance, if `a.b.c` is represented by
128	//   `select(select(id(a), b), c)`, and `a.b` resolves to a declaration,
129	//   while `c` is a field selection, then the reference is attached to the
130	//   nested select expression (but not to the id or or the outer select).
131	//   In turn, if `a` resolves to a declaration and `b.c` are field selections,
132	//   the reference is attached to the ident expression.
133	// - Every Call expression has an entry here, identifying the function being
134	//   called.
135	// - Every CreateStruct expression for a message has an entry, identifying
136	//   the message.
137	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"`
138	// A map from expression ids to types.
139	//
140	// Every expression node which has a type different than DYN has a mapping
141	// here. If an expression has type DYN, it is omitted from this map to save
142	// space.
143	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"`
144	// The source info derived from input that generated the parsed `expr` and
145	// any optimizations made during the type-checking pass.
146	SourceInfo *SourceInfo `protobuf:"bytes,5,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"`
147	// The checked expression. Semantically equivalent to the parsed `expr`, but
148	// may have structural differences.
149	Expr                 *Expr    `protobuf:"bytes,4,opt,name=expr,proto3" json:"expr,omitempty"`
150	XXX_NoUnkeyedLiteral struct{} `json:"-"`
151	XXX_unrecognized     []byte   `json:"-"`
152	XXX_sizecache        int32    `json:"-"`
153}
154
155func (m *CheckedExpr) Reset()         { *m = CheckedExpr{} }
156func (m *CheckedExpr) String() string { return proto.CompactTextString(m) }
157func (*CheckedExpr) ProtoMessage()    {}
158func (*CheckedExpr) Descriptor() ([]byte, []int) {
159	return fileDescriptor_30a741de3e790389, []int{0}
160}
161
162func (m *CheckedExpr) XXX_Unmarshal(b []byte) error {
163	return xxx_messageInfo_CheckedExpr.Unmarshal(m, b)
164}
165func (m *CheckedExpr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
166	return xxx_messageInfo_CheckedExpr.Marshal(b, m, deterministic)
167}
168func (m *CheckedExpr) XXX_Merge(src proto.Message) {
169	xxx_messageInfo_CheckedExpr.Merge(m, src)
170}
171func (m *CheckedExpr) XXX_Size() int {
172	return xxx_messageInfo_CheckedExpr.Size(m)
173}
174func (m *CheckedExpr) XXX_DiscardUnknown() {
175	xxx_messageInfo_CheckedExpr.DiscardUnknown(m)
176}
177
178var xxx_messageInfo_CheckedExpr proto.InternalMessageInfo
179
180func (m *CheckedExpr) GetReferenceMap() map[int64]*Reference {
181	if m != nil {
182		return m.ReferenceMap
183	}
184	return nil
185}
186
187func (m *CheckedExpr) GetTypeMap() map[int64]*Type {
188	if m != nil {
189		return m.TypeMap
190	}
191	return nil
192}
193
194func (m *CheckedExpr) GetSourceInfo() *SourceInfo {
195	if m != nil {
196		return m.SourceInfo
197	}
198	return nil
199}
200
201func (m *CheckedExpr) GetExpr() *Expr {
202	if m != nil {
203		return m.Expr
204	}
205	return nil
206}
207
208// Represents a CEL type.
209type Type struct {
210	// The kind of type.
211	//
212	// Types that are valid to be assigned to TypeKind:
213	//	*Type_Dyn
214	//	*Type_Null
215	//	*Type_Primitive
216	//	*Type_Wrapper
217	//	*Type_WellKnown
218	//	*Type_ListType_
219	//	*Type_MapType_
220	//	*Type_Function
221	//	*Type_MessageType
222	//	*Type_TypeParam
223	//	*Type_Type
224	//	*Type_Error
225	//	*Type_AbstractType_
226	TypeKind             isType_TypeKind `protobuf_oneof:"type_kind"`
227	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
228	XXX_unrecognized     []byte          `json:"-"`
229	XXX_sizecache        int32           `json:"-"`
230}
231
232func (m *Type) Reset()         { *m = Type{} }
233func (m *Type) String() string { return proto.CompactTextString(m) }
234func (*Type) ProtoMessage()    {}
235func (*Type) Descriptor() ([]byte, []int) {
236	return fileDescriptor_30a741de3e790389, []int{1}
237}
238
239func (m *Type) XXX_Unmarshal(b []byte) error {
240	return xxx_messageInfo_Type.Unmarshal(m, b)
241}
242func (m *Type) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
243	return xxx_messageInfo_Type.Marshal(b, m, deterministic)
244}
245func (m *Type) XXX_Merge(src proto.Message) {
246	xxx_messageInfo_Type.Merge(m, src)
247}
248func (m *Type) XXX_Size() int {
249	return xxx_messageInfo_Type.Size(m)
250}
251func (m *Type) XXX_DiscardUnknown() {
252	xxx_messageInfo_Type.DiscardUnknown(m)
253}
254
255var xxx_messageInfo_Type proto.InternalMessageInfo
256
257type isType_TypeKind interface {
258	isType_TypeKind()
259}
260
261type Type_Dyn struct {
262	Dyn *empty.Empty `protobuf:"bytes,1,opt,name=dyn,proto3,oneof"`
263}
264
265type Type_Null struct {
266	Null _struct.NullValue `protobuf:"varint,2,opt,name=null,proto3,enum=google.protobuf.NullValue,oneof"`
267}
268
269type Type_Primitive struct {
270	Primitive Type_PrimitiveType `protobuf:"varint,3,opt,name=primitive,proto3,enum=google.api.expr.v1alpha1.Type_PrimitiveType,oneof"`
271}
272
273type Type_Wrapper struct {
274	Wrapper Type_PrimitiveType `protobuf:"varint,4,opt,name=wrapper,proto3,enum=google.api.expr.v1alpha1.Type_PrimitiveType,oneof"`
275}
276
277type Type_WellKnown struct {
278	WellKnown Type_WellKnownType `protobuf:"varint,5,opt,name=well_known,json=wellKnown,proto3,enum=google.api.expr.v1alpha1.Type_WellKnownType,oneof"`
279}
280
281type Type_ListType_ struct {
282	ListType *Type_ListType `protobuf:"bytes,6,opt,name=list_type,json=listType,proto3,oneof"`
283}
284
285type Type_MapType_ struct {
286	MapType *Type_MapType `protobuf:"bytes,7,opt,name=map_type,json=mapType,proto3,oneof"`
287}
288
289type Type_Function struct {
290	Function *Type_FunctionType `protobuf:"bytes,8,opt,name=function,proto3,oneof"`
291}
292
293type Type_MessageType struct {
294	MessageType string `protobuf:"bytes,9,opt,name=message_type,json=messageType,proto3,oneof"`
295}
296
297type Type_TypeParam struct {
298	TypeParam string `protobuf:"bytes,10,opt,name=type_param,json=typeParam,proto3,oneof"`
299}
300
301type Type_Type struct {
302	Type *Type `protobuf:"bytes,11,opt,name=type,proto3,oneof"`
303}
304
305type Type_Error struct {
306	Error *empty.Empty `protobuf:"bytes,12,opt,name=error,proto3,oneof"`
307}
308
309type Type_AbstractType_ struct {
310	AbstractType *Type_AbstractType `protobuf:"bytes,14,opt,name=abstract_type,json=abstractType,proto3,oneof"`
311}
312
313func (*Type_Dyn) isType_TypeKind() {}
314
315func (*Type_Null) isType_TypeKind() {}
316
317func (*Type_Primitive) isType_TypeKind() {}
318
319func (*Type_Wrapper) isType_TypeKind() {}
320
321func (*Type_WellKnown) isType_TypeKind() {}
322
323func (*Type_ListType_) isType_TypeKind() {}
324
325func (*Type_MapType_) isType_TypeKind() {}
326
327func (*Type_Function) isType_TypeKind() {}
328
329func (*Type_MessageType) isType_TypeKind() {}
330
331func (*Type_TypeParam) isType_TypeKind() {}
332
333func (*Type_Type) isType_TypeKind() {}
334
335func (*Type_Error) isType_TypeKind() {}
336
337func (*Type_AbstractType_) isType_TypeKind() {}
338
339func (m *Type) GetTypeKind() isType_TypeKind {
340	if m != nil {
341		return m.TypeKind
342	}
343	return nil
344}
345
346func (m *Type) GetDyn() *empty.Empty {
347	if x, ok := m.GetTypeKind().(*Type_Dyn); ok {
348		return x.Dyn
349	}
350	return nil
351}
352
353func (m *Type) GetNull() _struct.NullValue {
354	if x, ok := m.GetTypeKind().(*Type_Null); ok {
355		return x.Null
356	}
357	return _struct.NullValue_NULL_VALUE
358}
359
360func (m *Type) GetPrimitive() Type_PrimitiveType {
361	if x, ok := m.GetTypeKind().(*Type_Primitive); ok {
362		return x.Primitive
363	}
364	return Type_PRIMITIVE_TYPE_UNSPECIFIED
365}
366
367func (m *Type) GetWrapper() Type_PrimitiveType {
368	if x, ok := m.GetTypeKind().(*Type_Wrapper); ok {
369		return x.Wrapper
370	}
371	return Type_PRIMITIVE_TYPE_UNSPECIFIED
372}
373
374func (m *Type) GetWellKnown() Type_WellKnownType {
375	if x, ok := m.GetTypeKind().(*Type_WellKnown); ok {
376		return x.WellKnown
377	}
378	return Type_WELL_KNOWN_TYPE_UNSPECIFIED
379}
380
381func (m *Type) GetListType() *Type_ListType {
382	if x, ok := m.GetTypeKind().(*Type_ListType_); ok {
383		return x.ListType
384	}
385	return nil
386}
387
388func (m *Type) GetMapType() *Type_MapType {
389	if x, ok := m.GetTypeKind().(*Type_MapType_); ok {
390		return x.MapType
391	}
392	return nil
393}
394
395func (m *Type) GetFunction() *Type_FunctionType {
396	if x, ok := m.GetTypeKind().(*Type_Function); ok {
397		return x.Function
398	}
399	return nil
400}
401
402func (m *Type) GetMessageType() string {
403	if x, ok := m.GetTypeKind().(*Type_MessageType); ok {
404		return x.MessageType
405	}
406	return ""
407}
408
409func (m *Type) GetTypeParam() string {
410	if x, ok := m.GetTypeKind().(*Type_TypeParam); ok {
411		return x.TypeParam
412	}
413	return ""
414}
415
416func (m *Type) GetType() *Type {
417	if x, ok := m.GetTypeKind().(*Type_Type); ok {
418		return x.Type
419	}
420	return nil
421}
422
423func (m *Type) GetError() *empty.Empty {
424	if x, ok := m.GetTypeKind().(*Type_Error); ok {
425		return x.Error
426	}
427	return nil
428}
429
430func (m *Type) GetAbstractType() *Type_AbstractType {
431	if x, ok := m.GetTypeKind().(*Type_AbstractType_); ok {
432		return x.AbstractType
433	}
434	return nil
435}
436
437// XXX_OneofWrappers is for the internal use of the proto package.
438func (*Type) XXX_OneofWrappers() []interface{} {
439	return []interface{}{
440		(*Type_Dyn)(nil),
441		(*Type_Null)(nil),
442		(*Type_Primitive)(nil),
443		(*Type_Wrapper)(nil),
444		(*Type_WellKnown)(nil),
445		(*Type_ListType_)(nil),
446		(*Type_MapType_)(nil),
447		(*Type_Function)(nil),
448		(*Type_MessageType)(nil),
449		(*Type_TypeParam)(nil),
450		(*Type_Type)(nil),
451		(*Type_Error)(nil),
452		(*Type_AbstractType_)(nil),
453	}
454}
455
456// List type with typed elements, e.g. `list<example.proto.MyMessage>`.
457type Type_ListType struct {
458	// The element type.
459	ElemType             *Type    `protobuf:"bytes,1,opt,name=elem_type,json=elemType,proto3" json:"elem_type,omitempty"`
460	XXX_NoUnkeyedLiteral struct{} `json:"-"`
461	XXX_unrecognized     []byte   `json:"-"`
462	XXX_sizecache        int32    `json:"-"`
463}
464
465func (m *Type_ListType) Reset()         { *m = Type_ListType{} }
466func (m *Type_ListType) String() string { return proto.CompactTextString(m) }
467func (*Type_ListType) ProtoMessage()    {}
468func (*Type_ListType) Descriptor() ([]byte, []int) {
469	return fileDescriptor_30a741de3e790389, []int{1, 0}
470}
471
472func (m *Type_ListType) XXX_Unmarshal(b []byte) error {
473	return xxx_messageInfo_Type_ListType.Unmarshal(m, b)
474}
475func (m *Type_ListType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
476	return xxx_messageInfo_Type_ListType.Marshal(b, m, deterministic)
477}
478func (m *Type_ListType) XXX_Merge(src proto.Message) {
479	xxx_messageInfo_Type_ListType.Merge(m, src)
480}
481func (m *Type_ListType) XXX_Size() int {
482	return xxx_messageInfo_Type_ListType.Size(m)
483}
484func (m *Type_ListType) XXX_DiscardUnknown() {
485	xxx_messageInfo_Type_ListType.DiscardUnknown(m)
486}
487
488var xxx_messageInfo_Type_ListType proto.InternalMessageInfo
489
490func (m *Type_ListType) GetElemType() *Type {
491	if m != nil {
492		return m.ElemType
493	}
494	return nil
495}
496
497// Map type with parameterized key and value types, e.g. `map<string, int>`.
498type Type_MapType struct {
499	// The type of the key.
500	KeyType *Type `protobuf:"bytes,1,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty"`
501	// The type of the value.
502	ValueType            *Type    `protobuf:"bytes,2,opt,name=value_type,json=valueType,proto3" json:"value_type,omitempty"`
503	XXX_NoUnkeyedLiteral struct{} `json:"-"`
504	XXX_unrecognized     []byte   `json:"-"`
505	XXX_sizecache        int32    `json:"-"`
506}
507
508func (m *Type_MapType) Reset()         { *m = Type_MapType{} }
509func (m *Type_MapType) String() string { return proto.CompactTextString(m) }
510func (*Type_MapType) ProtoMessage()    {}
511func (*Type_MapType) Descriptor() ([]byte, []int) {
512	return fileDescriptor_30a741de3e790389, []int{1, 1}
513}
514
515func (m *Type_MapType) XXX_Unmarshal(b []byte) error {
516	return xxx_messageInfo_Type_MapType.Unmarshal(m, b)
517}
518func (m *Type_MapType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
519	return xxx_messageInfo_Type_MapType.Marshal(b, m, deterministic)
520}
521func (m *Type_MapType) XXX_Merge(src proto.Message) {
522	xxx_messageInfo_Type_MapType.Merge(m, src)
523}
524func (m *Type_MapType) XXX_Size() int {
525	return xxx_messageInfo_Type_MapType.Size(m)
526}
527func (m *Type_MapType) XXX_DiscardUnknown() {
528	xxx_messageInfo_Type_MapType.DiscardUnknown(m)
529}
530
531var xxx_messageInfo_Type_MapType proto.InternalMessageInfo
532
533func (m *Type_MapType) GetKeyType() *Type {
534	if m != nil {
535		return m.KeyType
536	}
537	return nil
538}
539
540func (m *Type_MapType) GetValueType() *Type {
541	if m != nil {
542		return m.ValueType
543	}
544	return nil
545}
546
547// Function type with result and arg types.
548type Type_FunctionType struct {
549	// Result type of the function.
550	ResultType *Type `protobuf:"bytes,1,opt,name=result_type,json=resultType,proto3" json:"result_type,omitempty"`
551	// Argument types of the function.
552	ArgTypes             []*Type  `protobuf:"bytes,2,rep,name=arg_types,json=argTypes,proto3" json:"arg_types,omitempty"`
553	XXX_NoUnkeyedLiteral struct{} `json:"-"`
554	XXX_unrecognized     []byte   `json:"-"`
555	XXX_sizecache        int32    `json:"-"`
556}
557
558func (m *Type_FunctionType) Reset()         { *m = Type_FunctionType{} }
559func (m *Type_FunctionType) String() string { return proto.CompactTextString(m) }
560func (*Type_FunctionType) ProtoMessage()    {}
561func (*Type_FunctionType) Descriptor() ([]byte, []int) {
562	return fileDescriptor_30a741de3e790389, []int{1, 2}
563}
564
565func (m *Type_FunctionType) XXX_Unmarshal(b []byte) error {
566	return xxx_messageInfo_Type_FunctionType.Unmarshal(m, b)
567}
568func (m *Type_FunctionType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
569	return xxx_messageInfo_Type_FunctionType.Marshal(b, m, deterministic)
570}
571func (m *Type_FunctionType) XXX_Merge(src proto.Message) {
572	xxx_messageInfo_Type_FunctionType.Merge(m, src)
573}
574func (m *Type_FunctionType) XXX_Size() int {
575	return xxx_messageInfo_Type_FunctionType.Size(m)
576}
577func (m *Type_FunctionType) XXX_DiscardUnknown() {
578	xxx_messageInfo_Type_FunctionType.DiscardUnknown(m)
579}
580
581var xxx_messageInfo_Type_FunctionType proto.InternalMessageInfo
582
583func (m *Type_FunctionType) GetResultType() *Type {
584	if m != nil {
585		return m.ResultType
586	}
587	return nil
588}
589
590func (m *Type_FunctionType) GetArgTypes() []*Type {
591	if m != nil {
592		return m.ArgTypes
593	}
594	return nil
595}
596
597// Application defined abstract type.
598type Type_AbstractType struct {
599	// The fully qualified name of this abstract type.
600	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
601	// Parameter types for this abstract type.
602	ParameterTypes       []*Type  `protobuf:"bytes,2,rep,name=parameter_types,json=parameterTypes,proto3" json:"parameter_types,omitempty"`
603	XXX_NoUnkeyedLiteral struct{} `json:"-"`
604	XXX_unrecognized     []byte   `json:"-"`
605	XXX_sizecache        int32    `json:"-"`
606}
607
608func (m *Type_AbstractType) Reset()         { *m = Type_AbstractType{} }
609func (m *Type_AbstractType) String() string { return proto.CompactTextString(m) }
610func (*Type_AbstractType) ProtoMessage()    {}
611func (*Type_AbstractType) Descriptor() ([]byte, []int) {
612	return fileDescriptor_30a741de3e790389, []int{1, 3}
613}
614
615func (m *Type_AbstractType) XXX_Unmarshal(b []byte) error {
616	return xxx_messageInfo_Type_AbstractType.Unmarshal(m, b)
617}
618func (m *Type_AbstractType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
619	return xxx_messageInfo_Type_AbstractType.Marshal(b, m, deterministic)
620}
621func (m *Type_AbstractType) XXX_Merge(src proto.Message) {
622	xxx_messageInfo_Type_AbstractType.Merge(m, src)
623}
624func (m *Type_AbstractType) XXX_Size() int {
625	return xxx_messageInfo_Type_AbstractType.Size(m)
626}
627func (m *Type_AbstractType) XXX_DiscardUnknown() {
628	xxx_messageInfo_Type_AbstractType.DiscardUnknown(m)
629}
630
631var xxx_messageInfo_Type_AbstractType proto.InternalMessageInfo
632
633func (m *Type_AbstractType) GetName() string {
634	if m != nil {
635		return m.Name
636	}
637	return ""
638}
639
640func (m *Type_AbstractType) GetParameterTypes() []*Type {
641	if m != nil {
642		return m.ParameterTypes
643	}
644	return nil
645}
646
647// Represents a declaration of a named value or function.
648//
649// A declaration is part of the contract between the expression, the agent
650// evaluating that expression, and the caller requesting evaluation.
651type Decl struct {
652	// The fully qualified name of the declaration.
653	//
654	// Declarations are organized in containers and this represents the full path
655	// to the declaration in its container, as in `google.api.expr.Decl`.
656	//
657	// Declarations used as [FunctionDecl.Overload][google.api.expr.v1alpha1.Decl.FunctionDecl.Overload] parameters may or may not
658	// have a name depending on whether the overload is function declaration or a
659	// function definition containing a result [Expr][google.api.expr.v1alpha1.Expr].
660	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
661	// Required. The declaration kind.
662	//
663	// Types that are valid to be assigned to DeclKind:
664	//	*Decl_Ident
665	//	*Decl_Function
666	DeclKind             isDecl_DeclKind `protobuf_oneof:"decl_kind"`
667	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
668	XXX_unrecognized     []byte          `json:"-"`
669	XXX_sizecache        int32           `json:"-"`
670}
671
672func (m *Decl) Reset()         { *m = Decl{} }
673func (m *Decl) String() string { return proto.CompactTextString(m) }
674func (*Decl) ProtoMessage()    {}
675func (*Decl) Descriptor() ([]byte, []int) {
676	return fileDescriptor_30a741de3e790389, []int{2}
677}
678
679func (m *Decl) XXX_Unmarshal(b []byte) error {
680	return xxx_messageInfo_Decl.Unmarshal(m, b)
681}
682func (m *Decl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
683	return xxx_messageInfo_Decl.Marshal(b, m, deterministic)
684}
685func (m *Decl) XXX_Merge(src proto.Message) {
686	xxx_messageInfo_Decl.Merge(m, src)
687}
688func (m *Decl) XXX_Size() int {
689	return xxx_messageInfo_Decl.Size(m)
690}
691func (m *Decl) XXX_DiscardUnknown() {
692	xxx_messageInfo_Decl.DiscardUnknown(m)
693}
694
695var xxx_messageInfo_Decl proto.InternalMessageInfo
696
697func (m *Decl) GetName() string {
698	if m != nil {
699		return m.Name
700	}
701	return ""
702}
703
704type isDecl_DeclKind interface {
705	isDecl_DeclKind()
706}
707
708type Decl_Ident struct {
709	Ident *Decl_IdentDecl `protobuf:"bytes,2,opt,name=ident,proto3,oneof"`
710}
711
712type Decl_Function struct {
713	Function *Decl_FunctionDecl `protobuf:"bytes,3,opt,name=function,proto3,oneof"`
714}
715
716func (*Decl_Ident) isDecl_DeclKind() {}
717
718func (*Decl_Function) isDecl_DeclKind() {}
719
720func (m *Decl) GetDeclKind() isDecl_DeclKind {
721	if m != nil {
722		return m.DeclKind
723	}
724	return nil
725}
726
727func (m *Decl) GetIdent() *Decl_IdentDecl {
728	if x, ok := m.GetDeclKind().(*Decl_Ident); ok {
729		return x.Ident
730	}
731	return nil
732}
733
734func (m *Decl) GetFunction() *Decl_FunctionDecl {
735	if x, ok := m.GetDeclKind().(*Decl_Function); ok {
736		return x.Function
737	}
738	return nil
739}
740
741// XXX_OneofWrappers is for the internal use of the proto package.
742func (*Decl) XXX_OneofWrappers() []interface{} {
743	return []interface{}{
744		(*Decl_Ident)(nil),
745		(*Decl_Function)(nil),
746	}
747}
748
749// Identifier declaration which specifies its type and optional `Expr` value.
750//
751// An identifier without a value is a declaration that must be provided at
752// evaluation time. An identifier with a value should resolve to a constant,
753// but may be used in conjunction with other identifiers bound at evaluation
754// time.
755type Decl_IdentDecl struct {
756	// Required. The type of the identifier.
757	Type *Type `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
758	// The constant value of the identifier. If not specified, the identifier
759	// must be supplied at evaluation time.
760	Value *Constant `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
761	// Documentation string for the identifier.
762	Doc                  string   `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"`
763	XXX_NoUnkeyedLiteral struct{} `json:"-"`
764	XXX_unrecognized     []byte   `json:"-"`
765	XXX_sizecache        int32    `json:"-"`
766}
767
768func (m *Decl_IdentDecl) Reset()         { *m = Decl_IdentDecl{} }
769func (m *Decl_IdentDecl) String() string { return proto.CompactTextString(m) }
770func (*Decl_IdentDecl) ProtoMessage()    {}
771func (*Decl_IdentDecl) Descriptor() ([]byte, []int) {
772	return fileDescriptor_30a741de3e790389, []int{2, 0}
773}
774
775func (m *Decl_IdentDecl) XXX_Unmarshal(b []byte) error {
776	return xxx_messageInfo_Decl_IdentDecl.Unmarshal(m, b)
777}
778func (m *Decl_IdentDecl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
779	return xxx_messageInfo_Decl_IdentDecl.Marshal(b, m, deterministic)
780}
781func (m *Decl_IdentDecl) XXX_Merge(src proto.Message) {
782	xxx_messageInfo_Decl_IdentDecl.Merge(m, src)
783}
784func (m *Decl_IdentDecl) XXX_Size() int {
785	return xxx_messageInfo_Decl_IdentDecl.Size(m)
786}
787func (m *Decl_IdentDecl) XXX_DiscardUnknown() {
788	xxx_messageInfo_Decl_IdentDecl.DiscardUnknown(m)
789}
790
791var xxx_messageInfo_Decl_IdentDecl proto.InternalMessageInfo
792
793func (m *Decl_IdentDecl) GetType() *Type {
794	if m != nil {
795		return m.Type
796	}
797	return nil
798}
799
800func (m *Decl_IdentDecl) GetValue() *Constant {
801	if m != nil {
802		return m.Value
803	}
804	return nil
805}
806
807func (m *Decl_IdentDecl) GetDoc() string {
808	if m != nil {
809		return m.Doc
810	}
811	return ""
812}
813
814// Function declaration specifies one or more overloads which indicate the
815// function's parameter types and return type, and may optionally specify a
816// function definition in terms of CEL expressions.
817//
818// Functions have no observable side-effects (there may be side-effects like
819// logging which are not observable from CEL).
820type Decl_FunctionDecl struct {
821	// Required. List of function overloads, must contain at least one overload.
822	Overloads            []*Decl_FunctionDecl_Overload `protobuf:"bytes,1,rep,name=overloads,proto3" json:"overloads,omitempty"`
823	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
824	XXX_unrecognized     []byte                        `json:"-"`
825	XXX_sizecache        int32                         `json:"-"`
826}
827
828func (m *Decl_FunctionDecl) Reset()         { *m = Decl_FunctionDecl{} }
829func (m *Decl_FunctionDecl) String() string { return proto.CompactTextString(m) }
830func (*Decl_FunctionDecl) ProtoMessage()    {}
831func (*Decl_FunctionDecl) Descriptor() ([]byte, []int) {
832	return fileDescriptor_30a741de3e790389, []int{2, 1}
833}
834
835func (m *Decl_FunctionDecl) XXX_Unmarshal(b []byte) error {
836	return xxx_messageInfo_Decl_FunctionDecl.Unmarshal(m, b)
837}
838func (m *Decl_FunctionDecl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
839	return xxx_messageInfo_Decl_FunctionDecl.Marshal(b, m, deterministic)
840}
841func (m *Decl_FunctionDecl) XXX_Merge(src proto.Message) {
842	xxx_messageInfo_Decl_FunctionDecl.Merge(m, src)
843}
844func (m *Decl_FunctionDecl) XXX_Size() int {
845	return xxx_messageInfo_Decl_FunctionDecl.Size(m)
846}
847func (m *Decl_FunctionDecl) XXX_DiscardUnknown() {
848	xxx_messageInfo_Decl_FunctionDecl.DiscardUnknown(m)
849}
850
851var xxx_messageInfo_Decl_FunctionDecl proto.InternalMessageInfo
852
853func (m *Decl_FunctionDecl) GetOverloads() []*Decl_FunctionDecl_Overload {
854	if m != nil {
855		return m.Overloads
856	}
857	return nil
858}
859
860// An overload indicates a function's parameter types and return type, and
861// may optionally include a function body described in terms of [Expr][google.api.expr.v1alpha1.Expr]
862// values.
863//
864// Functions overloads are declared in either a function or method
865// call-style. For methods, the `params[0]` is the expected type of the
866// target receiver.
867//
868// Overloads must have non-overlapping argument types after erasure of all
869// parameterized type variables (similar as type erasure in Java).
870type Decl_FunctionDecl_Overload struct {
871	// Required. Globally unique overload name of the function which reflects
872	// the function name and argument types.
873	//
874	// This will be used by a [Reference][google.api.expr.v1alpha1.Reference] to indicate the `overload_id` that
875	// was resolved for the function `name`.
876	OverloadId string `protobuf:"bytes,1,opt,name=overload_id,json=overloadId,proto3" json:"overload_id,omitempty"`
877	// List of function parameter [Type][google.api.expr.v1alpha1.Type] values.
878	//
879	// Param types are disjoint after generic type parameters have been
880	// replaced with the type `DYN`. Since the `DYN` type is compatible with
881	// any other type, this means that if `A` is a type parameter, the
882	// function types `int<A>` and `int<int>` are not disjoint. Likewise,
883	// `map<string, string>` is not disjoint from `map<K, V>`.
884	//
885	// When the `result_type` of a function is a generic type param, the
886	// type param name also appears as the `type` of on at least one params.
887	Params []*Type `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"`
888	// The type param names associated with the function declaration.
889	//
890	// For example, `function ex<K,V>(K key, map<K, V> map) : V` would yield
891	// the type params of `K, V`.
892	TypeParams []string `protobuf:"bytes,3,rep,name=type_params,json=typeParams,proto3" json:"type_params,omitempty"`
893	// Required. The result type of the function. For example, the operator
894	// `string.isEmpty()` would have `result_type` of `kind: BOOL`.
895	ResultType *Type `protobuf:"bytes,4,opt,name=result_type,json=resultType,proto3" json:"result_type,omitempty"`
896	// Whether the function is to be used in a method call-style `x.f(...)`
897	// of a function call-style `f(x, ...)`.
898	//
899	// For methods, the first parameter declaration, `params[0]` is the
900	// expected type of the target receiver.
901	IsInstanceFunction bool `protobuf:"varint,5,opt,name=is_instance_function,json=isInstanceFunction,proto3" json:"is_instance_function,omitempty"`
902	// Documentation string for the overload.
903	Doc                  string   `protobuf:"bytes,6,opt,name=doc,proto3" json:"doc,omitempty"`
904	XXX_NoUnkeyedLiteral struct{} `json:"-"`
905	XXX_unrecognized     []byte   `json:"-"`
906	XXX_sizecache        int32    `json:"-"`
907}
908
909func (m *Decl_FunctionDecl_Overload) Reset()         { *m = Decl_FunctionDecl_Overload{} }
910func (m *Decl_FunctionDecl_Overload) String() string { return proto.CompactTextString(m) }
911func (*Decl_FunctionDecl_Overload) ProtoMessage()    {}
912func (*Decl_FunctionDecl_Overload) Descriptor() ([]byte, []int) {
913	return fileDescriptor_30a741de3e790389, []int{2, 1, 0}
914}
915
916func (m *Decl_FunctionDecl_Overload) XXX_Unmarshal(b []byte) error {
917	return xxx_messageInfo_Decl_FunctionDecl_Overload.Unmarshal(m, b)
918}
919func (m *Decl_FunctionDecl_Overload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
920	return xxx_messageInfo_Decl_FunctionDecl_Overload.Marshal(b, m, deterministic)
921}
922func (m *Decl_FunctionDecl_Overload) XXX_Merge(src proto.Message) {
923	xxx_messageInfo_Decl_FunctionDecl_Overload.Merge(m, src)
924}
925func (m *Decl_FunctionDecl_Overload) XXX_Size() int {
926	return xxx_messageInfo_Decl_FunctionDecl_Overload.Size(m)
927}
928func (m *Decl_FunctionDecl_Overload) XXX_DiscardUnknown() {
929	xxx_messageInfo_Decl_FunctionDecl_Overload.DiscardUnknown(m)
930}
931
932var xxx_messageInfo_Decl_FunctionDecl_Overload proto.InternalMessageInfo
933
934func (m *Decl_FunctionDecl_Overload) GetOverloadId() string {
935	if m != nil {
936		return m.OverloadId
937	}
938	return ""
939}
940
941func (m *Decl_FunctionDecl_Overload) GetParams() []*Type {
942	if m != nil {
943		return m.Params
944	}
945	return nil
946}
947
948func (m *Decl_FunctionDecl_Overload) GetTypeParams() []string {
949	if m != nil {
950		return m.TypeParams
951	}
952	return nil
953}
954
955func (m *Decl_FunctionDecl_Overload) GetResultType() *Type {
956	if m != nil {
957		return m.ResultType
958	}
959	return nil
960}
961
962func (m *Decl_FunctionDecl_Overload) GetIsInstanceFunction() bool {
963	if m != nil {
964		return m.IsInstanceFunction
965	}
966	return false
967}
968
969func (m *Decl_FunctionDecl_Overload) GetDoc() string {
970	if m != nil {
971		return m.Doc
972	}
973	return ""
974}
975
976// Describes a resolved reference to a declaration.
977type Reference struct {
978	// The fully qualified name of the declaration.
979	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
980	// For references to functions, this is a list of `Overload.overload_id`
981	// values which match according to typing rules.
982	//
983	// If the list has more than one element, overload resolution among the
984	// presented candidates must happen at runtime because of dynamic types. The
985	// type checker attempts to narrow down this list as much as possible.
986	//
987	// Empty if this is not a reference to a [Decl.FunctionDecl][google.api.expr.v1alpha1.Decl.FunctionDecl].
988	OverloadId []string `protobuf:"bytes,3,rep,name=overload_id,json=overloadId,proto3" json:"overload_id,omitempty"`
989	// For references to constants, this may contain the value of the
990	// constant if known at compile time.
991	Value                *Constant `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
992	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
993	XXX_unrecognized     []byte    `json:"-"`
994	XXX_sizecache        int32     `json:"-"`
995}
996
997func (m *Reference) Reset()         { *m = Reference{} }
998func (m *Reference) String() string { return proto.CompactTextString(m) }
999func (*Reference) ProtoMessage()    {}
1000func (*Reference) Descriptor() ([]byte, []int) {
1001	return fileDescriptor_30a741de3e790389, []int{3}
1002}
1003
1004func (m *Reference) XXX_Unmarshal(b []byte) error {
1005	return xxx_messageInfo_Reference.Unmarshal(m, b)
1006}
1007func (m *Reference) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1008	return xxx_messageInfo_Reference.Marshal(b, m, deterministic)
1009}
1010func (m *Reference) XXX_Merge(src proto.Message) {
1011	xxx_messageInfo_Reference.Merge(m, src)
1012}
1013func (m *Reference) XXX_Size() int {
1014	return xxx_messageInfo_Reference.Size(m)
1015}
1016func (m *Reference) XXX_DiscardUnknown() {
1017	xxx_messageInfo_Reference.DiscardUnknown(m)
1018}
1019
1020var xxx_messageInfo_Reference proto.InternalMessageInfo
1021
1022func (m *Reference) GetName() string {
1023	if m != nil {
1024		return m.Name
1025	}
1026	return ""
1027}
1028
1029func (m *Reference) GetOverloadId() []string {
1030	if m != nil {
1031		return m.OverloadId
1032	}
1033	return nil
1034}
1035
1036func (m *Reference) GetValue() *Constant {
1037	if m != nil {
1038		return m.Value
1039	}
1040	return nil
1041}
1042
1043func init() {
1044	proto.RegisterEnum("google.api.expr.v1alpha1.Type_PrimitiveType", Type_PrimitiveType_name, Type_PrimitiveType_value)
1045	proto.RegisterEnum("google.api.expr.v1alpha1.Type_WellKnownType", Type_WellKnownType_name, Type_WellKnownType_value)
1046	proto.RegisterType((*CheckedExpr)(nil), "google.api.expr.v1alpha1.CheckedExpr")
1047	proto.RegisterMapType((map[int64]*Reference)(nil), "google.api.expr.v1alpha1.CheckedExpr.ReferenceMapEntry")
1048	proto.RegisterMapType((map[int64]*Type)(nil), "google.api.expr.v1alpha1.CheckedExpr.TypeMapEntry")
1049	proto.RegisterType((*Type)(nil), "google.api.expr.v1alpha1.Type")
1050	proto.RegisterType((*Type_ListType)(nil), "google.api.expr.v1alpha1.Type.ListType")
1051	proto.RegisterType((*Type_MapType)(nil), "google.api.expr.v1alpha1.Type.MapType")
1052	proto.RegisterType((*Type_FunctionType)(nil), "google.api.expr.v1alpha1.Type.FunctionType")
1053	proto.RegisterType((*Type_AbstractType)(nil), "google.api.expr.v1alpha1.Type.AbstractType")
1054	proto.RegisterType((*Decl)(nil), "google.api.expr.v1alpha1.Decl")
1055	proto.RegisterType((*Decl_IdentDecl)(nil), "google.api.expr.v1alpha1.Decl.IdentDecl")
1056	proto.RegisterType((*Decl_FunctionDecl)(nil), "google.api.expr.v1alpha1.Decl.FunctionDecl")
1057	proto.RegisterType((*Decl_FunctionDecl_Overload)(nil), "google.api.expr.v1alpha1.Decl.FunctionDecl.Overload")
1058	proto.RegisterType((*Reference)(nil), "google.api.expr.v1alpha1.Reference")
1059}
1060
1061func init() {
1062	proto.RegisterFile("google/api/expr/v1alpha1/checked.proto", fileDescriptor_30a741de3e790389)
1063}
1064
1065var fileDescriptor_30a741de3e790389 = []byte{
1066	// 1144 bytes of a gzipped FileDescriptorProto
1067	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x5f, 0x6f, 0xdb, 0xb6,
1068	0x17, 0x8d, 0x6c, 0xd9, 0x96, 0xae, 0x9c, 0xfe, 0xfc, 0x23, 0x86, 0x41, 0x50, 0x8b, 0x36, 0x70,
1069	0xb7, 0x2e, 0xd8, 0x06, 0xb9, 0xf5, 0x82, 0xae, 0x5d, 0x37, 0x6c, 0x71, 0xa2, 0x24, 0x42, 0xfd,
1070	0x0f, 0x8a, 0x93, 0x20, 0xc5, 0x00, 0x81, 0x91, 0x19, 0x57, 0xb0, 0x2c, 0x09, 0x94, 0x9c, 0xc4,
1071	0x7b, 0xdd, 0xd3, 0xb0, 0x7d, 0x9b, 0x7d, 0x89, 0x7d, 0x9a, 0xbd, 0x6e, 0x8f, 0x03, 0x29, 0xc9,
1072	0x71, 0xfe, 0x38, 0xb6, 0xdf, 0xae, 0xc8, 0x73, 0x0e, 0x2f, 0x2f, 0xcf, 0x25, 0x05, 0x2f, 0x06,
1073	0x41, 0x30, 0xf0, 0x48, 0x0d, 0x87, 0x6e, 0x8d, 0x5c, 0x85, 0xb4, 0x76, 0xf1, 0x0a, 0x7b, 0xe1,
1074	0x47, 0xfc, 0xaa, 0xe6, 0x7c, 0x24, 0xce, 0x90, 0xf4, 0xf5, 0x90, 0x06, 0x71, 0x80, 0xd4, 0x04,
1075	0xa7, 0xe3, 0xd0, 0xd5, 0x19, 0x4e, 0xcf, 0x70, 0xda, 0xe7, 0x73, 0x15, 0xa2, 0x89, 0x1f, 0xe3,
1076	0xab, 0x44, 0x40, 0x7b, 0x9c, 0xc2, 0xf8, 0xd7, 0xd9, 0xf8, 0xbc, 0x46, 0x46, 0x61, 0x3c, 0x49,
1077	0x27, 0x9f, 0xdc, 0x9e, 0x8c, 0x62, 0x3a, 0x76, 0xe2, 0x64, 0xb6, 0xfa, 0x4f, 0x1e, 0x94, 0x9d,
1078	0x24, 0x1b, 0xe3, 0x2a, 0xa4, 0xe8, 0x67, 0x58, 0xa7, 0xe4, 0x9c, 0x50, 0xe2, 0x3b, 0xc4, 0x1e,
1079	0xe1, 0x50, 0xcd, 0x6d, 0xe4, 0x37, 0x95, 0xfa, 0xb7, 0xfa, 0xbc, 0x1c, 0xf5, 0x19, 0xb6, 0x6e,
1080	0x65, 0xd4, 0x16, 0x0e, 0x0d, 0x3f, 0xa6, 0x13, 0xab, 0x4c, 0x67, 0x86, 0x50, 0x0b, 0xa4, 0x78,
1081	0x12, 0x26, 0xc2, 0x79, 0x2e, 0x5c, 0x5f, 0x4e, 0xb8, 0x37, 0x09, 0xaf, 0x35, 0x4b, 0x71, 0xf2,
1082	0x85, 0x0c, 0x50, 0xa2, 0x60, 0x4c, 0x1d, 0x62, 0xbb, 0xfe, 0x79, 0xa0, 0x16, 0x36, 0x84, 0x4d,
1083	0xa5, 0xfe, 0xd9, 0x7c, 0xc5, 0x43, 0x0e, 0x36, 0xfd, 0xf3, 0xc0, 0x82, 0x68, 0x1a, 0xa3, 0x3a,
1084	0x88, 0x0c, 0xa7, 0x8a, 0x9c, 0xff, 0x74, 0x3e, 0x9f, 0xa5, 0x62, 0x71, 0xac, 0xd6, 0x87, 0xff,
1085	0xdf, 0xd9, 0x2c, 0xaa, 0x40, 0x7e, 0x48, 0x26, 0xaa, 0xb0, 0x21, 0x6c, 0xe6, 0x2d, 0x16, 0xa2,
1086	0xb7, 0x50, 0xb8, 0xc0, 0xde, 0x98, 0xa8, 0x39, 0xae, 0xfd, 0x7c, 0xbe, 0xf6, 0x54, 0xcd, 0x4a,
1087	0x18, 0xdf, 0xe5, 0xde, 0x08, 0xda, 0x07, 0x28, 0xcf, 0xee, 0xfc, 0x9e, 0x05, 0xb6, 0x6e, 0x2e,
1088	0xf0, 0x40, 0xf2, 0x4c, 0x68, 0x46, 0xbb, 0xfa, 0x97, 0x02, 0x22, 0x1b, 0x43, 0x5f, 0x42, 0xbe,
1089	0x3f, 0xf1, 0xb9, 0xa8, 0x52, 0xff, 0x34, 0x13, 0xc8, 0xec, 0xa2, 0x1b, 0xcc, 0x4b, 0x07, 0x6b,
1090	0x16, 0x03, 0xa1, 0x97, 0x20, 0xfa, 0x63, 0xcf, 0xe3, 0xab, 0x3d, 0xaa, 0x6b, 0x77, 0xc0, 0xed,
1091	0xb1, 0xe7, 0x1d, 0xb3, 0x25, 0x0e, 0xd6, 0x2c, 0x8e, 0x44, 0x4d, 0x90, 0x43, 0xea, 0x8e, 0xdc,
1092	0xd8, 0xbd, 0x20, 0x6a, 0x9e, 0xd3, 0xbe, 0x7e, 0x38, 0x49, 0xbd, 0x9b, 0xe1, 0xd9, 0xd7, 0xc1,
1093	0x9a, 0x75, 0x2d, 0x80, 0x0e, 0xa0, 0x74, 0x49, 0x71, 0x18, 0x92, 0xe4, 0xb4, 0x56, 0xd7, 0xca,
1094	0xe8, 0xa8, 0x05, 0x70, 0x49, 0x3c, 0xcf, 0x1e, 0xfa, 0xc1, 0xa5, 0xcf, 0xad, 0xb3, 0x58, 0xec,
1095	0x84, 0x78, 0xde, 0x7b, 0x86, 0xcf, 0x12, 0xbb, 0xcc, 0x06, 0xd0, 0x1e, 0xc8, 0x9e, 0x1b, 0xc5,
1096	0x36, 0xb3, 0xa6, 0x5a, 0xe4, 0xa5, 0xfc, 0x62, 0x81, 0x5a, 0xd3, 0x8d, 0xe2, 0x54, 0x48, 0xf2,
1097	0xd2, 0x18, 0xed, 0x80, 0x34, 0xc2, 0x61, 0x22, 0x53, 0xe2, 0x32, 0x2f, 0x16, 0xc8, 0xb4, 0x70,
1098	0x98, 0xed, 0x6d, 0x94, 0x84, 0xc8, 0x04, 0xe9, 0x7c, 0xec, 0x3b, 0xb1, 0x1b, 0xf8, 0xaa, 0xc4,
1099	0x45, 0xbe, 0x5a, 0x20, 0xb2, 0x97, 0xc2, 0xb3, 0x7c, 0x32, 0x3a, 0x7a, 0x0e, 0xe5, 0x11, 0x89,
1100	0x22, 0x3c, 0x20, 0x49, 0x4e, 0xf2, 0x86, 0xb0, 0x29, 0x1f, 0xac, 0x59, 0x4a, 0x3a, 0xca, 0xd7,
1101	0x7b, 0x06, 0xc0, 0xdb, 0x3a, 0xc4, 0x14, 0x8f, 0x54, 0x48, 0x21, 0x32, 0x1b, 0xeb, 0xb2, 0x21,
1102	0xb4, 0x05, 0x22, 0x67, 0x2b, 0xcb, 0x98, 0x94, 0x59, 0x87, 0xa1, 0x91, 0x0e, 0x05, 0x42, 0x69,
1103	0x40, 0xd5, 0xf2, 0x02, 0x6b, 0x26, 0x30, 0x64, 0xc1, 0x3a, 0x3e, 0x8b, 0x62, 0x8a, 0x9d, 0xf4,
1104	0x1c, 0x1e, 0x2d, 0xb5, 0xf7, 0xed, 0x94, 0x93, 0xae, 0x5d, 0xc6, 0x33, 0xdf, 0xda, 0x3e, 0x48,
1105	0xd9, 0x39, 0xa1, 0x77, 0x20, 0x13, 0x8f, 0x8c, 0x12, 0x6d, 0x61, 0xa9, 0x7e, 0x93, 0x18, 0x81,
1106	0x0b, 0xfd, 0x2a, 0x40, 0x29, 0x3d, 0x2a, 0xf4, 0x16, 0xa4, 0x21, 0x99, 0xac, 0xa2, 0x53, 0x1a,
1107	0x92, 0x09, 0xa7, 0xfe, 0x00, 0xc0, 0x5b, 0x38, 0x21, 0x2f, 0xd7, 0xf4, 0x32, 0x67, 0xf0, 0x2c,
1108	0xfe, 0x10, 0xa0, 0x3c, 0x7b, 0xd6, 0xe8, 0x47, 0x50, 0x28, 0x89, 0xc6, 0x5e, 0xbc, 0x4a, 0x36,
1109	0x90, 0x50, 0xb2, 0xa2, 0x60, 0x3a, 0xe0, 0xec, 0x28, 0x7d, 0x2c, 0x16, 0x16, 0x05, 0xd3, 0x01,
1110	0x0b, 0x22, 0x6d, 0x08, 0xe5, 0xd9, 0xea, 0x23, 0x04, 0xa2, 0x8f, 0x47, 0x49, 0x1a, 0xb2, 0xc5,
1111	0x63, 0xb4, 0x0f, 0xff, 0xe3, 0xbe, 0x22, 0x31, 0xa1, 0x2b, 0x2d, 0xf3, 0x68, 0x4a, 0xe3, 0x8b,
1112	0x55, 0x23, 0x58, 0xbf, 0x71, 0x1b, 0xa0, 0xa7, 0xa0, 0x75, 0x2d, 0xb3, 0x65, 0xf6, 0xcc, 0x63,
1113	0xc3, 0xee, 0x9d, 0x76, 0x0d, 0xfb, 0xa8, 0x7d, 0xd8, 0x35, 0x76, 0xcc, 0x3d, 0xd3, 0xd8, 0xad,
1114	0xac, 0x21, 0x09, 0xc4, 0x46, 0xa7, 0xd3, 0xac, 0x08, 0x48, 0x86, 0x82, 0xd9, 0xee, 0xbd, 0xde,
1115	0xaa, 0xe4, 0x10, 0x40, 0xf1, 0x28, 0x89, 0xf3, 0x2c, 0xde, 0xed, 0x1c, 0x35, 0x9a, 0x46, 0x45,
1116	0x64, 0xf1, 0x61, 0xcf, 0x32, 0xdb, 0xfb, 0x95, 0x02, 0x83, 0x37, 0x4e, 0x7b, 0xc6, 0x61, 0xa5,
1117	0x58, 0x3d, 0x86, 0xf5, 0x1b, 0xb7, 0x06, 0x7a, 0x06, 0x8f, 0x4f, 0x8c, 0x66, 0xd3, 0x7e, 0xdf,
1118	0xee, 0x9c, 0xb4, 0xef, 0x5b, 0xb5, 0x04, 0xf9, 0xed, 0xf6, 0x69, 0x45, 0x40, 0xeb, 0x20, 0xf7,
1119	0xcc, 0x96, 0x71, 0xd8, 0xdb, 0x6e, 0x75, 0x2b, 0x39, 0x54, 0x06, 0x69, 0xf7, 0xc8, 0xda, 0xee,
1120	0x99, 0x9d, 0x76, 0x25, 0xdf, 0x50, 0x80, 0xb7, 0x97, 0x3d, 0x74, 0xfd, 0x7e, 0xf5, 0xcf, 0x02,
1121	0x88, 0xbb, 0xc4, 0xf1, 0xee, 0xad, 0xdf, 0x4f, 0x50, 0x70, 0xfb, 0xc4, 0x8f, 0x53, 0xb3, 0x6c,
1122	0xce, 0xaf, 0x1a, 0x93, 0xd0, 0x4d, 0x86, 0x65, 0x11, 0xeb, 0x2b, 0x4e, 0xbc, 0x71, 0x9d, 0xe4,
1123	0x17, 0xb5, 0x14, 0x17, 0xc9, 0x2c, 0x96, 0xea, 0x4c, 0xe9, 0xda, 0xef, 0x02, 0xc8, 0xd3, 0x15,
1124	0xd8, 0xc3, 0xbb, 0x82, 0xeb, 0x92, 0x4b, 0xe1, 0xcd, 0xcd, 0x07, 0xaf, 0xfa, 0xc0, 0xff, 0x43,
1125	0xe0, 0x47, 0x31, 0xf6, 0xe3, 0xf4, 0xd1, 0x63, 0x8f, 0x67, 0x3f, 0x70, 0xf8, 0x0e, 0x64, 0x8b,
1126	0x85, 0xda, 0xdf, 0xb9, 0xeb, 0x6e, 0xe0, 0x09, 0x59, 0x20, 0x07, 0x17, 0x84, 0x7a, 0x01, 0xee,
1127	0x47, 0xaa, 0xc0, 0x5d, 0xb6, 0xb5, 0xc2, 0x56, 0xf5, 0x4e, 0x4a, 0xb6, 0xae, 0x65, 0xb4, 0xdf,
1128	0x72, 0x20, 0x65, 0xe3, 0xe8, 0x19, 0x28, 0xd9, 0x8c, 0xed, 0xf6, 0xd3, 0x73, 0x82, 0x6c, 0xc8,
1129	0xec, 0xa3, 0xd7, 0x50, 0xe4, 0xb6, 0x5d, 0xd6, 0xe4, 0x29, 0x9a, 0x09, 0x5f, 0x5f, 0xc1, 0x11,
1130	0xff, 0xb9, 0x92, 0x2d, 0x98, 0xde, 0xc0, 0xd1, 0xed, 0x46, 0x17, 0x57, 0x6e, 0xf4, 0x97, 0xf0,
1131	0x89, 0x1b, 0xd9, 0x2e, 0xaf, 0xa9, 0x43, 0xec, 0xa9, 0x23, 0xd8, 0xd3, 0x29, 0x59, 0xc8, 0x8d,
1132	0xcc, 0x74, 0x2a, 0xab, 0x48, 0x56, 0xf0, 0xe2, 0xb4, 0xe0, 0xcc, 0xb5, 0x7d, 0xe2, 0x78, 0x89,
1133	0x6b, 0x7f, 0x01, 0x79, 0xfa, 0xd3, 0x73, 0xaf, 0x73, 0x6f, 0x15, 0x2b, 0xdd, 0xd3, 0x4c, 0xb1,
1134	0xa6, 0x5e, 0x10, 0x57, 0xf4, 0x42, 0xc3, 0x83, 0x27, 0x4e, 0x30, 0x9a, 0x8b, 0x6f, 0xc8, 0xec,
1135	0x38, 0xbb, 0xec, 0x9d, 0xe9, 0x0a, 0x1f, 0xbe, 0x4f, 0x61, 0x83, 0xc0, 0xc3, 0xfe, 0x40, 0x0f,
1136	0xe8, 0xa0, 0x36, 0x20, 0x3e, 0x7f, 0x85, 0x6a, 0xc9, 0x14, 0x0e, 0xdd, 0xe8, 0xee, 0x4f, 0xfa,
1137	0x3b, 0xf6, 0xf5, 0xaf, 0x20, 0x9c, 0x15, 0x39, 0xf6, 0x9b, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff,
1138	0xee, 0x02, 0xe6, 0x8f, 0x11, 0x0c, 0x00, 0x00,
1139}
1140