1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/datastore/v1/query.proto 3 4package datastore 5 6import ( 7 fmt "fmt" 8 math "math" 9 10 proto "github.com/golang/protobuf/proto" 11 wrappers "github.com/golang/protobuf/ptypes/wrappers" 12 _ "google.golang.org/genproto/googleapis/api/annotations" 13 _ "google.golang.org/genproto/googleapis/type/latlng" 14) 15 16// Reference imports to suppress errors if they are not otherwise used. 17var _ = proto.Marshal 18var _ = fmt.Errorf 19var _ = math.Inf 20 21// This is a compile-time assertion to ensure that this generated file 22// is compatible with the proto package it is being compiled against. 23// A compilation error at this line likely means your copy of the 24// proto package needs to be updated. 25const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 26 27// Specifies what data the 'entity' field contains. 28// A `ResultType` is either implied (for example, in `LookupResponse.missing` 29// from `datastore.proto`, it is always `KEY_ONLY`) or specified by context 30// (for example, in message `QueryResultBatch`, field `entity_result_type` 31// specifies a `ResultType` for all the values in field `entity_results`). 32type EntityResult_ResultType int32 33 34const ( 35 // Unspecified. This value is never used. 36 EntityResult_RESULT_TYPE_UNSPECIFIED EntityResult_ResultType = 0 37 // The key and properties. 38 EntityResult_FULL EntityResult_ResultType = 1 39 // A projected subset of properties. The entity may have no key. 40 EntityResult_PROJECTION EntityResult_ResultType = 2 41 // Only the key. 42 EntityResult_KEY_ONLY EntityResult_ResultType = 3 43) 44 45var EntityResult_ResultType_name = map[int32]string{ 46 0: "RESULT_TYPE_UNSPECIFIED", 47 1: "FULL", 48 2: "PROJECTION", 49 3: "KEY_ONLY", 50} 51 52var EntityResult_ResultType_value = map[string]int32{ 53 "RESULT_TYPE_UNSPECIFIED": 0, 54 "FULL": 1, 55 "PROJECTION": 2, 56 "KEY_ONLY": 3, 57} 58 59func (x EntityResult_ResultType) String() string { 60 return proto.EnumName(EntityResult_ResultType_name, int32(x)) 61} 62 63func (EntityResult_ResultType) EnumDescriptor() ([]byte, []int) { 64 return fileDescriptor_927b394a72d2bc0d, []int{0, 0} 65} 66 67// The sort direction. 68type PropertyOrder_Direction int32 69 70const ( 71 // Unspecified. This value must not be used. 72 PropertyOrder_DIRECTION_UNSPECIFIED PropertyOrder_Direction = 0 73 // Ascending. 74 PropertyOrder_ASCENDING PropertyOrder_Direction = 1 75 // Descending. 76 PropertyOrder_DESCENDING PropertyOrder_Direction = 2 77) 78 79var PropertyOrder_Direction_name = map[int32]string{ 80 0: "DIRECTION_UNSPECIFIED", 81 1: "ASCENDING", 82 2: "DESCENDING", 83} 84 85var PropertyOrder_Direction_value = map[string]int32{ 86 "DIRECTION_UNSPECIFIED": 0, 87 "ASCENDING": 1, 88 "DESCENDING": 2, 89} 90 91func (x PropertyOrder_Direction) String() string { 92 return proto.EnumName(PropertyOrder_Direction_name, int32(x)) 93} 94 95func (PropertyOrder_Direction) EnumDescriptor() ([]byte, []int) { 96 return fileDescriptor_927b394a72d2bc0d, []int{5, 0} 97} 98 99// A composite filter operator. 100type CompositeFilter_Operator int32 101 102const ( 103 // Unspecified. This value must not be used. 104 CompositeFilter_OPERATOR_UNSPECIFIED CompositeFilter_Operator = 0 105 // The results are required to satisfy each of the combined filters. 106 CompositeFilter_AND CompositeFilter_Operator = 1 107) 108 109var CompositeFilter_Operator_name = map[int32]string{ 110 0: "OPERATOR_UNSPECIFIED", 111 1: "AND", 112} 113 114var CompositeFilter_Operator_value = map[string]int32{ 115 "OPERATOR_UNSPECIFIED": 0, 116 "AND": 1, 117} 118 119func (x CompositeFilter_Operator) String() string { 120 return proto.EnumName(CompositeFilter_Operator_name, int32(x)) 121} 122 123func (CompositeFilter_Operator) EnumDescriptor() ([]byte, []int) { 124 return fileDescriptor_927b394a72d2bc0d, []int{7, 0} 125} 126 127// A property filter operator. 128type PropertyFilter_Operator int32 129 130const ( 131 // Unspecified. This value must not be used. 132 PropertyFilter_OPERATOR_UNSPECIFIED PropertyFilter_Operator = 0 133 // Less than. 134 PropertyFilter_LESS_THAN PropertyFilter_Operator = 1 135 // Less than or equal. 136 PropertyFilter_LESS_THAN_OR_EQUAL PropertyFilter_Operator = 2 137 // Greater than. 138 PropertyFilter_GREATER_THAN PropertyFilter_Operator = 3 139 // Greater than or equal. 140 PropertyFilter_GREATER_THAN_OR_EQUAL PropertyFilter_Operator = 4 141 // Equal. 142 PropertyFilter_EQUAL PropertyFilter_Operator = 5 143 // Has ancestor. 144 PropertyFilter_HAS_ANCESTOR PropertyFilter_Operator = 11 145) 146 147var PropertyFilter_Operator_name = map[int32]string{ 148 0: "OPERATOR_UNSPECIFIED", 149 1: "LESS_THAN", 150 2: "LESS_THAN_OR_EQUAL", 151 3: "GREATER_THAN", 152 4: "GREATER_THAN_OR_EQUAL", 153 5: "EQUAL", 154 11: "HAS_ANCESTOR", 155} 156 157var PropertyFilter_Operator_value = map[string]int32{ 158 "OPERATOR_UNSPECIFIED": 0, 159 "LESS_THAN": 1, 160 "LESS_THAN_OR_EQUAL": 2, 161 "GREATER_THAN": 3, 162 "GREATER_THAN_OR_EQUAL": 4, 163 "EQUAL": 5, 164 "HAS_ANCESTOR": 11, 165} 166 167func (x PropertyFilter_Operator) String() string { 168 return proto.EnumName(PropertyFilter_Operator_name, int32(x)) 169} 170 171func (PropertyFilter_Operator) EnumDescriptor() ([]byte, []int) { 172 return fileDescriptor_927b394a72d2bc0d, []int{8, 0} 173} 174 175// The possible values for the `more_results` field. 176type QueryResultBatch_MoreResultsType int32 177 178const ( 179 // Unspecified. This value is never used. 180 QueryResultBatch_MORE_RESULTS_TYPE_UNSPECIFIED QueryResultBatch_MoreResultsType = 0 181 // There may be additional batches to fetch from this query. 182 QueryResultBatch_NOT_FINISHED QueryResultBatch_MoreResultsType = 1 183 // The query is finished, but there may be more results after the limit. 184 QueryResultBatch_MORE_RESULTS_AFTER_LIMIT QueryResultBatch_MoreResultsType = 2 185 // The query is finished, but there may be more results after the end 186 // cursor. 187 QueryResultBatch_MORE_RESULTS_AFTER_CURSOR QueryResultBatch_MoreResultsType = 4 188 // The query is finished, and there are no more results. 189 QueryResultBatch_NO_MORE_RESULTS QueryResultBatch_MoreResultsType = 3 190) 191 192var QueryResultBatch_MoreResultsType_name = map[int32]string{ 193 0: "MORE_RESULTS_TYPE_UNSPECIFIED", 194 1: "NOT_FINISHED", 195 2: "MORE_RESULTS_AFTER_LIMIT", 196 4: "MORE_RESULTS_AFTER_CURSOR", 197 3: "NO_MORE_RESULTS", 198} 199 200var QueryResultBatch_MoreResultsType_value = map[string]int32{ 201 "MORE_RESULTS_TYPE_UNSPECIFIED": 0, 202 "NOT_FINISHED": 1, 203 "MORE_RESULTS_AFTER_LIMIT": 2, 204 "MORE_RESULTS_AFTER_CURSOR": 4, 205 "NO_MORE_RESULTS": 3, 206} 207 208func (x QueryResultBatch_MoreResultsType) String() string { 209 return proto.EnumName(QueryResultBatch_MoreResultsType_name, int32(x)) 210} 211 212func (QueryResultBatch_MoreResultsType) EnumDescriptor() ([]byte, []int) { 213 return fileDescriptor_927b394a72d2bc0d, []int{11, 0} 214} 215 216// The result of fetching an entity from Datastore. 217type EntityResult struct { 218 // The resulting entity. 219 Entity *Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"` 220 // The version of the entity, a strictly positive number that monotonically 221 // increases with changes to the entity. 222 // 223 // This field is set for 224 // [`FULL`][google.datastore.v1.EntityResult.ResultType.FULL] entity results. 225 // 226 // For [missing][google.datastore.v1.LookupResponse.missing] entities in 227 // `LookupResponse`, this is the version of the snapshot that was used to look 228 // up the entity, and it is always set except for eventually consistent reads. 229 Version int64 `protobuf:"varint,4,opt,name=version,proto3" json:"version,omitempty"` 230 // A cursor that points to the position after the result entity. 231 // Set only when the `EntityResult` is part of a `QueryResultBatch` message. 232 Cursor []byte `protobuf:"bytes,3,opt,name=cursor,proto3" json:"cursor,omitempty"` 233 XXX_NoUnkeyedLiteral struct{} `json:"-"` 234 XXX_unrecognized []byte `json:"-"` 235 XXX_sizecache int32 `json:"-"` 236} 237 238func (m *EntityResult) Reset() { *m = EntityResult{} } 239func (m *EntityResult) String() string { return proto.CompactTextString(m) } 240func (*EntityResult) ProtoMessage() {} 241func (*EntityResult) Descriptor() ([]byte, []int) { 242 return fileDescriptor_927b394a72d2bc0d, []int{0} 243} 244 245func (m *EntityResult) XXX_Unmarshal(b []byte) error { 246 return xxx_messageInfo_EntityResult.Unmarshal(m, b) 247} 248func (m *EntityResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 249 return xxx_messageInfo_EntityResult.Marshal(b, m, deterministic) 250} 251func (m *EntityResult) XXX_Merge(src proto.Message) { 252 xxx_messageInfo_EntityResult.Merge(m, src) 253} 254func (m *EntityResult) XXX_Size() int { 255 return xxx_messageInfo_EntityResult.Size(m) 256} 257func (m *EntityResult) XXX_DiscardUnknown() { 258 xxx_messageInfo_EntityResult.DiscardUnknown(m) 259} 260 261var xxx_messageInfo_EntityResult proto.InternalMessageInfo 262 263func (m *EntityResult) GetEntity() *Entity { 264 if m != nil { 265 return m.Entity 266 } 267 return nil 268} 269 270func (m *EntityResult) GetVersion() int64 { 271 if m != nil { 272 return m.Version 273 } 274 return 0 275} 276 277func (m *EntityResult) GetCursor() []byte { 278 if m != nil { 279 return m.Cursor 280 } 281 return nil 282} 283 284// A query for entities. 285type Query struct { 286 // The projection to return. Defaults to returning all properties. 287 Projection []*Projection `protobuf:"bytes,2,rep,name=projection,proto3" json:"projection,omitempty"` 288 // The kinds to query (if empty, returns entities of all kinds). 289 // Currently at most 1 kind may be specified. 290 Kind []*KindExpression `protobuf:"bytes,3,rep,name=kind,proto3" json:"kind,omitempty"` 291 // The filter to apply. 292 Filter *Filter `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` 293 // The order to apply to the query results (if empty, order is unspecified). 294 Order []*PropertyOrder `protobuf:"bytes,5,rep,name=order,proto3" json:"order,omitempty"` 295 // The properties to make distinct. The query results will contain the first 296 // result for each distinct combination of values for the given properties 297 // (if empty, all results are returned). 298 DistinctOn []*PropertyReference `protobuf:"bytes,6,rep,name=distinct_on,json=distinctOn,proto3" json:"distinct_on,omitempty"` 299 // A starting point for the query results. Query cursors are 300 // returned in query result batches and 301 // [can only be used to continue the same 302 // query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). 303 StartCursor []byte `protobuf:"bytes,7,opt,name=start_cursor,json=startCursor,proto3" json:"start_cursor,omitempty"` 304 // An ending point for the query results. Query cursors are 305 // returned in query result batches and 306 // [can only be used to limit the same 307 // query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). 308 EndCursor []byte `protobuf:"bytes,8,opt,name=end_cursor,json=endCursor,proto3" json:"end_cursor,omitempty"` 309 // The number of results to skip. Applies before limit, but after all other 310 // constraints. Optional. Must be >= 0 if specified. 311 Offset int32 `protobuf:"varint,10,opt,name=offset,proto3" json:"offset,omitempty"` 312 // The maximum number of results to return. Applies after all other 313 // constraints. Optional. 314 // Unspecified is interpreted as no limit. 315 // Must be >= 0 if specified. 316 Limit *wrappers.Int32Value `protobuf:"bytes,12,opt,name=limit,proto3" json:"limit,omitempty"` 317 XXX_NoUnkeyedLiteral struct{} `json:"-"` 318 XXX_unrecognized []byte `json:"-"` 319 XXX_sizecache int32 `json:"-"` 320} 321 322func (m *Query) Reset() { *m = Query{} } 323func (m *Query) String() string { return proto.CompactTextString(m) } 324func (*Query) ProtoMessage() {} 325func (*Query) Descriptor() ([]byte, []int) { 326 return fileDescriptor_927b394a72d2bc0d, []int{1} 327} 328 329func (m *Query) XXX_Unmarshal(b []byte) error { 330 return xxx_messageInfo_Query.Unmarshal(m, b) 331} 332func (m *Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 333 return xxx_messageInfo_Query.Marshal(b, m, deterministic) 334} 335func (m *Query) XXX_Merge(src proto.Message) { 336 xxx_messageInfo_Query.Merge(m, src) 337} 338func (m *Query) XXX_Size() int { 339 return xxx_messageInfo_Query.Size(m) 340} 341func (m *Query) XXX_DiscardUnknown() { 342 xxx_messageInfo_Query.DiscardUnknown(m) 343} 344 345var xxx_messageInfo_Query proto.InternalMessageInfo 346 347func (m *Query) GetProjection() []*Projection { 348 if m != nil { 349 return m.Projection 350 } 351 return nil 352} 353 354func (m *Query) GetKind() []*KindExpression { 355 if m != nil { 356 return m.Kind 357 } 358 return nil 359} 360 361func (m *Query) GetFilter() *Filter { 362 if m != nil { 363 return m.Filter 364 } 365 return nil 366} 367 368func (m *Query) GetOrder() []*PropertyOrder { 369 if m != nil { 370 return m.Order 371 } 372 return nil 373} 374 375func (m *Query) GetDistinctOn() []*PropertyReference { 376 if m != nil { 377 return m.DistinctOn 378 } 379 return nil 380} 381 382func (m *Query) GetStartCursor() []byte { 383 if m != nil { 384 return m.StartCursor 385 } 386 return nil 387} 388 389func (m *Query) GetEndCursor() []byte { 390 if m != nil { 391 return m.EndCursor 392 } 393 return nil 394} 395 396func (m *Query) GetOffset() int32 { 397 if m != nil { 398 return m.Offset 399 } 400 return 0 401} 402 403func (m *Query) GetLimit() *wrappers.Int32Value { 404 if m != nil { 405 return m.Limit 406 } 407 return nil 408} 409 410// A representation of a kind. 411type KindExpression struct { 412 // The name of the kind. 413 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 414 XXX_NoUnkeyedLiteral struct{} `json:"-"` 415 XXX_unrecognized []byte `json:"-"` 416 XXX_sizecache int32 `json:"-"` 417} 418 419func (m *KindExpression) Reset() { *m = KindExpression{} } 420func (m *KindExpression) String() string { return proto.CompactTextString(m) } 421func (*KindExpression) ProtoMessage() {} 422func (*KindExpression) Descriptor() ([]byte, []int) { 423 return fileDescriptor_927b394a72d2bc0d, []int{2} 424} 425 426func (m *KindExpression) XXX_Unmarshal(b []byte) error { 427 return xxx_messageInfo_KindExpression.Unmarshal(m, b) 428} 429func (m *KindExpression) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 430 return xxx_messageInfo_KindExpression.Marshal(b, m, deterministic) 431} 432func (m *KindExpression) XXX_Merge(src proto.Message) { 433 xxx_messageInfo_KindExpression.Merge(m, src) 434} 435func (m *KindExpression) XXX_Size() int { 436 return xxx_messageInfo_KindExpression.Size(m) 437} 438func (m *KindExpression) XXX_DiscardUnknown() { 439 xxx_messageInfo_KindExpression.DiscardUnknown(m) 440} 441 442var xxx_messageInfo_KindExpression proto.InternalMessageInfo 443 444func (m *KindExpression) GetName() string { 445 if m != nil { 446 return m.Name 447 } 448 return "" 449} 450 451// A reference to a property relative to the kind expressions. 452type PropertyReference struct { 453 // The name of the property. 454 // If name includes "."s, it may be interpreted as a property name path. 455 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` 456 XXX_NoUnkeyedLiteral struct{} `json:"-"` 457 XXX_unrecognized []byte `json:"-"` 458 XXX_sizecache int32 `json:"-"` 459} 460 461func (m *PropertyReference) Reset() { *m = PropertyReference{} } 462func (m *PropertyReference) String() string { return proto.CompactTextString(m) } 463func (*PropertyReference) ProtoMessage() {} 464func (*PropertyReference) Descriptor() ([]byte, []int) { 465 return fileDescriptor_927b394a72d2bc0d, []int{3} 466} 467 468func (m *PropertyReference) XXX_Unmarshal(b []byte) error { 469 return xxx_messageInfo_PropertyReference.Unmarshal(m, b) 470} 471func (m *PropertyReference) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 472 return xxx_messageInfo_PropertyReference.Marshal(b, m, deterministic) 473} 474func (m *PropertyReference) XXX_Merge(src proto.Message) { 475 xxx_messageInfo_PropertyReference.Merge(m, src) 476} 477func (m *PropertyReference) XXX_Size() int { 478 return xxx_messageInfo_PropertyReference.Size(m) 479} 480func (m *PropertyReference) XXX_DiscardUnknown() { 481 xxx_messageInfo_PropertyReference.DiscardUnknown(m) 482} 483 484var xxx_messageInfo_PropertyReference proto.InternalMessageInfo 485 486func (m *PropertyReference) GetName() string { 487 if m != nil { 488 return m.Name 489 } 490 return "" 491} 492 493// A representation of a property in a projection. 494type Projection struct { 495 // The property to project. 496 Property *PropertyReference `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` 497 XXX_NoUnkeyedLiteral struct{} `json:"-"` 498 XXX_unrecognized []byte `json:"-"` 499 XXX_sizecache int32 `json:"-"` 500} 501 502func (m *Projection) Reset() { *m = Projection{} } 503func (m *Projection) String() string { return proto.CompactTextString(m) } 504func (*Projection) ProtoMessage() {} 505func (*Projection) Descriptor() ([]byte, []int) { 506 return fileDescriptor_927b394a72d2bc0d, []int{4} 507} 508 509func (m *Projection) XXX_Unmarshal(b []byte) error { 510 return xxx_messageInfo_Projection.Unmarshal(m, b) 511} 512func (m *Projection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 513 return xxx_messageInfo_Projection.Marshal(b, m, deterministic) 514} 515func (m *Projection) XXX_Merge(src proto.Message) { 516 xxx_messageInfo_Projection.Merge(m, src) 517} 518func (m *Projection) XXX_Size() int { 519 return xxx_messageInfo_Projection.Size(m) 520} 521func (m *Projection) XXX_DiscardUnknown() { 522 xxx_messageInfo_Projection.DiscardUnknown(m) 523} 524 525var xxx_messageInfo_Projection proto.InternalMessageInfo 526 527func (m *Projection) GetProperty() *PropertyReference { 528 if m != nil { 529 return m.Property 530 } 531 return nil 532} 533 534// The desired order for a specific property. 535type PropertyOrder struct { 536 // The property to order by. 537 Property *PropertyReference `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` 538 // The direction to order by. Defaults to `ASCENDING`. 539 Direction PropertyOrder_Direction `protobuf:"varint,2,opt,name=direction,proto3,enum=google.datastore.v1.PropertyOrder_Direction" json:"direction,omitempty"` 540 XXX_NoUnkeyedLiteral struct{} `json:"-"` 541 XXX_unrecognized []byte `json:"-"` 542 XXX_sizecache int32 `json:"-"` 543} 544 545func (m *PropertyOrder) Reset() { *m = PropertyOrder{} } 546func (m *PropertyOrder) String() string { return proto.CompactTextString(m) } 547func (*PropertyOrder) ProtoMessage() {} 548func (*PropertyOrder) Descriptor() ([]byte, []int) { 549 return fileDescriptor_927b394a72d2bc0d, []int{5} 550} 551 552func (m *PropertyOrder) XXX_Unmarshal(b []byte) error { 553 return xxx_messageInfo_PropertyOrder.Unmarshal(m, b) 554} 555func (m *PropertyOrder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 556 return xxx_messageInfo_PropertyOrder.Marshal(b, m, deterministic) 557} 558func (m *PropertyOrder) XXX_Merge(src proto.Message) { 559 xxx_messageInfo_PropertyOrder.Merge(m, src) 560} 561func (m *PropertyOrder) XXX_Size() int { 562 return xxx_messageInfo_PropertyOrder.Size(m) 563} 564func (m *PropertyOrder) XXX_DiscardUnknown() { 565 xxx_messageInfo_PropertyOrder.DiscardUnknown(m) 566} 567 568var xxx_messageInfo_PropertyOrder proto.InternalMessageInfo 569 570func (m *PropertyOrder) GetProperty() *PropertyReference { 571 if m != nil { 572 return m.Property 573 } 574 return nil 575} 576 577func (m *PropertyOrder) GetDirection() PropertyOrder_Direction { 578 if m != nil { 579 return m.Direction 580 } 581 return PropertyOrder_DIRECTION_UNSPECIFIED 582} 583 584// A holder for any type of filter. 585type Filter struct { 586 // The type of filter. 587 // 588 // Types that are valid to be assigned to FilterType: 589 // *Filter_CompositeFilter 590 // *Filter_PropertyFilter 591 FilterType isFilter_FilterType `protobuf_oneof:"filter_type"` 592 XXX_NoUnkeyedLiteral struct{} `json:"-"` 593 XXX_unrecognized []byte `json:"-"` 594 XXX_sizecache int32 `json:"-"` 595} 596 597func (m *Filter) Reset() { *m = Filter{} } 598func (m *Filter) String() string { return proto.CompactTextString(m) } 599func (*Filter) ProtoMessage() {} 600func (*Filter) Descriptor() ([]byte, []int) { 601 return fileDescriptor_927b394a72d2bc0d, []int{6} 602} 603 604func (m *Filter) XXX_Unmarshal(b []byte) error { 605 return xxx_messageInfo_Filter.Unmarshal(m, b) 606} 607func (m *Filter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 608 return xxx_messageInfo_Filter.Marshal(b, m, deterministic) 609} 610func (m *Filter) XXX_Merge(src proto.Message) { 611 xxx_messageInfo_Filter.Merge(m, src) 612} 613func (m *Filter) XXX_Size() int { 614 return xxx_messageInfo_Filter.Size(m) 615} 616func (m *Filter) XXX_DiscardUnknown() { 617 xxx_messageInfo_Filter.DiscardUnknown(m) 618} 619 620var xxx_messageInfo_Filter proto.InternalMessageInfo 621 622type isFilter_FilterType interface { 623 isFilter_FilterType() 624} 625 626type Filter_CompositeFilter struct { 627 CompositeFilter *CompositeFilter `protobuf:"bytes,1,opt,name=composite_filter,json=compositeFilter,proto3,oneof"` 628} 629 630type Filter_PropertyFilter struct { 631 PropertyFilter *PropertyFilter `protobuf:"bytes,2,opt,name=property_filter,json=propertyFilter,proto3,oneof"` 632} 633 634func (*Filter_CompositeFilter) isFilter_FilterType() {} 635 636func (*Filter_PropertyFilter) isFilter_FilterType() {} 637 638func (m *Filter) GetFilterType() isFilter_FilterType { 639 if m != nil { 640 return m.FilterType 641 } 642 return nil 643} 644 645func (m *Filter) GetCompositeFilter() *CompositeFilter { 646 if x, ok := m.GetFilterType().(*Filter_CompositeFilter); ok { 647 return x.CompositeFilter 648 } 649 return nil 650} 651 652func (m *Filter) GetPropertyFilter() *PropertyFilter { 653 if x, ok := m.GetFilterType().(*Filter_PropertyFilter); ok { 654 return x.PropertyFilter 655 } 656 return nil 657} 658 659// XXX_OneofWrappers is for the internal use of the proto package. 660func (*Filter) XXX_OneofWrappers() []interface{} { 661 return []interface{}{ 662 (*Filter_CompositeFilter)(nil), 663 (*Filter_PropertyFilter)(nil), 664 } 665} 666 667// A filter that merges multiple other filters using the given operator. 668type CompositeFilter struct { 669 // The operator for combining multiple filters. 670 Op CompositeFilter_Operator `protobuf:"varint,1,opt,name=op,proto3,enum=google.datastore.v1.CompositeFilter_Operator" json:"op,omitempty"` 671 // The list of filters to combine. 672 // Must contain at least one filter. 673 Filters []*Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` 674 XXX_NoUnkeyedLiteral struct{} `json:"-"` 675 XXX_unrecognized []byte `json:"-"` 676 XXX_sizecache int32 `json:"-"` 677} 678 679func (m *CompositeFilter) Reset() { *m = CompositeFilter{} } 680func (m *CompositeFilter) String() string { return proto.CompactTextString(m) } 681func (*CompositeFilter) ProtoMessage() {} 682func (*CompositeFilter) Descriptor() ([]byte, []int) { 683 return fileDescriptor_927b394a72d2bc0d, []int{7} 684} 685 686func (m *CompositeFilter) XXX_Unmarshal(b []byte) error { 687 return xxx_messageInfo_CompositeFilter.Unmarshal(m, b) 688} 689func (m *CompositeFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 690 return xxx_messageInfo_CompositeFilter.Marshal(b, m, deterministic) 691} 692func (m *CompositeFilter) XXX_Merge(src proto.Message) { 693 xxx_messageInfo_CompositeFilter.Merge(m, src) 694} 695func (m *CompositeFilter) XXX_Size() int { 696 return xxx_messageInfo_CompositeFilter.Size(m) 697} 698func (m *CompositeFilter) XXX_DiscardUnknown() { 699 xxx_messageInfo_CompositeFilter.DiscardUnknown(m) 700} 701 702var xxx_messageInfo_CompositeFilter proto.InternalMessageInfo 703 704func (m *CompositeFilter) GetOp() CompositeFilter_Operator { 705 if m != nil { 706 return m.Op 707 } 708 return CompositeFilter_OPERATOR_UNSPECIFIED 709} 710 711func (m *CompositeFilter) GetFilters() []*Filter { 712 if m != nil { 713 return m.Filters 714 } 715 return nil 716} 717 718// A filter on a specific property. 719type PropertyFilter struct { 720 // The property to filter by. 721 Property *PropertyReference `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` 722 // The operator to filter by. 723 Op PropertyFilter_Operator `protobuf:"varint,2,opt,name=op,proto3,enum=google.datastore.v1.PropertyFilter_Operator" json:"op,omitempty"` 724 // The value to compare the property to. 725 Value *Value `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` 726 XXX_NoUnkeyedLiteral struct{} `json:"-"` 727 XXX_unrecognized []byte `json:"-"` 728 XXX_sizecache int32 `json:"-"` 729} 730 731func (m *PropertyFilter) Reset() { *m = PropertyFilter{} } 732func (m *PropertyFilter) String() string { return proto.CompactTextString(m) } 733func (*PropertyFilter) ProtoMessage() {} 734func (*PropertyFilter) Descriptor() ([]byte, []int) { 735 return fileDescriptor_927b394a72d2bc0d, []int{8} 736} 737 738func (m *PropertyFilter) XXX_Unmarshal(b []byte) error { 739 return xxx_messageInfo_PropertyFilter.Unmarshal(m, b) 740} 741func (m *PropertyFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 742 return xxx_messageInfo_PropertyFilter.Marshal(b, m, deterministic) 743} 744func (m *PropertyFilter) XXX_Merge(src proto.Message) { 745 xxx_messageInfo_PropertyFilter.Merge(m, src) 746} 747func (m *PropertyFilter) XXX_Size() int { 748 return xxx_messageInfo_PropertyFilter.Size(m) 749} 750func (m *PropertyFilter) XXX_DiscardUnknown() { 751 xxx_messageInfo_PropertyFilter.DiscardUnknown(m) 752} 753 754var xxx_messageInfo_PropertyFilter proto.InternalMessageInfo 755 756func (m *PropertyFilter) GetProperty() *PropertyReference { 757 if m != nil { 758 return m.Property 759 } 760 return nil 761} 762 763func (m *PropertyFilter) GetOp() PropertyFilter_Operator { 764 if m != nil { 765 return m.Op 766 } 767 return PropertyFilter_OPERATOR_UNSPECIFIED 768} 769 770func (m *PropertyFilter) GetValue() *Value { 771 if m != nil { 772 return m.Value 773 } 774 return nil 775} 776 777// A [GQL 778// query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). 779type GqlQuery struct { 780 // A string of the format described 781 // [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). 782 QueryString string `protobuf:"bytes,1,opt,name=query_string,json=queryString,proto3" json:"query_string,omitempty"` 783 // When false, the query string must not contain any literals and instead must 784 // bind all values. For example, 785 // `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while 786 // `SELECT * FROM Kind WHERE a = @value` is. 787 AllowLiterals bool `protobuf:"varint,2,opt,name=allow_literals,json=allowLiterals,proto3" json:"allow_literals,omitempty"` 788 // For each non-reserved named binding site in the query string, there must be 789 // a named parameter with that name, but not necessarily the inverse. 790 // 791 // Key must match regex `[A-Za-z_$][A-Za-z_$0-9]*`, must not match regex 792 // `__.*__`, and must not be `""`. 793 NamedBindings map[string]*GqlQueryParameter `protobuf:"bytes,5,rep,name=named_bindings,json=namedBindings,proto3" json:"named_bindings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 794 // Numbered binding site @1 references the first numbered parameter, 795 // effectively using 1-based indexing, rather than the usual 0. 796 // 797 // For each binding site numbered i in `query_string`, there must be an i-th 798 // numbered parameter. The inverse must also be true. 799 PositionalBindings []*GqlQueryParameter `protobuf:"bytes,4,rep,name=positional_bindings,json=positionalBindings,proto3" json:"positional_bindings,omitempty"` 800 XXX_NoUnkeyedLiteral struct{} `json:"-"` 801 XXX_unrecognized []byte `json:"-"` 802 XXX_sizecache int32 `json:"-"` 803} 804 805func (m *GqlQuery) Reset() { *m = GqlQuery{} } 806func (m *GqlQuery) String() string { return proto.CompactTextString(m) } 807func (*GqlQuery) ProtoMessage() {} 808func (*GqlQuery) Descriptor() ([]byte, []int) { 809 return fileDescriptor_927b394a72d2bc0d, []int{9} 810} 811 812func (m *GqlQuery) XXX_Unmarshal(b []byte) error { 813 return xxx_messageInfo_GqlQuery.Unmarshal(m, b) 814} 815func (m *GqlQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 816 return xxx_messageInfo_GqlQuery.Marshal(b, m, deterministic) 817} 818func (m *GqlQuery) XXX_Merge(src proto.Message) { 819 xxx_messageInfo_GqlQuery.Merge(m, src) 820} 821func (m *GqlQuery) XXX_Size() int { 822 return xxx_messageInfo_GqlQuery.Size(m) 823} 824func (m *GqlQuery) XXX_DiscardUnknown() { 825 xxx_messageInfo_GqlQuery.DiscardUnknown(m) 826} 827 828var xxx_messageInfo_GqlQuery proto.InternalMessageInfo 829 830func (m *GqlQuery) GetQueryString() string { 831 if m != nil { 832 return m.QueryString 833 } 834 return "" 835} 836 837func (m *GqlQuery) GetAllowLiterals() bool { 838 if m != nil { 839 return m.AllowLiterals 840 } 841 return false 842} 843 844func (m *GqlQuery) GetNamedBindings() map[string]*GqlQueryParameter { 845 if m != nil { 846 return m.NamedBindings 847 } 848 return nil 849} 850 851func (m *GqlQuery) GetPositionalBindings() []*GqlQueryParameter { 852 if m != nil { 853 return m.PositionalBindings 854 } 855 return nil 856} 857 858// A binding parameter for a GQL query. 859type GqlQueryParameter struct { 860 // The type of parameter. 861 // 862 // Types that are valid to be assigned to ParameterType: 863 // *GqlQueryParameter_Value 864 // *GqlQueryParameter_Cursor 865 ParameterType isGqlQueryParameter_ParameterType `protobuf_oneof:"parameter_type"` 866 XXX_NoUnkeyedLiteral struct{} `json:"-"` 867 XXX_unrecognized []byte `json:"-"` 868 XXX_sizecache int32 `json:"-"` 869} 870 871func (m *GqlQueryParameter) Reset() { *m = GqlQueryParameter{} } 872func (m *GqlQueryParameter) String() string { return proto.CompactTextString(m) } 873func (*GqlQueryParameter) ProtoMessage() {} 874func (*GqlQueryParameter) Descriptor() ([]byte, []int) { 875 return fileDescriptor_927b394a72d2bc0d, []int{10} 876} 877 878func (m *GqlQueryParameter) XXX_Unmarshal(b []byte) error { 879 return xxx_messageInfo_GqlQueryParameter.Unmarshal(m, b) 880} 881func (m *GqlQueryParameter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 882 return xxx_messageInfo_GqlQueryParameter.Marshal(b, m, deterministic) 883} 884func (m *GqlQueryParameter) XXX_Merge(src proto.Message) { 885 xxx_messageInfo_GqlQueryParameter.Merge(m, src) 886} 887func (m *GqlQueryParameter) XXX_Size() int { 888 return xxx_messageInfo_GqlQueryParameter.Size(m) 889} 890func (m *GqlQueryParameter) XXX_DiscardUnknown() { 891 xxx_messageInfo_GqlQueryParameter.DiscardUnknown(m) 892} 893 894var xxx_messageInfo_GqlQueryParameter proto.InternalMessageInfo 895 896type isGqlQueryParameter_ParameterType interface { 897 isGqlQueryParameter_ParameterType() 898} 899 900type GqlQueryParameter_Value struct { 901 Value *Value `protobuf:"bytes,2,opt,name=value,proto3,oneof"` 902} 903 904type GqlQueryParameter_Cursor struct { 905 Cursor []byte `protobuf:"bytes,3,opt,name=cursor,proto3,oneof"` 906} 907 908func (*GqlQueryParameter_Value) isGqlQueryParameter_ParameterType() {} 909 910func (*GqlQueryParameter_Cursor) isGqlQueryParameter_ParameterType() {} 911 912func (m *GqlQueryParameter) GetParameterType() isGqlQueryParameter_ParameterType { 913 if m != nil { 914 return m.ParameterType 915 } 916 return nil 917} 918 919func (m *GqlQueryParameter) GetValue() *Value { 920 if x, ok := m.GetParameterType().(*GqlQueryParameter_Value); ok { 921 return x.Value 922 } 923 return nil 924} 925 926func (m *GqlQueryParameter) GetCursor() []byte { 927 if x, ok := m.GetParameterType().(*GqlQueryParameter_Cursor); ok { 928 return x.Cursor 929 } 930 return nil 931} 932 933// XXX_OneofWrappers is for the internal use of the proto package. 934func (*GqlQueryParameter) XXX_OneofWrappers() []interface{} { 935 return []interface{}{ 936 (*GqlQueryParameter_Value)(nil), 937 (*GqlQueryParameter_Cursor)(nil), 938 } 939} 940 941// A batch of results produced by a query. 942type QueryResultBatch struct { 943 // The number of results skipped, typically because of an offset. 944 SkippedResults int32 `protobuf:"varint,6,opt,name=skipped_results,json=skippedResults,proto3" json:"skipped_results,omitempty"` 945 // A cursor that points to the position after the last skipped result. 946 // Will be set when `skipped_results` != 0. 947 SkippedCursor []byte `protobuf:"bytes,3,opt,name=skipped_cursor,json=skippedCursor,proto3" json:"skipped_cursor,omitempty"` 948 // The result type for every entity in `entity_results`. 949 EntityResultType EntityResult_ResultType `protobuf:"varint,1,opt,name=entity_result_type,json=entityResultType,proto3,enum=google.datastore.v1.EntityResult_ResultType" json:"entity_result_type,omitempty"` 950 // The results for this batch. 951 EntityResults []*EntityResult `protobuf:"bytes,2,rep,name=entity_results,json=entityResults,proto3" json:"entity_results,omitempty"` 952 // A cursor that points to the position after the last result in the batch. 953 EndCursor []byte `protobuf:"bytes,4,opt,name=end_cursor,json=endCursor,proto3" json:"end_cursor,omitempty"` 954 // The state of the query after the current batch. 955 MoreResults QueryResultBatch_MoreResultsType `protobuf:"varint,5,opt,name=more_results,json=moreResults,proto3,enum=google.datastore.v1.QueryResultBatch_MoreResultsType" json:"more_results,omitempty"` 956 // The version number of the snapshot this batch was returned from. 957 // This applies to the range of results from the query's `start_cursor` (or 958 // the beginning of the query if no cursor was given) to this batch's 959 // `end_cursor` (not the query's `end_cursor`). 960 // 961 // In a single transaction, subsequent query result batches for the same query 962 // can have a greater snapshot version number. Each batch's snapshot version 963 // is valid for all preceding batches. 964 // The value will be zero for eventually consistent queries. 965 SnapshotVersion int64 `protobuf:"varint,7,opt,name=snapshot_version,json=snapshotVersion,proto3" json:"snapshot_version,omitempty"` 966 XXX_NoUnkeyedLiteral struct{} `json:"-"` 967 XXX_unrecognized []byte `json:"-"` 968 XXX_sizecache int32 `json:"-"` 969} 970 971func (m *QueryResultBatch) Reset() { *m = QueryResultBatch{} } 972func (m *QueryResultBatch) String() string { return proto.CompactTextString(m) } 973func (*QueryResultBatch) ProtoMessage() {} 974func (*QueryResultBatch) Descriptor() ([]byte, []int) { 975 return fileDescriptor_927b394a72d2bc0d, []int{11} 976} 977 978func (m *QueryResultBatch) XXX_Unmarshal(b []byte) error { 979 return xxx_messageInfo_QueryResultBatch.Unmarshal(m, b) 980} 981func (m *QueryResultBatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 982 return xxx_messageInfo_QueryResultBatch.Marshal(b, m, deterministic) 983} 984func (m *QueryResultBatch) XXX_Merge(src proto.Message) { 985 xxx_messageInfo_QueryResultBatch.Merge(m, src) 986} 987func (m *QueryResultBatch) XXX_Size() int { 988 return xxx_messageInfo_QueryResultBatch.Size(m) 989} 990func (m *QueryResultBatch) XXX_DiscardUnknown() { 991 xxx_messageInfo_QueryResultBatch.DiscardUnknown(m) 992} 993 994var xxx_messageInfo_QueryResultBatch proto.InternalMessageInfo 995 996func (m *QueryResultBatch) GetSkippedResults() int32 { 997 if m != nil { 998 return m.SkippedResults 999 } 1000 return 0 1001} 1002 1003func (m *QueryResultBatch) GetSkippedCursor() []byte { 1004 if m != nil { 1005 return m.SkippedCursor 1006 } 1007 return nil 1008} 1009 1010func (m *QueryResultBatch) GetEntityResultType() EntityResult_ResultType { 1011 if m != nil { 1012 return m.EntityResultType 1013 } 1014 return EntityResult_RESULT_TYPE_UNSPECIFIED 1015} 1016 1017func (m *QueryResultBatch) GetEntityResults() []*EntityResult { 1018 if m != nil { 1019 return m.EntityResults 1020 } 1021 return nil 1022} 1023 1024func (m *QueryResultBatch) GetEndCursor() []byte { 1025 if m != nil { 1026 return m.EndCursor 1027 } 1028 return nil 1029} 1030 1031func (m *QueryResultBatch) GetMoreResults() QueryResultBatch_MoreResultsType { 1032 if m != nil { 1033 return m.MoreResults 1034 } 1035 return QueryResultBatch_MORE_RESULTS_TYPE_UNSPECIFIED 1036} 1037 1038func (m *QueryResultBatch) GetSnapshotVersion() int64 { 1039 if m != nil { 1040 return m.SnapshotVersion 1041 } 1042 return 0 1043} 1044 1045func init() { 1046 proto.RegisterEnum("google.datastore.v1.EntityResult_ResultType", EntityResult_ResultType_name, EntityResult_ResultType_value) 1047 proto.RegisterEnum("google.datastore.v1.PropertyOrder_Direction", PropertyOrder_Direction_name, PropertyOrder_Direction_value) 1048 proto.RegisterEnum("google.datastore.v1.CompositeFilter_Operator", CompositeFilter_Operator_name, CompositeFilter_Operator_value) 1049 proto.RegisterEnum("google.datastore.v1.PropertyFilter_Operator", PropertyFilter_Operator_name, PropertyFilter_Operator_value) 1050 proto.RegisterEnum("google.datastore.v1.QueryResultBatch_MoreResultsType", QueryResultBatch_MoreResultsType_name, QueryResultBatch_MoreResultsType_value) 1051 proto.RegisterType((*EntityResult)(nil), "google.datastore.v1.EntityResult") 1052 proto.RegisterType((*Query)(nil), "google.datastore.v1.Query") 1053 proto.RegisterType((*KindExpression)(nil), "google.datastore.v1.KindExpression") 1054 proto.RegisterType((*PropertyReference)(nil), "google.datastore.v1.PropertyReference") 1055 proto.RegisterType((*Projection)(nil), "google.datastore.v1.Projection") 1056 proto.RegisterType((*PropertyOrder)(nil), "google.datastore.v1.PropertyOrder") 1057 proto.RegisterType((*Filter)(nil), "google.datastore.v1.Filter") 1058 proto.RegisterType((*CompositeFilter)(nil), "google.datastore.v1.CompositeFilter") 1059 proto.RegisterType((*PropertyFilter)(nil), "google.datastore.v1.PropertyFilter") 1060 proto.RegisterType((*GqlQuery)(nil), "google.datastore.v1.GqlQuery") 1061 proto.RegisterMapType((map[string]*GqlQueryParameter)(nil), "google.datastore.v1.GqlQuery.NamedBindingsEntry") 1062 proto.RegisterType((*GqlQueryParameter)(nil), "google.datastore.v1.GqlQueryParameter") 1063 proto.RegisterType((*QueryResultBatch)(nil), "google.datastore.v1.QueryResultBatch") 1064} 1065 1066func init() { proto.RegisterFile("google/datastore/v1/query.proto", fileDescriptor_927b394a72d2bc0d) } 1067 1068var fileDescriptor_927b394a72d2bc0d = []byte{ 1069 // 1313 bytes of a gzipped FileDescriptorProto 1070 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xdd, 0x72, 0xd3, 0x46, 1071 0x14, 0x8e, 0x64, 0x3b, 0x89, 0x8f, 0xff, 0xc4, 0xd2, 0x82, 0x08, 0x50, 0x12, 0x41, 0x4b, 0x3a, 1072 0x03, 0x36, 0x31, 0xc3, 0x94, 0x69, 0xe9, 0x74, 0xfc, 0xa3, 0xc4, 0x06, 0x63, 0x39, 0x6b, 0x27, 1073 0x14, 0x86, 0x19, 0x8d, 0xb0, 0x37, 0x46, 0x45, 0x96, 0xc4, 0x4a, 0x09, 0xcd, 0x83, 0x74, 0xa6, 1074 0x37, 0x7d, 0x81, 0x3e, 0x40, 0x2f, 0xfa, 0x00, 0x6d, 0xa7, 0xcf, 0xd0, 0xeb, 0x5e, 0xf7, 0x11, 1075 0x3a, 0xda, 0x5d, 0xf9, 0x2f, 0xc6, 0xe4, 0x82, 0x3b, 0xed, 0xd9, 0xef, 0xfb, 0xce, 0x9e, 0xb3, 1076 0x67, 0x8f, 0x0e, 0xdc, 0x18, 0x7a, 0xde, 0xd0, 0x21, 0xa5, 0x81, 0x15, 0x5a, 0x41, 0xe8, 0x51, 1077 0x52, 0x3a, 0xd9, 0x29, 0xbd, 0x3d, 0x26, 0xf4, 0xb4, 0xe8, 0x53, 0x2f, 0xf4, 0xd0, 0x45, 0x0e, 1078 0x28, 0x8e, 0x01, 0xc5, 0x93, 0x9d, 0x8d, 0x6b, 0x82, 0x65, 0xf9, 0x76, 0xc9, 0x72, 0x5d, 0x2f, 1079 0xb4, 0x42, 0xdb, 0x73, 0x03, 0x4e, 0xd9, 0xd8, 0x5c, 0xa4, 0x49, 0xdc, 0xd0, 0x0e, 0x85, 0xe8, 1080 0xc6, 0x67, 0x02, 0xc1, 0x56, 0xaf, 0x8e, 0x8f, 0x4a, 0xef, 0xa8, 0xe5, 0xfb, 0x84, 0xc6, 0x0a, 1081 0xaa, 0xd8, 0x0f, 0x4f, 0x7d, 0x52, 0x72, 0xac, 0xd0, 0x71, 0x87, 0x7c, 0x47, 0xfb, 0x4b, 0x82, 1082 0xac, 0xce, 0xa4, 0x30, 0x09, 0x8e, 0x9d, 0x10, 0xdd, 0x87, 0x55, 0x2e, 0xad, 0x4a, 0x9b, 0xd2, 1083 0x76, 0xa6, 0x7c, 0xb5, 0xb8, 0xe0, 0xc0, 0x45, 0x41, 0x11, 0x50, 0xa4, 0xc2, 0xda, 0x09, 0xa1, 1084 0x81, 0xed, 0xb9, 0x6a, 0x72, 0x53, 0xda, 0x4e, 0xe0, 0x78, 0x89, 0x2e, 0xc1, 0x6a, 0xff, 0x98, 1085 0x06, 0x1e, 0x55, 0x13, 0x9b, 0xd2, 0x76, 0x16, 0x8b, 0x95, 0xb6, 0x0f, 0xc0, 0x1d, 0xf6, 0x4e, 1086 0x7d, 0x82, 0xae, 0xc2, 0x65, 0xac, 0x77, 0x0f, 0x5a, 0x3d, 0xb3, 0xf7, 0xbc, 0xa3, 0x9b, 0x07, 1087 0xed, 0x6e, 0x47, 0xaf, 0x35, 0x77, 0x9b, 0x7a, 0x5d, 0x59, 0x41, 0xeb, 0x90, 0xdc, 0x3d, 0x68, 1088 0xb5, 0x14, 0x09, 0xe5, 0x01, 0x3a, 0xd8, 0x78, 0xac, 0xd7, 0x7a, 0x4d, 0xa3, 0xad, 0xc8, 0x28, 1089 0x0b, 0xeb, 0x4f, 0xf4, 0xe7, 0xa6, 0xd1, 0x6e, 0x3d, 0x57, 0x12, 0xda, 0x1f, 0x09, 0x48, 0xed, 1090 0x47, 0x99, 0x46, 0xdf, 0x01, 0xf8, 0xd4, 0xfb, 0x81, 0xf4, 0xa3, 0x2c, 0xaa, 0xf2, 0x66, 0x62, 1091 0x3b, 0x53, 0xbe, 0xb1, 0x30, 0x8e, 0xce, 0x18, 0x86, 0xa7, 0x28, 0xe8, 0x2b, 0x48, 0xbe, 0xb1, 1092 0xdd, 0x81, 0x9a, 0x60, 0xd4, 0x9b, 0x0b, 0xa9, 0x4f, 0x6c, 0x77, 0xa0, 0xff, 0xe8, 0x53, 0x12, 1093 0x44, 0x81, 0x62, 0x46, 0x88, 0xb2, 0x77, 0x64, 0x3b, 0x21, 0xa1, 0x2c, 0x0f, 0xef, 0xcb, 0xde, 1094 0x2e, 0x83, 0x60, 0x01, 0x45, 0x0f, 0x21, 0xe5, 0xd1, 0x01, 0xa1, 0x6a, 0x8a, 0xb9, 0xd3, 0xde, 1095 0x77, 0x52, 0x9f, 0xd0, 0xf0, 0xd4, 0x88, 0x90, 0x98, 0x13, 0xd0, 0x1e, 0x64, 0x06, 0x76, 0x10, 1096 0xda, 0x6e, 0x3f, 0x34, 0x3d, 0x57, 0x5d, 0x65, 0xfc, 0x2f, 0x96, 0xf2, 0x31, 0x39, 0x22, 0x94, 1097 0xb8, 0x7d, 0x82, 0x21, 0xa6, 0x1a, 0x2e, 0xda, 0x82, 0x6c, 0x10, 0x5a, 0x34, 0x34, 0xc5, 0x65, 1098 0xad, 0xb1, 0xcb, 0xca, 0x30, 0x5b, 0x8d, 0x99, 0xd0, 0x75, 0x00, 0xe2, 0x0e, 0x62, 0xc0, 0x3a, 1099 0x03, 0xa4, 0x89, 0x3b, 0x10, 0xdb, 0x97, 0x60, 0xd5, 0x3b, 0x3a, 0x0a, 0x48, 0xa8, 0xc2, 0xa6, 1100 0xb4, 0x9d, 0xc2, 0x62, 0x85, 0x76, 0x20, 0xe5, 0xd8, 0x23, 0x3b, 0x54, 0xb3, 0xb3, 0x09, 0x89, 1101 0x4b, 0xb5, 0xd8, 0x74, 0xc3, 0xfb, 0xe5, 0x43, 0xcb, 0x39, 0x26, 0x98, 0x23, 0xb5, 0x5b, 0x90, 1102 0x9f, 0x4d, 0x2e, 0x42, 0x90, 0x74, 0xad, 0x11, 0x61, 0x25, 0x99, 0xc6, 0xec, 0x5b, 0xbb, 0x0d, 1103 0x17, 0xce, 0xc4, 0x34, 0x06, 0xca, 0x53, 0xc0, 0x0e, 0xc0, 0xe4, 0x9a, 0x51, 0x15, 0xd6, 0x7d, 1104 0x41, 0x13, 0x15, 0x7e, 0xde, 0x7c, 0x8d, 0x79, 0xda, 0xbf, 0x12, 0xe4, 0x66, 0xee, 0xe3, 0x63, 1105 0xa8, 0xa2, 0xc7, 0x90, 0x1e, 0xd8, 0x74, 0x5c, 0xb4, 0xd2, 0x76, 0xbe, 0x7c, 0xe7, 0xc3, 0xa5, 1106 0x50, 0xac, 0xc7, 0x1c, 0x3c, 0xa1, 0x6b, 0x3a, 0xa4, 0xc7, 0x76, 0x74, 0x05, 0x3e, 0xad, 0x37, 1107 0x31, 0x7f, 0x35, 0x73, 0x6f, 0x2b, 0x07, 0xe9, 0x4a, 0xb7, 0xa6, 0xb7, 0xeb, 0xcd, 0xf6, 0x1e, 1108 0x7f, 0x60, 0x75, 0x7d, 0xbc, 0x96, 0xb5, 0xdf, 0x25, 0x58, 0xe5, 0xc5, 0x8a, 0xf6, 0x41, 0xe9, 1109 0x7b, 0x23, 0xdf, 0x0b, 0xec, 0x90, 0x98, 0xa2, 0xc6, 0x79, 0xa4, 0xb7, 0x16, 0x1e, 0xb2, 0x16, 1110 0x83, 0x39, 0xbf, 0xb1, 0x82, 0x0b, 0xfd, 0x59, 0x13, 0x6a, 0x43, 0x21, 0x0e, 0x3e, 0x56, 0x94, 1111 0x99, 0xe2, 0xcd, 0xa5, 0x61, 0x8f, 0x05, 0xf3, 0xfe, 0x8c, 0xa5, 0x9a, 0x83, 0x0c, 0x97, 0x31, 1112 0xa3, 0x3e, 0xa7, 0xfd, 0x26, 0x41, 0x61, 0xee, 0x14, 0xe8, 0x5b, 0x90, 0x3d, 0x9f, 0x9d, 0x3b, 1113 0x5f, 0xbe, 0x7b, 0x9e, 0x73, 0x17, 0x0d, 0x9f, 0x50, 0x2b, 0xf4, 0x28, 0x96, 0x3d, 0x1f, 0x3d, 1114 0x80, 0x35, 0xee, 0x21, 0x10, 0x5d, 0x65, 0xe9, 0xfb, 0x8e, 0xb1, 0xda, 0x5d, 0x58, 0x8f, 0x65, 1115 0x90, 0x0a, 0x9f, 0x18, 0x1d, 0x1d, 0x57, 0x7a, 0x06, 0x9e, 0xbb, 0x8b, 0x35, 0x48, 0x54, 0xda, 1116 0x75, 0x45, 0xd2, 0xfe, 0x91, 0x21, 0x3f, 0x1b, 0xec, 0x47, 0xa9, 0xaf, 0x47, 0x2c, 0xf6, 0xf3, 1117 0x14, 0xd6, 0xa2, 0xd0, 0xef, 0x41, 0xea, 0x24, 0x7a, 0xa4, 0xac, 0x8f, 0x67, 0xca, 0x1b, 0x0b, 1118 0x05, 0xc4, 0x33, 0x66, 0x40, 0xed, 0x27, 0xe9, 0x5c, 0x61, 0xe7, 0x20, 0xdd, 0xd2, 0xbb, 0x5d, 1119 0xb3, 0xd7, 0xa8, 0xb4, 0x15, 0x09, 0x5d, 0x02, 0x34, 0x5e, 0x9a, 0x06, 0x36, 0xf5, 0xfd, 0x83, 1120 0x4a, 0x4b, 0x91, 0x91, 0x02, 0xd9, 0x3d, 0xac, 0x57, 0x7a, 0x3a, 0xe6, 0xc8, 0x44, 0x54, 0xd6, 1121 0xd3, 0x96, 0x09, 0x38, 0x89, 0xd2, 0x90, 0xe2, 0x9f, 0xa9, 0x88, 0xd7, 0xa8, 0x74, 0xcd, 0x4a, 1122 0xbb, 0xa6, 0x77, 0x7b, 0x06, 0x56, 0x32, 0xda, 0x7f, 0x32, 0xac, 0xef, 0xbd, 0x75, 0xf8, 0xaf, 1123 0x62, 0x0b, 0xb2, 0xec, 0xef, 0x6c, 0x06, 0x21, 0xb5, 0xdd, 0xa1, 0xe8, 0x30, 0x19, 0x66, 0xeb, 1124 0x32, 0x13, 0xfa, 0x1c, 0xf2, 0x96, 0xe3, 0x78, 0xef, 0x4c, 0xc7, 0x0e, 0x09, 0xb5, 0x9c, 0x80, 1125 0xe5, 0x70, 0x1d, 0xe7, 0x98, 0xb5, 0x25, 0x8c, 0xe8, 0x19, 0xe4, 0xa3, 0x76, 0x33, 0x30, 0x5f, 1126 0xd9, 0xee, 0xc0, 0x76, 0x87, 0x81, 0x68, 0xe7, 0xf7, 0x16, 0x66, 0x2a, 0x3e, 0x40, 0xb1, 0x1d, 1127 0x71, 0xaa, 0x82, 0xa2, 0xbb, 0x21, 0x3d, 0xc5, 0x39, 0x77, 0xda, 0x86, 0x9e, 0xc1, 0x45, 0x56, 1128 0x91, 0xb6, 0xe7, 0x5a, 0xce, 0x44, 0x3d, 0xb9, 0xa4, 0xd9, 0xc7, 0xea, 0x1d, 0x8b, 0x5a, 0x23, 1129 0x12, 0xd5, 0x22, 0x9a, 0x48, 0xc4, 0xc2, 0x1b, 0xaf, 0x01, 0x9d, 0xf5, 0x8e, 0x14, 0x48, 0xbc, 1130 0x21, 0xa7, 0x22, 0x11, 0xd1, 0x27, 0x7a, 0x14, 0x5f, 0xbd, 0xbc, 0xa4, 0xf2, 0xce, 0xba, 0xe4, 1131 0xa4, 0xaf, 0xe5, 0x87, 0x92, 0x16, 0xc0, 0x85, 0x33, 0xfb, 0xa8, 0x3c, 0x2b, 0xbb, 0xa4, 0xa2, 1132 0x1a, 0x2b, 0x42, 0x0c, 0xa9, 0xb3, 0xe3, 0x44, 0x63, 0x25, 0x1e, 0x28, 0xaa, 0x0a, 0xe4, 0xfd, 1133 0x58, 0x9a, 0xbf, 0xff, 0x3f, 0x93, 0xa0, 0x30, 0x97, 0x7c, 0xd0, 0xa8, 0x5a, 0x61, 0xff, 0x35, 1134 0xba, 0x0d, 0x85, 0xe0, 0x8d, 0xed, 0xfb, 0x64, 0x60, 0x52, 0x66, 0x0e, 0xd4, 0x55, 0xf6, 0xbf, 1135 0xca, 0x0b, 0x33, 0x07, 0x07, 0xd1, 0xad, 0xc7, 0xc0, 0x99, 0x01, 0x26, 0x27, 0xac, 0xe2, 0xb7, 1136 0xf7, 0x02, 0x10, 0x9f, 0x81, 0x84, 0x1c, 0x73, 0x2d, 0x1a, 0xcc, 0x9d, 0x65, 0xa3, 0x13, 0x43, 1137 0x17, 0x27, 0x33, 0x10, 0x56, 0xc8, 0xd4, 0x06, 0x9b, 0x8a, 0x1a, 0x90, 0x9f, 0xd1, 0x8e, 0x9b, 1138 0xce, 0xd6, 0x07, 0x75, 0x71, 0x6e, 0x5a, 0x2c, 0x98, 0xfb, 0x77, 0x27, 0xe7, 0xff, 0xdd, 0xdf, 1139 0x43, 0x76, 0xe4, 0x51, 0x32, 0x76, 0x93, 0x62, 0xc7, 0x7f, 0xb0, 0xd0, 0xcd, 0x7c, 0x46, 0x8b, 1140 0x4f, 0x3d, 0x4a, 0x84, 0x1f, 0x16, 0x47, 0x66, 0x34, 0x31, 0xa0, 0x2f, 0x41, 0x09, 0x5c, 0xcb, 1141 0x0f, 0x5e, 0x7b, 0xa1, 0x19, 0x4f, 0x88, 0x6b, 0x6c, 0x42, 0x2c, 0xc4, 0xf6, 0x43, 0x6e, 0xd6, 1142 0x7e, 0x96, 0xa0, 0x30, 0xa7, 0x85, 0xb6, 0xe0, 0xfa, 0x53, 0x03, 0xeb, 0x26, 0x1f, 0x0e, 0xbb, 1143 0x8b, 0xa6, 0x43, 0x05, 0xb2, 0x6d, 0xa3, 0x67, 0xee, 0x36, 0xdb, 0xcd, 0x6e, 0x43, 0xaf, 0x2b, 1144 0x12, 0xba, 0x06, 0xea, 0x0c, 0xa9, 0xb2, 0x1b, 0xb5, 0x88, 0x56, 0xf3, 0x69, 0xb3, 0xa7, 0xc8, 1145 0xe8, 0x3a, 0x5c, 0x59, 0xb0, 0x5b, 0x3b, 0xc0, 0x5d, 0x03, 0x2b, 0x49, 0x74, 0x11, 0x0a, 0x6d, 1146 0xc3, 0x9c, 0x46, 0x28, 0x89, 0xea, 0x2f, 0x12, 0x5c, 0xee, 0x7b, 0xa3, 0x45, 0xf9, 0xa8, 0x02, 1147 0xaf, 0xea, 0x68, 0x9a, 0xe9, 0x48, 0x2f, 0x1e, 0x09, 0xc8, 0xd0, 0x73, 0x2c, 0x77, 0x58, 0xf4, 1148 0xe8, 0xb0, 0x34, 0x24, 0x2e, 0x9b, 0x75, 0x4a, 0x7c, 0xcb, 0xf2, 0xed, 0x60, 0x66, 0x92, 0xff, 1149 0x66, 0xbc, 0xf8, 0x55, 0xbe, 0xb2, 0xc7, 0xe9, 0x35, 0xc7, 0x3b, 0x1e, 0x14, 0xeb, 0x63, 0x3f, 1150 0x87, 0x3b, 0x7f, 0xc7, 0x7b, 0x2f, 0xd9, 0xde, 0xcb, 0xf1, 0xde, 0xcb, 0xc3, 0x9d, 0x57, 0xab, 1151 0xcc, 0xc1, 0xfd, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0xcd, 0x38, 0x05, 0xaa, 0x7d, 0x0c, 0x00, 1152 0x00, 1153} 1154