basev1.file_base_v1_service_proto_init   F
last analyzed

Complexity

Conditions 313

Size

Total Lines 769
Code Lines 642

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 313
eloc 642
nop 0
dl 0
loc 769
rs 0
c 0
b 0
f 0

How to fix   Long Method    Complexity   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

Complexity

Complex classes like basev1.file_base_v1_service_proto_init often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.

Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.

1
// Code generated by protoc-gen-go. DO NOT EDIT.
2
// versions:
3
// 	protoc-gen-go v1.34.2
4
// 	protoc        (unknown)
5
// source: base/v1/service.proto
6
7
package basev1
8
9
import (
10
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
11
	_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
12
	_ "google.golang.org/genproto/googleapis/api/annotations"
13
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
14
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
15
	reflect "reflect"
16
	sync "sync"
17
)
18
19
const (
20
	// Verify that this generated code is sufficiently up-to-date.
21
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
22
	// Verify that runtime/protoimpl is sufficiently up-to-date.
23
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
24
)
25
26
// PermissionCheckRequest is the request message for the Check method in the Permission service.
27
type PermissionCheckRequest struct {
28
	state         protoimpl.MessageState
29
	sizeCache     protoimpl.SizeCache
30
	unknownFields protoimpl.UnknownFields
31
32
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
33
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
34
	// Metadata associated with this request, required.
35
	Metadata *PermissionCheckRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
36
	// Entity on which the permission needs to be checked, required.
37
	Entity *Entity `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
38
	// Name of the permission or relation, required, must start with a letter and can include alphanumeric and underscore, max 64 bytes.
39
	Permission string `protobuf:"bytes,4,opt,name=permission,proto3" json:"permission,omitempty"`
40
	// Subject for which the permission needs to be checked, required.
41
	Subject *Subject `protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty"`
42
	// Context associated with this request.
43
	Context *Context `protobuf:"bytes,6,opt,name=context,proto3" json:"context,omitempty"`
44
	// Additional arguments associated with this request.
45
	Arguments []*Argument `protobuf:"bytes,7,rep,name=arguments,proto3" json:"arguments,omitempty"`
46
}
47
48
func (x *PermissionCheckRequest) Reset() {
49
	*x = PermissionCheckRequest{}
50
	if protoimpl.UnsafeEnabled {
51
		mi := &file_base_v1_service_proto_msgTypes[0]
52
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
53
		ms.StoreMessageInfo(mi)
54
	}
55
}
56
57
func (x *PermissionCheckRequest) String() string {
58
	return protoimpl.X.MessageStringOf(x)
59
}
60
61
func (*PermissionCheckRequest) ProtoMessage() {}
62
63
func (x *PermissionCheckRequest) ProtoReflect() protoreflect.Message {
64
	mi := &file_base_v1_service_proto_msgTypes[0]
65
	if protoimpl.UnsafeEnabled && x != nil {
66
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
67
		if ms.LoadMessageInfo() == nil {
68
			ms.StoreMessageInfo(mi)
69
		}
70
		return ms
71
	}
72
	return mi.MessageOf(x)
73
}
74
75
// Deprecated: Use PermissionCheckRequest.ProtoReflect.Descriptor instead.
76
func (*PermissionCheckRequest) Descriptor() ([]byte, []int) {
77
	return file_base_v1_service_proto_rawDescGZIP(), []int{0}
78
}
79
80
func (x *PermissionCheckRequest) GetTenantId() string {
81
	if x != nil {
82
		return x.TenantId
83
	}
84
	return ""
85
}
86
87
func (x *PermissionCheckRequest) GetMetadata() *PermissionCheckRequestMetadata {
88
	if x != nil {
89
		return x.Metadata
90
	}
91
	return nil
92
}
93
94
func (x *PermissionCheckRequest) GetEntity() *Entity {
95
	if x != nil {
96
		return x.Entity
97
	}
98
	return nil
99
}
100
101
func (x *PermissionCheckRequest) GetPermission() string {
102
	if x != nil {
103
		return x.Permission
104
	}
105
	return ""
106
}
107
108
func (x *PermissionCheckRequest) GetSubject() *Subject {
109
	if x != nil {
110
		return x.Subject
111
	}
112
	return nil
113
}
114
115
func (x *PermissionCheckRequest) GetContext() *Context {
116
	if x != nil {
117
		return x.Context
118
	}
119
	return nil
120
}
121
122
func (x *PermissionCheckRequest) GetArguments() []*Argument {
123
	if x != nil {
124
		return x.Arguments
125
	}
126
	return nil
127
}
128
129
// PermissionCheckRequestMetadata metadata for the PermissionCheckRequest.
130
type PermissionCheckRequestMetadata struct {
131
	state         protoimpl.MessageState
132
	sizeCache     protoimpl.SizeCache
133
	unknownFields protoimpl.UnknownFields
134
135
	// Version of the schema.
136
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
137
	// Token associated with the snap.
138
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
139
	// Depth of the check, must be greater than or equal to 3.
140
	Depth int32 `protobuf:"varint,3,opt,name=depth,proto3" json:"depth,omitempty"`
141
}
142
143
func (x *PermissionCheckRequestMetadata) Reset() {
144
	*x = PermissionCheckRequestMetadata{}
145
	if protoimpl.UnsafeEnabled {
146
		mi := &file_base_v1_service_proto_msgTypes[1]
147
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
148
		ms.StoreMessageInfo(mi)
149
	}
150
}
151
152
func (x *PermissionCheckRequestMetadata) String() string {
153
	return protoimpl.X.MessageStringOf(x)
154
}
155
156
func (*PermissionCheckRequestMetadata) ProtoMessage() {}
157
158
func (x *PermissionCheckRequestMetadata) ProtoReflect() protoreflect.Message {
159
	mi := &file_base_v1_service_proto_msgTypes[1]
160
	if protoimpl.UnsafeEnabled && x != nil {
161
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
162
		if ms.LoadMessageInfo() == nil {
163
			ms.StoreMessageInfo(mi)
164
		}
165
		return ms
166
	}
167
	return mi.MessageOf(x)
168
}
169
170
// Deprecated: Use PermissionCheckRequestMetadata.ProtoReflect.Descriptor instead.
171
func (*PermissionCheckRequestMetadata) Descriptor() ([]byte, []int) {
172
	return file_base_v1_service_proto_rawDescGZIP(), []int{1}
173
}
174
175
func (x *PermissionCheckRequestMetadata) GetSchemaVersion() string {
176
	if x != nil {
177
		return x.SchemaVersion
178
	}
179
	return ""
180
}
181
182
func (x *PermissionCheckRequestMetadata) GetSnapToken() string {
183
	if x != nil {
184
		return x.SnapToken
185
	}
186
	return ""
187
}
188
189
func (x *PermissionCheckRequestMetadata) GetDepth() int32 {
190
	if x != nil {
191
		return x.Depth
192
	}
193
	return 0
194
}
195
196
// PermissionCheckResponse is the response message for the Check method in the Permission service.
197
type PermissionCheckResponse struct {
198
	state         protoimpl.MessageState
199
	sizeCache     protoimpl.SizeCache
200
	unknownFields protoimpl.UnknownFields
201
202
	// Result of the permission check.
203
	Can CheckResult `protobuf:"varint,1,opt,name=can,proto3,enum=base.v1.CheckResult" json:"can,omitempty"`
204
	// Metadata associated with this response.
205
	Metadata *PermissionCheckResponseMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
206
}
207
208
func (x *PermissionCheckResponse) Reset() {
209
	*x = PermissionCheckResponse{}
210
	if protoimpl.UnsafeEnabled {
211
		mi := &file_base_v1_service_proto_msgTypes[2]
212
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
213
		ms.StoreMessageInfo(mi)
214
	}
215
}
216
217
func (x *PermissionCheckResponse) String() string {
218
	return protoimpl.X.MessageStringOf(x)
219
}
220
221
func (*PermissionCheckResponse) ProtoMessage() {}
222
223
func (x *PermissionCheckResponse) ProtoReflect() protoreflect.Message {
224
	mi := &file_base_v1_service_proto_msgTypes[2]
225
	if protoimpl.UnsafeEnabled && x != nil {
226
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
227
		if ms.LoadMessageInfo() == nil {
228
			ms.StoreMessageInfo(mi)
229
		}
230
		return ms
231
	}
232
	return mi.MessageOf(x)
233
}
234
235
// Deprecated: Use PermissionCheckResponse.ProtoReflect.Descriptor instead.
236
func (*PermissionCheckResponse) Descriptor() ([]byte, []int) {
237
	return file_base_v1_service_proto_rawDescGZIP(), []int{2}
238
}
239
240
func (x *PermissionCheckResponse) GetCan() CheckResult {
241
	if x != nil {
242
		return x.Can
243
	}
244
	return CheckResult_CHECK_RESULT_UNSPECIFIED
245
}
246
247
func (x *PermissionCheckResponse) GetMetadata() *PermissionCheckResponseMetadata {
248
	if x != nil {
249
		return x.Metadata
250
	}
251
	return nil
252
}
253
254
// PermissionCheckResponseMetadata metadata for the PermissionCheckResponse.
255
type PermissionCheckResponseMetadata struct {
256
	state         protoimpl.MessageState
257
	sizeCache     protoimpl.SizeCache
258
	unknownFields protoimpl.UnknownFields
259
260
	// The count of the checks performed.
261
	CheckCount int32 `protobuf:"varint,1,opt,name=check_count,proto3" json:"check_count,omitempty"`
262
}
263
264
func (x *PermissionCheckResponseMetadata) Reset() {
265
	*x = PermissionCheckResponseMetadata{}
266
	if protoimpl.UnsafeEnabled {
267
		mi := &file_base_v1_service_proto_msgTypes[3]
268
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
269
		ms.StoreMessageInfo(mi)
270
	}
271
}
272
273
func (x *PermissionCheckResponseMetadata) String() string {
274
	return protoimpl.X.MessageStringOf(x)
275
}
276
277
func (*PermissionCheckResponseMetadata) ProtoMessage() {}
278
279
func (x *PermissionCheckResponseMetadata) ProtoReflect() protoreflect.Message {
280
	mi := &file_base_v1_service_proto_msgTypes[3]
281
	if protoimpl.UnsafeEnabled && x != nil {
282
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
283
		if ms.LoadMessageInfo() == nil {
284
			ms.StoreMessageInfo(mi)
285
		}
286
		return ms
287
	}
288
	return mi.MessageOf(x)
289
}
290
291
// Deprecated: Use PermissionCheckResponseMetadata.ProtoReflect.Descriptor instead.
292
func (*PermissionCheckResponseMetadata) Descriptor() ([]byte, []int) {
293
	return file_base_v1_service_proto_rawDescGZIP(), []int{3}
294
}
295
296
func (x *PermissionCheckResponseMetadata) GetCheckCount() int32 {
297
	if x != nil {
298
		return x.CheckCount
299
	}
300
	return 0
301
}
302
303
// PermissionExpandRequest is the request message for the Expand method in the Permission service.
304
type PermissionExpandRequest struct {
305
	state         protoimpl.MessageState
306
	sizeCache     protoimpl.SizeCache
307
	unknownFields protoimpl.UnknownFields
308
309
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
310
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
311
	// Metadata associated with this request, required.
312
	Metadata *PermissionExpandRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
313
	// Entity on which the permission needs to be expanded, required.
314
	Entity *Entity `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
315
	// Name of the permission to be expanded, not required, must start with a letter and can include alphanumeric and underscore, max 64 bytes.
316
	Permission string `protobuf:"bytes,4,opt,name=permission,proto3" json:"permission,omitempty"`
317
	// Context associated with this request.
318
	Context *Context `protobuf:"bytes,5,opt,name=context,proto3" json:"context,omitempty"`
319
	// Additional arguments associated with this request.
320
	Arguments []*Argument `protobuf:"bytes,6,rep,name=arguments,proto3" json:"arguments,omitempty"`
321
}
322
323
func (x *PermissionExpandRequest) Reset() {
324
	*x = PermissionExpandRequest{}
325
	if protoimpl.UnsafeEnabled {
326
		mi := &file_base_v1_service_proto_msgTypes[4]
327
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
328
		ms.StoreMessageInfo(mi)
329
	}
330
}
331
332
func (x *PermissionExpandRequest) String() string {
333
	return protoimpl.X.MessageStringOf(x)
334
}
335
336
func (*PermissionExpandRequest) ProtoMessage() {}
337
338
func (x *PermissionExpandRequest) ProtoReflect() protoreflect.Message {
339
	mi := &file_base_v1_service_proto_msgTypes[4]
340
	if protoimpl.UnsafeEnabled && x != nil {
341
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
342
		if ms.LoadMessageInfo() == nil {
343
			ms.StoreMessageInfo(mi)
344
		}
345
		return ms
346
	}
347
	return mi.MessageOf(x)
348
}
349
350
// Deprecated: Use PermissionExpandRequest.ProtoReflect.Descriptor instead.
351
func (*PermissionExpandRequest) Descriptor() ([]byte, []int) {
352
	return file_base_v1_service_proto_rawDescGZIP(), []int{4}
353
}
354
355
func (x *PermissionExpandRequest) GetTenantId() string {
356
	if x != nil {
357
		return x.TenantId
358
	}
359
	return ""
360
}
361
362
func (x *PermissionExpandRequest) GetMetadata() *PermissionExpandRequestMetadata {
363
	if x != nil {
364
		return x.Metadata
365
	}
366
	return nil
367
}
368
369
func (x *PermissionExpandRequest) GetEntity() *Entity {
370
	if x != nil {
371
		return x.Entity
372
	}
373
	return nil
374
}
375
376
func (x *PermissionExpandRequest) GetPermission() string {
377
	if x != nil {
378
		return x.Permission
379
	}
380
	return ""
381
}
382
383
func (x *PermissionExpandRequest) GetContext() *Context {
384
	if x != nil {
385
		return x.Context
386
	}
387
	return nil
388
}
389
390
func (x *PermissionExpandRequest) GetArguments() []*Argument {
391
	if x != nil {
392
		return x.Arguments
393
	}
394
	return nil
395
}
396
397
// PermissionExpandRequestMetadata metadata for the PermissionExpandRequest.
398
type PermissionExpandRequestMetadata struct {
399
	state         protoimpl.MessageState
400
	sizeCache     protoimpl.SizeCache
401
	unknownFields protoimpl.UnknownFields
402
403
	// Version of the schema.
404
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
405
	// Token associated with the snap.
406
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
407
}
408
409
func (x *PermissionExpandRequestMetadata) Reset() {
410
	*x = PermissionExpandRequestMetadata{}
411
	if protoimpl.UnsafeEnabled {
412
		mi := &file_base_v1_service_proto_msgTypes[5]
413
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
414
		ms.StoreMessageInfo(mi)
415
	}
416
}
417
418
func (x *PermissionExpandRequestMetadata) String() string {
419
	return protoimpl.X.MessageStringOf(x)
420
}
421
422
func (*PermissionExpandRequestMetadata) ProtoMessage() {}
423
424
func (x *PermissionExpandRequestMetadata) ProtoReflect() protoreflect.Message {
425
	mi := &file_base_v1_service_proto_msgTypes[5]
426
	if protoimpl.UnsafeEnabled && x != nil {
427
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
428
		if ms.LoadMessageInfo() == nil {
429
			ms.StoreMessageInfo(mi)
430
		}
431
		return ms
432
	}
433
	return mi.MessageOf(x)
434
}
435
436
// Deprecated: Use PermissionExpandRequestMetadata.ProtoReflect.Descriptor instead.
437
func (*PermissionExpandRequestMetadata) Descriptor() ([]byte, []int) {
438
	return file_base_v1_service_proto_rawDescGZIP(), []int{5}
439
}
440
441
func (x *PermissionExpandRequestMetadata) GetSchemaVersion() string {
442
	if x != nil {
443
		return x.SchemaVersion
444
	}
445
	return ""
446
}
447
448
func (x *PermissionExpandRequestMetadata) GetSnapToken() string {
449
	if x != nil {
450
		return x.SnapToken
451
	}
452
	return ""
453
}
454
455
// PermissionExpandResponse is the response message for the Expand method in the Permission service.
456
type PermissionExpandResponse struct {
457
	state         protoimpl.MessageState
458
	sizeCache     protoimpl.SizeCache
459
	unknownFields protoimpl.UnknownFields
460
461
	// Expansion tree.
462
	Tree *Expand `protobuf:"bytes,1,opt,name=tree,proto3" json:"tree,omitempty"`
463
}
464
465
func (x *PermissionExpandResponse) Reset() {
466
	*x = PermissionExpandResponse{}
467
	if protoimpl.UnsafeEnabled {
468
		mi := &file_base_v1_service_proto_msgTypes[6]
469
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
470
		ms.StoreMessageInfo(mi)
471
	}
472
}
473
474
func (x *PermissionExpandResponse) String() string {
475
	return protoimpl.X.MessageStringOf(x)
476
}
477
478
func (*PermissionExpandResponse) ProtoMessage() {}
479
480
func (x *PermissionExpandResponse) ProtoReflect() protoreflect.Message {
481
	mi := &file_base_v1_service_proto_msgTypes[6]
482
	if protoimpl.UnsafeEnabled && x != nil {
483
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
484
		if ms.LoadMessageInfo() == nil {
485
			ms.StoreMessageInfo(mi)
486
		}
487
		return ms
488
	}
489
	return mi.MessageOf(x)
490
}
491
492
// Deprecated: Use PermissionExpandResponse.ProtoReflect.Descriptor instead.
493
func (*PermissionExpandResponse) Descriptor() ([]byte, []int) {
494
	return file_base_v1_service_proto_rawDescGZIP(), []int{6}
495
}
496
497
func (x *PermissionExpandResponse) GetTree() *Expand {
498
	if x != nil {
499
		return x.Tree
500
	}
501
	return nil
502
}
503
504
// PermissionLookupEntityRequest is the request message for the LookupEntity method in the Permission service.
505
type PermissionLookupEntityRequest struct {
506
	state         protoimpl.MessageState
507
	sizeCache     protoimpl.SizeCache
508
	unknownFields protoimpl.UnknownFields
509
510
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
511
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
512
	// Metadata associated with this request, required.
513
	Metadata *PermissionLookupEntityRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
514
	// Type of the entity to lookup, required, must start with a letter and can include alphanumeric and underscore, max 64 bytes.
515
	EntityType string `protobuf:"bytes,3,opt,name=entity_type,proto3" json:"entity_type,omitempty"`
516
	// Name of the permission to check, required, must start with a letter and can include alphanumeric and underscore, max 64 bytes.
517
	Permission string `protobuf:"bytes,4,opt,name=permission,proto3" json:"permission,omitempty"`
518
	// Subject for which to check the permission, required.
519
	Subject *Subject `protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty"`
520
	// Context associated with this request.
521
	Context *Context `protobuf:"bytes,6,opt,name=context,proto3" json:"context,omitempty"`
522
	// Scope: A map that associates entity types with lists of identifiers. Each entry
523
	// helps filter requests by specifying which entities are relevant to the operation.
524
	Scope map[string]*StringArrayValue `protobuf:"bytes,7,rep,name=scope,proto3" json:"scope,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
525
	// page_size is the number of entities to be returned in the response.
526
	// The value should be between 1 and 100.
527
	PageSize uint32 `protobuf:"varint,8,opt,name=page_size,proto3" json:"page_size,omitempty"`
528
	// continuous_token is an optional parameter used for pagination.
529
	// It should be the value received in the previous response.
530
	ContinuousToken string `protobuf:"bytes,9,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
531
}
532
533
func (x *PermissionLookupEntityRequest) Reset() {
534
	*x = PermissionLookupEntityRequest{}
535
	if protoimpl.UnsafeEnabled {
536
		mi := &file_base_v1_service_proto_msgTypes[7]
537
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
538
		ms.StoreMessageInfo(mi)
539
	}
540
}
541
542
func (x *PermissionLookupEntityRequest) String() string {
543
	return protoimpl.X.MessageStringOf(x)
544
}
545
546
func (*PermissionLookupEntityRequest) ProtoMessage() {}
547
548
func (x *PermissionLookupEntityRequest) ProtoReflect() protoreflect.Message {
549
	mi := &file_base_v1_service_proto_msgTypes[7]
550
	if protoimpl.UnsafeEnabled && x != nil {
551
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
552
		if ms.LoadMessageInfo() == nil {
553
			ms.StoreMessageInfo(mi)
554
		}
555
		return ms
556
	}
557
	return mi.MessageOf(x)
558
}
559
560
// Deprecated: Use PermissionLookupEntityRequest.ProtoReflect.Descriptor instead.
561
func (*PermissionLookupEntityRequest) Descriptor() ([]byte, []int) {
562
	return file_base_v1_service_proto_rawDescGZIP(), []int{7}
563
}
564
565
func (x *PermissionLookupEntityRequest) GetTenantId() string {
566
	if x != nil {
567
		return x.TenantId
568
	}
569
	return ""
570
}
571
572
func (x *PermissionLookupEntityRequest) GetMetadata() *PermissionLookupEntityRequestMetadata {
573
	if x != nil {
574
		return x.Metadata
575
	}
576
	return nil
577
}
578
579
func (x *PermissionLookupEntityRequest) GetEntityType() string {
580
	if x != nil {
581
		return x.EntityType
582
	}
583
	return ""
584
}
585
586
func (x *PermissionLookupEntityRequest) GetPermission() string {
587
	if x != nil {
588
		return x.Permission
589
	}
590
	return ""
591
}
592
593
func (x *PermissionLookupEntityRequest) GetSubject() *Subject {
594
	if x != nil {
595
		return x.Subject
596
	}
597
	return nil
598
}
599
600
func (x *PermissionLookupEntityRequest) GetContext() *Context {
601
	if x != nil {
602
		return x.Context
603
	}
604
	return nil
605
}
606
607
func (x *PermissionLookupEntityRequest) GetScope() map[string]*StringArrayValue {
608
	if x != nil {
609
		return x.Scope
610
	}
611
	return nil
612
}
613
614
func (x *PermissionLookupEntityRequest) GetPageSize() uint32 {
615
	if x != nil {
616
		return x.PageSize
617
	}
618
	return 0
619
}
620
621
func (x *PermissionLookupEntityRequest) GetContinuousToken() string {
622
	if x != nil {
623
		return x.ContinuousToken
624
	}
625
	return ""
626
}
627
628
// PermissionLookupEntityRequestMetadata metadata for the PermissionLookupEntityRequest.
629
type PermissionLookupEntityRequestMetadata struct {
630
	state         protoimpl.MessageState
631
	sizeCache     protoimpl.SizeCache
632
	unknownFields protoimpl.UnknownFields
633
634
	// Version of the schema.
635
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
636
	// Token associated with the snap.
637
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
638
	// Depth of lookup, required, must be greater or equal to 3.
639
	Depth int32 `protobuf:"varint,3,opt,name=depth,proto3" json:"depth,omitempty"`
640
}
641
642
func (x *PermissionLookupEntityRequestMetadata) Reset() {
643
	*x = PermissionLookupEntityRequestMetadata{}
644
	if protoimpl.UnsafeEnabled {
645
		mi := &file_base_v1_service_proto_msgTypes[8]
646
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
647
		ms.StoreMessageInfo(mi)
648
	}
649
}
650
651
func (x *PermissionLookupEntityRequestMetadata) String() string {
652
	return protoimpl.X.MessageStringOf(x)
653
}
654
655
func (*PermissionLookupEntityRequestMetadata) ProtoMessage() {}
656
657
func (x *PermissionLookupEntityRequestMetadata) ProtoReflect() protoreflect.Message {
658
	mi := &file_base_v1_service_proto_msgTypes[8]
659
	if protoimpl.UnsafeEnabled && x != nil {
660
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
661
		if ms.LoadMessageInfo() == nil {
662
			ms.StoreMessageInfo(mi)
663
		}
664
		return ms
665
	}
666
	return mi.MessageOf(x)
667
}
668
669
// Deprecated: Use PermissionLookupEntityRequestMetadata.ProtoReflect.Descriptor instead.
670
func (*PermissionLookupEntityRequestMetadata) Descriptor() ([]byte, []int) {
671
	return file_base_v1_service_proto_rawDescGZIP(), []int{8}
672
}
673
674
func (x *PermissionLookupEntityRequestMetadata) GetSchemaVersion() string {
675
	if x != nil {
676
		return x.SchemaVersion
677
	}
678
	return ""
679
}
680
681
func (x *PermissionLookupEntityRequestMetadata) GetSnapToken() string {
682
	if x != nil {
683
		return x.SnapToken
684
	}
685
	return ""
686
}
687
688
func (x *PermissionLookupEntityRequestMetadata) GetDepth() int32 {
689
	if x != nil {
690
		return x.Depth
691
	}
692
	return 0
693
}
694
695
// PermissionLookupEntityResponse is the response message for the LookupEntity method in the Permission service.
696
type PermissionLookupEntityResponse struct {
697
	state         protoimpl.MessageState
698
	sizeCache     protoimpl.SizeCache
699
	unknownFields protoimpl.UnknownFields
700
701
	// List of identifiers for entities that match the lookup.
702
	EntityIds []string `protobuf:"bytes,1,rep,name=entity_ids,proto3" json:"entity_ids,omitempty"`
703
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
704
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
705
}
706
707
func (x *PermissionLookupEntityResponse) Reset() {
708
	*x = PermissionLookupEntityResponse{}
709
	if protoimpl.UnsafeEnabled {
710
		mi := &file_base_v1_service_proto_msgTypes[9]
711
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
712
		ms.StoreMessageInfo(mi)
713
	}
714
}
715
716
func (x *PermissionLookupEntityResponse) String() string {
717
	return protoimpl.X.MessageStringOf(x)
718
}
719
720
func (*PermissionLookupEntityResponse) ProtoMessage() {}
721
722
func (x *PermissionLookupEntityResponse) ProtoReflect() protoreflect.Message {
723
	mi := &file_base_v1_service_proto_msgTypes[9]
724
	if protoimpl.UnsafeEnabled && x != nil {
725
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
726
		if ms.LoadMessageInfo() == nil {
727
			ms.StoreMessageInfo(mi)
728
		}
729
		return ms
730
	}
731
	return mi.MessageOf(x)
732
}
733
734
// Deprecated: Use PermissionLookupEntityResponse.ProtoReflect.Descriptor instead.
735
func (*PermissionLookupEntityResponse) Descriptor() ([]byte, []int) {
736
	return file_base_v1_service_proto_rawDescGZIP(), []int{9}
737
}
738
739
func (x *PermissionLookupEntityResponse) GetEntityIds() []string {
740
	if x != nil {
741
		return x.EntityIds
742
	}
743
	return nil
744
}
745
746
func (x *PermissionLookupEntityResponse) GetContinuousToken() string {
747
	if x != nil {
748
		return x.ContinuousToken
749
	}
750
	return ""
751
}
752
753
// PermissionLookupEntityStreamResponse is the response message for the LookupEntityStream method in the Permission service.
754
type PermissionLookupEntityStreamResponse struct {
755
	state         protoimpl.MessageState
756
	sizeCache     protoimpl.SizeCache
757
	unknownFields protoimpl.UnknownFields
758
759
	// Identifier for an entity that matches the lookup.
760
	EntityId string `protobuf:"bytes,1,opt,name=entity_id,proto3" json:"entity_id,omitempty"`
761
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
762
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
763
}
764
765
func (x *PermissionLookupEntityStreamResponse) Reset() {
766
	*x = PermissionLookupEntityStreamResponse{}
767
	if protoimpl.UnsafeEnabled {
768
		mi := &file_base_v1_service_proto_msgTypes[10]
769
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
770
		ms.StoreMessageInfo(mi)
771
	}
772
}
773
774
func (x *PermissionLookupEntityStreamResponse) String() string {
775
	return protoimpl.X.MessageStringOf(x)
776
}
777
778
func (*PermissionLookupEntityStreamResponse) ProtoMessage() {}
779
780
func (x *PermissionLookupEntityStreamResponse) ProtoReflect() protoreflect.Message {
781
	mi := &file_base_v1_service_proto_msgTypes[10]
782
	if protoimpl.UnsafeEnabled && x != nil {
783
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
784
		if ms.LoadMessageInfo() == nil {
785
			ms.StoreMessageInfo(mi)
786
		}
787
		return ms
788
	}
789
	return mi.MessageOf(x)
790
}
791
792
// Deprecated: Use PermissionLookupEntityStreamResponse.ProtoReflect.Descriptor instead.
793
func (*PermissionLookupEntityStreamResponse) Descriptor() ([]byte, []int) {
794
	return file_base_v1_service_proto_rawDescGZIP(), []int{10}
795
}
796
797
func (x *PermissionLookupEntityStreamResponse) GetEntityId() string {
798
	if x != nil {
799
		return x.EntityId
800
	}
801
	return ""
802
}
803
804
func (x *PermissionLookupEntityStreamResponse) GetContinuousToken() string {
805
	if x != nil {
806
		return x.ContinuousToken
807
	}
808
	return ""
809
}
810
811
// PermissionEntityFilterRequest is the request message for the LookupEntityStream method in the Permission service.
812
type PermissionEntityFilterRequest struct {
813
	state         protoimpl.MessageState
814
	sizeCache     protoimpl.SizeCache
815
	unknownFields protoimpl.UnknownFields
816
817
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
818
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
819
	// Metadata associated with this request, required.
820
	Metadata *PermissionEntityFilterRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
821
	// Reference to the entity to filter.
822
	Entrance *Entrance `protobuf:"bytes,3,opt,name=entrance,proto3" json:"entrance,omitempty"`
823
	// Subject for which to check the permission.
824
	Subject *Subject `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
825
	// Context associated with this request.
826
	Context *Context `protobuf:"bytes,5,opt,name=context,proto3" json:"context,omitempty"`
827
	// Scope: A map that associates entity types with lists of identifiers. Each entry
828
	// helps filter requests by specifying which entities are relevant to the operation.
829
	Scope map[string]*StringArrayValue `protobuf:"bytes,6,rep,name=scope,proto3" json:"scope,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
830
	// cursor is an optional parameter used for pagination.
831
	// It should be the value received in the previous response.
832
	Cursor string `protobuf:"bytes,7,opt,name=cursor,proto3" json:"cursor,omitempty"`
833
}
834
835
func (x *PermissionEntityFilterRequest) Reset() {
836
	*x = PermissionEntityFilterRequest{}
837
	if protoimpl.UnsafeEnabled {
838
		mi := &file_base_v1_service_proto_msgTypes[11]
839
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
840
		ms.StoreMessageInfo(mi)
841
	}
842
}
843
844
func (x *PermissionEntityFilterRequest) String() string {
845
	return protoimpl.X.MessageStringOf(x)
846
}
847
848
func (*PermissionEntityFilterRequest) ProtoMessage() {}
849
850
func (x *PermissionEntityFilterRequest) ProtoReflect() protoreflect.Message {
851
	mi := &file_base_v1_service_proto_msgTypes[11]
852
	if protoimpl.UnsafeEnabled && x != nil {
853
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
854
		if ms.LoadMessageInfo() == nil {
855
			ms.StoreMessageInfo(mi)
856
		}
857
		return ms
858
	}
859
	return mi.MessageOf(x)
860
}
861
862
// Deprecated: Use PermissionEntityFilterRequest.ProtoReflect.Descriptor instead.
863
func (*PermissionEntityFilterRequest) Descriptor() ([]byte, []int) {
864
	return file_base_v1_service_proto_rawDescGZIP(), []int{11}
865
}
866
867
func (x *PermissionEntityFilterRequest) GetTenantId() string {
868
	if x != nil {
869
		return x.TenantId
870
	}
871
	return ""
872
}
873
874
func (x *PermissionEntityFilterRequest) GetMetadata() *PermissionEntityFilterRequestMetadata {
875
	if x != nil {
876
		return x.Metadata
877
	}
878
	return nil
879
}
880
881
func (x *PermissionEntityFilterRequest) GetEntrance() *Entrance {
882
	if x != nil {
883
		return x.Entrance
884
	}
885
	return nil
886
}
887
888
func (x *PermissionEntityFilterRequest) GetSubject() *Subject {
889
	if x != nil {
890
		return x.Subject
891
	}
892
	return nil
893
}
894
895
func (x *PermissionEntityFilterRequest) GetContext() *Context {
896
	if x != nil {
897
		return x.Context
898
	}
899
	return nil
900
}
901
902
func (x *PermissionEntityFilterRequest) GetScope() map[string]*StringArrayValue {
903
	if x != nil {
904
		return x.Scope
905
	}
906
	return nil
907
}
908
909
func (x *PermissionEntityFilterRequest) GetCursor() string {
910
	if x != nil {
911
		return x.Cursor
912
	}
913
	return ""
914
}
915
916
// PermissionEntityFilterRequestMetadata metadata for the PermissionEntityFilterRequest.
917
type PermissionEntityFilterRequestMetadata struct {
918
	state         protoimpl.MessageState
919
	sizeCache     protoimpl.SizeCache
920
	unknownFields protoimpl.UnknownFields
921
922
	// Version of the schema.
923
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
924
	// Token associated with the snap.
925
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
926
	// Depth of lookup, required, must be greater or equal to 3.
927
	Depth int32 `protobuf:"varint,3,opt,name=depth,proto3" json:"depth,omitempty"`
928
}
929
930
func (x *PermissionEntityFilterRequestMetadata) Reset() {
931
	*x = PermissionEntityFilterRequestMetadata{}
932
	if protoimpl.UnsafeEnabled {
933
		mi := &file_base_v1_service_proto_msgTypes[12]
934
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
935
		ms.StoreMessageInfo(mi)
936
	}
937
}
938
939
func (x *PermissionEntityFilterRequestMetadata) String() string {
940
	return protoimpl.X.MessageStringOf(x)
941
}
942
943
func (*PermissionEntityFilterRequestMetadata) ProtoMessage() {}
944
945
func (x *PermissionEntityFilterRequestMetadata) ProtoReflect() protoreflect.Message {
946
	mi := &file_base_v1_service_proto_msgTypes[12]
947
	if protoimpl.UnsafeEnabled && x != nil {
948
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
949
		if ms.LoadMessageInfo() == nil {
950
			ms.StoreMessageInfo(mi)
951
		}
952
		return ms
953
	}
954
	return mi.MessageOf(x)
955
}
956
957
// Deprecated: Use PermissionEntityFilterRequestMetadata.ProtoReflect.Descriptor instead.
958
func (*PermissionEntityFilterRequestMetadata) Descriptor() ([]byte, []int) {
959
	return file_base_v1_service_proto_rawDescGZIP(), []int{12}
960
}
961
962
func (x *PermissionEntityFilterRequestMetadata) GetSchemaVersion() string {
963
	if x != nil {
964
		return x.SchemaVersion
965
	}
966
	return ""
967
}
968
969
func (x *PermissionEntityFilterRequestMetadata) GetSnapToken() string {
970
	if x != nil {
971
		return x.SnapToken
972
	}
973
	return ""
974
}
975
976
func (x *PermissionEntityFilterRequestMetadata) GetDepth() int32 {
977
	if x != nil {
978
		return x.Depth
979
	}
980
	return 0
981
}
982
983
// PermissionLookupSubjectRequest is the request message for the LookupSubject method in the Permission service.
984
type PermissionLookupSubjectRequest struct {
985
	state         protoimpl.MessageState
986
	sizeCache     protoimpl.SizeCache
987
	unknownFields protoimpl.UnknownFields
988
989
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
990
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
991
	// Metadata associated with this request, required.
992
	Metadata *PermissionLookupSubjectRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
993
	// Entity for which to check the permission, required.
994
	Entity *Entity `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
995
	// Permission to be checked, can be a permission or relation. Required, and must match the pattern "^([a-zA-Z][a-zA-Z0-9_]{1,62}[a-zA-Z0-9])$", max 64 bytes.
996
	Permission string `protobuf:"bytes,4,opt,name=permission,proto3" json:"permission,omitempty"`
997
	// Reference to the subject to lookup.
998
	SubjectReference *RelationReference `protobuf:"bytes,5,opt,name=subject_reference,proto3" json:"subject_reference,omitempty"`
999
	// Context associated with this request.
1000
	Context *Context `protobuf:"bytes,6,opt,name=context,proto3" json:"context,omitempty"`
1001
	// Additional arguments associated with this request.
1002
	Arguments []*Argument `protobuf:"bytes,7,rep,name=arguments,proto3" json:"arguments,omitempty"`
1003
	// page_size is the number of subjects to be returned in the response.
1004
	// The value should be between 1 and 100.
1005
	PageSize uint32 `protobuf:"varint,8,opt,name=page_size,proto3" json:"page_size,omitempty"`
1006
	// continuous_token is an optional parameter used for pagination.
1007
	// It should be the value received in the previous response.
1008
	ContinuousToken string `protobuf:"bytes,9,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
1009
}
1010
1011
func (x *PermissionLookupSubjectRequest) Reset() {
1012
	*x = PermissionLookupSubjectRequest{}
1013
	if protoimpl.UnsafeEnabled {
1014
		mi := &file_base_v1_service_proto_msgTypes[13]
1015
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1016
		ms.StoreMessageInfo(mi)
1017
	}
1018
}
1019
1020
func (x *PermissionLookupSubjectRequest) String() string {
1021
	return protoimpl.X.MessageStringOf(x)
1022
}
1023
1024
func (*PermissionLookupSubjectRequest) ProtoMessage() {}
1025
1026
func (x *PermissionLookupSubjectRequest) ProtoReflect() protoreflect.Message {
1027
	mi := &file_base_v1_service_proto_msgTypes[13]
1028
	if protoimpl.UnsafeEnabled && x != nil {
1029
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1030
		if ms.LoadMessageInfo() == nil {
1031
			ms.StoreMessageInfo(mi)
1032
		}
1033
		return ms
1034
	}
1035
	return mi.MessageOf(x)
1036
}
1037
1038
// Deprecated: Use PermissionLookupSubjectRequest.ProtoReflect.Descriptor instead.
1039
func (*PermissionLookupSubjectRequest) Descriptor() ([]byte, []int) {
1040
	return file_base_v1_service_proto_rawDescGZIP(), []int{13}
1041
}
1042
1043
func (x *PermissionLookupSubjectRequest) GetTenantId() string {
1044
	if x != nil {
1045
		return x.TenantId
1046
	}
1047
	return ""
1048
}
1049
1050
func (x *PermissionLookupSubjectRequest) GetMetadata() *PermissionLookupSubjectRequestMetadata {
1051
	if x != nil {
1052
		return x.Metadata
1053
	}
1054
	return nil
1055
}
1056
1057
func (x *PermissionLookupSubjectRequest) GetEntity() *Entity {
1058
	if x != nil {
1059
		return x.Entity
1060
	}
1061
	return nil
1062
}
1063
1064
func (x *PermissionLookupSubjectRequest) GetPermission() string {
1065
	if x != nil {
1066
		return x.Permission
1067
	}
1068
	return ""
1069
}
1070
1071
func (x *PermissionLookupSubjectRequest) GetSubjectReference() *RelationReference {
1072
	if x != nil {
1073
		return x.SubjectReference
1074
	}
1075
	return nil
1076
}
1077
1078
func (x *PermissionLookupSubjectRequest) GetContext() *Context {
1079
	if x != nil {
1080
		return x.Context
1081
	}
1082
	return nil
1083
}
1084
1085
func (x *PermissionLookupSubjectRequest) GetArguments() []*Argument {
1086
	if x != nil {
1087
		return x.Arguments
1088
	}
1089
	return nil
1090
}
1091
1092
func (x *PermissionLookupSubjectRequest) GetPageSize() uint32 {
1093
	if x != nil {
1094
		return x.PageSize
1095
	}
1096
	return 0
1097
}
1098
1099
func (x *PermissionLookupSubjectRequest) GetContinuousToken() string {
1100
	if x != nil {
1101
		return x.ContinuousToken
1102
	}
1103
	return ""
1104
}
1105
1106
// PermissionLookupSubjectRequestMetadata metadata for the PermissionLookupSubjectRequest.
1107
type PermissionLookupSubjectRequestMetadata struct {
1108
	state         protoimpl.MessageState
1109
	sizeCache     protoimpl.SizeCache
1110
	unknownFields protoimpl.UnknownFields
1111
1112
	// Version of the schema.
1113
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1114
	// Token associated with the snap.
1115
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
1116
	// Depth of the check, must be greater than or equal to 3.
1117
	Depth int32 `protobuf:"varint,3,opt,name=depth,proto3" json:"depth,omitempty"`
1118
}
1119
1120
func (x *PermissionLookupSubjectRequestMetadata) Reset() {
1121
	*x = PermissionLookupSubjectRequestMetadata{}
1122
	if protoimpl.UnsafeEnabled {
1123
		mi := &file_base_v1_service_proto_msgTypes[14]
1124
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1125
		ms.StoreMessageInfo(mi)
1126
	}
1127
}
1128
1129
func (x *PermissionLookupSubjectRequestMetadata) String() string {
1130
	return protoimpl.X.MessageStringOf(x)
1131
}
1132
1133
func (*PermissionLookupSubjectRequestMetadata) ProtoMessage() {}
1134
1135
func (x *PermissionLookupSubjectRequestMetadata) ProtoReflect() protoreflect.Message {
1136
	mi := &file_base_v1_service_proto_msgTypes[14]
1137
	if protoimpl.UnsafeEnabled && x != nil {
1138
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1139
		if ms.LoadMessageInfo() == nil {
1140
			ms.StoreMessageInfo(mi)
1141
		}
1142
		return ms
1143
	}
1144
	return mi.MessageOf(x)
1145
}
1146
1147
// Deprecated: Use PermissionLookupSubjectRequestMetadata.ProtoReflect.Descriptor instead.
1148
func (*PermissionLookupSubjectRequestMetadata) Descriptor() ([]byte, []int) {
1149
	return file_base_v1_service_proto_rawDescGZIP(), []int{14}
1150
}
1151
1152
func (x *PermissionLookupSubjectRequestMetadata) GetSchemaVersion() string {
1153
	if x != nil {
1154
		return x.SchemaVersion
1155
	}
1156
	return ""
1157
}
1158
1159
func (x *PermissionLookupSubjectRequestMetadata) GetSnapToken() string {
1160
	if x != nil {
1161
		return x.SnapToken
1162
	}
1163
	return ""
1164
}
1165
1166
func (x *PermissionLookupSubjectRequestMetadata) GetDepth() int32 {
1167
	if x != nil {
1168
		return x.Depth
1169
	}
1170
	return 0
1171
}
1172
1173
// PermissionLookupSubjectResponse is the response message for the LookupSubject method in the Permission service.
1174
type PermissionLookupSubjectResponse struct {
1175
	state         protoimpl.MessageState
1176
	sizeCache     protoimpl.SizeCache
1177
	unknownFields protoimpl.UnknownFields
1178
1179
	// List of identifiers for subjects that match the lookup.
1180
	SubjectIds []string `protobuf:"bytes,1,rep,name=subject_ids,proto3" json:"subject_ids,omitempty"`
1181
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
1182
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
1183
}
1184
1185
func (x *PermissionLookupSubjectResponse) Reset() {
1186
	*x = PermissionLookupSubjectResponse{}
1187
	if protoimpl.UnsafeEnabled {
1188
		mi := &file_base_v1_service_proto_msgTypes[15]
1189
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1190
		ms.StoreMessageInfo(mi)
1191
	}
1192
}
1193
1194
func (x *PermissionLookupSubjectResponse) String() string {
1195
	return protoimpl.X.MessageStringOf(x)
1196
}
1197
1198
func (*PermissionLookupSubjectResponse) ProtoMessage() {}
1199
1200
func (x *PermissionLookupSubjectResponse) ProtoReflect() protoreflect.Message {
1201
	mi := &file_base_v1_service_proto_msgTypes[15]
1202
	if protoimpl.UnsafeEnabled && x != nil {
1203
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1204
		if ms.LoadMessageInfo() == nil {
1205
			ms.StoreMessageInfo(mi)
1206
		}
1207
		return ms
1208
	}
1209
	return mi.MessageOf(x)
1210
}
1211
1212
// Deprecated: Use PermissionLookupSubjectResponse.ProtoReflect.Descriptor instead.
1213
func (*PermissionLookupSubjectResponse) Descriptor() ([]byte, []int) {
1214
	return file_base_v1_service_proto_rawDescGZIP(), []int{15}
1215
}
1216
1217
func (x *PermissionLookupSubjectResponse) GetSubjectIds() []string {
1218
	if x != nil {
1219
		return x.SubjectIds
1220
	}
1221
	return nil
1222
}
1223
1224
func (x *PermissionLookupSubjectResponse) GetContinuousToken() string {
1225
	if x != nil {
1226
		return x.ContinuousToken
1227
	}
1228
	return ""
1229
}
1230
1231
// PermissionSubjectPermissionRequest is the request message for the SubjectPermission method in the Permission service.
1232
type PermissionSubjectPermissionRequest struct {
1233
	state         protoimpl.MessageState
1234
	sizeCache     protoimpl.SizeCache
1235
	unknownFields protoimpl.UnknownFields
1236
1237
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
1238
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1239
	// Metadata associated with this request, required.
1240
	Metadata *PermissionSubjectPermissionRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1241
	// Entity for which to check the permission, required.
1242
	Entity *Entity `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
1243
	// Subject for which to check the permission, required.
1244
	Subject *Subject `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
1245
	// Context associated with this request.
1246
	Context *Context `protobuf:"bytes,5,opt,name=context,proto3" json:"context,omitempty"`
1247
}
1248
1249
func (x *PermissionSubjectPermissionRequest) Reset() {
1250
	*x = PermissionSubjectPermissionRequest{}
1251
	if protoimpl.UnsafeEnabled {
1252
		mi := &file_base_v1_service_proto_msgTypes[16]
1253
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1254
		ms.StoreMessageInfo(mi)
1255
	}
1256
}
1257
1258
func (x *PermissionSubjectPermissionRequest) String() string {
1259
	return protoimpl.X.MessageStringOf(x)
1260
}
1261
1262
func (*PermissionSubjectPermissionRequest) ProtoMessage() {}
1263
1264
func (x *PermissionSubjectPermissionRequest) ProtoReflect() protoreflect.Message {
1265
	mi := &file_base_v1_service_proto_msgTypes[16]
1266
	if protoimpl.UnsafeEnabled && x != nil {
1267
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1268
		if ms.LoadMessageInfo() == nil {
1269
			ms.StoreMessageInfo(mi)
1270
		}
1271
		return ms
1272
	}
1273
	return mi.MessageOf(x)
1274
}
1275
1276
// Deprecated: Use PermissionSubjectPermissionRequest.ProtoReflect.Descriptor instead.
1277
func (*PermissionSubjectPermissionRequest) Descriptor() ([]byte, []int) {
1278
	return file_base_v1_service_proto_rawDescGZIP(), []int{16}
1279
}
1280
1281
func (x *PermissionSubjectPermissionRequest) GetTenantId() string {
1282
	if x != nil {
1283
		return x.TenantId
1284
	}
1285
	return ""
1286
}
1287
1288
func (x *PermissionSubjectPermissionRequest) GetMetadata() *PermissionSubjectPermissionRequestMetadata {
1289
	if x != nil {
1290
		return x.Metadata
1291
	}
1292
	return nil
1293
}
1294
1295
func (x *PermissionSubjectPermissionRequest) GetEntity() *Entity {
1296
	if x != nil {
1297
		return x.Entity
1298
	}
1299
	return nil
1300
}
1301
1302
func (x *PermissionSubjectPermissionRequest) GetSubject() *Subject {
1303
	if x != nil {
1304
		return x.Subject
1305
	}
1306
	return nil
1307
}
1308
1309
func (x *PermissionSubjectPermissionRequest) GetContext() *Context {
1310
	if x != nil {
1311
		return x.Context
1312
	}
1313
	return nil
1314
}
1315
1316
// PermissionSubjectPermissionRequestMetadata metadata for the PermissionSubjectPermissionRequest.
1317
type PermissionSubjectPermissionRequestMetadata struct {
1318
	state         protoimpl.MessageState
1319
	sizeCache     protoimpl.SizeCache
1320
	unknownFields protoimpl.UnknownFields
1321
1322
	// Version of the schema.
1323
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1324
	// Token associated with the snap.
1325
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
1326
	// Whether to only check permissions.
1327
	OnlyPermission bool `protobuf:"varint,3,opt,name=only_permission,proto3" json:"only_permission,omitempty"`
1328
	// Depth of the check, must be greater than or equal to 3.
1329
	Depth int32 `protobuf:"varint,4,opt,name=depth,proto3" json:"depth,omitempty"`
1330
}
1331
1332
func (x *PermissionSubjectPermissionRequestMetadata) Reset() {
1333
	*x = PermissionSubjectPermissionRequestMetadata{}
1334
	if protoimpl.UnsafeEnabled {
1335
		mi := &file_base_v1_service_proto_msgTypes[17]
1336
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1337
		ms.StoreMessageInfo(mi)
1338
	}
1339
}
1340
1341
func (x *PermissionSubjectPermissionRequestMetadata) String() string {
1342
	return protoimpl.X.MessageStringOf(x)
1343
}
1344
1345
func (*PermissionSubjectPermissionRequestMetadata) ProtoMessage() {}
1346
1347
func (x *PermissionSubjectPermissionRequestMetadata) ProtoReflect() protoreflect.Message {
1348
	mi := &file_base_v1_service_proto_msgTypes[17]
1349
	if protoimpl.UnsafeEnabled && x != nil {
1350
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1351
		if ms.LoadMessageInfo() == nil {
1352
			ms.StoreMessageInfo(mi)
1353
		}
1354
		return ms
1355
	}
1356
	return mi.MessageOf(x)
1357
}
1358
1359
// Deprecated: Use PermissionSubjectPermissionRequestMetadata.ProtoReflect.Descriptor instead.
1360
func (*PermissionSubjectPermissionRequestMetadata) Descriptor() ([]byte, []int) {
1361
	return file_base_v1_service_proto_rawDescGZIP(), []int{17}
1362
}
1363
1364
func (x *PermissionSubjectPermissionRequestMetadata) GetSchemaVersion() string {
1365
	if x != nil {
1366
		return x.SchemaVersion
1367
	}
1368
	return ""
1369
}
1370
1371
func (x *PermissionSubjectPermissionRequestMetadata) GetSnapToken() string {
1372
	if x != nil {
1373
		return x.SnapToken
1374
	}
1375
	return ""
1376
}
1377
1378
func (x *PermissionSubjectPermissionRequestMetadata) GetOnlyPermission() bool {
1379
	if x != nil {
1380
		return x.OnlyPermission
1381
	}
1382
	return false
1383
}
1384
1385
func (x *PermissionSubjectPermissionRequestMetadata) GetDepth() int32 {
1386
	if x != nil {
1387
		return x.Depth
1388
	}
1389
	return 0
1390
}
1391
1392
// PermissionSubjectPermissionResponse is the response message for the SubjectPermission method in the Permission service.
1393
type PermissionSubjectPermissionResponse struct {
1394
	state         protoimpl.MessageState
1395
	sizeCache     protoimpl.SizeCache
1396
	unknownFields protoimpl.UnknownFields
1397
1398
	// Map of results for each permission check.
1399
	Results map[string]CheckResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=base.v1.CheckResult"`
1400
}
1401
1402
func (x *PermissionSubjectPermissionResponse) Reset() {
1403
	*x = PermissionSubjectPermissionResponse{}
1404
	if protoimpl.UnsafeEnabled {
1405
		mi := &file_base_v1_service_proto_msgTypes[18]
1406
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1407
		ms.StoreMessageInfo(mi)
1408
	}
1409
}
1410
1411
func (x *PermissionSubjectPermissionResponse) String() string {
1412
	return protoimpl.X.MessageStringOf(x)
1413
}
1414
1415
func (*PermissionSubjectPermissionResponse) ProtoMessage() {}
1416
1417
func (x *PermissionSubjectPermissionResponse) ProtoReflect() protoreflect.Message {
1418
	mi := &file_base_v1_service_proto_msgTypes[18]
1419
	if protoimpl.UnsafeEnabled && x != nil {
1420
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1421
		if ms.LoadMessageInfo() == nil {
1422
			ms.StoreMessageInfo(mi)
1423
		}
1424
		return ms
1425
	}
1426
	return mi.MessageOf(x)
1427
}
1428
1429
// Deprecated: Use PermissionSubjectPermissionResponse.ProtoReflect.Descriptor instead.
1430
func (*PermissionSubjectPermissionResponse) Descriptor() ([]byte, []int) {
1431
	return file_base_v1_service_proto_rawDescGZIP(), []int{18}
1432
}
1433
1434
func (x *PermissionSubjectPermissionResponse) GetResults() map[string]CheckResult {
1435
	if x != nil {
1436
		return x.Results
1437
	}
1438
	return nil
1439
}
1440
1441
// WatchRequest is the request message for the Watch RPC. It contains the
1442
// details needed to establish a watch stream.
1443
type WatchRequest struct {
1444
	state         protoimpl.MessageState
1445
	sizeCache     protoimpl.SizeCache
1446
	unknownFields protoimpl.UnknownFields
1447
1448
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
1449
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1450
	// Snap token to be used for watching.
1451
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
1452
}
1453
1454
func (x *WatchRequest) Reset() {
1455
	*x = WatchRequest{}
1456
	if protoimpl.UnsafeEnabled {
1457
		mi := &file_base_v1_service_proto_msgTypes[19]
1458
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1459
		ms.StoreMessageInfo(mi)
1460
	}
1461
}
1462
1463
func (x *WatchRequest) String() string {
1464
	return protoimpl.X.MessageStringOf(x)
1465
}
1466
1467
func (*WatchRequest) ProtoMessage() {}
1468
1469
func (x *WatchRequest) ProtoReflect() protoreflect.Message {
1470
	mi := &file_base_v1_service_proto_msgTypes[19]
1471
	if protoimpl.UnsafeEnabled && x != nil {
1472
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1473
		if ms.LoadMessageInfo() == nil {
1474
			ms.StoreMessageInfo(mi)
1475
		}
1476
		return ms
1477
	}
1478
	return mi.MessageOf(x)
1479
}
1480
1481
// Deprecated: Use WatchRequest.ProtoReflect.Descriptor instead.
1482
func (*WatchRequest) Descriptor() ([]byte, []int) {
1483
	return file_base_v1_service_proto_rawDescGZIP(), []int{19}
1484
}
1485
1486
func (x *WatchRequest) GetTenantId() string {
1487
	if x != nil {
1488
		return x.TenantId
1489
	}
1490
	return ""
1491
}
1492
1493
func (x *WatchRequest) GetSnapToken() string {
1494
	if x != nil {
1495
		return x.SnapToken
1496
	}
1497
	return ""
1498
}
1499
1500
// WatchResponse is the response message for the Watch RPC. It contains the
1501
// changes in the data that are being watched.
1502
type WatchResponse struct {
1503
	state         protoimpl.MessageState
1504
	sizeCache     protoimpl.SizeCache
1505
	unknownFields protoimpl.UnknownFields
1506
1507
	// Changes in the data.
1508
	Changes *DataChanges `protobuf:"bytes,1,opt,name=changes,proto3" json:"changes,omitempty"`
1509
}
1510
1511
func (x *WatchResponse) Reset() {
1512
	*x = WatchResponse{}
1513
	if protoimpl.UnsafeEnabled {
1514
		mi := &file_base_v1_service_proto_msgTypes[20]
1515
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1516
		ms.StoreMessageInfo(mi)
1517
	}
1518
}
1519
1520
func (x *WatchResponse) String() string {
1521
	return protoimpl.X.MessageStringOf(x)
1522
}
1523
1524
func (*WatchResponse) ProtoMessage() {}
1525
1526
func (x *WatchResponse) ProtoReflect() protoreflect.Message {
1527
	mi := &file_base_v1_service_proto_msgTypes[20]
1528
	if protoimpl.UnsafeEnabled && x != nil {
1529
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1530
		if ms.LoadMessageInfo() == nil {
1531
			ms.StoreMessageInfo(mi)
1532
		}
1533
		return ms
1534
	}
1535
	return mi.MessageOf(x)
1536
}
1537
1538
// Deprecated: Use WatchResponse.ProtoReflect.Descriptor instead.
1539
func (*WatchResponse) Descriptor() ([]byte, []int) {
1540
	return file_base_v1_service_proto_rawDescGZIP(), []int{20}
1541
}
1542
1543
func (x *WatchResponse) GetChanges() *DataChanges {
1544
	if x != nil {
1545
		return x.Changes
1546
	}
1547
	return nil
1548
}
1549
1550
// SchemaWriteRequest is the request message for the Write method in the Schema service.
1551
// It contains tenant_id and the schema to be written.
1552
type SchemaWriteRequest struct {
1553
	state         protoimpl.MessageState
1554
	sizeCache     protoimpl.SizeCache
1555
	unknownFields protoimpl.UnknownFields
1556
1557
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
1558
	// be a maximum of 64 bytes, and must not be empty.
1559
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1560
	// schema is the string representation of the schema to be written.
1561
	Schema string `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"`
1562
}
1563
1564
func (x *SchemaWriteRequest) Reset() {
1565
	*x = SchemaWriteRequest{}
1566
	if protoimpl.UnsafeEnabled {
1567
		mi := &file_base_v1_service_proto_msgTypes[21]
1568
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1569
		ms.StoreMessageInfo(mi)
1570
	}
1571
}
1572
1573
func (x *SchemaWriteRequest) String() string {
1574
	return protoimpl.X.MessageStringOf(x)
1575
}
1576
1577
func (*SchemaWriteRequest) ProtoMessage() {}
1578
1579
func (x *SchemaWriteRequest) ProtoReflect() protoreflect.Message {
1580
	mi := &file_base_v1_service_proto_msgTypes[21]
1581
	if protoimpl.UnsafeEnabled && x != nil {
1582
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1583
		if ms.LoadMessageInfo() == nil {
1584
			ms.StoreMessageInfo(mi)
1585
		}
1586
		return ms
1587
	}
1588
	return mi.MessageOf(x)
1589
}
1590
1591
// Deprecated: Use SchemaWriteRequest.ProtoReflect.Descriptor instead.
1592
func (*SchemaWriteRequest) Descriptor() ([]byte, []int) {
1593
	return file_base_v1_service_proto_rawDescGZIP(), []int{21}
1594
}
1595
1596
func (x *SchemaWriteRequest) GetTenantId() string {
1597
	if x != nil {
1598
		return x.TenantId
1599
	}
1600
	return ""
1601
}
1602
1603
func (x *SchemaWriteRequest) GetSchema() string {
1604
	if x != nil {
1605
		return x.Schema
1606
	}
1607
	return ""
1608
}
1609
1610
// SchemaWriteResponse is the response message for the Write method in the Schema service.
1611
// It returns the version of the written schema.
1612
type SchemaWriteResponse struct {
1613
	state         protoimpl.MessageState
1614
	sizeCache     protoimpl.SizeCache
1615
	unknownFields protoimpl.UnknownFields
1616
1617
	// schema_version is the string that identifies the version of the written schema.
1618
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1619
}
1620
1621
func (x *SchemaWriteResponse) Reset() {
1622
	*x = SchemaWriteResponse{}
1623
	if protoimpl.UnsafeEnabled {
1624
		mi := &file_base_v1_service_proto_msgTypes[22]
1625
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1626
		ms.StoreMessageInfo(mi)
1627
	}
1628
}
1629
1630
func (x *SchemaWriteResponse) String() string {
1631
	return protoimpl.X.MessageStringOf(x)
1632
}
1633
1634
func (*SchemaWriteResponse) ProtoMessage() {}
1635
1636
func (x *SchemaWriteResponse) ProtoReflect() protoreflect.Message {
1637
	mi := &file_base_v1_service_proto_msgTypes[22]
1638
	if protoimpl.UnsafeEnabled && x != nil {
1639
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1640
		if ms.LoadMessageInfo() == nil {
1641
			ms.StoreMessageInfo(mi)
1642
		}
1643
		return ms
1644
	}
1645
	return mi.MessageOf(x)
1646
}
1647
1648
// Deprecated: Use SchemaWriteResponse.ProtoReflect.Descriptor instead.
1649
func (*SchemaWriteResponse) Descriptor() ([]byte, []int) {
1650
	return file_base_v1_service_proto_rawDescGZIP(), []int{22}
1651
}
1652
1653
func (x *SchemaWriteResponse) GetSchemaVersion() string {
1654
	if x != nil {
1655
		return x.SchemaVersion
1656
	}
1657
	return ""
1658
}
1659
1660
// It contains the tenant_id to identify the tenant and metadata of the schema to be edited,
1661
// with the corresponding edits to various entities
1662
type SchemaPartialWriteRequest struct {
1663
	state         protoimpl.MessageState
1664
	sizeCache     protoimpl.SizeCache
1665
	unknownFields protoimpl.UnknownFields
1666
1667
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
1668
	// be a maximum of 64 bytes, and must not be empty.
1669
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1670
	// metadata is the additional information needed for the Partial Write request.
1671
	Metadata *SchemaPartialWriteRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1672
	// Map of entity name with the values needed to be updated
1673
	Partials map[string]*Partials `protobuf:"bytes,3,rep,name=partials,proto3" json:"partials,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1674
}
1675
1676
func (x *SchemaPartialWriteRequest) Reset() {
1677
	*x = SchemaPartialWriteRequest{}
1678
	if protoimpl.UnsafeEnabled {
1679
		mi := &file_base_v1_service_proto_msgTypes[23]
1680
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1681
		ms.StoreMessageInfo(mi)
1682
	}
1683
}
1684
1685
func (x *SchemaPartialWriteRequest) String() string {
1686
	return protoimpl.X.MessageStringOf(x)
1687
}
1688
1689
func (*SchemaPartialWriteRequest) ProtoMessage() {}
1690
1691
func (x *SchemaPartialWriteRequest) ProtoReflect() protoreflect.Message {
1692
	mi := &file_base_v1_service_proto_msgTypes[23]
1693
	if protoimpl.UnsafeEnabled && x != nil {
1694
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1695
		if ms.LoadMessageInfo() == nil {
1696
			ms.StoreMessageInfo(mi)
1697
		}
1698
		return ms
1699
	}
1700
	return mi.MessageOf(x)
1701
}
1702
1703
// Deprecated: Use SchemaPartialWriteRequest.ProtoReflect.Descriptor instead.
1704
func (*SchemaPartialWriteRequest) Descriptor() ([]byte, []int) {
1705
	return file_base_v1_service_proto_rawDescGZIP(), []int{23}
1706
}
1707
1708
func (x *SchemaPartialWriteRequest) GetTenantId() string {
1709
	if x != nil {
1710
		return x.TenantId
1711
	}
1712
	return ""
1713
}
1714
1715
func (x *SchemaPartialWriteRequest) GetMetadata() *SchemaPartialWriteRequestMetadata {
1716
	if x != nil {
1717
		return x.Metadata
1718
	}
1719
	return nil
1720
}
1721
1722
func (x *SchemaPartialWriteRequest) GetPartials() map[string]*Partials {
1723
	if x != nil {
1724
		return x.Partials
1725
	}
1726
	return nil
1727
}
1728
1729
// SchemaPartialWriteRequestMetadata provides additional information for the Schema Partial Write request.
1730
// It contains schema_version to specify which version of the schema should be read.
1731
type SchemaPartialWriteRequestMetadata struct {
1732
	state         protoimpl.MessageState
1733
	sizeCache     protoimpl.SizeCache
1734
	unknownFields protoimpl.UnknownFields
1735
1736
	// schema_version is the string that identifies the version of the schema to be read.
1737
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1738
}
1739
1740
func (x *SchemaPartialWriteRequestMetadata) Reset() {
1741
	*x = SchemaPartialWriteRequestMetadata{}
1742
	if protoimpl.UnsafeEnabled {
1743
		mi := &file_base_v1_service_proto_msgTypes[24]
1744
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1745
		ms.StoreMessageInfo(mi)
1746
	}
1747
}
1748
1749
func (x *SchemaPartialWriteRequestMetadata) String() string {
1750
	return protoimpl.X.MessageStringOf(x)
1751
}
1752
1753
func (*SchemaPartialWriteRequestMetadata) ProtoMessage() {}
1754
1755
func (x *SchemaPartialWriteRequestMetadata) ProtoReflect() protoreflect.Message {
1756
	mi := &file_base_v1_service_proto_msgTypes[24]
1757
	if protoimpl.UnsafeEnabled && x != nil {
1758
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1759
		if ms.LoadMessageInfo() == nil {
1760
			ms.StoreMessageInfo(mi)
1761
		}
1762
		return ms
1763
	}
1764
	return mi.MessageOf(x)
1765
}
1766
1767
// Deprecated: Use SchemaPartialWriteRequestMetadata.ProtoReflect.Descriptor instead.
1768
func (*SchemaPartialWriteRequestMetadata) Descriptor() ([]byte, []int) {
1769
	return file_base_v1_service_proto_rawDescGZIP(), []int{24}
1770
}
1771
1772
func (x *SchemaPartialWriteRequestMetadata) GetSchemaVersion() string {
1773
	if x != nil {
1774
		return x.SchemaVersion
1775
	}
1776
	return ""
1777
}
1778
1779
// SchemaPartialWriteResponse is the response message for the Parietal Write method in the Schema service.
1780
// It returns the requested schema.
1781
type SchemaPartialWriteResponse struct {
1782
	state         protoimpl.MessageState
1783
	sizeCache     protoimpl.SizeCache
1784
	unknownFields protoimpl.UnknownFields
1785
1786
	// schema_version is the string that identifies the version of the written schema.
1787
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1788
}
1789
1790
func (x *SchemaPartialWriteResponse) Reset() {
1791
	*x = SchemaPartialWriteResponse{}
1792
	if protoimpl.UnsafeEnabled {
1793
		mi := &file_base_v1_service_proto_msgTypes[25]
1794
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1795
		ms.StoreMessageInfo(mi)
1796
	}
1797
}
1798
1799
func (x *SchemaPartialWriteResponse) String() string {
1800
	return protoimpl.X.MessageStringOf(x)
1801
}
1802
1803
func (*SchemaPartialWriteResponse) ProtoMessage() {}
1804
1805
func (x *SchemaPartialWriteResponse) ProtoReflect() protoreflect.Message {
1806
	mi := &file_base_v1_service_proto_msgTypes[25]
1807
	if protoimpl.UnsafeEnabled && x != nil {
1808
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1809
		if ms.LoadMessageInfo() == nil {
1810
			ms.StoreMessageInfo(mi)
1811
		}
1812
		return ms
1813
	}
1814
	return mi.MessageOf(x)
1815
}
1816
1817
// Deprecated: Use SchemaPartialWriteResponse.ProtoReflect.Descriptor instead.
1818
func (*SchemaPartialWriteResponse) Descriptor() ([]byte, []int) {
1819
	return file_base_v1_service_proto_rawDescGZIP(), []int{25}
1820
}
1821
1822
func (x *SchemaPartialWriteResponse) GetSchemaVersion() string {
1823
	if x != nil {
1824
		return x.SchemaVersion
1825
	}
1826
	return ""
1827
}
1828
1829
// SchemaReadRequest is the request message for the Read method in the Schema service.
1830
// It contains tenant_id and metadata about the schema to be read.
1831
type SchemaReadRequest struct {
1832
	state         protoimpl.MessageState
1833
	sizeCache     protoimpl.SizeCache
1834
	unknownFields protoimpl.UnknownFields
1835
1836
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
1837
	// be a maximum of 64 bytes, and must not be empty.
1838
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1839
	// metadata is the additional information needed for the Read request.
1840
	Metadata *SchemaReadRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1841
}
1842
1843
func (x *SchemaReadRequest) Reset() {
1844
	*x = SchemaReadRequest{}
1845
	if protoimpl.UnsafeEnabled {
1846
		mi := &file_base_v1_service_proto_msgTypes[26]
1847
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1848
		ms.StoreMessageInfo(mi)
1849
	}
1850
}
1851
1852
func (x *SchemaReadRequest) String() string {
1853
	return protoimpl.X.MessageStringOf(x)
1854
}
1855
1856
func (*SchemaReadRequest) ProtoMessage() {}
1857
1858
func (x *SchemaReadRequest) ProtoReflect() protoreflect.Message {
1859
	mi := &file_base_v1_service_proto_msgTypes[26]
1860
	if protoimpl.UnsafeEnabled && x != nil {
1861
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1862
		if ms.LoadMessageInfo() == nil {
1863
			ms.StoreMessageInfo(mi)
1864
		}
1865
		return ms
1866
	}
1867
	return mi.MessageOf(x)
1868
}
1869
1870
// Deprecated: Use SchemaReadRequest.ProtoReflect.Descriptor instead.
1871
func (*SchemaReadRequest) Descriptor() ([]byte, []int) {
1872
	return file_base_v1_service_proto_rawDescGZIP(), []int{26}
1873
}
1874
1875
func (x *SchemaReadRequest) GetTenantId() string {
1876
	if x != nil {
1877
		return x.TenantId
1878
	}
1879
	return ""
1880
}
1881
1882
func (x *SchemaReadRequest) GetMetadata() *SchemaReadRequestMetadata {
1883
	if x != nil {
1884
		return x.Metadata
1885
	}
1886
	return nil
1887
}
1888
1889
// SchemaReadRequestMetadata provides additional information for the Schema Read request.
1890
// It contains schema_version to specify which version of the schema should be read.
1891
type SchemaReadRequestMetadata struct {
1892
	state         protoimpl.MessageState
1893
	sizeCache     protoimpl.SizeCache
1894
	unknownFields protoimpl.UnknownFields
1895
1896
	// schema_version is the string that identifies the version of the schema to be read.
1897
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1898
}
1899
1900
func (x *SchemaReadRequestMetadata) Reset() {
1901
	*x = SchemaReadRequestMetadata{}
1902
	if protoimpl.UnsafeEnabled {
1903
		mi := &file_base_v1_service_proto_msgTypes[27]
1904
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1905
		ms.StoreMessageInfo(mi)
1906
	}
1907
}
1908
1909
func (x *SchemaReadRequestMetadata) String() string {
1910
	return protoimpl.X.MessageStringOf(x)
1911
}
1912
1913
func (*SchemaReadRequestMetadata) ProtoMessage() {}
1914
1915
func (x *SchemaReadRequestMetadata) ProtoReflect() protoreflect.Message {
1916
	mi := &file_base_v1_service_proto_msgTypes[27]
1917
	if protoimpl.UnsafeEnabled && x != nil {
1918
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1919
		if ms.LoadMessageInfo() == nil {
1920
			ms.StoreMessageInfo(mi)
1921
		}
1922
		return ms
1923
	}
1924
	return mi.MessageOf(x)
1925
}
1926
1927
// Deprecated: Use SchemaReadRequestMetadata.ProtoReflect.Descriptor instead.
1928
func (*SchemaReadRequestMetadata) Descriptor() ([]byte, []int) {
1929
	return file_base_v1_service_proto_rawDescGZIP(), []int{27}
1930
}
1931
1932
func (x *SchemaReadRequestMetadata) GetSchemaVersion() string {
1933
	if x != nil {
1934
		return x.SchemaVersion
1935
	}
1936
	return ""
1937
}
1938
1939
// SchemaReadResponse is the response message for the Read method in the Schema service.
1940
// It returns the requested schema.
1941
type SchemaReadResponse struct {
1942
	state         protoimpl.MessageState
1943
	sizeCache     protoimpl.SizeCache
1944
	unknownFields protoimpl.UnknownFields
1945
1946
	// schema is the SchemaDefinition that represents the read schema.
1947
	Schema *SchemaDefinition `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"`
1948
}
1949
1950
func (x *SchemaReadResponse) Reset() {
1951
	*x = SchemaReadResponse{}
1952
	if protoimpl.UnsafeEnabled {
1953
		mi := &file_base_v1_service_proto_msgTypes[28]
1954
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1955
		ms.StoreMessageInfo(mi)
1956
	}
1957
}
1958
1959
func (x *SchemaReadResponse) String() string {
1960
	return protoimpl.X.MessageStringOf(x)
1961
}
1962
1963
func (*SchemaReadResponse) ProtoMessage() {}
1964
1965
func (x *SchemaReadResponse) ProtoReflect() protoreflect.Message {
1966
	mi := &file_base_v1_service_proto_msgTypes[28]
1967
	if protoimpl.UnsafeEnabled && x != nil {
1968
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1969
		if ms.LoadMessageInfo() == nil {
1970
			ms.StoreMessageInfo(mi)
1971
		}
1972
		return ms
1973
	}
1974
	return mi.MessageOf(x)
1975
}
1976
1977
// Deprecated: Use SchemaReadResponse.ProtoReflect.Descriptor instead.
1978
func (*SchemaReadResponse) Descriptor() ([]byte, []int) {
1979
	return file_base_v1_service_proto_rawDescGZIP(), []int{28}
1980
}
1981
1982
func (x *SchemaReadResponse) GetSchema() *SchemaDefinition {
1983
	if x != nil {
1984
		return x.Schema
1985
	}
1986
	return nil
1987
}
1988
1989
// SchemaListRequest is the request message for the List method in the Schema service.
1990
// It contains tenant_id for which the schemas are to be listed.
1991
type SchemaListRequest struct {
1992
	state         protoimpl.MessageState
1993
	sizeCache     protoimpl.SizeCache
1994
	unknownFields protoimpl.UnknownFields
1995
1996
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
1997
	// be a maximum of 64 bytes, and must not be empty.
1998
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1999
	// page_size is the number of schemas to be returned in the response.
2000
	// The value should be between 1 and 100.
2001
	PageSize uint32 `protobuf:"varint,2,opt,name=page_size,proto3" json:"page_size,omitempty"`
2002
	// continuous_token is an optional parameter used for pagination.
2003
	// It should be the value received in the previous response.
2004
	ContinuousToken string `protobuf:"bytes,3,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2005
}
2006
2007
func (x *SchemaListRequest) Reset() {
2008
	*x = SchemaListRequest{}
2009
	if protoimpl.UnsafeEnabled {
2010
		mi := &file_base_v1_service_proto_msgTypes[29]
2011
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2012
		ms.StoreMessageInfo(mi)
2013
	}
2014
}
2015
2016
func (x *SchemaListRequest) String() string {
2017
	return protoimpl.X.MessageStringOf(x)
2018
}
2019
2020
func (*SchemaListRequest) ProtoMessage() {}
2021
2022
func (x *SchemaListRequest) ProtoReflect() protoreflect.Message {
2023
	mi := &file_base_v1_service_proto_msgTypes[29]
2024
	if protoimpl.UnsafeEnabled && x != nil {
2025
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2026
		if ms.LoadMessageInfo() == nil {
2027
			ms.StoreMessageInfo(mi)
2028
		}
2029
		return ms
2030
	}
2031
	return mi.MessageOf(x)
2032
}
2033
2034
// Deprecated: Use SchemaListRequest.ProtoReflect.Descriptor instead.
2035
func (*SchemaListRequest) Descriptor() ([]byte, []int) {
2036
	return file_base_v1_service_proto_rawDescGZIP(), []int{29}
2037
}
2038
2039
func (x *SchemaListRequest) GetTenantId() string {
2040
	if x != nil {
2041
		return x.TenantId
2042
	}
2043
	return ""
2044
}
2045
2046
func (x *SchemaListRequest) GetPageSize() uint32 {
2047
	if x != nil {
2048
		return x.PageSize
2049
	}
2050
	return 0
2051
}
2052
2053
func (x *SchemaListRequest) GetContinuousToken() string {
2054
	if x != nil {
2055
		return x.ContinuousToken
2056
	}
2057
	return ""
2058
}
2059
2060
// SchemaListResponse is the response message for the List method in the Schema service.
2061
// It returns a paginated list of schemas
2062
type SchemaListResponse struct {
2063
	state         protoimpl.MessageState
2064
	sizeCache     protoimpl.SizeCache
2065
	unknownFields protoimpl.UnknownFields
2066
2067
	// head of the schemas is the latest version available for the tenant
2068
	Head string `protobuf:"bytes,1,opt,name=head,proto3" json:"head,omitempty"`
2069
	// list of schema versions with creation timestamps
2070
	Schemas []*SchemaList `protobuf:"bytes,2,rep,name=schemas,proto3" json:"schemas,omitempty"`
2071
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
2072
	ContinuousToken string `protobuf:"bytes,3,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2073
}
2074
2075
func (x *SchemaListResponse) Reset() {
2076
	*x = SchemaListResponse{}
2077
	if protoimpl.UnsafeEnabled {
2078
		mi := &file_base_v1_service_proto_msgTypes[30]
2079
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2080
		ms.StoreMessageInfo(mi)
2081
	}
2082
}
2083
2084
func (x *SchemaListResponse) String() string {
2085
	return protoimpl.X.MessageStringOf(x)
2086
}
2087
2088
func (*SchemaListResponse) ProtoMessage() {}
2089
2090
func (x *SchemaListResponse) ProtoReflect() protoreflect.Message {
2091
	mi := &file_base_v1_service_proto_msgTypes[30]
2092
	if protoimpl.UnsafeEnabled && x != nil {
2093
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2094
		if ms.LoadMessageInfo() == nil {
2095
			ms.StoreMessageInfo(mi)
2096
		}
2097
		return ms
2098
	}
2099
	return mi.MessageOf(x)
2100
}
2101
2102
// Deprecated: Use SchemaListResponse.ProtoReflect.Descriptor instead.
2103
func (*SchemaListResponse) Descriptor() ([]byte, []int) {
2104
	return file_base_v1_service_proto_rawDescGZIP(), []int{30}
2105
}
2106
2107
func (x *SchemaListResponse) GetHead() string {
2108
	if x != nil {
2109
		return x.Head
2110
	}
2111
	return ""
2112
}
2113
2114
func (x *SchemaListResponse) GetSchemas() []*SchemaList {
2115
	if x != nil {
2116
		return x.Schemas
2117
	}
2118
	return nil
2119
}
2120
2121
func (x *SchemaListResponse) GetContinuousToken() string {
2122
	if x != nil {
2123
		return x.ContinuousToken
2124
	}
2125
	return ""
2126
}
2127
2128
// SchemaList provides a list of schema versions with their corresponding creation timestamps
2129
type SchemaList struct {
2130
	state         protoimpl.MessageState
2131
	sizeCache     protoimpl.SizeCache
2132
	unknownFields protoimpl.UnknownFields
2133
2134
	Version   string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
2135
	CreatedAt string `protobuf:"bytes,2,opt,name=created_at,proto3" json:"created_at,omitempty"`
2136
}
2137
2138
func (x *SchemaList) Reset() {
2139
	*x = SchemaList{}
2140
	if protoimpl.UnsafeEnabled {
2141
		mi := &file_base_v1_service_proto_msgTypes[31]
2142
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2143
		ms.StoreMessageInfo(mi)
2144
	}
2145
}
2146
2147
func (x *SchemaList) String() string {
2148
	return protoimpl.X.MessageStringOf(x)
2149
}
2150
2151
func (*SchemaList) ProtoMessage() {}
2152
2153
func (x *SchemaList) ProtoReflect() protoreflect.Message {
2154
	mi := &file_base_v1_service_proto_msgTypes[31]
2155
	if protoimpl.UnsafeEnabled && x != nil {
2156
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2157
		if ms.LoadMessageInfo() == nil {
2158
			ms.StoreMessageInfo(mi)
2159
		}
2160
		return ms
2161
	}
2162
	return mi.MessageOf(x)
2163
}
2164
2165
// Deprecated: Use SchemaList.ProtoReflect.Descriptor instead.
2166
func (*SchemaList) Descriptor() ([]byte, []int) {
2167
	return file_base_v1_service_proto_rawDescGZIP(), []int{31}
2168
}
2169
2170
func (x *SchemaList) GetVersion() string {
2171
	if x != nil {
2172
		return x.Version
2173
	}
2174
	return ""
2175
}
2176
2177
func (x *SchemaList) GetCreatedAt() string {
2178
	if x != nil {
2179
		return x.CreatedAt
2180
	}
2181
	return ""
2182
}
2183
2184
// DataWriteRequest defines the structure of a request for writing data.
2185
// It contains the necessary information such as tenant_id, metadata,
2186
// tuples and attributes for the write operation.
2187
type DataWriteRequest struct {
2188
	state         protoimpl.MessageState
2189
	sizeCache     protoimpl.SizeCache
2190
	unknownFields protoimpl.UnknownFields
2191
2192
	// tenant_id represents the unique identifier of the tenant for which data is written.
2193
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2194
	// metadata holds additional data related to the request.
2195
	Metadata *DataWriteRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2196
	// tuples contains the list of tuples (entity-relation-entity triples) that need to be written.
2197
	Tuples []*Tuple `protobuf:"bytes,3,rep,name=tuples,proto3" json:"tuples,omitempty"`
2198
	// attributes contains the list of attributes (entity-attribute-value triples) that need to be written.
2199
	Attributes []*Attribute `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty"`
2200
}
2201
2202
func (x *DataWriteRequest) Reset() {
2203
	*x = DataWriteRequest{}
2204
	if protoimpl.UnsafeEnabled {
2205
		mi := &file_base_v1_service_proto_msgTypes[32]
2206
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2207
		ms.StoreMessageInfo(mi)
2208
	}
2209
}
2210
2211
func (x *DataWriteRequest) String() string {
2212
	return protoimpl.X.MessageStringOf(x)
2213
}
2214
2215
func (*DataWriteRequest) ProtoMessage() {}
2216
2217
func (x *DataWriteRequest) ProtoReflect() protoreflect.Message {
2218
	mi := &file_base_v1_service_proto_msgTypes[32]
2219
	if protoimpl.UnsafeEnabled && x != nil {
2220
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2221
		if ms.LoadMessageInfo() == nil {
2222
			ms.StoreMessageInfo(mi)
2223
		}
2224
		return ms
2225
	}
2226
	return mi.MessageOf(x)
2227
}
2228
2229
// Deprecated: Use DataWriteRequest.ProtoReflect.Descriptor instead.
2230
func (*DataWriteRequest) Descriptor() ([]byte, []int) {
2231
	return file_base_v1_service_proto_rawDescGZIP(), []int{32}
2232
}
2233
2234
func (x *DataWriteRequest) GetTenantId() string {
2235
	if x != nil {
2236
		return x.TenantId
2237
	}
2238
	return ""
2239
}
2240
2241
func (x *DataWriteRequest) GetMetadata() *DataWriteRequestMetadata {
2242
	if x != nil {
2243
		return x.Metadata
2244
	}
2245
	return nil
2246
}
2247
2248
func (x *DataWriteRequest) GetTuples() []*Tuple {
2249
	if x != nil {
2250
		return x.Tuples
2251
	}
2252
	return nil
2253
}
2254
2255
func (x *DataWriteRequest) GetAttributes() []*Attribute {
2256
	if x != nil {
2257
		return x.Attributes
2258
	}
2259
	return nil
2260
}
2261
2262
// DataWriteRequestMetadata defines the structure of metadata for a write request.
2263
// It includes the schema version of the data to be written.
2264
type DataWriteRequestMetadata struct {
2265
	state         protoimpl.MessageState
2266
	sizeCache     protoimpl.SizeCache
2267
	unknownFields protoimpl.UnknownFields
2268
2269
	// schema_version represents the version of the schema for the data being written.
2270
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
2271
}
2272
2273
func (x *DataWriteRequestMetadata) Reset() {
2274
	*x = DataWriteRequestMetadata{}
2275
	if protoimpl.UnsafeEnabled {
2276
		mi := &file_base_v1_service_proto_msgTypes[33]
2277
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2278
		ms.StoreMessageInfo(mi)
2279
	}
2280
}
2281
2282
func (x *DataWriteRequestMetadata) String() string {
2283
	return protoimpl.X.MessageStringOf(x)
2284
}
2285
2286
func (*DataWriteRequestMetadata) ProtoMessage() {}
2287
2288
func (x *DataWriteRequestMetadata) ProtoReflect() protoreflect.Message {
2289
	mi := &file_base_v1_service_proto_msgTypes[33]
2290
	if protoimpl.UnsafeEnabled && x != nil {
2291
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2292
		if ms.LoadMessageInfo() == nil {
2293
			ms.StoreMessageInfo(mi)
2294
		}
2295
		return ms
2296
	}
2297
	return mi.MessageOf(x)
2298
}
2299
2300
// Deprecated: Use DataWriteRequestMetadata.ProtoReflect.Descriptor instead.
2301
func (*DataWriteRequestMetadata) Descriptor() ([]byte, []int) {
2302
	return file_base_v1_service_proto_rawDescGZIP(), []int{33}
2303
}
2304
2305
func (x *DataWriteRequestMetadata) GetSchemaVersion() string {
2306
	if x != nil {
2307
		return x.SchemaVersion
2308
	}
2309
	return ""
2310
}
2311
2312
// DataWriteResponse defines the structure of the response after writing data.
2313
// It contains the snap_token generated after the write operation.
2314
type DataWriteResponse struct {
2315
	state         protoimpl.MessageState
2316
	sizeCache     protoimpl.SizeCache
2317
	unknownFields protoimpl.UnknownFields
2318
2319
	// snap_token is the token generated after the data write operation, representing a snapshot of the data.
2320
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
2321
}
2322
2323
func (x *DataWriteResponse) Reset() {
2324
	*x = DataWriteResponse{}
2325
	if protoimpl.UnsafeEnabled {
2326
		mi := &file_base_v1_service_proto_msgTypes[34]
2327
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2328
		ms.StoreMessageInfo(mi)
2329
	}
2330
}
2331
2332
func (x *DataWriteResponse) String() string {
2333
	return protoimpl.X.MessageStringOf(x)
2334
}
2335
2336
func (*DataWriteResponse) ProtoMessage() {}
2337
2338
func (x *DataWriteResponse) ProtoReflect() protoreflect.Message {
2339
	mi := &file_base_v1_service_proto_msgTypes[34]
2340
	if protoimpl.UnsafeEnabled && x != nil {
2341
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2342
		if ms.LoadMessageInfo() == nil {
2343
			ms.StoreMessageInfo(mi)
2344
		}
2345
		return ms
2346
	}
2347
	return mi.MessageOf(x)
2348
}
2349
2350
// Deprecated: Use DataWriteResponse.ProtoReflect.Descriptor instead.
2351
func (*DataWriteResponse) Descriptor() ([]byte, []int) {
2352
	return file_base_v1_service_proto_rawDescGZIP(), []int{34}
2353
}
2354
2355
func (x *DataWriteResponse) GetSnapToken() string {
2356
	if x != nil {
2357
		return x.SnapToken
2358
	}
2359
	return ""
2360
}
2361
2362
// Represents a request to write relationship data.
2363
type RelationshipWriteRequest struct {
2364
	state         protoimpl.MessageState
2365
	sizeCache     protoimpl.SizeCache
2366
	unknownFields protoimpl.UnknownFields
2367
2368
	// Unique identifier for the tenant with specific constraints.
2369
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2370
	// Metadata for the request. It's required.
2371
	Metadata *RelationshipWriteRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2372
	// List of tuples for the request. Must have between 1 and 100 items.
2373
	Tuples []*Tuple `protobuf:"bytes,3,rep,name=tuples,proto3" json:"tuples,omitempty"`
2374
}
2375
2376
func (x *RelationshipWriteRequest) Reset() {
2377
	*x = RelationshipWriteRequest{}
2378
	if protoimpl.UnsafeEnabled {
2379
		mi := &file_base_v1_service_proto_msgTypes[35]
2380
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2381
		ms.StoreMessageInfo(mi)
2382
	}
2383
}
2384
2385
func (x *RelationshipWriteRequest) String() string {
2386
	return protoimpl.X.MessageStringOf(x)
2387
}
2388
2389
func (*RelationshipWriteRequest) ProtoMessage() {}
2390
2391
func (x *RelationshipWriteRequest) ProtoReflect() protoreflect.Message {
2392
	mi := &file_base_v1_service_proto_msgTypes[35]
2393
	if protoimpl.UnsafeEnabled && x != nil {
2394
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2395
		if ms.LoadMessageInfo() == nil {
2396
			ms.StoreMessageInfo(mi)
2397
		}
2398
		return ms
2399
	}
2400
	return mi.MessageOf(x)
2401
}
2402
2403
// Deprecated: Use RelationshipWriteRequest.ProtoReflect.Descriptor instead.
2404
func (*RelationshipWriteRequest) Descriptor() ([]byte, []int) {
2405
	return file_base_v1_service_proto_rawDescGZIP(), []int{35}
2406
}
2407
2408
func (x *RelationshipWriteRequest) GetTenantId() string {
2409
	if x != nil {
2410
		return x.TenantId
2411
	}
2412
	return ""
2413
}
2414
2415
func (x *RelationshipWriteRequest) GetMetadata() *RelationshipWriteRequestMetadata {
2416
	if x != nil {
2417
		return x.Metadata
2418
	}
2419
	return nil
2420
}
2421
2422
func (x *RelationshipWriteRequest) GetTuples() []*Tuple {
2423
	if x != nil {
2424
		return x.Tuples
2425
	}
2426
	return nil
2427
}
2428
2429
// RelationshipWriteRequestMetadata
2430
type RelationshipWriteRequestMetadata struct {
2431
	state         protoimpl.MessageState
2432
	sizeCache     protoimpl.SizeCache
2433
	unknownFields protoimpl.UnknownFields
2434
2435
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
2436
}
2437
2438
func (x *RelationshipWriteRequestMetadata) Reset() {
2439
	*x = RelationshipWriteRequestMetadata{}
2440
	if protoimpl.UnsafeEnabled {
2441
		mi := &file_base_v1_service_proto_msgTypes[36]
2442
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2443
		ms.StoreMessageInfo(mi)
2444
	}
2445
}
2446
2447
func (x *RelationshipWriteRequestMetadata) String() string {
2448
	return protoimpl.X.MessageStringOf(x)
2449
}
2450
2451
func (*RelationshipWriteRequestMetadata) ProtoMessage() {}
2452
2453
func (x *RelationshipWriteRequestMetadata) ProtoReflect() protoreflect.Message {
2454
	mi := &file_base_v1_service_proto_msgTypes[36]
2455
	if protoimpl.UnsafeEnabled && x != nil {
2456
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2457
		if ms.LoadMessageInfo() == nil {
2458
			ms.StoreMessageInfo(mi)
2459
		}
2460
		return ms
2461
	}
2462
	return mi.MessageOf(x)
2463
}
2464
2465
// Deprecated: Use RelationshipWriteRequestMetadata.ProtoReflect.Descriptor instead.
2466
func (*RelationshipWriteRequestMetadata) Descriptor() ([]byte, []int) {
2467
	return file_base_v1_service_proto_rawDescGZIP(), []int{36}
2468
}
2469
2470
func (x *RelationshipWriteRequestMetadata) GetSchemaVersion() string {
2471
	if x != nil {
2472
		return x.SchemaVersion
2473
	}
2474
	return ""
2475
}
2476
2477
// RelationshipWriteResponse
2478
type RelationshipWriteResponse struct {
2479
	state         protoimpl.MessageState
2480
	sizeCache     protoimpl.SizeCache
2481
	unknownFields protoimpl.UnknownFields
2482
2483
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
2484
}
2485
2486
func (x *RelationshipWriteResponse) Reset() {
2487
	*x = RelationshipWriteResponse{}
2488
	if protoimpl.UnsafeEnabled {
2489
		mi := &file_base_v1_service_proto_msgTypes[37]
2490
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2491
		ms.StoreMessageInfo(mi)
2492
	}
2493
}
2494
2495
func (x *RelationshipWriteResponse) String() string {
2496
	return protoimpl.X.MessageStringOf(x)
2497
}
2498
2499
func (*RelationshipWriteResponse) ProtoMessage() {}
2500
2501
func (x *RelationshipWriteResponse) ProtoReflect() protoreflect.Message {
2502
	mi := &file_base_v1_service_proto_msgTypes[37]
2503
	if protoimpl.UnsafeEnabled && x != nil {
2504
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2505
		if ms.LoadMessageInfo() == nil {
2506
			ms.StoreMessageInfo(mi)
2507
		}
2508
		return ms
2509
	}
2510
	return mi.MessageOf(x)
2511
}
2512
2513
// Deprecated: Use RelationshipWriteResponse.ProtoReflect.Descriptor instead.
2514
func (*RelationshipWriteResponse) Descriptor() ([]byte, []int) {
2515
	return file_base_v1_service_proto_rawDescGZIP(), []int{37}
2516
}
2517
2518
func (x *RelationshipWriteResponse) GetSnapToken() string {
2519
	if x != nil {
2520
		return x.SnapToken
2521
	}
2522
	return ""
2523
}
2524
2525
// RelationshipReadRequest defines the structure of a request for reading relationships.
2526
// It contains the necessary information such as tenant_id, metadata, and filter for the read operation.
2527
type RelationshipReadRequest struct {
2528
	state         protoimpl.MessageState
2529
	sizeCache     protoimpl.SizeCache
2530
	unknownFields protoimpl.UnknownFields
2531
2532
	// tenant_id represents the unique identifier of the tenant for which relationships are read.
2533
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2534
	// metadata holds additional data related to the request.
2535
	Metadata *RelationshipReadRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2536
	// filter is used to specify criteria for the data that needs to be read.
2537
	Filter *TupleFilter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"`
2538
	// page_size specifies the number of results to return in a single page.
2539
	// If more results are available, a continuous_token is included in the response.
2540
	PageSize uint32 `protobuf:"varint,4,opt,name=page_size,proto3" json:"page_size,omitempty"`
2541
	// continuous_token is used in case of paginated reads to get the next page of results.
2542
	ContinuousToken string `protobuf:"bytes,5,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2543
}
2544
2545
func (x *RelationshipReadRequest) Reset() {
2546
	*x = RelationshipReadRequest{}
2547
	if protoimpl.UnsafeEnabled {
2548
		mi := &file_base_v1_service_proto_msgTypes[38]
2549
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2550
		ms.StoreMessageInfo(mi)
2551
	}
2552
}
2553
2554
func (x *RelationshipReadRequest) String() string {
2555
	return protoimpl.X.MessageStringOf(x)
2556
}
2557
2558
func (*RelationshipReadRequest) ProtoMessage() {}
2559
2560
func (x *RelationshipReadRequest) ProtoReflect() protoreflect.Message {
2561
	mi := &file_base_v1_service_proto_msgTypes[38]
2562
	if protoimpl.UnsafeEnabled && x != nil {
2563
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2564
		if ms.LoadMessageInfo() == nil {
2565
			ms.StoreMessageInfo(mi)
2566
		}
2567
		return ms
2568
	}
2569
	return mi.MessageOf(x)
2570
}
2571
2572
// Deprecated: Use RelationshipReadRequest.ProtoReflect.Descriptor instead.
2573
func (*RelationshipReadRequest) Descriptor() ([]byte, []int) {
2574
	return file_base_v1_service_proto_rawDescGZIP(), []int{38}
2575
}
2576
2577
func (x *RelationshipReadRequest) GetTenantId() string {
2578
	if x != nil {
2579
		return x.TenantId
2580
	}
2581
	return ""
2582
}
2583
2584
func (x *RelationshipReadRequest) GetMetadata() *RelationshipReadRequestMetadata {
2585
	if x != nil {
2586
		return x.Metadata
2587
	}
2588
	return nil
2589
}
2590
2591
func (x *RelationshipReadRequest) GetFilter() *TupleFilter {
2592
	if x != nil {
2593
		return x.Filter
2594
	}
2595
	return nil
2596
}
2597
2598
func (x *RelationshipReadRequest) GetPageSize() uint32 {
2599
	if x != nil {
2600
		return x.PageSize
2601
	}
2602
	return 0
2603
}
2604
2605
func (x *RelationshipReadRequest) GetContinuousToken() string {
2606
	if x != nil {
2607
		return x.ContinuousToken
2608
	}
2609
	return ""
2610
}
2611
2612
// RelationshipReadRequestMetadata defines the structure of the metadata for a read request focused on relationships.
2613
// It includes the snap_token associated with a particular state of the database.
2614
type RelationshipReadRequestMetadata struct {
2615
	state         protoimpl.MessageState
2616
	sizeCache     protoimpl.SizeCache
2617
	unknownFields protoimpl.UnknownFields
2618
2619
	// snap_token represents a specific state or "snapshot" of the database.
2620
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
2621
}
2622
2623
func (x *RelationshipReadRequestMetadata) Reset() {
2624
	*x = RelationshipReadRequestMetadata{}
2625
	if protoimpl.UnsafeEnabled {
2626
		mi := &file_base_v1_service_proto_msgTypes[39]
2627
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2628
		ms.StoreMessageInfo(mi)
2629
	}
2630
}
2631
2632
func (x *RelationshipReadRequestMetadata) String() string {
2633
	return protoimpl.X.MessageStringOf(x)
2634
}
2635
2636
func (*RelationshipReadRequestMetadata) ProtoMessage() {}
2637
2638
func (x *RelationshipReadRequestMetadata) ProtoReflect() protoreflect.Message {
2639
	mi := &file_base_v1_service_proto_msgTypes[39]
2640
	if protoimpl.UnsafeEnabled && x != nil {
2641
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2642
		if ms.LoadMessageInfo() == nil {
2643
			ms.StoreMessageInfo(mi)
2644
		}
2645
		return ms
2646
	}
2647
	return mi.MessageOf(x)
2648
}
2649
2650
// Deprecated: Use RelationshipReadRequestMetadata.ProtoReflect.Descriptor instead.
2651
func (*RelationshipReadRequestMetadata) Descriptor() ([]byte, []int) {
2652
	return file_base_v1_service_proto_rawDescGZIP(), []int{39}
2653
}
2654
2655
func (x *RelationshipReadRequestMetadata) GetSnapToken() string {
2656
	if x != nil {
2657
		return x.SnapToken
2658
	}
2659
	return ""
2660
}
2661
2662
// RelationshipReadResponse defines the structure of the response after reading relationships.
2663
// It includes the tuples representing the relationships and a continuous token for handling result pagination.
2664
type RelationshipReadResponse struct {
2665
	state         protoimpl.MessageState
2666
	sizeCache     protoimpl.SizeCache
2667
	unknownFields protoimpl.UnknownFields
2668
2669
	// tuples is a list of the relationships retrieved in the read operation, represented as entity-relation-entity triples.
2670
	Tuples []*Tuple `protobuf:"bytes,1,rep,name=tuples,proto3" json:"tuples,omitempty"`
2671
	// continuous_token is used in the case of paginated reads to retrieve the next page of results.
2672
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2673
}
2674
2675
func (x *RelationshipReadResponse) Reset() {
2676
	*x = RelationshipReadResponse{}
2677
	if protoimpl.UnsafeEnabled {
2678
		mi := &file_base_v1_service_proto_msgTypes[40]
2679
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2680
		ms.StoreMessageInfo(mi)
2681
	}
2682
}
2683
2684
func (x *RelationshipReadResponse) String() string {
2685
	return protoimpl.X.MessageStringOf(x)
2686
}
2687
2688
func (*RelationshipReadResponse) ProtoMessage() {}
2689
2690
func (x *RelationshipReadResponse) ProtoReflect() protoreflect.Message {
2691
	mi := &file_base_v1_service_proto_msgTypes[40]
2692
	if protoimpl.UnsafeEnabled && x != nil {
2693
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2694
		if ms.LoadMessageInfo() == nil {
2695
			ms.StoreMessageInfo(mi)
2696
		}
2697
		return ms
2698
	}
2699
	return mi.MessageOf(x)
2700
}
2701
2702
// Deprecated: Use RelationshipReadResponse.ProtoReflect.Descriptor instead.
2703
func (*RelationshipReadResponse) Descriptor() ([]byte, []int) {
2704
	return file_base_v1_service_proto_rawDescGZIP(), []int{40}
2705
}
2706
2707
func (x *RelationshipReadResponse) GetTuples() []*Tuple {
2708
	if x != nil {
2709
		return x.Tuples
2710
	}
2711
	return nil
2712
}
2713
2714
func (x *RelationshipReadResponse) GetContinuousToken() string {
2715
	if x != nil {
2716
		return x.ContinuousToken
2717
	}
2718
	return ""
2719
}
2720
2721
// AttributeReadRequest defines the structure of a request for reading attributes.
2722
// It includes the tenant_id, metadata, attribute filter, page size for pagination, and a continuous token for multi-page results.
2723
type AttributeReadRequest struct {
2724
	state         protoimpl.MessageState
2725
	sizeCache     protoimpl.SizeCache
2726
	unknownFields protoimpl.UnknownFields
2727
2728
	// tenant_id represents the unique identifier of the tenant from which the attributes are being read.
2729
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2730
	// metadata holds additional information related to the request.
2731
	Metadata *AttributeReadRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2732
	// filter specifies the criteria used to select the attributes that should be returned.
2733
	Filter *AttributeFilter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"`
2734
	// page_size specifies the number of results to return in a single page.
2735
	// If more results are available, a continuous_token is included in the response.
2736
	PageSize uint32 `protobuf:"varint,4,opt,name=page_size,proto3" json:"page_size,omitempty"`
2737
	// continuous_token is used in case of paginated reads to get the next page of results.
2738
	ContinuousToken string `protobuf:"bytes,5,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2739
}
2740
2741
func (x *AttributeReadRequest) Reset() {
2742
	*x = AttributeReadRequest{}
2743
	if protoimpl.UnsafeEnabled {
2744
		mi := &file_base_v1_service_proto_msgTypes[41]
2745
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2746
		ms.StoreMessageInfo(mi)
2747
	}
2748
}
2749
2750
func (x *AttributeReadRequest) String() string {
2751
	return protoimpl.X.MessageStringOf(x)
2752
}
2753
2754
func (*AttributeReadRequest) ProtoMessage() {}
2755
2756
func (x *AttributeReadRequest) ProtoReflect() protoreflect.Message {
2757
	mi := &file_base_v1_service_proto_msgTypes[41]
2758
	if protoimpl.UnsafeEnabled && x != nil {
2759
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2760
		if ms.LoadMessageInfo() == nil {
2761
			ms.StoreMessageInfo(mi)
2762
		}
2763
		return ms
2764
	}
2765
	return mi.MessageOf(x)
2766
}
2767
2768
// Deprecated: Use AttributeReadRequest.ProtoReflect.Descriptor instead.
2769
func (*AttributeReadRequest) Descriptor() ([]byte, []int) {
2770
	return file_base_v1_service_proto_rawDescGZIP(), []int{41}
2771
}
2772
2773
func (x *AttributeReadRequest) GetTenantId() string {
2774
	if x != nil {
2775
		return x.TenantId
2776
	}
2777
	return ""
2778
}
2779
2780
func (x *AttributeReadRequest) GetMetadata() *AttributeReadRequestMetadata {
2781
	if x != nil {
2782
		return x.Metadata
2783
	}
2784
	return nil
2785
}
2786
2787
func (x *AttributeReadRequest) GetFilter() *AttributeFilter {
2788
	if x != nil {
2789
		return x.Filter
2790
	}
2791
	return nil
2792
}
2793
2794
func (x *AttributeReadRequest) GetPageSize() uint32 {
2795
	if x != nil {
2796
		return x.PageSize
2797
	}
2798
	return 0
2799
}
2800
2801
func (x *AttributeReadRequest) GetContinuousToken() string {
2802
	if x != nil {
2803
		return x.ContinuousToken
2804
	}
2805
	return ""
2806
}
2807
2808
// AttributeReadRequestMetadata defines the structure for the metadata of an attribute read request.
2809
// It includes the snap_token associated with a particular state of the database.
2810
type AttributeReadRequestMetadata struct {
2811
	state         protoimpl.MessageState
2812
	sizeCache     protoimpl.SizeCache
2813
	unknownFields protoimpl.UnknownFields
2814
2815
	// snap_token represents a specific state or "snapshot" of the database.
2816
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
2817
}
2818
2819
func (x *AttributeReadRequestMetadata) Reset() {
2820
	*x = AttributeReadRequestMetadata{}
2821
	if protoimpl.UnsafeEnabled {
2822
		mi := &file_base_v1_service_proto_msgTypes[42]
2823
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2824
		ms.StoreMessageInfo(mi)
2825
	}
2826
}
2827
2828
func (x *AttributeReadRequestMetadata) String() string {
2829
	return protoimpl.X.MessageStringOf(x)
2830
}
2831
2832
func (*AttributeReadRequestMetadata) ProtoMessage() {}
2833
2834
func (x *AttributeReadRequestMetadata) ProtoReflect() protoreflect.Message {
2835
	mi := &file_base_v1_service_proto_msgTypes[42]
2836
	if protoimpl.UnsafeEnabled && x != nil {
2837
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2838
		if ms.LoadMessageInfo() == nil {
2839
			ms.StoreMessageInfo(mi)
2840
		}
2841
		return ms
2842
	}
2843
	return mi.MessageOf(x)
2844
}
2845
2846
// Deprecated: Use AttributeReadRequestMetadata.ProtoReflect.Descriptor instead.
2847
func (*AttributeReadRequestMetadata) Descriptor() ([]byte, []int) {
2848
	return file_base_v1_service_proto_rawDescGZIP(), []int{42}
2849
}
2850
2851
func (x *AttributeReadRequestMetadata) GetSnapToken() string {
2852
	if x != nil {
2853
		return x.SnapToken
2854
	}
2855
	return ""
2856
}
2857
2858
// AttributeReadResponse defines the structure of the response to an attribute read request.
2859
// It includes the attributes retrieved and a continuous token for handling result pagination.
2860
type AttributeReadResponse struct {
2861
	state         protoimpl.MessageState
2862
	sizeCache     protoimpl.SizeCache
2863
	unknownFields protoimpl.UnknownFields
2864
2865
	// attributes is a list of the attributes retrieved in the read operation.
2866
	Attributes []*Attribute `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty"`
2867
	// continuous_token is used in the case of paginated reads to retrieve the next page of results.
2868
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2869
}
2870
2871
func (x *AttributeReadResponse) Reset() {
2872
	*x = AttributeReadResponse{}
2873
	if protoimpl.UnsafeEnabled {
2874
		mi := &file_base_v1_service_proto_msgTypes[43]
2875
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2876
		ms.StoreMessageInfo(mi)
2877
	}
2878
}
2879
2880
func (x *AttributeReadResponse) String() string {
2881
	return protoimpl.X.MessageStringOf(x)
2882
}
2883
2884
func (*AttributeReadResponse) ProtoMessage() {}
2885
2886
func (x *AttributeReadResponse) ProtoReflect() protoreflect.Message {
2887
	mi := &file_base_v1_service_proto_msgTypes[43]
2888
	if protoimpl.UnsafeEnabled && x != nil {
2889
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2890
		if ms.LoadMessageInfo() == nil {
2891
			ms.StoreMessageInfo(mi)
2892
		}
2893
		return ms
2894
	}
2895
	return mi.MessageOf(x)
2896
}
2897
2898
// Deprecated: Use AttributeReadResponse.ProtoReflect.Descriptor instead.
2899
func (*AttributeReadResponse) Descriptor() ([]byte, []int) {
2900
	return file_base_v1_service_proto_rawDescGZIP(), []int{43}
2901
}
2902
2903
func (x *AttributeReadResponse) GetAttributes() []*Attribute {
2904
	if x != nil {
2905
		return x.Attributes
2906
	}
2907
	return nil
2908
}
2909
2910
func (x *AttributeReadResponse) GetContinuousToken() string {
2911
	if x != nil {
2912
		return x.ContinuousToken
2913
	}
2914
	return ""
2915
}
2916
2917
// DataDeleteRequest defines the structure of a request to delete data.
2918
// It includes the tenant_id and filters for selecting tuples and attributes to be deleted.
2919
type DataDeleteRequest struct {
2920
	state         protoimpl.MessageState
2921
	sizeCache     protoimpl.SizeCache
2922
	unknownFields protoimpl.UnknownFields
2923
2924
	// tenant_id represents the unique identifier of the tenant from which the data will be deleted.
2925
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2926
	// tuple_filter specifies the criteria used to select the tuples that should be deleted.
2927
	TupleFilter *TupleFilter `protobuf:"bytes,2,opt,name=tuple_filter,proto3" json:"tuple_filter,omitempty"`
2928
	// attribute_filter specifies the criteria used to select the attributes that should be deleted.
2929
	AttributeFilter *AttributeFilter `protobuf:"bytes,3,opt,name=attribute_filter,proto3" json:"attribute_filter,omitempty"`
2930
}
2931
2932
func (x *DataDeleteRequest) Reset() {
2933
	*x = DataDeleteRequest{}
2934
	if protoimpl.UnsafeEnabled {
2935
		mi := &file_base_v1_service_proto_msgTypes[44]
2936
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2937
		ms.StoreMessageInfo(mi)
2938
	}
2939
}
2940
2941
func (x *DataDeleteRequest) String() string {
2942
	return protoimpl.X.MessageStringOf(x)
2943
}
2944
2945
func (*DataDeleteRequest) ProtoMessage() {}
2946
2947
func (x *DataDeleteRequest) ProtoReflect() protoreflect.Message {
2948
	mi := &file_base_v1_service_proto_msgTypes[44]
2949
	if protoimpl.UnsafeEnabled && x != nil {
2950
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2951
		if ms.LoadMessageInfo() == nil {
2952
			ms.StoreMessageInfo(mi)
2953
		}
2954
		return ms
2955
	}
2956
	return mi.MessageOf(x)
2957
}
2958
2959
// Deprecated: Use DataDeleteRequest.ProtoReflect.Descriptor instead.
2960
func (*DataDeleteRequest) Descriptor() ([]byte, []int) {
2961
	return file_base_v1_service_proto_rawDescGZIP(), []int{44}
2962
}
2963
2964
func (x *DataDeleteRequest) GetTenantId() string {
2965
	if x != nil {
2966
		return x.TenantId
2967
	}
2968
	return ""
2969
}
2970
2971
func (x *DataDeleteRequest) GetTupleFilter() *TupleFilter {
2972
	if x != nil {
2973
		return x.TupleFilter
2974
	}
2975
	return nil
2976
}
2977
2978
func (x *DataDeleteRequest) GetAttributeFilter() *AttributeFilter {
2979
	if x != nil {
2980
		return x.AttributeFilter
2981
	}
2982
	return nil
2983
}
2984
2985
// DataDeleteResponse defines the structure of the response to a data delete request.
2986
// It includes a snap_token representing the state of the database after the deletion.
2987
type DataDeleteResponse struct {
2988
	state         protoimpl.MessageState
2989
	sizeCache     protoimpl.SizeCache
2990
	unknownFields protoimpl.UnknownFields
2991
2992
	// snap_token represents the state of the database after the requested deletions.
2993
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
2994
}
2995
2996
func (x *DataDeleteResponse) Reset() {
2997
	*x = DataDeleteResponse{}
2998
	if protoimpl.UnsafeEnabled {
2999
		mi := &file_base_v1_service_proto_msgTypes[45]
3000
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3001
		ms.StoreMessageInfo(mi)
3002
	}
3003
}
3004
3005
func (x *DataDeleteResponse) String() string {
3006
	return protoimpl.X.MessageStringOf(x)
3007
}
3008
3009
func (*DataDeleteResponse) ProtoMessage() {}
3010
3011
func (x *DataDeleteResponse) ProtoReflect() protoreflect.Message {
3012
	mi := &file_base_v1_service_proto_msgTypes[45]
3013
	if protoimpl.UnsafeEnabled && x != nil {
3014
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3015
		if ms.LoadMessageInfo() == nil {
3016
			ms.StoreMessageInfo(mi)
3017
		}
3018
		return ms
3019
	}
3020
	return mi.MessageOf(x)
3021
}
3022
3023
// Deprecated: Use DataDeleteResponse.ProtoReflect.Descriptor instead.
3024
func (*DataDeleteResponse) Descriptor() ([]byte, []int) {
3025
	return file_base_v1_service_proto_rawDescGZIP(), []int{45}
3026
}
3027
3028
func (x *DataDeleteResponse) GetSnapToken() string {
3029
	if x != nil {
3030
		return x.SnapToken
3031
	}
3032
	return ""
3033
}
3034
3035
// RelationshipDeleteRequest
3036
type RelationshipDeleteRequest struct {
3037
	state         protoimpl.MessageState
3038
	sizeCache     protoimpl.SizeCache
3039
	unknownFields protoimpl.UnknownFields
3040
3041
	TenantId string       `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3042
	Filter   *TupleFilter `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
3043
}
3044
3045
func (x *RelationshipDeleteRequest) Reset() {
3046
	*x = RelationshipDeleteRequest{}
3047
	if protoimpl.UnsafeEnabled {
3048
		mi := &file_base_v1_service_proto_msgTypes[46]
3049
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3050
		ms.StoreMessageInfo(mi)
3051
	}
3052
}
3053
3054
func (x *RelationshipDeleteRequest) String() string {
3055
	return protoimpl.X.MessageStringOf(x)
3056
}
3057
3058
func (*RelationshipDeleteRequest) ProtoMessage() {}
3059
3060
func (x *RelationshipDeleteRequest) ProtoReflect() protoreflect.Message {
3061
	mi := &file_base_v1_service_proto_msgTypes[46]
3062
	if protoimpl.UnsafeEnabled && x != nil {
3063
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3064
		if ms.LoadMessageInfo() == nil {
3065
			ms.StoreMessageInfo(mi)
3066
		}
3067
		return ms
3068
	}
3069
	return mi.MessageOf(x)
3070
}
3071
3072
// Deprecated: Use RelationshipDeleteRequest.ProtoReflect.Descriptor instead.
3073
func (*RelationshipDeleteRequest) Descriptor() ([]byte, []int) {
3074
	return file_base_v1_service_proto_rawDescGZIP(), []int{46}
3075
}
3076
3077
func (x *RelationshipDeleteRequest) GetTenantId() string {
3078
	if x != nil {
3079
		return x.TenantId
3080
	}
3081
	return ""
3082
}
3083
3084
func (x *RelationshipDeleteRequest) GetFilter() *TupleFilter {
3085
	if x != nil {
3086
		return x.Filter
3087
	}
3088
	return nil
3089
}
3090
3091
// RelationshipDeleteResponse
3092
type RelationshipDeleteResponse struct {
3093
	state         protoimpl.MessageState
3094
	sizeCache     protoimpl.SizeCache
3095
	unknownFields protoimpl.UnknownFields
3096
3097
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
3098
}
3099
3100
func (x *RelationshipDeleteResponse) Reset() {
3101
	*x = RelationshipDeleteResponse{}
3102
	if protoimpl.UnsafeEnabled {
3103
		mi := &file_base_v1_service_proto_msgTypes[47]
3104
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3105
		ms.StoreMessageInfo(mi)
3106
	}
3107
}
3108
3109
func (x *RelationshipDeleteResponse) String() string {
3110
	return protoimpl.X.MessageStringOf(x)
3111
}
3112
3113
func (*RelationshipDeleteResponse) ProtoMessage() {}
3114
3115
func (x *RelationshipDeleteResponse) ProtoReflect() protoreflect.Message {
3116
	mi := &file_base_v1_service_proto_msgTypes[47]
3117
	if protoimpl.UnsafeEnabled && x != nil {
3118
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3119
		if ms.LoadMessageInfo() == nil {
3120
			ms.StoreMessageInfo(mi)
3121
		}
3122
		return ms
3123
	}
3124
	return mi.MessageOf(x)
3125
}
3126
3127
// Deprecated: Use RelationshipDeleteResponse.ProtoReflect.Descriptor instead.
3128
func (*RelationshipDeleteResponse) Descriptor() ([]byte, []int) {
3129
	return file_base_v1_service_proto_rawDescGZIP(), []int{47}
3130
}
3131
3132
func (x *RelationshipDeleteResponse) GetSnapToken() string {
3133
	if x != nil {
3134
		return x.SnapToken
3135
	}
3136
	return ""
3137
}
3138
3139
// BundleRunRequest is used to request the execution of a bundle.
3140
// It includes tenant_id, the name of the bundle, and additional arguments for execution.
3141
type BundleRunRequest struct {
3142
	state         protoimpl.MessageState
3143
	sizeCache     protoimpl.SizeCache
3144
	unknownFields protoimpl.UnknownFields
3145
3146
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3147
	// Name of the bundle to be executed.
3148
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
3149
	// Additional key-value pairs for execution arguments.
3150
	Arguments map[string]string `protobuf:"bytes,3,rep,name=arguments,proto3" json:"arguments,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
3151
}
3152
3153
func (x *BundleRunRequest) Reset() {
3154
	*x = BundleRunRequest{}
3155
	if protoimpl.UnsafeEnabled {
3156
		mi := &file_base_v1_service_proto_msgTypes[48]
3157
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3158
		ms.StoreMessageInfo(mi)
3159
	}
3160
}
3161
3162
func (x *BundleRunRequest) String() string {
3163
	return protoimpl.X.MessageStringOf(x)
3164
}
3165
3166
func (*BundleRunRequest) ProtoMessage() {}
3167
3168
func (x *BundleRunRequest) ProtoReflect() protoreflect.Message {
3169
	mi := &file_base_v1_service_proto_msgTypes[48]
3170
	if protoimpl.UnsafeEnabled && x != nil {
3171
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3172
		if ms.LoadMessageInfo() == nil {
3173
			ms.StoreMessageInfo(mi)
3174
		}
3175
		return ms
3176
	}
3177
	return mi.MessageOf(x)
3178
}
3179
3180
// Deprecated: Use BundleRunRequest.ProtoReflect.Descriptor instead.
3181
func (*BundleRunRequest) Descriptor() ([]byte, []int) {
3182
	return file_base_v1_service_proto_rawDescGZIP(), []int{48}
3183
}
3184
3185
func (x *BundleRunRequest) GetTenantId() string {
3186
	if x != nil {
3187
		return x.TenantId
3188
	}
3189
	return ""
3190
}
3191
3192
func (x *BundleRunRequest) GetName() string {
3193
	if x != nil {
3194
		return x.Name
3195
	}
3196
	return ""
3197
}
3198
3199
func (x *BundleRunRequest) GetArguments() map[string]string {
3200
	if x != nil {
3201
		return x.Arguments
3202
	}
3203
	return nil
3204
}
3205
3206
// BundleRunResponse is the response for a BundleRunRequest.
3207
// It includes a snap_token, which may be used for tracking the execution or its results.
3208
type BundleRunResponse struct {
3209
	state         protoimpl.MessageState
3210
	sizeCache     protoimpl.SizeCache
3211
	unknownFields protoimpl.UnknownFields
3212
3213
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
3214
}
3215
3216
func (x *BundleRunResponse) Reset() {
3217
	*x = BundleRunResponse{}
3218
	if protoimpl.UnsafeEnabled {
3219
		mi := &file_base_v1_service_proto_msgTypes[49]
3220
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3221
		ms.StoreMessageInfo(mi)
3222
	}
3223
}
3224
3225
func (x *BundleRunResponse) String() string {
3226
	return protoimpl.X.MessageStringOf(x)
3227
}
3228
3229
func (*BundleRunResponse) ProtoMessage() {}
3230
3231
func (x *BundleRunResponse) ProtoReflect() protoreflect.Message {
3232
	mi := &file_base_v1_service_proto_msgTypes[49]
3233
	if protoimpl.UnsafeEnabled && x != nil {
3234
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3235
		if ms.LoadMessageInfo() == nil {
3236
			ms.StoreMessageInfo(mi)
3237
		}
3238
		return ms
3239
	}
3240
	return mi.MessageOf(x)
3241
}
3242
3243
// Deprecated: Use BundleRunResponse.ProtoReflect.Descriptor instead.
3244
func (*BundleRunResponse) Descriptor() ([]byte, []int) {
3245
	return file_base_v1_service_proto_rawDescGZIP(), []int{49}
3246
}
3247
3248
func (x *BundleRunResponse) GetSnapToken() string {
3249
	if x != nil {
3250
		return x.SnapToken
3251
	}
3252
	return ""
3253
}
3254
3255
// BundleWriteRequest is used to request the writing of a bundle.
3256
// It contains the tenant_id to identify the tenant and the Bundles object.
3257
type BundleWriteRequest struct {
3258
	state         protoimpl.MessageState
3259
	sizeCache     protoimpl.SizeCache
3260
	unknownFields protoimpl.UnknownFields
3261
3262
	TenantId string        `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3263
	Bundles  []*DataBundle `protobuf:"bytes,2,rep,name=bundles,proto3" json:"bundles,omitempty"` // Contains the bundle data to be written.
3264
}
3265
3266
func (x *BundleWriteRequest) Reset() {
3267
	*x = BundleWriteRequest{}
3268
	if protoimpl.UnsafeEnabled {
3269
		mi := &file_base_v1_service_proto_msgTypes[50]
3270
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3271
		ms.StoreMessageInfo(mi)
3272
	}
3273
}
3274
3275
func (x *BundleWriteRequest) String() string {
3276
	return protoimpl.X.MessageStringOf(x)
3277
}
3278
3279
func (*BundleWriteRequest) ProtoMessage() {}
3280
3281
func (x *BundleWriteRequest) ProtoReflect() protoreflect.Message {
3282
	mi := &file_base_v1_service_proto_msgTypes[50]
3283
	if protoimpl.UnsafeEnabled && x != nil {
3284
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3285
		if ms.LoadMessageInfo() == nil {
3286
			ms.StoreMessageInfo(mi)
3287
		}
3288
		return ms
3289
	}
3290
	return mi.MessageOf(x)
3291
}
3292
3293
// Deprecated: Use BundleWriteRequest.ProtoReflect.Descriptor instead.
3294
func (*BundleWriteRequest) Descriptor() ([]byte, []int) {
3295
	return file_base_v1_service_proto_rawDescGZIP(), []int{50}
3296
}
3297
3298
func (x *BundleWriteRequest) GetTenantId() string {
3299
	if x != nil {
3300
		return x.TenantId
3301
	}
3302
	return ""
3303
}
3304
3305
func (x *BundleWriteRequest) GetBundles() []*DataBundle {
3306
	if x != nil {
3307
		return x.Bundles
3308
	}
3309
	return nil
3310
}
3311
3312
// BundleWriteResponse is the response for a BundleWriteRequest.
3313
// It includes a name which could be used as an identifier or acknowledgment.
3314
type BundleWriteResponse struct {
3315
	state         protoimpl.MessageState
3316
	sizeCache     protoimpl.SizeCache
3317
	unknownFields protoimpl.UnknownFields
3318
3319
	Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` // Identifier or acknowledgment of the written bundle.
3320
}
3321
3322
func (x *BundleWriteResponse) Reset() {
3323
	*x = BundleWriteResponse{}
3324
	if protoimpl.UnsafeEnabled {
3325
		mi := &file_base_v1_service_proto_msgTypes[51]
3326
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3327
		ms.StoreMessageInfo(mi)
3328
	}
3329
}
3330
3331
func (x *BundleWriteResponse) String() string {
3332
	return protoimpl.X.MessageStringOf(x)
3333
}
3334
3335
func (*BundleWriteResponse) ProtoMessage() {}
3336
3337
func (x *BundleWriteResponse) ProtoReflect() protoreflect.Message {
3338
	mi := &file_base_v1_service_proto_msgTypes[51]
3339
	if protoimpl.UnsafeEnabled && x != nil {
3340
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3341
		if ms.LoadMessageInfo() == nil {
3342
			ms.StoreMessageInfo(mi)
3343
		}
3344
		return ms
3345
	}
3346
	return mi.MessageOf(x)
3347
}
3348
3349
// Deprecated: Use BundleWriteResponse.ProtoReflect.Descriptor instead.
3350
func (*BundleWriteResponse) Descriptor() ([]byte, []int) {
3351
	return file_base_v1_service_proto_rawDescGZIP(), []int{51}
3352
}
3353
3354
func (x *BundleWriteResponse) GetNames() []string {
3355
	if x != nil {
3356
		return x.Names
3357
	}
3358
	return nil
3359
}
3360
3361
type BundleReadRequest struct {
3362
	state         protoimpl.MessageState
3363
	sizeCache     protoimpl.SizeCache
3364
	unknownFields protoimpl.UnknownFields
3365
3366
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3367
	Name     string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
3368
}
3369
3370
func (x *BundleReadRequest) Reset() {
3371
	*x = BundleReadRequest{}
3372
	if protoimpl.UnsafeEnabled {
3373
		mi := &file_base_v1_service_proto_msgTypes[52]
3374
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3375
		ms.StoreMessageInfo(mi)
3376
	}
3377
}
3378
3379
func (x *BundleReadRequest) String() string {
3380
	return protoimpl.X.MessageStringOf(x)
3381
}
3382
3383
func (*BundleReadRequest) ProtoMessage() {}
3384
3385
func (x *BundleReadRequest) ProtoReflect() protoreflect.Message {
3386
	mi := &file_base_v1_service_proto_msgTypes[52]
3387
	if protoimpl.UnsafeEnabled && x != nil {
3388
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3389
		if ms.LoadMessageInfo() == nil {
3390
			ms.StoreMessageInfo(mi)
3391
		}
3392
		return ms
3393
	}
3394
	return mi.MessageOf(x)
3395
}
3396
3397
// Deprecated: Use BundleReadRequest.ProtoReflect.Descriptor instead.
3398
func (*BundleReadRequest) Descriptor() ([]byte, []int) {
3399
	return file_base_v1_service_proto_rawDescGZIP(), []int{52}
3400
}
3401
3402
func (x *BundleReadRequest) GetTenantId() string {
3403
	if x != nil {
3404
		return x.TenantId
3405
	}
3406
	return ""
3407
}
3408
3409
func (x *BundleReadRequest) GetName() string {
3410
	if x != nil {
3411
		return x.Name
3412
	}
3413
	return ""
3414
}
3415
3416
type BundleReadResponse struct {
3417
	state         protoimpl.MessageState
3418
	sizeCache     protoimpl.SizeCache
3419
	unknownFields protoimpl.UnknownFields
3420
3421
	Bundle *DataBundle `protobuf:"bytes,1,opt,name=bundle,proto3" json:"bundle,omitempty"`
3422
}
3423
3424
func (x *BundleReadResponse) Reset() {
3425
	*x = BundleReadResponse{}
3426
	if protoimpl.UnsafeEnabled {
3427
		mi := &file_base_v1_service_proto_msgTypes[53]
3428
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3429
		ms.StoreMessageInfo(mi)
3430
	}
3431
}
3432
3433
func (x *BundleReadResponse) String() string {
3434
	return protoimpl.X.MessageStringOf(x)
3435
}
3436
3437
func (*BundleReadResponse) ProtoMessage() {}
3438
3439
func (x *BundleReadResponse) ProtoReflect() protoreflect.Message {
3440
	mi := &file_base_v1_service_proto_msgTypes[53]
3441
	if protoimpl.UnsafeEnabled && x != nil {
3442
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3443
		if ms.LoadMessageInfo() == nil {
3444
			ms.StoreMessageInfo(mi)
3445
		}
3446
		return ms
3447
	}
3448
	return mi.MessageOf(x)
3449
}
3450
3451
// Deprecated: Use BundleReadResponse.ProtoReflect.Descriptor instead.
3452
func (*BundleReadResponse) Descriptor() ([]byte, []int) {
3453
	return file_base_v1_service_proto_rawDescGZIP(), []int{53}
3454
}
3455
3456
func (x *BundleReadResponse) GetBundle() *DataBundle {
3457
	if x != nil {
3458
		return x.Bundle
3459
	}
3460
	return nil
3461
}
3462
3463
// BundleDeleteRequest is used to request the deletion of a bundle.
3464
// It contains the tenant_id to specify the tenant and the name of the bundle to be deleted.
3465
type BundleDeleteRequest struct {
3466
	state         protoimpl.MessageState
3467
	sizeCache     protoimpl.SizeCache
3468
	unknownFields protoimpl.UnknownFields
3469
3470
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3471
	Name     string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Name of the bundle to be deleted.
3472
}
3473
3474
func (x *BundleDeleteRequest) Reset() {
3475
	*x = BundleDeleteRequest{}
3476
	if protoimpl.UnsafeEnabled {
3477
		mi := &file_base_v1_service_proto_msgTypes[54]
3478
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3479
		ms.StoreMessageInfo(mi)
3480
	}
3481
}
3482
3483
func (x *BundleDeleteRequest) String() string {
3484
	return protoimpl.X.MessageStringOf(x)
3485
}
3486
3487
func (*BundleDeleteRequest) ProtoMessage() {}
3488
3489
func (x *BundleDeleteRequest) ProtoReflect() protoreflect.Message {
3490
	mi := &file_base_v1_service_proto_msgTypes[54]
3491
	if protoimpl.UnsafeEnabled && x != nil {
3492
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3493
		if ms.LoadMessageInfo() == nil {
3494
			ms.StoreMessageInfo(mi)
3495
		}
3496
		return ms
3497
	}
3498
	return mi.MessageOf(x)
3499
}
3500
3501
// Deprecated: Use BundleDeleteRequest.ProtoReflect.Descriptor instead.
3502
func (*BundleDeleteRequest) Descriptor() ([]byte, []int) {
3503
	return file_base_v1_service_proto_rawDescGZIP(), []int{54}
3504
}
3505
3506
func (x *BundleDeleteRequest) GetTenantId() string {
3507
	if x != nil {
3508
		return x.TenantId
3509
	}
3510
	return ""
3511
}
3512
3513
func (x *BundleDeleteRequest) GetName() string {
3514
	if x != nil {
3515
		return x.Name
3516
	}
3517
	return ""
3518
}
3519
3520
type BundleDeleteResponse struct {
3521
	state         protoimpl.MessageState
3522
	sizeCache     protoimpl.SizeCache
3523
	unknownFields protoimpl.UnknownFields
3524
3525
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
3526
}
3527
3528
func (x *BundleDeleteResponse) Reset() {
3529
	*x = BundleDeleteResponse{}
3530
	if protoimpl.UnsafeEnabled {
3531
		mi := &file_base_v1_service_proto_msgTypes[55]
3532
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3533
		ms.StoreMessageInfo(mi)
3534
	}
3535
}
3536
3537
func (x *BundleDeleteResponse) String() string {
3538
	return protoimpl.X.MessageStringOf(x)
3539
}
3540
3541
func (*BundleDeleteResponse) ProtoMessage() {}
3542
3543
func (x *BundleDeleteResponse) ProtoReflect() protoreflect.Message {
3544
	mi := &file_base_v1_service_proto_msgTypes[55]
3545
	if protoimpl.UnsafeEnabled && x != nil {
3546
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3547
		if ms.LoadMessageInfo() == nil {
3548
			ms.StoreMessageInfo(mi)
3549
		}
3550
		return ms
3551
	}
3552
	return mi.MessageOf(x)
3553
}
3554
3555
// Deprecated: Use BundleDeleteResponse.ProtoReflect.Descriptor instead.
3556
func (*BundleDeleteResponse) Descriptor() ([]byte, []int) {
3557
	return file_base_v1_service_proto_rawDescGZIP(), []int{55}
3558
}
3559
3560
func (x *BundleDeleteResponse) GetName() string {
3561
	if x != nil {
3562
		return x.Name
3563
	}
3564
	return ""
3565
}
3566
3567
// TenantCreateRequest is the message used for the request to create a tenant.
3568
type TenantCreateRequest struct {
3569
	state         protoimpl.MessageState
3570
	sizeCache     protoimpl.SizeCache
3571
	unknownFields protoimpl.UnknownFields
3572
3573
	// id is a unique identifier for the tenant.
3574
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
3575
	// name is the name of the tenant.
3576
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
3577
}
3578
3579
func (x *TenantCreateRequest) Reset() {
3580
	*x = TenantCreateRequest{}
3581
	if protoimpl.UnsafeEnabled {
3582
		mi := &file_base_v1_service_proto_msgTypes[56]
3583
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3584
		ms.StoreMessageInfo(mi)
3585
	}
3586
}
3587
3588
func (x *TenantCreateRequest) String() string {
3589
	return protoimpl.X.MessageStringOf(x)
3590
}
3591
3592
func (*TenantCreateRequest) ProtoMessage() {}
3593
3594
func (x *TenantCreateRequest) ProtoReflect() protoreflect.Message {
3595
	mi := &file_base_v1_service_proto_msgTypes[56]
3596
	if protoimpl.UnsafeEnabled && x != nil {
3597
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3598
		if ms.LoadMessageInfo() == nil {
3599
			ms.StoreMessageInfo(mi)
3600
		}
3601
		return ms
3602
	}
3603
	return mi.MessageOf(x)
3604
}
3605
3606
// Deprecated: Use TenantCreateRequest.ProtoReflect.Descriptor instead.
3607
func (*TenantCreateRequest) Descriptor() ([]byte, []int) {
3608
	return file_base_v1_service_proto_rawDescGZIP(), []int{56}
3609
}
3610
3611
func (x *TenantCreateRequest) GetId() string {
3612
	if x != nil {
3613
		return x.Id
3614
	}
3615
	return ""
3616
}
3617
3618
func (x *TenantCreateRequest) GetName() string {
3619
	if x != nil {
3620
		return x.Name
3621
	}
3622
	return ""
3623
}
3624
3625
// TenantCreateResponse is the message returned from the request to create a tenant.
3626
type TenantCreateResponse struct {
3627
	state         protoimpl.MessageState
3628
	sizeCache     protoimpl.SizeCache
3629
	unknownFields protoimpl.UnknownFields
3630
3631
	// tenant is the created tenant information.
3632
	Tenant *Tenant `protobuf:"bytes,1,opt,name=tenant,proto3" json:"tenant,omitempty"`
3633
}
3634
3635
func (x *TenantCreateResponse) Reset() {
3636
	*x = TenantCreateResponse{}
3637
	if protoimpl.UnsafeEnabled {
3638
		mi := &file_base_v1_service_proto_msgTypes[57]
3639
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3640
		ms.StoreMessageInfo(mi)
3641
	}
3642
}
3643
3644
func (x *TenantCreateResponse) String() string {
3645
	return protoimpl.X.MessageStringOf(x)
3646
}
3647
3648
func (*TenantCreateResponse) ProtoMessage() {}
3649
3650
func (x *TenantCreateResponse) ProtoReflect() protoreflect.Message {
3651
	mi := &file_base_v1_service_proto_msgTypes[57]
3652
	if protoimpl.UnsafeEnabled && x != nil {
3653
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3654
		if ms.LoadMessageInfo() == nil {
3655
			ms.StoreMessageInfo(mi)
3656
		}
3657
		return ms
3658
	}
3659
	return mi.MessageOf(x)
3660
}
3661
3662
// Deprecated: Use TenantCreateResponse.ProtoReflect.Descriptor instead.
3663
func (*TenantCreateResponse) Descriptor() ([]byte, []int) {
3664
	return file_base_v1_service_proto_rawDescGZIP(), []int{57}
3665
}
3666
3667
func (x *TenantCreateResponse) GetTenant() *Tenant {
3668
	if x != nil {
3669
		return x.Tenant
3670
	}
3671
	return nil
3672
}
3673
3674
// TenantDeleteRequest is the message used for the request to delete a tenant.
3675
type TenantDeleteRequest struct {
3676
	state         protoimpl.MessageState
3677
	sizeCache     protoimpl.SizeCache
3678
	unknownFields protoimpl.UnknownFields
3679
3680
	// id is the unique identifier of the tenant to be deleted.
3681
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
3682
}
3683
3684
func (x *TenantDeleteRequest) Reset() {
3685
	*x = TenantDeleteRequest{}
3686
	if protoimpl.UnsafeEnabled {
3687
		mi := &file_base_v1_service_proto_msgTypes[58]
3688
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3689
		ms.StoreMessageInfo(mi)
3690
	}
3691
}
3692
3693
func (x *TenantDeleteRequest) String() string {
3694
	return protoimpl.X.MessageStringOf(x)
3695
}
3696
3697
func (*TenantDeleteRequest) ProtoMessage() {}
3698
3699
func (x *TenantDeleteRequest) ProtoReflect() protoreflect.Message {
3700
	mi := &file_base_v1_service_proto_msgTypes[58]
3701
	if protoimpl.UnsafeEnabled && x != nil {
3702
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3703
		if ms.LoadMessageInfo() == nil {
3704
			ms.StoreMessageInfo(mi)
3705
		}
3706
		return ms
3707
	}
3708
	return mi.MessageOf(x)
3709
}
3710
3711
// Deprecated: Use TenantDeleteRequest.ProtoReflect.Descriptor instead.
3712
func (*TenantDeleteRequest) Descriptor() ([]byte, []int) {
3713
	return file_base_v1_service_proto_rawDescGZIP(), []int{58}
3714
}
3715
3716
func (x *TenantDeleteRequest) GetId() string {
3717
	if x != nil {
3718
		return x.Id
3719
	}
3720
	return ""
3721
}
3722
3723
// TenantDeleteResponse is the message returned from the request to delete a tenant.
3724
type TenantDeleteResponse struct {
3725
	state         protoimpl.MessageState
3726
	sizeCache     protoimpl.SizeCache
3727
	unknownFields protoimpl.UnknownFields
3728
3729
	// tenant is the tenant information that was deleted.
3730
	Tenant *Tenant `protobuf:"bytes,1,opt,name=tenant,proto3" json:"tenant,omitempty"`
3731
}
3732
3733
func (x *TenantDeleteResponse) Reset() {
3734
	*x = TenantDeleteResponse{}
3735
	if protoimpl.UnsafeEnabled {
3736
		mi := &file_base_v1_service_proto_msgTypes[59]
3737
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3738
		ms.StoreMessageInfo(mi)
3739
	}
3740
}
3741
3742
func (x *TenantDeleteResponse) String() string {
3743
	return protoimpl.X.MessageStringOf(x)
3744
}
3745
3746
func (*TenantDeleteResponse) ProtoMessage() {}
3747
3748
func (x *TenantDeleteResponse) ProtoReflect() protoreflect.Message {
3749
	mi := &file_base_v1_service_proto_msgTypes[59]
3750
	if protoimpl.UnsafeEnabled && x != nil {
3751
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3752
		if ms.LoadMessageInfo() == nil {
3753
			ms.StoreMessageInfo(mi)
3754
		}
3755
		return ms
3756
	}
3757
	return mi.MessageOf(x)
3758
}
3759
3760
// Deprecated: Use TenantDeleteResponse.ProtoReflect.Descriptor instead.
3761
func (*TenantDeleteResponse) Descriptor() ([]byte, []int) {
3762
	return file_base_v1_service_proto_rawDescGZIP(), []int{59}
3763
}
3764
3765
func (x *TenantDeleteResponse) GetTenant() *Tenant {
3766
	if x != nil {
3767
		return x.Tenant
3768
	}
3769
	return nil
3770
}
3771
3772
// TenantListRequest is the message used for the request to list all tenants.
3773
type TenantListRequest struct {
3774
	state         protoimpl.MessageState
3775
	sizeCache     protoimpl.SizeCache
3776
	unknownFields protoimpl.UnknownFields
3777
3778
	// page_size is the number of tenants to be returned in the response.
3779
	// The value should be between 1 and 100.
3780
	PageSize uint32 `protobuf:"varint,1,opt,name=page_size,proto3" json:"page_size,omitempty"`
3781
	// continuous_token is an optional parameter used for pagination.
3782
	// It should be the value received in the previous response.
3783
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
3784
}
3785
3786
func (x *TenantListRequest) Reset() {
3787
	*x = TenantListRequest{}
3788
	if protoimpl.UnsafeEnabled {
3789
		mi := &file_base_v1_service_proto_msgTypes[60]
3790
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3791
		ms.StoreMessageInfo(mi)
3792
	}
3793
}
3794
3795
func (x *TenantListRequest) String() string {
3796
	return protoimpl.X.MessageStringOf(x)
3797
}
3798
3799
func (*TenantListRequest) ProtoMessage() {}
3800
3801
func (x *TenantListRequest) ProtoReflect() protoreflect.Message {
3802
	mi := &file_base_v1_service_proto_msgTypes[60]
3803
	if protoimpl.UnsafeEnabled && x != nil {
3804
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3805
		if ms.LoadMessageInfo() == nil {
3806
			ms.StoreMessageInfo(mi)
3807
		}
3808
		return ms
3809
	}
3810
	return mi.MessageOf(x)
3811
}
3812
3813
// Deprecated: Use TenantListRequest.ProtoReflect.Descriptor instead.
3814
func (*TenantListRequest) Descriptor() ([]byte, []int) {
3815
	return file_base_v1_service_proto_rawDescGZIP(), []int{60}
3816
}
3817
3818
func (x *TenantListRequest) GetPageSize() uint32 {
3819
	if x != nil {
3820
		return x.PageSize
3821
	}
3822
	return 0
3823
}
3824
3825
func (x *TenantListRequest) GetContinuousToken() string {
3826
	if x != nil {
3827
		return x.ContinuousToken
3828
	}
3829
	return ""
3830
}
3831
3832
// TenantListResponse is the message returned from the request to list all tenants.
3833
type TenantListResponse struct {
3834
	state         protoimpl.MessageState
3835
	sizeCache     protoimpl.SizeCache
3836
	unknownFields protoimpl.UnknownFields
3837
3838
	// tenants is a list of tenants.
3839
	Tenants []*Tenant `protobuf:"bytes,1,rep,name=tenants,proto3" json:"tenants,omitempty"`
3840
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
3841
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
3842
}
3843
3844
func (x *TenantListResponse) Reset() {
3845
	*x = TenantListResponse{}
3846
	if protoimpl.UnsafeEnabled {
3847
		mi := &file_base_v1_service_proto_msgTypes[61]
3848
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3849
		ms.StoreMessageInfo(mi)
3850
	}
3851
}
3852
3853
func (x *TenantListResponse) String() string {
3854
	return protoimpl.X.MessageStringOf(x)
3855
}
3856
3857
func (*TenantListResponse) ProtoMessage() {}
3858
3859
func (x *TenantListResponse) ProtoReflect() protoreflect.Message {
3860
	mi := &file_base_v1_service_proto_msgTypes[61]
3861
	if protoimpl.UnsafeEnabled && x != nil {
3862
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3863
		if ms.LoadMessageInfo() == nil {
3864
			ms.StoreMessageInfo(mi)
3865
		}
3866
		return ms
3867
	}
3868
	return mi.MessageOf(x)
3869
}
3870
3871
// Deprecated: Use TenantListResponse.ProtoReflect.Descriptor instead.
3872
func (*TenantListResponse) Descriptor() ([]byte, []int) {
3873
	return file_base_v1_service_proto_rawDescGZIP(), []int{61}
3874
}
3875
3876
func (x *TenantListResponse) GetTenants() []*Tenant {
3877
	if x != nil {
3878
		return x.Tenants
3879
	}
3880
	return nil
3881
}
3882
3883
func (x *TenantListResponse) GetContinuousToken() string {
3884
	if x != nil {
3885
		return x.ContinuousToken
3886
	}
3887
	return ""
3888
}
3889
3890
var File_base_v1_service_proto protoreflect.FileDescriptor
3891
3892
var file_base_v1_service_proto_rawDesc = []byte{
3893
	0x0a, 0x15, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
3894
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
3895
	0x1a, 0x12, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70,
3896
	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
3897
	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
3898
	0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f,
3899
	0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3900
	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
3901
	0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c,
3902
	0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x07, 0x0a, 0x16,
3903
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
3904
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e,
3905
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9,
3906
	0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f,
3907
	0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66,
3908
	0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69,
3909
	0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79,
3910
	0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20,
3911
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d,
3912
	0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20,
3913
	0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20,
3914
	0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20,
3915
	0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75,
3916
	0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74,
3917
	0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a,
3918
	0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78,
3919
	0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28,
3920
	0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39,
3921
	0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d,
3922
	0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
3923
	0x5f, 0x69, 0x64, 0x12, 0x4d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
3924
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
3925
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
3926
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08,
3927
	0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
3928
	0x74, 0x61, 0x12, 0x44, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01,
3929
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74,
3930
	0x69, 0x74, 0x79, 0x42, 0x1b, 0x92, 0x41, 0x10, 0x4a, 0x0e, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73,
3931
	0x69, 0x74, 0x6f, 0x72, 0x79, 0x3a, 0x31, 0x22, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01,
3932
	0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x76, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d,
3933
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x56, 0x92, 0x41,
3934
	0x36, 0x32, 0x34, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68,
3935
	0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20,
3936
	0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72,
3937
	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32, 0x11,
3938
	0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34, 0x7d,
3939
	0x24, 0xd0, 0x01, 0x00, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
3940
	0x12, 0x34, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
3941
	0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a,
3942
	0x65, 0x63, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73,
3943
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0xc4, 0x01, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
3944
	0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
3945
	0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x97, 0x01, 0x92, 0x41, 0x93,
3946
	0x01, 0x32, 0x90, 0x01, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x64,
3947
	0x61, 0x74, 0x61, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20,
3948
	0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x61, 0x64, 0x64, 0x65,
3949
	0x64, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20,
3950
	0x63, 0x68, 0x65, 0x63, 0x6b, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x20,
3951
	0x53, 0x65, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b,
3952
	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x44, 0x61, 0x74, 0x61, 0x5d,
3953
	0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3954
	0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x2d, 0x74, 0x75, 0x70,
3955
	0x6c, 0x65, 0x73, 0x29, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2f, 0x0a,
3956
	0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b,
3957
	0x32, 0x11, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d,
3958
	0x65, 0x6e, 0x74, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xb2,
3959
	0x02, 0x0a, 0x1e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65,
3960
	0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
3961
	0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73,
3962
	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d,
3963
	0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e,
3964
	0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69,
3965
	0x92, 0x41, 0x66, 0x32, 0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f,
3966
	0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61,
3967
	0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f,
3968
	0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53,
3969
	0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e,
3970
	0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61,
3971
	0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f,
3972
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5c, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x03,
3973
	0x20, 0x01, 0x28, 0x05, 0x42, 0x46, 0x92, 0x41, 0x3c, 0x32, 0x3a, 0x51, 0x75, 0x65, 0x72, 0x79,
3974
	0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x72,
3975
	0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
3976
	0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x67, 0x6f, 0x74, 0x20, 0x69, 0x6e,
3977
	0x20, 0x6c, 0x6f, 0x6f, 0x70, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x03, 0x52, 0x05, 0x64, 0x65,
3978
	0x70, 0x74, 0x68, 0x22, 0x87, 0x01, 0x0a, 0x17, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
3979
	0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
3980
	0x26, 0x0a, 0x03, 0x63, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x62,
3981
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75,
3982
	0x6c, 0x74, 0x52, 0x03, 0x63, 0x61, 0x6e, 0x12, 0x44, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
3983
	0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62, 0x61, 0x73, 0x65,
3984
	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68,
3985
	0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64,
3986
	0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x43, 0x0a,
3987
	0x1f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b,
3988
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
3989
	0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
3990
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75,
3991
	0x6e, 0x74, 0x22, 0xe5, 0x04, 0x0a, 0x17, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
3992
	0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa,
3993
	0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
3994
	0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e,
3995
	0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65,
3996
	0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65,
3997
	0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69,
3998
	0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f,
3999
	0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20,
4000
	0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64,
4001
	0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31,
4002
	0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73,
4003
	0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
4004
	0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68,
4005
	0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80,
4006
	0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c,
4007
	0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65,
4008
	0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61,
4009
	0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b,
4010
	0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00,
4011
	0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x4e, 0x0a, 0x08, 0x6d,
4012
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
4013
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
4014
	0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d,
4015
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10,
4016
	0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x06, 0x65,
4017
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61,
4018
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x08, 0xfa, 0x42,
4019
	0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3d,
4020
	0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
4021
	0x28, 0x09, 0x42, 0x1d, 0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32, 0x11, 0x5e, 0x5b, 0x61,
4022
	0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34, 0x7d, 0x24, 0xd0, 0x01,
4023
	0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a,
4024
	0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
4025
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
4026
	0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2f, 0x0a, 0x09, 0x61, 0x72, 0x67,
4027
	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62,
4028
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52,
4029
	0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd6, 0x01, 0x0a, 0x1f, 0x50,
4030
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52,
4031
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26,
4032
	0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
4033
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76,
4034
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f,
4035
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x6a, 0x92, 0x41, 0x67,
4036
	0x32, 0x65, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
4037
	0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20,
4038
	0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20,
4039
	0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70,
4040
	0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f,
4041
	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74,
4042
	0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f,
4043
	0x6b, 0x65, 0x6e, 0x22, 0x3f, 0x0a, 0x18, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
4044
	0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
4045
	0x23, 0x0a, 0x04, 0x74, 0x72, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
4046
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x04,
4047
	0x74, 0x72, 0x65, 0x65, 0x22, 0x81, 0x07, 0x0a, 0x1d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
4048
	0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52,
4049
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4050
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9,
4051
	0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f,
4052
	0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66,
4053
	0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69,
4054
	0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79,
4055
	0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20,
4056
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d,
4057
	0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20,
4058
	0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20,
4059
	0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20,
4060
	0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75,
4061
	0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74,
4062
	0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a,
4063
	0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78,
4064
	0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28,
4065
	0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39,
4066
	0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d,
4067
	0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4068
	0x5f, 0x69, 0x64, 0x12, 0x54, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
4069
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
4070
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70,
4071
	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74,
4072
	0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52,
4073
	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0b, 0x65, 0x6e, 0x74,
4074
	0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1d,
4075
	0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32, 0x11, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d,
4076
	0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34, 0x7d, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x0b, 0x65,
4077
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x65,
4078
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1d,
4079
	0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32, 0x11, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d,
4080
	0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34, 0x7d, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x0a, 0x70,
4081
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x75, 0x62,
4082
	0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73,
4083
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x08, 0xfa, 0x42,
4084
	0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12,
4085
	0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
4086
	0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65,
4087
	0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x73,
4088
	0x63, 0x6f, 0x70, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x62, 0x61, 0x73,
4089
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c,
4090
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
4091
	0x73, 0x74, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x73,
4092
	0x63, 0x6f, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
4093
	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x01,
4094
	0x40, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a,
4095
	0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
4096
	0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01,
4097
	0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f,
4098
	0x6b, 0x65, 0x6e, 0x1a, 0x53, 0x0a, 0x0a, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72,
4099
	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
4100
	0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
4101
	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72,
4102
	0x69, 0x6e, 0x67, 0x41, 0x72, 0x72, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76,
4103
	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbb, 0x02, 0x0a, 0x25, 0x50, 0x65, 0x72,
4104
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74,
4105
	0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
4106
	0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72,
4107
	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65,
4108
	0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x73,
4109
	0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
4110
	0x6a, 0x92, 0x41, 0x67, 0x32, 0x65, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74,
4111
	0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74,
4112
	0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d,
4113
	0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b,
4114
	0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f,
4115
	0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e,
4116
	0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e, 0x61,
4117
	0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5d, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68,
4118
	0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x47, 0x92, 0x41, 0x3d, 0x32, 0x3b, 0x51, 0x75, 0x65,
4119
	0x72, 0x79, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69, 0x66,
4120
	0x20, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x62,
4121
	0x61, 0x73, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x67, 0x6f, 0x74, 0x20,
4122
	0x69, 0x6e, 0x20, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x03, 0x52,
4123
	0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x6c, 0x0a, 0x1e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
4124
	0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
4125
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x69,
4126
	0x74, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e,
4127
	0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74,
4128
	0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
4129
	0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74,
4130
	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x70, 0x0a, 0x24, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
4131
	0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74,
4132
	0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09,
4133
	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
4134
	0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f,
4135
	0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
4136
	0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73,
4137
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xe9, 0x05, 0x0a, 0x1d, 0x50, 0x65, 0x72, 0x6d, 0x69,
4138
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65,
4139
	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e,
4140
	0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92,
4141
	0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72,
4142
	0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20,
4143
	0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75,
4144
	0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4145
	0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e,
4146
	0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72,
4147
	0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4148
	0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65,
4149
	0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64,
4150
	0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20,
4151
	0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70,
4152
	0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41,
4153
	0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d,
4154
	0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72,
4155
	0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30,
4156
	0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32,
4157
	0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61,
4158
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x54, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
4159
	0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
4160
	0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69,
4161
	0x74, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d,
4162
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10,
4163
	0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x08, 0x65,
4164
	0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
4165
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65,
4166
	0x52, 0x08, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x73, 0x75,
4167
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61,
4168
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x73,
4169
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
4170
	0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
4171
	0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
4172
	0x78, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28,
4173
	0x0b, 0x32, 0x31, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d,
4174
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x74,
4175
	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45,
4176
	0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x06, 0x63,
4177
	0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05,
4178
	0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x1a, 0x53, 0x0a,
4179
	0x0a, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
4180
	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a,
4181
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62,
4182
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x72, 0x72,
4183
	0x61, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
4184
	0x38, 0x01, 0x22, 0xbb, 0x02, 0x0a, 0x25, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
4185
	0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71,
4186
	0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e,
4187
	0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01,
4188
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72,
4189
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f,
4190
	0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x6a, 0x92, 0x41, 0x67, 0x32, 0x65,
4191
	0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74,
4192
	0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61,
4193
	0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65,
4194
	0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54,
4195
	0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65,
4196
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b,
4197
	0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
4198
	0x6e, 0x12, 0x5d, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
4199
	0x42, 0x47, 0x92, 0x41, 0x3d, 0x32, 0x3b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x69, 0x6d,
4200
	0x69, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x72, 0x65, 0x63, 0x75, 0x72,
4201
	0x73, 0x69, 0x76, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x20, 0x71, 0x75,
4202
	0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x67, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x6f, 0x6f,
4203
	0x70, 0x2e, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x03, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68,
4204
	0x22, 0xa6, 0x06, 0x0a, 0x1e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c,
4205
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
4206
	0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
4207
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6,
4208
	0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74,
4209
	0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f,
4210
	0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20,
4211
	0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68,
4212
	0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e,
4213
	0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73,
4214
	0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f,
4215
	0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72,
4216
	0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71,
4217
	0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20,
4218
	0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72,
4219
	0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39,
4220
	0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34,
4221
	0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32,
4222
	0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d,
4223
	0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a,
4224
	0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64,
4225
	0x12, 0x55, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01,
4226
	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72,
4227
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62,
4228
	0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
4229
	0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d,
4230
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74,
4231
	0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
4232
	0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
4233
	0x10, 0x01, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x65,
4234
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1d,
4235
	0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32, 0x11, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d,
4236
	0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34, 0x7d, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x0a, 0x70,
4237
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x11, 0x73, 0x75, 0x62,
4238
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05,
4239
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52,
4240
	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
4241
	0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x11, 0x73, 0x75, 0x62, 0x6a,
4242
	0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a,
4243
	0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
4244
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
4245
	0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2f, 0x0a, 0x09, 0x61, 0x72, 0x67,
4246
	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62,
4247
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52,
4248
	0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61,
4249
	0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa,
4250
	0x42, 0x06, 0x2a, 0x04, 0x28, 0x01, 0x40, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73,
4251
	0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75,
4252
	0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa,
4253
	0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75,
4254
	0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xbc, 0x02, 0x0a, 0x26, 0x50, 0x65,
4255
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75,
4256
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61,
4257
	0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76,
4258
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63,
4259
	0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a,
4260
	0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
4261
	0x09, 0x42, 0x6a, 0x92, 0x41, 0x67, 0x32, 0x65, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70,
4262
	0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20,
4263
	0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65,
4264
	0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e,
4265
	0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e,
4266
	0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
4267
	0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73,
4268
	0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5d, 0x0a, 0x05, 0x64, 0x65, 0x70,
4269
	0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x47, 0x92, 0x41, 0x3d, 0x32, 0x3b, 0x51,
4270
	0x75, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20,
4271
	0x69, 0x66, 0x20, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x20, 0x64, 0x61, 0x74,
4272
	0x61, 0x62, 0x61, 0x73, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x67, 0x6f,
4273
	0x74, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28,
4274
	0x03, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x6f, 0x0a, 0x1f, 0x50, 0x65, 0x72, 0x6d,
4275
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a,
4276
	0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73,
4277
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
4278
	0x52, 0x0b, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x2a, 0x0a,
4279
	0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
4280
	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75,
4281
	0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xc1, 0x04, 0x0a, 0x22, 0x50, 0x65,
4282
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50,
4283
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4284
	0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
4285
	0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64,
4286
	0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,
4287
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61,
4288
	0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c,
4289
	0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65,
4290
	0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4291
	0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74,
4292
	0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e,
4293
	0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68,
4294
	0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72,
4295
	0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74,
4296
	0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c,
4297
	0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d,
4298
	0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79,
4299
	0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28,
4300
	0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e,
4301
	0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0,
4302
	0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x59, 0x0a,
4303
	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
4304
	0x33, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
4305
	0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69,
4306
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61,
4307
	0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08,
4308
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69,
4309
	0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
4310
	0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01,
4311
	0x02, 0x10, 0x01, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x07, 0x73,
4312
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62,
4313
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x08,
4314
	0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
4315
	0x74, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01,
4316
	0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e,
4317
	0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xea, 0x02,
4318
	0x0a, 0x2a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a,
4319
	0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
4320
	0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e,
4321
	0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01,
4322
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72,
4323
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f,
4324
	0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x6a, 0x92, 0x41, 0x67, 0x32, 0x65,
4325
	0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74,
4326
	0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61,
4327
	0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65,
4328
	0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54,
4329
	0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65,
4330
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b,
4331
	0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
4332
	0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73,
4333
	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79,
4334
	0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x05, 0x64,
4335
	0x65, 0x70, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x47, 0x92, 0x41, 0x3d, 0x32,
4336
	0x3b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x77, 0x68, 0x65,
4337
	0x6e, 0x20, 0x69, 0x66, 0x20, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x20, 0x64,
4338
	0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20,
4339
	0x67, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0xfa, 0x42, 0x04, 0x1a,
4340
	0x02, 0x28, 0x03, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0xcc, 0x01, 0x0a, 0x23, 0x50,
4341
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
4342
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
4343
	0x73, 0x65, 0x12, 0x53, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20,
4344
	0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65,
4345
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50,
4346
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
4347
	0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07,
4348
	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x50, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x75, 0x6c,
4349
	0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
4350
	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c,
4351
	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
4352
	0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05,
4353
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc8, 0x03, 0x0a, 0x0c, 0x57, 0x61,
4354
	0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74,
4355
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b,
4356
	0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
4357
	0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4358
	0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74,
4359
	0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e,
4360
	0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20,
4361
	0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20,
4362
	0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e,
4363
	0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f,
4364
	0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65,
4365
	0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e,
4366
	0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65,
4367
	0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d,
4368
	0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c,
4369
	0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42,
4370
	0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d,
4371
	0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c,
4372
	0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65,
4373
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70,
4374
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x6a, 0x92, 0x41,
4375
	0x67, 0x32, 0x65, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65,
4376
	0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65,
4377
	0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65,
4378
	0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61,
4379
	0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f,
4380
	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d,
4381
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74,
4382
	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3f, 0x0a, 0x0d, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73,
4383
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73,
4384
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
4385
	0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x07, 0x63, 0x68,
4386
	0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0xd9, 0x02, 0x0a, 0x12, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
4387
	0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a,
4388
	0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
4389
	0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
4390
	0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61,
4391
	0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e,
4392
	0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74,
4393
	0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c,
4394
	0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73,
4395
	0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74,
4396
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f,
4397
	0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66,
4398
	0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20,
4399
	0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74,
4400
	0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b,
4401
	0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80,
4402
	0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e,
4403
	0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a,
4404
	0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b,
4405
	0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09,
4406
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68,
4407
	0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d,
4408
	0x61, 0x22, 0x3d, 0x0a, 0x13, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65,
4409
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65,
4410
	0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
4411
	0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
4412
	0x22, 0xd9, 0x02, 0x0a, 0x19, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69,
4413
	0x61, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c,
4414
	0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
4415
	0x09, 0x42, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b,
4416
	0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a,
4417
	0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01,
4418
	0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x50, 0x0a, 0x08,
4419
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a,
4420
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50,
4421
	0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
4422
	0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a,
4423
	0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4c,
4424
	0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
4425
	0x32, 0x30, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d,
4426
	0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71,
4427
	0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74,
4428
	0x72, 0x79, 0x52, 0x08, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0x4e, 0x0a, 0x0d,
4429
	0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
4430
	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
4431
	0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
4432
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c,
4433
	0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4b, 0x0a, 0x21,
4434
	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69,
4435
	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
4436
	0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73,
4437
	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d,
4438
	0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0x0a, 0x1a, 0x53, 0x63, 0x68,
4439
	0x65, 0x6d, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52,
4440
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d,
4441
	0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
4442
	0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22,
4443
	0x8a, 0x03, 0x0a, 0x11, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65,
4444
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4445
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01,
4446
	0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66,
4447
	0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20,
4448
	0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e,
4449
	0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20,
4450
	0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74,
4451
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69,
4452
	0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c,
4453
	0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66,
4454
	0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52,
4455
	0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73,
4456
	0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74,
4457
	0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30,
4458
	0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20,
4459
	0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80,
4460
	0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f,
4461
	0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c,
4462
	0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
4463
	0x69, 0x64, 0x12, 0x48, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02,
4464
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53,
4465
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4466
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
4467
	0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x43, 0x0a, 0x19,
4468
	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4469
	0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68,
4470
	0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
4471
	0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
4472
	0x6e, 0x22, 0x47, 0x0a, 0x12, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64, 0x52,
4473
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d,
4474
	0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
4475
	0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69,
4476
	0x6f, 0x6e, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x9f, 0x03, 0x0a, 0x11, 0x53,
4477
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4478
	0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
4479
	0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64,
4480
	0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,
4481
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61,
4482
	0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c,
4483
	0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65,
4484
	0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4485
	0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74,
4486
	0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e,
4487
	0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68,
4488
	0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72,
4489
	0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74,
4490
	0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c,
4491
	0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d,
4492
	0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79,
4493
	0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28,
4494
	0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e,
4495
	0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0,
4496
	0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x27, 0x0a,
4497
	0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
4498
	0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x01, 0x40, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67,
4499
	0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
4500
	0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
4501
	0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74,
4502
	0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x83, 0x01, 0x0a,
4503
	0x12, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
4504
	0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
4505
	0x09, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x2d, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d,
4506
	0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
4507
	0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x73,
4508
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
4509
	0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
4510
	0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b,
4511
	0x65, 0x6e, 0x22, 0x46, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74,
4512
	0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
4513
	0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72,
4514
	0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
4515
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x22, 0x86, 0x04, 0x0a, 0x10, 0x44,
4516
	0x61, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
4517
	0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
4518
	0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65,
4519
	0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74,
4520
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72,
4521
	0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74,
4522
	0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20,
4523
	0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29,
4524
	0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65,
4525
	0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74,
4526
	0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69,
4527
	0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
4528
	0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63,
4529
	0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2,
4530
	0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b,
4531
	0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74,
4532
	0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b,
4533
	0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a,
4534
	0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01,
4535
	0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x47, 0x0a, 0x08,
4536
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
4537
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x57, 0x72, 0x69,
4538
	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
4539
	0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74,
4540
	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x37, 0x0a, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x18,
4541
	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
4542
	0x54, 0x75, 0x70, 0x6c, 0x65, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0x92, 0x01, 0x09, 0x08, 0x00, 0x22,
4543
	0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x43,
4544
	0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03,
4545
	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74,
4546
	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0x92, 0x01, 0x09, 0x08, 0x00,
4547
	0x22, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
4548
	0x74, 0x65, 0x73, 0x22, 0x42, 0x0a, 0x18, 0x44, 0x61, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65,
4549
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
4550
	0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
4551
	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f,
4552
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x01, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61,
4553
	0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01,
4554
	0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01,
4555
	0x28, 0x09, 0x42, 0x6a, 0x92, 0x41, 0x67, 0x32, 0x65, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61,
4556
	0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64,
4557
	0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65,
4558
	0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f,
4559
	0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28,
4560
	0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
4561
	0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a,
4562
	0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd1, 0x03, 0x0a, 0x18, 0x52,
4563
	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x57, 0x72, 0x69, 0x74, 0x65,
4564
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61,
4565
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41,
4566
	0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20,
4567
	0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69,
4568
	0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73,
4569
	0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63,
4570
	0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65,
4571
	0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65,
4572
	0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4573
	0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e,
4574
	0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e,
4575
	0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d,
4576
	0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61,
4577
	0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d,
4578
	0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61,
4579
	0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29,
4580
	0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d,
4581
	0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38,
4582
	0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4583
	0x74, 0x5f, 0x69, 0x64, 0x12, 0x4f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
4584
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
4585
	0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x57, 0x72, 0x69,
4586
	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
4587
	0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74,
4588
	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x37, 0x0a, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x18,
4589
	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
4590
	0x54, 0x75, 0x70, 0x6c, 0x65, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0x92, 0x01, 0x09, 0x08, 0x01, 0x22,
4591
	0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x22, 0x4a,
4592
	0x0a, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x57, 0x72,
4593
	0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
4594
	0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72,
4595
	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65,
4596
	0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa7, 0x01, 0x0a, 0x19, 0x52,
4597
	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x57, 0x72, 0x69, 0x74, 0x65,
4598
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61,
4599
	0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69, 0x92,
4600
	0x41, 0x66, 0x32, 0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b,
4601
	0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c,
4602
	0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72,
4603
	0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e,
4604
	0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e,
4605
	0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70,
4606
	0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74,
4607
	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xad, 0x04, 0x0a, 0x17, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
4608
	0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4609
	0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
4610
	0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64,
4611
	0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,
4612
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61,
4613
	0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c,
4614
	0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65,
4615
	0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4616
	0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74,
4617
	0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e,
4618
	0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68,
4619
	0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72,
4620
	0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74,
4621
	0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c,
4622
	0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d,
4623
	0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79,
4624
	0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28,
4625
	0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e,
4626
	0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0,
4627
	0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x4e, 0x0a,
4628
	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
4629
	0x28, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69,
4630
	0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4631
	0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01,
4632
	0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a,
4633
	0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
4634
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c,
4635
	0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x66,
4636
	0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69,
4637
	0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28,
4638
	0x01, 0x40, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34,
4639
	0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b,
4640
	0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0,
4641
	0x01, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74,
4642
	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xad, 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
4643
	0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4644
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61,
4645
	0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69, 0x92,
4646
	0x41, 0x66, 0x32, 0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b,
4647
	0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c,
4648
	0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72,
4649
	0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e,
4650
	0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e,
4651
	0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70,
4652
	0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74,
4653
	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6e, 0x0a, 0x18, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4654
	0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
4655
	0x12, 0x26, 0x0a, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
4656
	0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65,
4657
	0x52, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74,
4658
	0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
4659
	0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74,
4660
	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xab, 0x04, 0x0a, 0x14, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
4661
	0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02,
4662
	0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
4663
	0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74,
4664
	0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e,
4665
	0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20,
4666
	0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d,
4667
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e,
4668
	0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75,
4669
	0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20,
4670
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c,
4671
	0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20,
4672
	0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c,
4673
	0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20,
4674
	0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c,
4675
	0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2,
4676
	0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73,
4677
	0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d,
4678
	0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d,
4679
	0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52,
4680
	0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x4b, 0x0a, 0x08, 0x6d, 0x65,
4681
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x62,
4682
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
4683
	0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
4684
	0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d,
4685
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
4686
	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
4687
	0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65,
4688
	0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c,
4689
	0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
4690
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x01, 0x40,
4691
	0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x10,
4692
	0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
4693
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01,
4694
	0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b,
4695
	0x65, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x1c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
4696
	0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
4697
	0x61, 0x74, 0x61, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b,
4698
	0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69, 0x92, 0x41, 0x66, 0x32, 0x64, 0x54,
4699
	0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f,
4700
	0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63,
4701
	0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74,
4702
	0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f,
4703
	0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72,
4704
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65,
4705
	0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
4706
	0x77, 0x0a, 0x15, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64,
4707
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72,
4708
	0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62,
4709
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
4710
	0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10,
4711
	0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
4712
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f,
4713
	0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd4, 0x03, 0x0a, 0x11, 0x44, 0x61, 0x74,
4714
	0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa,
4715
	0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
4716
	0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e,
4717
	0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65,
4718
	0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65,
4719
	0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69,
4720
	0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f,
4721
	0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20,
4722
	0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64,
4723
	0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31,
4724
	0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73,
4725
	0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
4726
	0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68,
4727
	0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80,
4728
	0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c,
4729
	0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65,
4730
	0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61,
4731
	0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b,
4732
	0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00,
4733
	0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x0c, 0x74,
4734
	0x75, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
4735
	0x0b, 0x32, 0x14, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c,
4736
	0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10,
4737
	0x01, 0x52, 0x0c, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12,
4738
	0x4e, 0x0a, 0x10, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c,
4739
	0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x61, 0x73, 0x65,
4740
	0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x46, 0x69, 0x6c,
4741
	0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x61,
4742
	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22,
4743
	0xa0, 0x01, 0x0a, 0x12, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
4744
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f,
4745
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69, 0x92, 0x41, 0x66,
4746
	0x32, 0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
4747
	0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20,
4748
	0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20,
4749
	0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70,
4750
	0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f,
4751
	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74,
4752
	0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b,
4753
	0x65, 0x6e, 0x22, 0xf6, 0x02, 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
4754
	0x68, 0x69, 0x70, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4755
	0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
4756
	0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64,
4757
	0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,
4758
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61,
4759
	0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c,
4760
	0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65,
4761
	0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4762
	0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74,
4763
	0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e,
4764
	0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68,
4765
	0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72,
4766
	0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74,
4767
	0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c,
4768
	0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d,
4769
	0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79,
4770
	0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28,
4771
	0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e,
4772
	0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0,
4773
	0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x2c, 0x0a,
4774
	0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
4775
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c,
4776
	0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa8, 0x01, 0x0a, 0x1a,
4777
	0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x44, 0x65, 0x6c, 0x65,
4778
	0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73,
4779
	0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
4780
	0x69, 0x92, 0x41, 0x66, 0x32, 0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74,
4781
	0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74,
4782
	0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d,
4783
	0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b,
4784
	0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f,
4785
	0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e,
4786
	0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70,
4787
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd9, 0x03, 0x0a, 0x10, 0x42, 0x75, 0x6e, 0x64, 0x6c,
4788
	0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09,
4789
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
4790
	0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
4791
	0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4792
	0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f,
4793
	0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65,
4794
	0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79,
4795
	0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65,
4796
	0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65,
4797
	0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63,
4798
	0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69,
4799
	0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61,
4800
	0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68,
4801
	0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61,
4802
	0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c,
4803
	0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa,
4804
	0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41,
4805
	0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31,
4806
	0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74,
4807
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
4808
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x09,
4809
	0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
4810
	0x28, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65,
4811
	0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d,
4812
	0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d,
4813
	0x65, 0x6e, 0x74, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74,
4814
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
4815
	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
4816
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
4817
	0x38, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x11, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x75, 0x6e,
4818
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61,
4819
	0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69, 0x92,
4820
	0x41, 0x66, 0x32, 0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b,
4821
	0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c,
4822
	0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72,
4823
	0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e,
4824
	0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e,
4825
	0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70,
4826
	0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74,
4827
	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf0, 0x02, 0x0a, 0x12, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x57,
4828
	0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09,
4829
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
4830
	0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
4831
	0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4832
	0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f,
4833
	0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65,
4834
	0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79,
4835
	0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65,
4836
	0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65,
4837
	0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63,
4838
	0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69,
4839
	0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61,
4840
	0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68,
4841
	0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61,
4842
	0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c,
4843
	0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa,
4844
	0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41,
4845
	0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31,
4846
	0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74,
4847
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x07, 0x62, 0x75, 0x6e, 0x64,
4848
	0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65,
4849
	0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x07,
4850
	0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x22, 0x2b, 0x0a, 0x13, 0x42, 0x75, 0x6e, 0x64, 0x6c,
4851
	0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14,
4852
	0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e,
4853
	0x61, 0x6d, 0x65, 0x73, 0x22, 0xd4, 0x02, 0x0a, 0x11, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52,
4854
	0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74,
4855
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b,
4856
	0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
4857
	0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4858
	0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74,
4859
	0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e,
4860
	0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20,
4861
	0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20,
4862
	0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e,
4863
	0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f,
4864
	0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65,
4865
	0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e,
4866
	0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65,
4867
	0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d,
4868
	0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c,
4869
	0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42,
4870
	0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d,
4871
	0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c,
4872
	0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65,
4873
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
4874
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x12, 0x42,
4875
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
4876
	0x65, 0x12, 0x2b, 0x0a, 0x06, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
4877
	0x0b, 0x32, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61,
4878
	0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x06, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0xd6,
4879
	0x02, 0x0a, 0x13, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
4880
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4881
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9,
4882
	0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f,
4883
	0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66,
4884
	0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69,
4885
	0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79,
4886
	0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20,
4887
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d,
4888
	0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20,
4889
	0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20,
4890
	0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20,
4891
	0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75,
4892
	0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74,
4893
	0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a,
4894
	0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78,
4895
	0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28,
4896
	0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39,
4897
	0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d,
4898
	0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4899
	0x5f, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
4900
	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x42, 0x75, 0x6e, 0x64, 0x6c,
4901
	0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
4902
	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
4903
	0x61, 0x6d, 0x65, 0x22, 0x61, 0x0a, 0x13, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65,
4904
	0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x02, 0x69, 0x64,
4905
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xfa, 0x42, 0x17, 0x72, 0x15, 0x28, 0x40, 0x32,
4906
	0x0e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0xd0,
4907
	0x01, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
4908
	0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x28, 0x40, 0xd0, 0x01, 0x00,
4909
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3f, 0x0a, 0x14, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4910
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27,
4911
	0x0a, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
4912
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52,
4913
	0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x22, 0x2f, 0x0a, 0x13, 0x54, 0x65, 0x6e, 0x61, 0x6e,
4914
	0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18,
4915
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72,
4916
	0x03, 0xd0, 0x01, 0x00, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3f, 0x0a, 0x14, 0x54, 0x65, 0x6e, 0x61,
4917
	0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
4918
	0x12, 0x27, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
4919
	0x32, 0x0f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e,
4920
	0x74, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x22, 0x72, 0x0a, 0x11, 0x54, 0x65, 0x6e,
4921
	0x61, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27,
4922
	0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
4923
	0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x01, 0x40, 0x01, 0x52, 0x09, 0x70, 0x61,
4924
	0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69,
4925
	0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
4926
	0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e,
4927
	0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6b, 0x0a,
4928
	0x12, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
4929
	0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x07, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01,
4930
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54,
4931
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2a,
4932
	0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b,
4933
	0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
4934
	0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0x93, 0x4c, 0x0a, 0x0a, 0x50,
4935
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xe8, 0x0d, 0x0a, 0x05, 0x43, 0x68,
4936
	0x65, 0x63, 0x6b, 0x12, 0x1f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65,
4937
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71,
4938
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50,
4939
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65,
4940
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9b, 0x0d, 0x92, 0x41, 0xe3, 0x0c, 0x0a, 0x0a, 0x50,
4941
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b,
4942
	0x20, 0x61, 0x70, 0x69, 0x2a, 0x11, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
4943
	0x73, 0x2e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6a, 0xb6, 0x0c, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f,
4944
	0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xa4, 0x0c, 0x32, 0xa1, 0x0c, 0x0a,
4945
	0xc0, 0x04, 0x2a, 0xbd, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04,
4946
	0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02,
4947
	0x67, 0x6f, 0x0a, 0x9d, 0x04, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x92, 0x04,
4948
	0x1a, 0x8f, 0x04, 0x63, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c,
4949
	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
4950
	0x43, 0x68, 0x65, 0x63, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61,
4951
	0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e,
4952
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
4953
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e,
4954
	0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
4955
	0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50,
4956
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65,
4957
	0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x7b, 0x0a,
4958
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65,
4959
	0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53,
4960
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22,
4961
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x65, 0x70, 0x74, 0x68, 0x3a,
4962
	0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
4963
	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69,
4964
	0x74, 0x79, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70,
4965
	0x65, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c,
4966
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22,
4967
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x65, 0x72,
4968
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c,
4969
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x26, 0x76,
4970
	0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
4971
	0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22,
4972
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31,
4973
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x69, 0x66, 0x20,
4974
	0x63, 0x72, 0x2e, 0x43, 0x61, 0x6e, 0x20, 0x3d, 0x3d, 0x20, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72,
4975
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70,
4976
	0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x52, 0x45, 0x53, 0x55,
4977
	0x4c, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
4978
	0x20, 0x2f, 0x2f, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57,
4979
	0x45, 0x44, 0x0a, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
4980
	0x2f, 0x2f, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44,
4981
	0x0a, 0x7d, 0x0a, 0x9b, 0x04, 0x2a, 0x98, 0x04, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65,
4982
	0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e,
4983
	0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a,
4984
	0xee, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xe3, 0x03, 0x1a, 0xe0, 0x03,
4985
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
4986
	0x6e, 0x2e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65,
4987
	0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x20, 0x0a, 0x20,
4988
	0x20, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20,
4989
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
4990
	0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63,
4991
	0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c,
4992
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20,
4993
	0x32, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e,
4994
	0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
4995
	0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
4996
	0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20,
4997
	0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70,
4998
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74,
4999
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20,
5000
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20,
5001
	0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5002
	0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29,
5003
	0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29,
5004
	0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x72, 0x65,
5005
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x63, 0x61, 0x6e, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x50,
5006
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65,
5007
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x45,
5008
	0x53, 0x55, 0x4c, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x29, 0x20, 0x7b, 0x0a,
5009
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e,
5010
	0x6c, 0x6f, 0x67, 0x28, 0x22, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f,
5011
	0x57, 0x45, 0x44, 0x22, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65,
5012
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f,
5013
	0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x22, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x44,
5014
	0x45, 0x4e, 0x49, 0x45, 0x44, 0x22, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29,
5015
	0x0a, 0xbd, 0x03, 0x2a, 0xba, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12,
5016
	0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12,
5017
	0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0x96, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
5018
	0x63, 0x65, 0x12, 0x8b, 0x03, 0x1a, 0x88, 0x03, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c,
5019
	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
5020
	0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73,
5021
	0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
5022
	0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65,
5023
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x27,
5024
	0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e,
5025
	0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69,
5026
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d,
5027
	0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x22,
5028
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5029
	0x20, 0x22, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22,
5030
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76,
5031
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5032
	0x20, 0x22, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x3a, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x7d,
5033
	0x2c, 0x0a, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a,
5034
	0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70,
5035
	0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
5036
	0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22,
5037
	0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x65, 0x64,
5038
	0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22,
5039
	0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20,
5040
	0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22,
5041
	0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x65, 0x6c, 0x61,
5042
	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x27,
5043
	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x74,
5044
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
5045
	0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63,
5046
	0x68, 0x65, 0x63, 0x6b, 0x12, 0xb4, 0x09, 0x0a, 0x06, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x12,
5047
	0x20, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
5048
	0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
5049
	0x74, 0x1a, 0x21, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d,
5050
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70,
5051
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe4, 0x08, 0x92, 0x41, 0xab, 0x08, 0x0a, 0x0a, 0x50, 0x65, 0x72,
5052
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x20,
5053
	0x61, 0x70, 0x69, 0x2a, 0x12, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
5054
	0x2e, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x6a, 0xfc, 0x07, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f,
5055
	0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xea, 0x07, 0x32, 0xe7, 0x07, 0x0a,
5056
	0xee, 0x02, 0x2a, 0xeb, 0x02, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04,
5057
	0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02,
5058
	0x67, 0x6f, 0x0a, 0xcb, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xc0, 0x02,
5059
	0x1a, 0xbd, 0x02, 0x63, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c,
5060
	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
5061
	0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42,
5062
	0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31,
5063
	0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e,
5064
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65,
5065
	0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5066
	0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e,
5067
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64,
5068
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b,
5069
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b,
5070
	0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5071
	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22,
5072
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e,
5073
	0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
5074
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20,
5075
	0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5076
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20,
5077
	0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
5078
	0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x70, 0x75, 0x73, 0x68, 0x22, 0x2c, 0x0a, 0x7d, 0x29,
5079
	0x0a, 0x8d, 0x02, 0x2a, 0x8a, 0x02, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12,
5080
	0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12,
5081
	0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xe0, 0x01,
5082
	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xd5, 0x01, 0x1a, 0xd2, 0x01, 0x63, 0x6c,
5083
	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
5084
	0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e,
5085
	0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5086
	0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5087
	0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20,
5088
	0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65,
5089
	0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20,
5090
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a,
5091
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a,
5092
	0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20,
5093
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20,
5094
	0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73,
5095
	0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x70, 0x75, 0x73, 0x68, 0x22, 0x2c, 0x0a, 0x7d, 0x29,
5096
	0x0a, 0xe3, 0x02, 0x2a, 0xe0, 0x02, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12,
5097
	0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12,
5098
	0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xbc, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
5099
	0x63, 0x65, 0x12, 0xb1, 0x02, 0x1a, 0xae, 0x02, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c,
5100
	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
5101
	0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73,
5102
	0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
5103
	0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65,
5104
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64,
5105
	0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f,
5106
	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c,
5107
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a,
5108
	0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20,
5109
	0x22, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20,
5110
	0x20, 0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
5111
	0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x6e, 0x61,
5112
	0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x7d,
5113
	0x2c, 0x0a, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a,
5114
	0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70,
5115
	0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
5116
	0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22,
5117
	0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x70, 0x75,
5118
	0x73, 0x68, 0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x01, 0x2a, 0x22,
5119
	0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65,
5120
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5121
	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x12, 0xb2, 0x0c, 0x0a, 0x0c,
5122
	0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x26, 0x2e, 0x62,
5123
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5124
	0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71,
5125
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50,
5126
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45,
5127
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd0, 0x0b,
5128
	0x92, 0x41, 0x90, 0x0b, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5129
	0x12, 0x0d, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2a,
5130
	0x18, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x6f,
5131
	0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x6a, 0xd8, 0x0a, 0x0a, 0x0d, 0x78, 0x2d,
5132
	0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xc6, 0x0a, 0x32, 0xc3,
5133
	0x0a, 0x0a, 0xd5, 0x03, 0x2a, 0xd2, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
5134
	0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04,
5135
	0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xb2, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
5136
	0xa7, 0x03, 0x1a, 0xa4, 0x03, 0x63, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20,
5137
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5138
	0x6e, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x28, 0x63,
5139
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e,
5140
	0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5141
	0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52,
5142
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61,
5143
	0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5144
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65,
5145
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e,
5146
	0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
5147
	0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61,
5148
	0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5149
	0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
5150
	0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44,
5151
	0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
5152
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x3a,
5153
	0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5154
	0x20, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64,
5155
	0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
5156
	0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x7b, 0x0a, 0x20,
5157
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73,
5158
	0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a,
5159
	0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20,
5160
	0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20,
5161
	0x20, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65,
5162
	0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xa7, 0x03, 0x2a, 0xa4, 0x03, 0x0a,
5163
	0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65,
5164
	0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61,
5165
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xfa, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
5166
	0x65, 0x12, 0xef, 0x02, 0x1a, 0xec, 0x02, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65,
5167
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45,
5168
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61,
5169
	0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5170
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5171
	0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22,
5172
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d,
5173
	0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5174
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x0a,
5175
	0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74,
5176
	0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
5177
	0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
5178
	0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5179
	0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5180
	0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c,
5181
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22,
5182
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x67, 0x65,
5183
	0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63,
5184
	0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a,
5185
	0x20, 0x22, 0x22, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73,
5186
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5187
	0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x72, 0x65, 0x73, 0x70,
5188
	0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x29,
5189
	0x0a, 0x7d, 0x29, 0x0a, 0xbe, 0x03, 0x2a, 0xbb, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62,
5190
	0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61,
5191
	0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0x97, 0x03, 0x0a, 0x06, 0x73,
5192
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x8c, 0x03, 0x1a, 0x89, 0x03, 0x63, 0x75, 0x72, 0x6c, 0x20,
5193
	0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71,
5194
	0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
5195
	0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e,
5196
	0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d,
5197
	0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x6f,
5198
	0x6b, 0x75, 0x70, 0x2d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d,
5199
	0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d,
5200
	0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
5201
	0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61,
5202
	0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x22, 0x6d, 0x65, 0x74, 0x61, 0x64,
5203
	0x61, 0x74, 0x61, 0x22, 0x3a, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x6e, 0x61, 0x70,
5204
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5205
	0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
5206
	0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x64, 0x65, 0x70, 0x74,
5207
	0x68, 0x22, 0x3a, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x65,
5208
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x64, 0x6f,
5209
	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x70, 0x65, 0x72, 0x6d,
5210
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c,
5211
	0x0a, 0x20, 0x20, 0x22, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3a, 0x20, 0x7b, 0x0a,
5212
	0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x22, 0x75, 0x73, 0x65, 0x72,
5213
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x22, 0x31, 0x22, 0x0a,
5214
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
5215
	0x65, 0x22, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x69,
5216
	0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22,
5217
	0x2c, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x3a, 0x01, 0x2a, 0x22, 0x31, 0x2f,
5218
	0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61,
5219
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5220
	0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
5221
	0x12, 0xd0, 0x0d, 0x0a, 0x12, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74,
5222
	0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x26, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
5223
	0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b,
5224
	0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
5225
	0x2d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
5226
	0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
5227
	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe0,
5228
	0x0c, 0x92, 0x41, 0x99, 0x0c, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5229
	0x6e, 0x12, 0x14, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
5230
	0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2a, 0x1e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5231
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74,
5232
	0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x6a, 0xd4, 0x0b, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f,
5233
	0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xc2, 0x0b, 0x32, 0xbf, 0x0b, 0x0a,
5234
	0xc8, 0x04, 0x2a, 0xc5, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04,
5235
	0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02,
5236
	0x67, 0x6f, 0x0a, 0xa5, 0x04, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x9a, 0x04,
5237
	0x1a, 0x97, 0x04, 0x73, 0x74, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63,
5238
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5239
	0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72,
5240
	0x65, 0x61, 0x6d, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b,
5241
	0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65,
5242
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e,
5243
	0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5244
	0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50,
5245
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45,
5246
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61,
5247
	0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e,
5248
	0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5249
	0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69,
5250
	0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5251
	0x44, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x35, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
5252
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65,
5253
	0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5254
	0x20, 0x20, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x76,
5255
	0x69, 0x65, 0x77, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63,
5256
	0x74, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x7b, 0x0a,
5257
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75,
5258
	0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64,
5259
	0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
5260
	0x20, 0x20, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a,
5261
	0x20, 0x20, 0x20, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f,
5262
	0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x0a, 0x2f, 0x2f, 0x20,
5263
	0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x72, 0x65,
5264
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x66, 0x6f, 0x72, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5265
	0x20, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x73, 0x74, 0x72,
5266
	0x2e, 0x52, 0x65, 0x63, 0x76, 0x28, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20,
5267
	0x65, 0x72, 0x72, 0x20, 0x3d, 0x3d, 0x20, 0x69, 0x6f, 0x2e, 0x45, 0x4f, 0x46, 0x20, 0x7b, 0x0a,
5268
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x0a, 0x20, 0x20,
5269
	0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x72, 0x65, 0x73, 0x2e,
5270
	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x0a, 0x7d, 0x0a, 0xf1, 0x06, 0x2a, 0xee, 0x06,
5271
	0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64,
5272
	0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76,
5273
	0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xc4, 0x06, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
5274
	0x63, 0x65, 0x12, 0xb9, 0x06, 0x1a, 0xb6, 0x06, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x65,
5275
	0x72, 0x6d, 0x69, 0x66, 0x79, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x28,
5276
	0x22, 0x40, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66,
5277
	0x79, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20,
5278
	0x7b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75,
5279
	0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73,
5280
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x7d, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
5281
	0x28, 0x22, 0x40, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69,
5282
	0x66, 0x79, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x2f, 0x73, 0x72, 0x63,
5283
	0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f,
5284
	0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22,
5285
	0x29, 0x3b, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x61, 0x69,
5286
	0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20,
5287
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x70, 0x65, 0x72,
5288
	0x6d, 0x69, 0x66, 0x79, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6e, 0x65, 0x77, 0x43, 0x6c, 0x69,
5289
	0x65, 0x6e, 0x74, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e,
5290
	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x22, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f,
5291
	0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x38, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29,
5292
	0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x20, 0x3d,
5293
	0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
5294
	0x6f, 0x6e, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53,
5295
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5296
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5297
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65,
5298
	0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5299
	0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
5300
	0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5301
	0x20, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20,
5302
	0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65,
5303
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75,
5304
	0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70,
5305
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x76, 0x69, 0x65, 0x77,
5306
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65,
5307
	0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5308
	0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a,
5309
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20,
5310
	0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20,
5311
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
5312
	0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f,
5313
	0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20,
5314
	0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20,
5315
	0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x28, 0x72, 0x65, 0x73, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a,
5316
	0x61, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x68,
5317
	0x61, 0x6e, 0x64, 0x6c, 0x65, 0x28, 0x72, 0x65, 0x73, 0x3a, 0x20, 0x41, 0x73, 0x79, 0x6e, 0x63,
5318
	0x49, 0x74, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x3c, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5319
	0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53,
5320
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3e, 0x29, 0x20,
5321
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20,
5322
	0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20,
5323
	0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5324
	0x20, 0x20, 0x2f, 0x2f, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x65, 0x6e,
5325
	0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x82, 0xd3,
5326
	0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x01, 0x2a, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e,
5327
	0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d,
5328
	0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x6f,
5329
	0x6b, 0x75, 0x70, 0x2d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2d, 0x73, 0x74, 0x72, 0x65, 0x61,
5330
	0x6d, 0x30, 0x01, 0x12, 0xe3, 0x0d, 0x0a, 0x0d, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75,
5331
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
5332
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70,
5333
	0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28,
5334
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5335
	0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
5336
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfe, 0x0c, 0x92, 0x41, 0xbd, 0x0c, 0x0a,
5337
	0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x6c, 0x6f, 0x6f,
5338
	0x6b, 0x75, 0x70, 0x2d, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2a, 0x19, 0x70, 0x65, 0x72,
5339
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53,
5340
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x6a, 0x83, 0x0c, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64,
5341
	0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xf1, 0x0b, 0x32, 0xee, 0x0b, 0x0a, 0x9f,
5342
	0x04, 0x2a, 0x9c, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a,
5343
	0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67,
5344
	0x6f, 0x0a, 0xfc, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xf1, 0x03, 0x1a,
5345
	0xee, 0x03, 0x63, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69,
5346
	0x65, 0x6e, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c,
5347
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x28, 0x63, 0x6f, 0x6e,
5348
	0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28,
5349
	0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5350
	0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
5351
	0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e,
5352
	0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d,
5353
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72,
5354
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62,
5355
	0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
5356
	0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61,
5357
	0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5358
	0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
5359
	0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44,
5360
	0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
5361
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76, 0x31,
5362
	0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5363
	0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
5364
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22,
5365
	0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50,
5366
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74,
5367
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
5368
	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c,
5369
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x7b, 0x0a,
5370
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75,
5371
	0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65,
5372
	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5373
	0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x3a,
5374
	0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75,
5375
	0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29,
5376
	0x0a, 0xdc, 0x03, 0x2a, 0xd9, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12,
5377
	0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12,
5378
	0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xaf, 0x03,
5379
	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xa4, 0x03, 0x1a, 0xa1, 0x03, 0x63, 0x6c,
5380
	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
5381
	0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x28, 0x7b, 0x0a,
5382
	0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74,
5383
	0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
5384
	0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70,
5385
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5386
	0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
5387
	0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65,
5388
	0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
5389
	0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20,
5390
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63,
5391
	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5392
	0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
5393
	0x20, 0x20, 0x20, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20,
5394
	0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a,
5395
	0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x20, 0x7b,
5396
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22,
5397
	0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72,
5398
	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20,
5399
	0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
5400
	0x3a, 0x20, 0x31, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
5401
	0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d,
5402
	0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
5403
	0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f,
5404
	0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
5405
	0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x29, 0x0a, 0x7d, 0x29, 0x0a,
5406
	0xea, 0x03, 0x2a, 0xe7, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06,
5407
	0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06,
5408
	0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xc3, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
5409
	0x65, 0x12, 0xb8, 0x03, 0x1a, 0xb5, 0x03, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f,
5410
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
5411
	0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74,
5412
	0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73,
5413
	0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72,
5414
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2d,
5415
	0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61,
5416
	0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70,
5417
	0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a,
5418
	0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61,
5419
	0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x22, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
5420
	0x22, 0x3a, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f,
5421
	0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73,
5422
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20,
5423
	0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x3a,
5424
	0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74,
5425
	0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70,
5426
	0x65, 0x22, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a,
5427
	0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20,
5428
	0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5429
	0x22, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x73, 0x75,
5430
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22,
5431
	0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20,
5432
	0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x65, 0x6c,
5433
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
5434
	0x20, 0x20, 0x20, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30,
5435
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f,
5436
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93,
5437
	0x02, 0x37, 0x3a, 0x01, 0x2a, 0x22, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5438
	0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70,
5439
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75,
5440
	0x70, 0x2d, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0xf4, 0x0c, 0x0a, 0x11, 0x53, 0x75,
5441
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12,
5442
	0x2b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
5443
	0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69,
5444
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x62,
5445
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5446
	0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
5447
	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x0c, 0x92, 0x41, 0xbe,
5448
	0x0b, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x73,
5449
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5450
	0x6e, 0x2a, 0x1d, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x73,
5451
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5452
	0x6a, 0xfc, 0x0a, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c,
5453
	0x65, 0x73, 0x12, 0xea, 0x0a, 0x32, 0xe7, 0x0a, 0x0a, 0xf1, 0x03, 0x2a, 0xee, 0x03, 0x0a, 0x0d,
5454
	0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a,
5455
	0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xce, 0x03, 0x0a, 0x06,
5456
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xc3, 0x03, 0x1a, 0xc0, 0x03, 0x63, 0x72, 0x2c, 0x20,
5457
	0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x65,
5458
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
5459
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65,
5460
	0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c,
5461
	0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53,
5462
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5463
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e,
5464
	0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5465
	0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50,
5466
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
5467
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
5468
	0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5469
	0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22,
5470
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
5471
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5472
	0x20, 0x20, 0x20, 0x20, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5473
	0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5474
	0x20, 0x20, 0x20, 0x20, 0x44, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20,
5475
	0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
5476
	0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7b, 0x0a, 0x20, 0x20,
5477
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70,
5478
	0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5479
	0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
5480
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x26,
5481
	0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5482
	0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22,
5483
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31,
5484
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x9f, 0x03, 0x2a,
5485
	0x9c, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e,
5486
	0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a,
5487
	0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xf2, 0x02, 0x0a, 0x06, 0x73, 0x6f,
5488
	0x75, 0x72, 0x63, 0x65, 0x12, 0xe7, 0x02, 0x1a, 0xe4, 0x02, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
5489
	0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x73, 0x75, 0x62, 0x6a,
5490
	0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x28, 0x7b, 0x0a,
5491
	0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74,
5492
	0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
5493
	0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70,
5494
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5495
	0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
5496
	0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e,
5497
	0x6c, 0x79, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x74, 0x72,
5498
	0x75, 0x65, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x70, 0x74,
5499
	0x68, 0x3a, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5500
	0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5501
	0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
5502
	0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69,
5503
	0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
5504
	0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5505
	0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72,
5506
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22,
5507
	0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e,
5508
	0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b,
5509
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67,
5510
	0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x7d, 0x29, 0x0a, 0xce,
5511
	0x03, 0x2a, 0xcb, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a,
5512
	0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a,
5513
	0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xa7, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
5514
	0x12, 0x9c, 0x03, 0x1a, 0x99, 0x03, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63,
5515
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20,
5516
	0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a,
5517
	0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f,
5518
	0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d,
5519
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2d,
5520
	0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d,
5521
	0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d,
5522
	0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
5523
	0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61,
5524
	0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x22, 0x6d, 0x65, 0x74, 0x61, 0x64,
5525
	0x61, 0x74, 0x61, 0x22, 0x3a, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x6e, 0x61, 0x70,
5526
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5527
	0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
5528
	0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x6e, 0x6c, 0x79,
5529
	0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x74, 0x72,
5530
	0x75, 0x65, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x3a,
5531
	0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69,
5532
	0x74, 0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65,
5533
	0x22, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c,
5534
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20,
5535
	0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3a,
5536
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22,
5537
	0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a,
5538
	0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x65, 0x6c, 0x61, 0x74,
5539
	0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x27, 0x82,
5540
	0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x01, 0x2a, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65,
5541
	0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64,
5542
	0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x75,
5543
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x2d, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5544
	0x32, 0x84, 0x08, 0x0a, 0x05, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0xfa, 0x07, 0x0a, 0x05, 0x57,
5545
	0x61, 0x74, 0x63, 0x68, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57,
5546
	0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x61,
5547
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f,
5548
	0x6e, 0x73, 0x65, 0x22, 0xbf, 0x07, 0x92, 0x41, 0x93, 0x07, 0x0a, 0x05, 0x57, 0x61, 0x74, 0x63,
5549
	0x68, 0x12, 0x0d, 0x77, 0x61, 0x74, 0x63, 0x68, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73,
5550
	0x2a, 0x0b, 0x77, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x6a, 0xed, 0x06,
5551
	0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12,
5552
	0xdb, 0x06, 0x32, 0xd8, 0x06, 0x0a, 0x9e, 0x02, 0x2a, 0x9b, 0x02, 0x0a, 0x0d, 0x0a, 0x05, 0x6c,
5553
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61,
5554
	0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xfb, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75,
5555
	0x72, 0x63, 0x65, 0x12, 0xf0, 0x01, 0x1a, 0xed, 0x01, 0x63, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72,
5556
	0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68,
5557
	0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42,
5558
	0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31,
5559
	0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20,
5560
	0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x20, 0x22, 0x74,
5561
	0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65,
5562
	0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e,
5563
	0x64, 0x6c, 0x65, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f,
5564
	0x6e, 0x73, 0x65, 0x0a, 0x66, 0x6f, 0x72, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
5565
	0x73, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x72, 0x2e, 0x52, 0x65, 0x63,
5566
	0x76, 0x28, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x65, 0x72, 0x72, 0x20,
5567
	0x3d, 0x3d, 0x20, 0x69, 0x6f, 0x2e, 0x45, 0x4f, 0x46, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5568
	0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a,
5569
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x72, 0x65, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x6e,
5570
	0x67, 0x65, 0x73, 0x0a, 0x7d, 0x0a, 0x0a, 0xb4, 0x04, 0x2a, 0xb1, 0x04, 0x0a, 0x0f, 0x0a, 0x05,
5571
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a,
5572
	0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72,
5573
	0x69, 0x70, 0x74, 0x0a, 0x87, 0x04, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xfc,
5574
	0x03, 0x1a, 0xf9, 0x03, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66,
5575
	0x79, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x28, 0x22, 0x40, 0x70, 0x65,
5576
	0x72, 0x6d, 0x69, 0x66, 0x79, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2d, 0x6e, 0x6f,
5577
	0x64, 0x65, 0x22, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x57, 0x61, 0x74,
5578
	0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x7d, 0x20, 0x3d, 0x20, 0x72, 0x65,
5579
	0x71, 0x75, 0x69, 0x72, 0x65, 0x28, 0x22, 0x40, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2f,
5580
	0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x64, 0x69, 0x73,
5581
	0x74, 0x2f, 0x73, 0x72, 0x63, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72,
5582
	0x61, 0x74, 0x65, 0x64, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72,
5583
	0x76, 0x69, 0x63, 0x65, 0x22, 0x29, 0x3b, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
5584
	0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63,
5585
	0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x6e, 0x65,
5586
	0x77, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6e,
5587
	0x65, 0x77, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5588
	0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x22, 0x6c, 0x6f,
5589
	0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x38, 0x22, 0x2c, 0x0a, 0x20,
5590
	0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20,
5591
	0x72, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x77, 0x61, 0x74,
5592
	0x63, 0x68, 0x2e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5593
	0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31,
5594
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54,
5595
	0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b,
5596
	0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x28, 0x72, 0x65, 0x73,
5597
	0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x66, 0x75, 0x6e, 0x63,
5598
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x28, 0x72, 0x65, 0x73, 0x3a,
5599
	0x20, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x49, 0x74, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x3c, 0x57,
5600
	0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3e, 0x29, 0x20, 0x7b,
5601
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, 0x28,
5602
	0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f,
5603
	0x66, 0x20, 0x72, 0x65, 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5604
	0x20, 0x2f, 0x2f, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x63, 0x68, 0x61,
5605
	0x6e, 0x67, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x82, 0xd3, 0xe4,
5606
	0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61,
5607
	0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f,
5608
	0x77, 0x61, 0x74, 0x63, 0x68, 0x30, 0x01, 0x32, 0xac, 0x1f, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65,
5609
	0x6d, 0x61, 0x12, 0xd3, 0x10, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x1b, 0x2e, 0x62,
5610
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x57, 0x72, 0x69,
5611
	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x61, 0x73, 0x65,
5612
	0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52,
5613
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8e, 0x10, 0x92, 0x41, 0xda, 0x0f, 0x0a, 0x06,
5614
	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x73, 0x63,
5615
	0x68, 0x65, 0x6d, 0x61, 0x2a, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2e, 0x77, 0x72,
5616
	0x69, 0x74, 0x65, 0x6a, 0xb2, 0x0f, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61,
5617
	0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xa0, 0x0f, 0x32, 0x9d, 0x0f, 0x0a, 0xf2, 0x04, 0x2a, 0xef,
5618
	0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f,
5619
	0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xcf,
5620
	0x04, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xc4, 0x04, 0x1a, 0xc1, 0x04, 0x73,
5621
	0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
5622
	0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x28, 0x63, 0x6f,
5623
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64,
5624
	0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x57, 0x72,
5625
	0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5626
	0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a,
5627
	0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x3a, 0x20, 0x60, 0x0a, 0x20, 0x20,
5628
	0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x7b, 0x7d,
5629
	0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x72, 0x67,
5630
	0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5631
	0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x64, 0x6d,
5632
	0x69, 0x6e, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5633
	0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72,
5634
	0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5635
	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65,
5636
	0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x28, 0x61, 0x64, 0x6d, 0x69,
5637
	0x6e, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20,
5638
	0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x6c, 0x65,
5639
	0x74, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
5640
	0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x72, 0x65, 0x70,
5641
	0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5642
	0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72,
5643
	0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72,
5644
	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x40,
5645
	0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x20, 0x20,
5646
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x75, 0x73,
5647
	0x68, 0x20, 0x3d, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5648
	0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x3d, 0x20,
5649
	0x28, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65,
5650
	0x6e, 0x74, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x61, 0x72,
5651
	0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20,
5652
	0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x6c, 0x65,
5653
	0x74, 0x65, 0x20, 0x3d, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d,
5654
	0x62, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e,
5655
	0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x29, 0x29,
5656
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x60, 0x2c, 0x0a, 0x7d, 0x29,
5657
	0x0a, 0xf3, 0x04, 0x2a, 0xf0, 0x04, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12,
5658
	0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12,
5659
	0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xc6, 0x04,
5660
	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xbb, 0x04, 0x1a, 0xb8, 0x04, 0x63, 0x6c,
5661
	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x77, 0x72, 0x69, 0x74,
5662
	0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64,
5663
	0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65,
5664
	0x6d, 0x61, 0x3a, 0x20, 0x60, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
5665
	0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x7b, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e,
5666
	0x74, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
5667
	0x6e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61,
5668
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72,
5669
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
5670
	0x6e, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x0a, 0x0a,
5671
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63,
5672
	0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
5673
	0x20, 0x3d, 0x20, 0x28, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x6d,
5674
	0x62, 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74,
5675
	0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x64, 0x6d,
5676
	0x69, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e,
5677
	0x74, 0x69, 0x74, 0x79, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20,
5678
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69,
5679
	0x6f, 0x6e, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x0a, 0x20,
5680
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
5681
	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x40, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
5682
	0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63,
5683
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x75, 0x73, 0x68, 0x20, 0x3d, 0x20, 0x6f, 0x77, 0x6e, 0x65,
5684
	0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
5685
	0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x3d, 0x20, 0x28, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x61,
5686
	0x6e, 0x64, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
5687
	0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62,
5688
	0x65, 0x72, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74,
5689
	0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x28, 0x70, 0x61,
5690
	0x72, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20,
5691
	0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x72,
5692
	0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20,
5693
	0x20, 0x20, 0x20, 0x60, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65,
5694
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5695
	0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f,
5696
	0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xaf, 0x05, 0x2a, 0xac, 0x05, 0x0a, 0x0f, 0x0a, 0x05,
5697
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a,
5698
	0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0x88, 0x05,
5699
	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xfd, 0x04, 0x1a, 0xfa, 0x04, 0x63, 0x75,
5700
	0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d,
5701
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f,
5702
	0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f,
5703
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
5704
	0x69, 0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x77, 0x72, 0x69, 0x74,
5705
	0x65, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43,
5706
	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70,
5707
	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c,
5708
	0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20,
5709
	0x20, 0x20, 0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x3a, 0x20, 0x22, 0x65, 0x6e,
5710
	0x74, 0x69, 0x74, 0x79, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x7b, 0x7d, 0x5c, 0x6e, 0x5c, 0x6e,
5711
	0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e,
5712
	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x7b, 0x5c, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20,
5713
	0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x64,
5714
	0x6d, 0x69, 0x6e, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20,
5715
	0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x6d, 0x62,
5716
	0x65, 0x72, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x5c, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20,
5717
	0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74,
5718
	0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x28,
5719
	0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x29,
5720
	0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
5721
	0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5c,
5722
	0x6e, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x5c, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e,
5723
	0x74, 0x69, 0x74, 0x79, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20,
5724
	0x7b, 0x5c, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c,
5725
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x40, 0x75, 0x73, 0x65,
5726
	0x72, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74,
5727
	0x69, 0x6f, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x40, 0x6f, 0x72, 0x67, 0x61,
5728
	0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20,
5729
	0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x75, 0x73, 0x68, 0x20,
5730
	0x3d, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5731
	0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x3d, 0x20, 0x28,
5732
	0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e,
5733
	0x74, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x61, 0x72, 0x65,
5734
	0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x29, 0x29, 0x5c, 0x6e, 0x20, 0x20, 0x20,
5735
	0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x6c, 0x65,
5736
	0x74, 0x65, 0x20, 0x3d, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d,
5737
	0x62, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e,
5738
	0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x29, 0x29,
5739
	0x5c, 0x6e, 0x20, 0x7d, 0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01,
5740
	0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b,
5741
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d,
5742
	0x61, 0x73, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xdf, 0x01, 0x0a, 0x0c, 0x50, 0x61, 0x72,
5743
	0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x62, 0x61, 0x73, 0x65,
5744
	0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61,
5745
	0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e,
5746
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50, 0x61,
5747
	0x72, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
5748
	0x73, 0x65, 0x22, 0x85, 0x01, 0x92, 0x41, 0x4a, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
5749
	0x12, 0x29, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x75, 0x70, 0x64, 0x61,
5750
	0x74, 0x65, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a,
5751
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2a, 0x15, 0x73, 0x63, 0x68,
5752
	0x65, 0x6d, 0x61, 0x73, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x2d, 0x77, 0x72, 0x69,
5753
	0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x3a, 0x01, 0x2a, 0x32, 0x2d, 0x2f, 0x76, 0x31,
5754
	0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
5755
	0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x61, 0x72,
5756
	0x74, 0x69, 0x61, 0x6c, 0x2d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xf4, 0x06, 0x0a, 0x04, 0x52,
5757
	0x65, 0x61, 0x64, 0x12, 0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63,
5758
	0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
5759
	0x1b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
5760
	0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x06, 0x92,
5761
	0x41, 0xff, 0x05, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x0b, 0x72, 0x65, 0x61,
5762
	0x64, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
5763
	0x73, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6a, 0xd9, 0x05, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64,
5764
	0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xc7, 0x05, 0x32, 0xc4, 0x05, 0x0a, 0xf5,
5765
	0x01, 0x2a, 0xf2, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a,
5766
	0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67,
5767
	0x6f, 0x0a, 0xd2, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xc7, 0x01, 0x1a,
5768
	0xc4, 0x01, 0x73, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69,
5769
	0x65, 0x6e, 0x74, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x28,
5770
	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75,
5771
	0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
5772
	0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5773
	0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c,
5774
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26,
5775
	0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71,
5776
	0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20,
5777
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73,
5778
	0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x63, 0x6e, 0x62, 0x65, 0x36, 0x73, 0x65, 0x35, 0x66, 0x6d,
5779
	0x61, 0x6c, 0x31, 0x38, 0x67, 0x70, 0x63, 0x36, 0x36, 0x67, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5780
	0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xb6, 0x01, 0x2a, 0xb3, 0x01, 0x0a, 0x0f, 0x0a, 0x05,
5781
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a,
5782
	0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72,
5783
	0x69, 0x70, 0x74, 0x0a, 0x89, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x7f,
5784
	0x1a, 0x7d, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65,
5785
	0x6e, 0x74, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x28, 0x7b,
5786
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22,
5787
	0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
5788
	0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68,
5789
	0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x73, 0x77, 0x52, 0x65,
5790
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72,
5791
	0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a,
5792
	0x90, 0x02, 0x2a, 0x8d, 0x02, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06,
5793
	0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06,
5794
	0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xe9, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
5795
	0x65, 0x12, 0xde, 0x01, 0x1a, 0xdb, 0x01, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f,
5796
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
5797
	0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74,
5798
	0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73,
5799
	0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68,
5800
	0x65, 0x6d, 0x61, 0x73, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68,
5801
	0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54,
5802
	0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
5803
	0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d,
5804
	0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x65, 0x74, 0x61,
5805
	0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5806
	0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
5807
	0x22, 0x3a, 0x20, 0x22, 0x63, 0x6e, 0x62, 0x65, 0x36, 0x73, 0x65, 0x35, 0x66, 0x6d, 0x61, 0x6c,
5808
	0x31, 0x38, 0x67, 0x70, 0x63, 0x36, 0x36, 0x67, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a,
5809
	0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31,
5810
	0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
5811
	0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x72, 0x65, 0x61,
5812
	0x64, 0x12, 0xf2, 0x05, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x2e, 0x62, 0x61, 0x73,
5813
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52,
5814
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
5815
	0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
5816
	0x6e, 0x73, 0x65, 0x22, 0xb0, 0x05, 0x92, 0x41, 0xfd, 0x04, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65,
5817
	0x6d, 0x61, 0x12, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2a,
5818
	0x0c, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x6a, 0xd7, 0x04,
5819
	0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12,
5820
	0xc5, 0x04, 0x32, 0xc2, 0x04, 0x0a, 0xbd, 0x01, 0x2a, 0xba, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x6c,
5821
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61,
5822
	0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x9a, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75,
5823
	0x72, 0x63, 0x65, 0x12, 0x8f, 0x01, 0x1a, 0x8c, 0x01, 0x73, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72,
5824
	0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d,
5825
	0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42,
5826
	0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31,
5827
	0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
5828
	0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64,
5829
	0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61, 0x67, 0x65,
5830
	0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x43, 0x6f,
5831
	0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22,
5832
	0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x85, 0x01, 0x2a, 0x82, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c,
5833
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04,
5834
	0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69,
5835
	0x70, 0x74, 0x0a, 0x59, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x1a, 0x4d,
5836
	0x6c, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
5837
	0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x28, 0x7b, 0x0a, 0x20,
5838
	0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31,
5839
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75,
5840
	0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x29, 0x0a, 0xf7, 0x01,
5841
	0x2a, 0xf4, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04,
5842
	0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04,
5843
	0x63, 0x75, 0x72, 0x6c, 0x0a, 0xd0, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
5844
	0xc5, 0x01, 0x1a, 0xc2, 0x01, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61,
5845
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50,
5846
	0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33,
5847
	0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b,
5848
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d,
5849
	0x61, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61,
5850
	0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70,
5851
	0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a,
5852
	0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61,
5853
	0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73,
5854
	0x69, 0x7a, 0x65, 0x22, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63,
5855
	0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
5856
	0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a,
5857
	0x22, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74,
5858
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
5859
	0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x32, 0xe5, 0x44, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12,
5860
	0xb6, 0x15, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x62, 0x61, 0x73, 0x65,
5861
	0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71,
5862
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44,
5863
	0x61, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
5864
	0x22, 0xf5, 0x14, 0x92, 0x41, 0xc4, 0x14, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0a, 0x77,
5865
	0x72, 0x69, 0x74, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x2e,
5866
	0x77, 0x72, 0x69, 0x74, 0x65, 0x6a, 0xa3, 0x14, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65,
5867
	0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x91, 0x14, 0x32, 0x8e, 0x14, 0x0a, 0xb6, 0x07,
5868
	0x2a, 0xb3, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02,
5869
	0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f,
5870
	0x0a, 0x93, 0x07, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x88, 0x07, 0x1a, 0x85,
5871
	0x07, 0x2f, 0x2f, 0x20, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20,
5872
	0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
5873
	0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x41, 0x6e, 0x79,
5874
	0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x0a, 0x76,
5875
	0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x61, 0x6e, 0x79,
5876
	0x70, 0x62, 0x2e, 0x4e, 0x65, 0x77, 0x28, 0x26, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65,
5877
	0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x44, 0x61, 0x74,
5878
	0x61, 0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x69, 0x66, 0x20, 0x65,
5879
	0x72, 0x72, 0x20, 0x21, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5880
	0x2f, 0x2f, 0x20, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0a,
5881
	0x7d, 0x0a, 0x0a, 0x63, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c,
5882
	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x28,
5883
	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75,
5884
	0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x57, 0x72,
5885
	0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5886
	0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a,
5887
	0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76,
5888
	0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
5889
	0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5890
	0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
5891
	0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
5892
	0x20, 0x20, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x2a, 0x76, 0x31, 0x2e,
5893
	0x54, 0x75, 0x70, 0x6c, 0x65, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b,
5894
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74,
5895
	0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7b,
5896
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5897
	0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
5898
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5899
	0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5900
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5901
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
5902
	0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5903
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
5904
	0x3a, 0x20, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x7b, 0x0a,
5905
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5906
	0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5907
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64,
5908
	0x3a, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5909
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
5910
	0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5911
	0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
5912
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x41, 0x74, 0x74, 0x72,
5913
	0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x2a, 0x76, 0x31, 0x2e, 0x41, 0x74,
5914
	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5915
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45,
5916
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
5917
	0x79, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5918
	0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
5919
	0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5920
	0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a,
5921
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20,
5922
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x74, 0x74, 0x72, 0x69,
5923
	0x62, 0x75, 0x74, 0x65, 0x3a, 0x20, 0x22, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
5924
	0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5925
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65,
5926
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5927
	0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x80, 0x06, 0x2a, 0xfd, 0x05, 0x0a, 0x0f, 0x0a, 0x05,
5928
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a,
5929
	0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72,
5930
	0x69, 0x70, 0x74, 0x0a, 0xd3, 0x05, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xc8,
5931
	0x05, 0x1a, 0xc5, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61,
5932
	0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e,
5933
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x66, 0x72, 0x6f, 0x6d, 0x4a, 0x53, 0x4f, 0x4e, 0x28, 0x7b,
5934
	0x20, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, 0x20, 0x7d, 0x29, 0x3b, 0x0a,
5935
	0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x41,
5936
	0x6e, 0x79, 0x2e, 0x66, 0x72, 0x6f, 0x6d, 0x4a, 0x53, 0x4f, 0x4e, 0x28, 0x7b, 0x0a, 0x20, 0x20,
5937
	0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x3a, 0x20, 0x27, 0x74, 0x79, 0x70, 0x65,
5938
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
5939
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56,
5940
	0x61, 0x6c, 0x75, 0x65, 0x27, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65,
5941
	0x3a, 0x20, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x65,
5942
	0x6e, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c,
5943
	0x75, 0x65, 0x29, 0x2e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x28, 0x29, 0x0a, 0x7d, 0x29, 0x3b,
5944
	0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x77, 0x72,
5945
	0x69, 0x74, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
5946
	0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65,
5947
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5948
	0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
5949
	0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74,
5950
	0x75, 0x70, 0x6c, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5951
	0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5952
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64,
5953
	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5954
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20,
5955
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5956
	0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74,
5957
	0x6f, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62,
5958
	0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5959
	0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22,
5960
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64,
5961
	0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a,
5962
	0x20, 0x20, 0x20, 0x20, 0x7d, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x74, 0x74, 0x72,
5963
	0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5964
	0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5965
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22,
5966
	0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5967
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20,
5968
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5969
	0x20, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x3a, 0x20, 0x22, 0x69, 0x73,
5970
	0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5971
	0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c,
5972
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x5d, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28,
5973
	0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a,
5974
	0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65,
5975
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xcf, 0x06, 0x2a, 0xcc, 0x06, 0x0a,
5976
	0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c,
5977
	0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c,
5978
	0x0a, 0xa8, 0x06, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x9d, 0x06, 0x1a, 0x9a,
5979
	0x06, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
5980
	0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20,
5981
	0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f,
5982
	0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61,
5983
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x77, 0x72, 0x69, 0x74,
5984
	0x65, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43,
5985
	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70,
5986
	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c,
5987
	0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20,
5988
	0x20, 0x20, 0x20, 0x22, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x20, 0x7b,
5989
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
5990
	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20,
5991
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73,
5992
	0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20,
5993
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69,
5994
	0x74, 0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5995
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22,
5996
	0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5997
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a,
5998
	0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5999
	0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6000
	0x22, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69,
6001
	0x74, 0x6f, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6002
	0x20, 0x20, 0x22, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20,
6003
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
6004
	0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20,
6005
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
6006
	0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6007
	0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d,
6008
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x61, 0x74, 0x74,
6009
	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6010
	0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6011
	0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20,
6012
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74,
6013
	0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22,
6014
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6015
	0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20,
6016
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6017
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
6018
	0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22,
6019
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x76,
6020
	0x61, 0x6c, 0x75, 0x65, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6021
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x40, 0x74, 0x79, 0x70, 0x65, 0x22,
6022
	0x3a, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
6023
	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42,
6024
	0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6025
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x64,
6026
	0x61, 0x74, 0x61, 0x22, 0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6027
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6028
	0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02,
6029
	0x27, 0x3a, 0x01, 0x2a, 0x22, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
6030
	0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61,
6031
	0x74, 0x61, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xc6, 0x01, 0x0a, 0x12, 0x57, 0x72, 0x69,
6032
	0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x12,
6033
	0x21, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69,
6034
	0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
6035
	0x73, 0x74, 0x1a, 0x22, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c,
6036
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65,
6037
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x92, 0x41, 0x30, 0x0a, 0x04, 0x44, 0x61, 0x74,
6038
	0x61, 0x12, 0x13, 0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
6039
	0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2a, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6040
	0x73, 0x68, 0x69, 0x70, 0x73, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02,
6041
	0x30, 0x3a, 0x01, 0x2a, 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
6042
	0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65,
6043
	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x77, 0x72, 0x69, 0x74,
6044
	0x65, 0x12, 0xd1, 0x0c, 0x0a, 0x11, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69,
6045
	0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x12, 0x20, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
6046
	0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65,
6047
	0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x62, 0x61, 0x73, 0x65,
6048
	0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70,
6049
	0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x0b, 0x92,
6050
	0x41, 0xb8, 0x0b, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x72, 0x65, 0x61, 0x64, 0x20,
6051
	0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2a, 0x17, 0x64,
6052
	0x61, 0x74, 0x61, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70,
6053
	0x73, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6a, 0x82, 0x0b, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64,
6054
	0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xf0, 0x0a, 0x32, 0xed, 0x0a, 0x0a, 0xa6,
6055
	0x04, 0x2a, 0xa3, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a,
6056
	0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67,
6057
	0x6f, 0x0a, 0x83, 0x04, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xf8, 0x03, 0x1a,
6058
	0xf5, 0x03, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69,
6059
	0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x6c,
6060
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65,
6061
	0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c,
6062
	0x20, 0x26, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69,
6063
	0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
6064
	0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a,
6065
	0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64,
6066
	0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65,
6067
	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65,
6068
	0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20,
6069
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
6070
	0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6071
	0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c,
6072
	0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6073
	0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74,
6074
	0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6075
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72,
6076
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6077
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x5d,
6078
	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b, 0x22, 0x31, 0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6079
	0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6080
	0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x62, 0x65,
6081
	0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a,
6082
	0x65, 0x63, 0x74, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
6083
	0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6084
	0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6085
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x5b, 0x5d,
6086
	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b, 0x22, 0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6087
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6088
	0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20,
6089
	0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x0a, 0x84, 0x03, 0x2a, 0x81, 0x03, 0x0a, 0x0f, 0x0a,
6090
	0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14,
6091
	0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63,
6092
	0x72, 0x69, 0x70, 0x74, 0x0a, 0xd7, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
6093
	0xcc, 0x02, 0x1a, 0xc9, 0x02, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61,
6094
	0x2e, 0x72, 0x65, 0x61, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69,
6095
	0x70, 0x73, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a,
6096
	0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
6097
	0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f,
6098
	0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
6099
	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e,
6100
	0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79,
6101
	0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
6102
	0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b,
6103
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20,
6104
	0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6105
	0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x62, 0x65,
6106
	0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a,
6107
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22,
6108
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x5d,
6109
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6110
	0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d,
6111
	0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
6112
	0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64,
6113
	0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xba,
6114
	0x03, 0x2a, 0xb7, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a,
6115
	0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a,
6116
	0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0x93, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
6117
	0x12, 0x88, 0x03, 0x1a, 0x85, 0x03, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63,
6118
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20,
6119
	0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a,
6120
	0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f,
6121
	0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61,
6122
	0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x72,
6123
	0x65, 0x61, 0x64, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20,
6124
	0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61,
6125
	0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27,
6126
	0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b,
6127
	0x0a, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20,
6128
	0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22,
6129
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
6130
	0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20,
6131
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f,
6132
	0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6133
	0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6134
	0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20,
6135
	0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69,
6136
	0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6137
	0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6138
	0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6139
	0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6140
	0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20,
6141
	0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02,
6142
	0x34, 0x3a, 0x01, 0x2a, 0x22, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
6143
	0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61,
6144
	0x74, 0x61, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73,
6145
	0x2f, 0x72, 0x65, 0x61, 0x64, 0x12, 0xdc, 0x0a, 0x0a, 0x0e, 0x52, 0x65, 0x61, 0x64, 0x41, 0x74,
6146
	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
6147
	0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64,
6148
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
6149
	0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52,
6150
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8a, 0x0a, 0x92, 0x41, 0xcf, 0x09, 0x0a, 0x04,
6151
	0x44, 0x61, 0x74, 0x61, 0x12, 0x0f, 0x72, 0x65, 0x61, 0x64, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69,
6152
	0x62, 0x75, 0x74, 0x65, 0x73, 0x2a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x74, 0x74, 0x72,
6153
	0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6a, 0x9f, 0x09, 0x0a, 0x0d,
6154
	0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x8d, 0x09,
6155
	0x32, 0x8a, 0x09, 0x0a, 0xb5, 0x03, 0x2a, 0xb2, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62,
6156
	0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67,
6157
	0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x92, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
6158
	0x65, 0x12, 0x87, 0x03, 0x1a, 0x84, 0x03, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a,
6159
	0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65,
6160
	0x61, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x28, 0x63, 0x6f, 0x6e,
6161
	0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28,
6162
	0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72,
6163
	0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
6164
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20,
6165
	0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
6166
	0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x74, 0x74,
6167
	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
6168
	0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6169
	0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22,
6170
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x46, 0x69, 0x6c,
6171
	0x74, 0x65, 0x72, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
6172
	0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6173
	0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e,
6174
	0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6175
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f,
6176
	0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6177
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x73, 0x3a, 0x20, 0x5b,
6178
	0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b, 0x22, 0x31, 0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
6179
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6180
	0x20, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x73,
6181
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b, 0x22, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x7d,
6182
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xcb, 0x02, 0x2a, 0xc8,
6183
	0x02, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f,
6184
	0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61,
6185
	0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0x9e, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75,
6186
	0x72, 0x63, 0x65, 0x12, 0x93, 0x02, 0x1a, 0x90, 0x02, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e,
6187
	0x64, 0x61, 0x74, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
6188
	0x74, 0x65, 0x73, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64,
6189
	0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
6190
	0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74,
6191
	0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20,
6192
	0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65,
6193
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74,
6194
	0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
6195
	0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20,
6196
	0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20,
6197
	0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6198
	0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20,
6199
	0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x20,
6200
	0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65,
6201
	0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20,
6202
	0x7b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65,
6203
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0x81, 0x03, 0x2a, 0xfe, 0x02, 0x0a,
6204
	0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c,
6205
	0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c,
6206
	0x0a, 0xda, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xcf, 0x02, 0x1a, 0xcc,
6207
	0x02, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6208
	0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20,
6209
	0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f,
6210
	0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61,
6211
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x61, 0x74, 0x74, 0x72,
6212
	0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x27, 0x20, 0x5c, 0x0a, 0x2d,
6213
	0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
6214
	0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
6215
	0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74,
6216
	0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64,
6217
	0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x5f,
6218
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
6219
	0x20, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6220
	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6221
	0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
6222
	0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a,
6223
	0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20,
6224
	0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
6225
	0x20, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x0a,
6226
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x0a,
6227
	0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4,
6228
	0x93, 0x02, 0x31, 0x3a, 0x01, 0x2a, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61,
6229
	0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f,
6230
	0x64, 0x61, 0x74, 0x61, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2f,
6231
	0x72, 0x65, 0x61, 0x64, 0x12, 0xa9, 0x0c, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12,
6232
	0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65,
6233
	0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x61,
6234
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
6235
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe5, 0x0b, 0x92, 0x41, 0xb3, 0x0b, 0x0a,
6236
	0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x64, 0x61,
6237
	0x74, 0x61, 0x2a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x6a,
6238
	0x90, 0x0b, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65,
6239
	0x73, 0x12, 0xfe, 0x0a, 0x32, 0xfb, 0x0a, 0x0a, 0x8f, 0x04, 0x2a, 0x8c, 0x04, 0x0a, 0x0d, 0x0a,
6240
	0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04,
6241
	0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xec, 0x03, 0x0a, 0x06, 0x73,
6242
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xe1, 0x03, 0x1a, 0xde, 0x03, 0x72, 0x72, 0x2c, 0x20, 0x65,
6243
	0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74,
6244
	0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
6245
	0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26,
6246
	0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71,
6247
	0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74,
6248
	0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65,
6249
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61,
6250
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74,
6251
	0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53,
6252
	0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6253
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x46, 0x69,
6254
	0x6c, 0x74, 0x65, 0x72, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x46,
6255
	0x69, 0x6c, 0x74, 0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45,
6256
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
6257
	0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6258
	0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61,
6259
	0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6260
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74,
6261
	0x72, 0x69, 0x6e, 0x67, 0x7b, 0x22, 0x31, 0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6262
	0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65,
6263
	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x2c,
6264
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
6265
	0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6c,
6266
	0x74, 0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6267
	0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20,
6268
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x5b,
6269
	0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b, 0x22, 0x31, 0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
6270
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69,
6271
	0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d,
6272
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x0a, 0x94, 0x03, 0x2a, 0x91, 0x03, 0x0a,
6273
	0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65,
6274
	0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61,
6275
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xe7, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
6276
	0x65, 0x12, 0xdc, 0x02, 0x1a, 0xd9, 0x02, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61,
6277
	0x74, 0x61, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x74, 0x65,
6278
	0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6279
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6280
	0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a,
6281
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74,
6282
	0x65, 0x72, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
6283
	0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20,
6284
	0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a,
6285
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20,
6286
	0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d,
6287
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61,
6288
	0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x2c, 0x0a, 0x20,
6289
	0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20,
6290
	0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22,
6291
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20,
6292
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6293
	0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69,
6294
	0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d,
6295
	0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
6296
	0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61,
6297
	0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29,
6298
	0x0a, 0xcf, 0x03, 0x2a, 0xcc, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12,
6299
	0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12,
6300
	0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xa8, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
6301
	0x63, 0x65, 0x12, 0x9d, 0x03, 0x1a, 0x9a, 0x03, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c,
6302
	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
6303
	0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73,
6304
	0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
6305
	0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61,
6306
	0x74, 0x61, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68,
6307
	0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54,
6308
	0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6309
	0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d,
6310
	0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x22, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f,
6311
	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22,
6312
	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6313
	0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
6314
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
6315
	0x69, 0x64, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6316
	0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20,
6317
	0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6318
	0x22, 0x3a, 0x20, 0x22, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6319
	0x22, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6320
	0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72,
6321
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x73, 0x22, 0x3a, 0x20,
6322
	0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20,
6323
	0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x65,
6324
	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20,
6325
	0x7d, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
6326
	0x75, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x3a, 0x20, 0x7b, 0x7d, 0x0a,
6327
	0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, 0x22, 0x23, 0x2f, 0x76, 0x31,
6328
	0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
6329
	0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
6330
	0x12, 0xcc, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74,
6331
	0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x12, 0x22, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
6332
	0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x44,
6333
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62,
6334
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
6335
	0x68, 0x69, 0x70, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
6336
	0x65, 0x22, 0x6c, 0x92, 0x41, 0x32, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x64, 0x65,
6337
	0x6c, 0x65, 0x74, 0x65, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69,
6338
	0x70, 0x73, 0x2a, 0x14, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70,
6339
	0x73, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x3a, 0x01,
6340
	0x2a, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b,
6341
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74,
6342
	0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12,
6343
	0xac, 0x08, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x19, 0x2e,
6344
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x75,
6345
	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
6346
	0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70,
6347
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe7, 0x07, 0x92, 0x41, 0xb1, 0x07, 0x0a, 0x04, 0x44, 0x61, 0x74,
6348
	0x61, 0x12, 0x0a, 0x72, 0x75, 0x6e, 0x20, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2a, 0x0a, 0x62,
6349
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x72, 0x75, 0x6e, 0x6a, 0x90, 0x07, 0x0a, 0x0d, 0x78, 0x2d,
6350
	0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xfe, 0x06, 0x32, 0xfb,
6351
	0x06, 0x0a, 0xa5, 0x02, 0x2a, 0xa2, 0x02, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
6352
	0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04,
6353
	0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x82, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
6354
	0xf7, 0x01, 0x1a, 0xf4, 0x01, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20,
6355
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x42,
6356
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61,
6357
	0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e,
6358
	0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
6359
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20,
6360
	0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x20,
6361
	0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
6362
	0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6363
	0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x20, 0x6d, 0x61, 0x70, 0x5b, 0x73,
6364
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b, 0x0a, 0x20, 0x20,
6365
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44,
6366
	0x22, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x35, 0x36, 0x34, 0x22, 0x2c, 0x0a, 0x20,
6367
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
6368
	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x3a, 0x20, 0x22, 0x37, 0x38, 0x39, 0x22, 0x2c, 0x0a,
6369
	0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x8a, 0x02, 0x2a, 0x87, 0x02, 0x0a,
6370
	0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65,
6371
	0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61,
6372
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xdd, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
6373
	0x65, 0x12, 0xd2, 0x01, 0x1a, 0xcf, 0x01, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61,
6374
	0x74, 0x61, 0x2e, 0x72, 0x75, 0x6e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x28, 0x7b, 0x0a, 0x20,
6375
	0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31,
6376
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72,
6377
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74,
6378
	0x65, 0x64, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e,
6379
	0x74, 0x73, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x72,
6380
	0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x3a, 0x20, 0x22, 0x35, 0x36, 0x34, 0x22, 0x2c, 0x0a,
6381
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
6382
	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x3a, 0x20, 0x22, 0x37, 0x38, 0x39, 0x22, 0x2c, 0x0a, 0x20,
6383
	0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65,
6384
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6385
	0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f,
6386
	0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xc3, 0x02, 0x2a, 0xc0, 0x02, 0x0a, 0x0f, 0x0a, 0x05,
6387
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a,
6388
	0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0x9c, 0x02,
6389
	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x91, 0x02, 0x1a, 0x8e, 0x02, 0x63, 0x75,
6390
	0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d,
6391
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f,
6392
	0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f,
6393
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
6394
	0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x72, 0x75, 0x6e, 0x2d, 0x62, 0x75, 0x6e,
6395
	0x64, 0x6c, 0x65, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20,
6396
	0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61,
6397
	0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27,
6398
	0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b,
6399
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6f, 0x72,
6400
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74,
6401
	0x65, 0x64, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65,
6402
	0x6e, 0x74, 0x73, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6403
	0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x22, 0x3a, 0x20, 0x22, 0x35, 0x36,
6404
	0x34, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67,
6405
	0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x3a, 0x20, 0x22, 0x37,
6406
	0x38, 0x39, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93,
6407
	0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e,
6408
	0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64,
6409
	0x61, 0x74, 0x61, 0x2f, 0x72, 0x75, 0x6e, 0x2d, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x32, 0xc0,
6410
	0x21, 0x0a, 0x06, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x80, 0x15, 0x0a, 0x05, 0x57, 0x72,
6411
	0x69, 0x74, 0x65, 0x12, 0x1b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75,
6412
	0x6e, 0x64, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
6413
	0x1a, 0x1c, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c,
6414
	0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbb,
6415
	0x14, 0x92, 0x41, 0x88, 0x14, 0x0a, 0x06, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x0c, 0x77,
6416
	0x72, 0x69, 0x74, 0x65, 0x20, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2a, 0x0c, 0x62, 0x75, 0x6e,
6417
	0x64, 0x6c, 0x65, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6a, 0xe1, 0x13, 0x0a, 0x0d, 0x78, 0x2d,
6418
	0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xcf, 0x13, 0x32, 0xcc,
6419
	0x13, 0x0a, 0xd3, 0x06, 0x2a, 0xd0, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
6420
	0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04,
6421
	0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xb0, 0x06, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
6422
	0xa5, 0x06, 0x1a, 0xa2, 0x06, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20,
6423
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x57, 0x72,
6424
	0x69, 0x74, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b,
6425
	0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x42, 0x75,
6426
	0x6e, 0x64, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
6427
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20,
6428
	0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65,
6429
	0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x2a, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x6e,
6430
	0x64, 0x6c, 0x65, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20,
6431
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x3a,
6432
	0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63,
6433
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6434
	0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x20,
6435
	0x5b, 0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6436
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74,
6437
	0x6f, 0x72, 0x49, 0x44, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6438
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
6439
	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6440
	0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6441
	0x20, 0x20, 0x20, 0x20, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20,
6442
	0x5b, 0x5d, 0x2a, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7b,
6443
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6444
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6445
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
6446
	0x68, 0x69, 0x70, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72,
6447
	0x69, 0x6e, 0x67, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6448
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72,
6449
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72,
6450
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x23, 0x61,
6451
	0x64, 0x6d, 0x69, 0x6e, 0x40, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x7b, 0x7b, 0x2e, 0x63, 0x72, 0x65,
6452
	0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x7d, 0x7d, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6453
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6454
	0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6455
	0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6456
	0x49, 0x44, 0x7d, 0x7d, 0x23, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x40, 0x75, 0x73, 0x65,
6457
	0x72, 0x3a, 0x7b, 0x7b, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x7d, 0x7d,
6458
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6459
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6460
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x74,
6461
	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x20, 0x5b,
6462
	0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6463
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6464
	0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b,
6465
	0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44,
6466
	0x7d, 0x7d, 0x24, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x7c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61,
6467
	0x6e, 0x3a, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6468
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
6469
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6470
	0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6471
	0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
6472
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x9b, 0x06, 0x2a, 0x98, 0x06, 0x0a, 0x0f, 0x0a,
6473
	0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14,
6474
	0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63,
6475
	0x72, 0x69, 0x70, 0x74, 0x0a, 0xee, 0x05, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
6476
	0xe3, 0x05, 0x1a, 0xe0, 0x05, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x75, 0x6e, 0x64,
6477
	0x6c, 0x65, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74,
6478
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20,
6479
	0x20, 0x20, 0x20, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20,
6480
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6481
	0x20, 0x20, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e,
6482
	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22,
6483
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x72,
6484
	0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6485
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61,
6486
	0x74, 0x6f, 0x72, 0x49, 0x44, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6487
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,
6488
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6489
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6490
	0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a,
6491
	0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6492
	0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6493
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
6494
	0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x20, 0x5b, 0x0a,
6495
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6496
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,
6497
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,
6498
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x23, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x40,
6499
	0x75, 0x73, 0x65, 0x72, 0x3a, 0x7b, 0x7b, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49,
6500
	0x44, 0x7d, 0x7d, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6501
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f,
6502
	0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f,
6503
	0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x23,
6504
	0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x40, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x7b, 0x7b, 0x2e,
6505
	0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x7d, 0x7d, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6506
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6507
	0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6508
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
6509
	0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20,
6510
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6511
	0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
6512
	0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
6513
	0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x24, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x7c, 0x62, 0x6f,
6514
	0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x3a, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6515
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6516
	0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6517
	0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6518
	0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20,
6519
	0x20, 0x20, 0x5d, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73,
6520
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6521
	0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
6522
	0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xd5, 0x06, 0x2a, 0xd2, 0x06, 0x0a, 0x0f, 0x0a, 0x05, 0x6c,
6523
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04,
6524
	0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xae, 0x06, 0x0a,
6525
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xa3, 0x06, 0x1a, 0xa0, 0x06, 0x63, 0x75, 0x72,
6526
	0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72,
6527
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63,
6528
	0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74,
6529
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
6530
	0x64, 0x7d, 0x2f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x27,
6531
	0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e,
6532
	0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69,
6533
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d,
6534
	0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6535
	0x20, 0x22, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20,
6536
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6537
	0x20, 0x20, 0x20, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67,
6538
	0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
6539
	0x64, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6540
	0x22, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20,
6541
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
6542
	0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6543
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67,
6544
	0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x0a, 0x20, 0x20, 0x20,
6545
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6546
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
6547
	0x6f, 0x6e, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6548
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6549
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72,
6550
	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x5f, 0x77, 0x72, 0x69,
6551
	0x74, 0x65, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6552
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
6553
	0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e,
6554
	0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d,
6555
	0x23, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x40, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x7b, 0x7b, 0x2e, 0x63,
6556
	0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x7d, 0x7d, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6557
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6558
	0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
6559
	0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
6560
	0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x23, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x40, 0x75,
6561
	0x73, 0x65, 0x72, 0x3a, 0x7b, 0x7b, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44,
6562
	0x7d, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6563
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6564
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
6565
	0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65,
6566
	0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6567
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72,
6568
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72,
6569
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x24, 0x70,
6570
	0x75, 0x62, 0x6c, 0x69, 0x63, 0x7c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x3a, 0x66, 0x61,
6571
	0x6c, 0x73, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6572
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6573
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20,
6574
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6575
	0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4,
6576
	0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61,
6577
	0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f,
6578
	0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x8d, 0x06, 0x0a,
6579
	0x04, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
6580
	0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
6581
	0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64,
6582
	0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcb,
6583
	0x05, 0x92, 0x41, 0x99, 0x05, 0x0a, 0x06, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x0b, 0x72,
6584
	0x65, 0x61, 0x64, 0x20, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2a, 0x0b, 0x62, 0x75, 0x6e, 0x64,
6585
	0x6c, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6a, 0xf4, 0x04, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f,
6586
	0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xe2, 0x04, 0x32, 0xdf, 0x04, 0x0a,
6587
	0xb8, 0x01, 0x2a, 0xb5, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04,
6588
	0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02,
6589
	0x67, 0x6f, 0x0a, 0x95, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x8a, 0x01,
6590
	0x1a, 0x87, 0x01, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c,
6591
	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64,
6592
	0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f,
6593
	0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c,
6594
	0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20,
6595
	0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22,
6596
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20,
6597
	0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72,
6598
	0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xb5, 0x01, 0x2a, 0xb2, 0x01,
6599
	0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64,
6600
	0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76,
6601
	0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0x88, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
6602
	0x63, 0x65, 0x12, 0x7e, 0x1a, 0x7c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x75, 0x6e,
6603
	0x64, 0x6c, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74,
6604
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20,
6605
	0x20, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
6606
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c,
6607
	0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
6608
	0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20,
6609
	0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a,
6610
	0x7d, 0x29, 0x0a, 0xe9, 0x01, 0x2a, 0xe6, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65,
6611
	0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e,
6612
	0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xc2, 0x01, 0x0a, 0x06, 0x73, 0x6f,
6613
	0x75, 0x72, 0x63, 0x65, 0x12, 0xb7, 0x01, 0x1a, 0xb4, 0x01, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d,
6614
	0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75,
6615
	0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68,
6616
	0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61,
6617
	0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f,
6618
	0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x27, 0x20, 0x5c, 0x0a, 0x2d,
6619
	0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
6620
	0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
6621
	0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74,
6622
	0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6e, 0x61,
6623
	0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
6624
	0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3,
6625
	0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, 0x22, 0x23, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e,
6626
	0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d,
6627
	0x2f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa2, 0x06, 0x0a,
6628
	0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
6629
	0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
6630
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
6631
	0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
6632
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0xda, 0x05, 0x92, 0x41, 0xa6, 0x05, 0x0a, 0x06, 0x42, 0x75, 0x6e,
6633
	0x64, 0x6c, 0x65, 0x12, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x62, 0x75, 0x6e, 0x64,
6634
	0x6c, 0x65, 0x2a, 0x0d, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74,
6635
	0x65, 0x6a, 0xfd, 0x04, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70,
6636
	0x6c, 0x65, 0x73, 0x12, 0xeb, 0x04, 0x32, 0xe8, 0x04, 0x0a, 0xbc, 0x01, 0x2a, 0xb9, 0x01, 0x0a,
6637
	0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c,
6638
	0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x99, 0x01, 0x0a,
6639
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x8e, 0x01, 0x1a, 0x8b, 0x01, 0x72, 0x72, 0x2c,
6640
	0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x42,
6641
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x28, 0x63, 0x6f, 0x6e,
6642
	0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28,
6643
	0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x6c,
6644
	0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6645
	0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a,
6646
	0x20, 0x20, 0x20, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f,
6647
	0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61,
6648
	0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xb8, 0x01, 0x2a, 0xb5, 0x01, 0x0a, 0x0f,
6649
	0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a,
6650
	0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73,
6651
	0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0x8b, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
6652
	0x12, 0x80, 0x01, 0x1a, 0x7e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x75, 0x6e, 0x64,
6653
	0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6654
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a,
6655
	0x20, 0x20, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e,
6656
	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22,
6657
	0x2c, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f,
6658
	0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f,
6659
	0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
6660
	0x0a, 0x7d, 0x29, 0x0a, 0xeb, 0x01, 0x2a, 0xe8, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62,
6661
	0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61,
6662
	0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xc4, 0x01, 0x0a, 0x06, 0x73,
6663
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xb9, 0x01, 0x1a, 0xb6, 0x01, 0x63, 0x75, 0x72, 0x6c, 0x20,
6664
	0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71,
6665
	0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
6666
	0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e,
6667
	0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d,
6668
	0x2f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x27, 0x20,
6669
	0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74,
6670
	0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63,
6671
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d,
6672
	0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6673
	0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,
6674
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x0a, 0x7d,
6675
	0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x2f,
6676
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
6677
	0x69, 0x64, 0x7d, 0x2f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74,
6678
	0x65, 0x32, 0xc1, 0x0f, 0x0a, 0x07, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x12, 0xbe, 0x05,
6679
	0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
6680
	0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
6681
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
6682
	0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73,
6683
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x04, 0x92, 0x41, 0xd5, 0x04, 0x0a, 0x07, 0x54, 0x65,
6684
	0x6e, 0x61, 0x6e, 0x63, 0x79, 0x12, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x74, 0x65,
6685
	0x6e, 0x61, 0x6e, 0x74, 0x2a, 0x0e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x72,
6686
	0x65, 0x61, 0x74, 0x65, 0x6a, 0xaa, 0x04, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53,
6687
	0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x98, 0x04, 0x32, 0x95, 0x04, 0x0a, 0x9b, 0x01, 0x2a,
6688
	0x98, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67,
6689
	0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a,
6690
	0x79, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x6f, 0x1a, 0x6d, 0x72, 0x72, 0x2c,
6691
	0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x54,
6692
	0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x28, 0x63, 0x6f,
6693
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64,
6694
	0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x72,
6695
	0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6696
	0x20, 0x49, 0x64, 0x3a, 0x20, 0x20, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4e,
6697
	0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x29, 0x0a, 0x98, 0x01, 0x2a, 0x95, 0x01,
6698
	0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64,
6699
	0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76,
6700
	0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0x6c, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
6701
	0x65, 0x12, 0x62, 0x1a, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x74, 0x65, 0x6e, 0x61,
6702
	0x6e, 0x63, 0x79, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6703
	0x69, 0x64, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3a,
6704
	0x20, 0x22, 0x22, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73,
6705
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6706
	0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
6707
	0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xd9, 0x01, 0x2a, 0xd6, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c,
6708
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04,
6709
	0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xb2, 0x01, 0x0a,
6710
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xa7, 0x01, 0x1a, 0xa4, 0x01, 0x63, 0x75, 0x72,
6711
	0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72,
6712
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x68, 0x74, 0x74,
6713
	0x70, 0x3a, 0x2f, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34,
6714
	0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x72,
6715
	0x65, 0x61, 0x74, 0x65, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
6716
	0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20,
6717
	0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e,
6718
	0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27,
6719
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a,
6720
	0x20, 0x20, 0x20, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d,
6721
	0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x3a, 0x01, 0x2a, 0x22, 0x12, 0x2f, 0x76, 0x31, 0x2f,
6722
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0xba,
6723
	0x04, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x62, 0x61, 0x73, 0x65,
6724
	0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
6725
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
6726
	0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
6727
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf2, 0x03, 0x92, 0x41, 0xd6, 0x03, 0x0a, 0x07, 0x54,
6728
	0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x12, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x74,
6729
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2a, 0x0e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x64,
6730
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x6a, 0xab, 0x03, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65,
6731
	0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x99, 0x03, 0x32, 0x96, 0x03, 0x0a, 0x8b, 0x01,
6732
	0x2a, 0x88, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02,
6733
	0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f,
6734
	0x0a, 0x69, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5f, 0x1a, 0x5d, 0x72, 0x72,
6735
	0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e,
6736
	0x54, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x28, 0x63,
6737
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e,
6738
	0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x44,
6739
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20,
6740
	0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x29, 0x0a, 0x8c, 0x01, 0x2a, 0x89,
6741
	0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f,
6742
	0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61,
6743
	0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0x60, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
6744
	0x63, 0x65, 0x12, 0x56, 0x1a, 0x54, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x74, 0x65, 0x6e,
6745
	0x61, 0x6e, 0x63, 0x79, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20,
6746
	0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e,
6747
	0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b,
6748
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72,
6749
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0x77, 0x2a, 0x75, 0x0a, 0x0f,
6750
	0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a,
6751
	0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a,
6752
	0x52, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x48, 0x1a, 0x46, 0x63, 0x75, 0x72,
6753
	0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72,
6754
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x20, 0x27, 0x68,
6755
	0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a,
6756
	0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f,
6757
	0x74, 0x31, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x2a, 0x10, 0x2f, 0x76, 0x31, 0x2f, 0x74,
6758
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xb7, 0x05, 0x0a, 0x04,
6759
	0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54,
6760
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
6761
	0x1a, 0x1b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e,
6762
	0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf5, 0x04,
6763
	0x92, 0x41, 0xd6, 0x04, 0x0a, 0x07, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x12, 0x0c, 0x6c,
6764
	0x69, 0x73, 0x74, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2a, 0x0c, 0x74, 0x65, 0x6e,
6765
	0x61, 0x6e, 0x74, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x6a, 0xae, 0x04, 0x0a, 0x0d, 0x78, 0x2d,
6766
	0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x9c, 0x04, 0x32, 0x99,
6767
	0x04, 0x0a, 0xa8, 0x01, 0x2a, 0xa5, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
6768
	0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04,
6769
	0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x85, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
6770
	0x7b, 0x1a, 0x79, 0x63, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c,
6771
	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x2e, 0x4c, 0x69, 0x73,
6772
	0x74, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72,
6773
	0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61,
6774
	0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20,
6775
	0x20, 0x20, 0x20, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c,
6776
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54,
6777
	0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x85, 0x01, 0x2a,
6778
	0x82, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e,
6779
	0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a,
6780
	0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0x59, 0x0a, 0x06, 0x73, 0x6f, 0x75,
6781
	0x72, 0x63, 0x65, 0x12, 0x4f, 0x1a, 0x4d, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x20, 0x3d,
6782
	0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x2e,
6783
	0x6c, 0x69, 0x73, 0x74, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x67, 0x65, 0x53,
6784
	0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e,
6785
	0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22,
6786
	0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xe3, 0x01, 0x2a, 0xe0, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61,
6787
	0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c,
6788
	0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xbc, 0x01, 0x0a, 0x06,
6789
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xb1, 0x01, 0x1a, 0xae, 0x01, 0x63, 0x75, 0x72, 0x6c,
6790
	0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65,
6791
	0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61,
6792
	0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65,
6793
	0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d,
6794
	0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d,
6795
	0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
6796
	0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61,
6797
	0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61, 0x67,
6798
	0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6799
	0x20, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b,
6800
	0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15,
6801
	0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73,
6802
	0x2f, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x8a, 0x01, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x61,
6803
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72,
6804
	0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
6805
	0x6d, 0x2f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66,
6806
	0x79, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x62, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31,
6807
	0x3b, 0x62, 0x61, 0x73, 0x65, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x42, 0x58, 0x58, 0xaa, 0x02, 0x07,
6808
	0x42, 0x61, 0x73, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x07, 0x42, 0x61, 0x73, 0x65, 0x5c, 0x56,
6809
	0x31, 0xe2, 0x02, 0x13, 0x42, 0x61, 0x73, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d,
6810
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x08, 0x42, 0x61, 0x73, 0x65, 0x3a, 0x3a,
6811
	0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
6812
}
6813
6814
var (
6815
	file_base_v1_service_proto_rawDescOnce sync.Once
6816
	file_base_v1_service_proto_rawDescData = file_base_v1_service_proto_rawDesc
6817
)
6818
6819
func file_base_v1_service_proto_rawDescGZIP() []byte {
6820
	file_base_v1_service_proto_rawDescOnce.Do(func() {
6821
		file_base_v1_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_base_v1_service_proto_rawDescData)
6822
	})
6823
	return file_base_v1_service_proto_rawDescData
6824
}
6825
6826
var file_base_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 67)
6827
var file_base_v1_service_proto_goTypes = []any{
6828
	(*PermissionCheckRequest)(nil),                     // 0: base.v1.PermissionCheckRequest
6829
	(*PermissionCheckRequestMetadata)(nil),             // 1: base.v1.PermissionCheckRequestMetadata
6830
	(*PermissionCheckResponse)(nil),                    // 2: base.v1.PermissionCheckResponse
6831
	(*PermissionCheckResponseMetadata)(nil),            // 3: base.v1.PermissionCheckResponseMetadata
6832
	(*PermissionExpandRequest)(nil),                    // 4: base.v1.PermissionExpandRequest
6833
	(*PermissionExpandRequestMetadata)(nil),            // 5: base.v1.PermissionExpandRequestMetadata
6834
	(*PermissionExpandResponse)(nil),                   // 6: base.v1.PermissionExpandResponse
6835
	(*PermissionLookupEntityRequest)(nil),              // 7: base.v1.PermissionLookupEntityRequest
6836
	(*PermissionLookupEntityRequestMetadata)(nil),      // 8: base.v1.PermissionLookupEntityRequestMetadata
6837
	(*PermissionLookupEntityResponse)(nil),             // 9: base.v1.PermissionLookupEntityResponse
6838
	(*PermissionLookupEntityStreamResponse)(nil),       // 10: base.v1.PermissionLookupEntityStreamResponse
6839
	(*PermissionEntityFilterRequest)(nil),              // 11: base.v1.PermissionEntityFilterRequest
6840
	(*PermissionEntityFilterRequestMetadata)(nil),      // 12: base.v1.PermissionEntityFilterRequestMetadata
6841
	(*PermissionLookupSubjectRequest)(nil),             // 13: base.v1.PermissionLookupSubjectRequest
6842
	(*PermissionLookupSubjectRequestMetadata)(nil),     // 14: base.v1.PermissionLookupSubjectRequestMetadata
6843
	(*PermissionLookupSubjectResponse)(nil),            // 15: base.v1.PermissionLookupSubjectResponse
6844
	(*PermissionSubjectPermissionRequest)(nil),         // 16: base.v1.PermissionSubjectPermissionRequest
6845
	(*PermissionSubjectPermissionRequestMetadata)(nil), // 17: base.v1.PermissionSubjectPermissionRequestMetadata
6846
	(*PermissionSubjectPermissionResponse)(nil),        // 18: base.v1.PermissionSubjectPermissionResponse
6847
	(*WatchRequest)(nil),                               // 19: base.v1.WatchRequest
6848
	(*WatchResponse)(nil),                              // 20: base.v1.WatchResponse
6849
	(*SchemaWriteRequest)(nil),                         // 21: base.v1.SchemaWriteRequest
6850
	(*SchemaWriteResponse)(nil),                        // 22: base.v1.SchemaWriteResponse
6851
	(*SchemaPartialWriteRequest)(nil),                  // 23: base.v1.SchemaPartialWriteRequest
6852
	(*SchemaPartialWriteRequestMetadata)(nil),          // 24: base.v1.SchemaPartialWriteRequestMetadata
6853
	(*SchemaPartialWriteResponse)(nil),                 // 25: base.v1.SchemaPartialWriteResponse
6854
	(*SchemaReadRequest)(nil),                          // 26: base.v1.SchemaReadRequest
6855
	(*SchemaReadRequestMetadata)(nil),                  // 27: base.v1.SchemaReadRequestMetadata
6856
	(*SchemaReadResponse)(nil),                         // 28: base.v1.SchemaReadResponse
6857
	(*SchemaListRequest)(nil),                          // 29: base.v1.SchemaListRequest
6858
	(*SchemaListResponse)(nil),                         // 30: base.v1.SchemaListResponse
6859
	(*SchemaList)(nil),                                 // 31: base.v1.SchemaList
6860
	(*DataWriteRequest)(nil),                           // 32: base.v1.DataWriteRequest
6861
	(*DataWriteRequestMetadata)(nil),                   // 33: base.v1.DataWriteRequestMetadata
6862
	(*DataWriteResponse)(nil),                          // 34: base.v1.DataWriteResponse
6863
	(*RelationshipWriteRequest)(nil),                   // 35: base.v1.RelationshipWriteRequest
6864
	(*RelationshipWriteRequestMetadata)(nil),           // 36: base.v1.RelationshipWriteRequestMetadata
6865
	(*RelationshipWriteResponse)(nil),                  // 37: base.v1.RelationshipWriteResponse
6866
	(*RelationshipReadRequest)(nil),                    // 38: base.v1.RelationshipReadRequest
6867
	(*RelationshipReadRequestMetadata)(nil),            // 39: base.v1.RelationshipReadRequestMetadata
6868
	(*RelationshipReadResponse)(nil),                   // 40: base.v1.RelationshipReadResponse
6869
	(*AttributeReadRequest)(nil),                       // 41: base.v1.AttributeReadRequest
6870
	(*AttributeReadRequestMetadata)(nil),               // 42: base.v1.AttributeReadRequestMetadata
6871
	(*AttributeReadResponse)(nil),                      // 43: base.v1.AttributeReadResponse
6872
	(*DataDeleteRequest)(nil),                          // 44: base.v1.DataDeleteRequest
6873
	(*DataDeleteResponse)(nil),                         // 45: base.v1.DataDeleteResponse
6874
	(*RelationshipDeleteRequest)(nil),                  // 46: base.v1.RelationshipDeleteRequest
6875
	(*RelationshipDeleteResponse)(nil),                 // 47: base.v1.RelationshipDeleteResponse
6876
	(*BundleRunRequest)(nil),                           // 48: base.v1.BundleRunRequest
6877
	(*BundleRunResponse)(nil),                          // 49: base.v1.BundleRunResponse
6878
	(*BundleWriteRequest)(nil),                         // 50: base.v1.BundleWriteRequest
6879
	(*BundleWriteResponse)(nil),                        // 51: base.v1.BundleWriteResponse
6880
	(*BundleReadRequest)(nil),                          // 52: base.v1.BundleReadRequest
6881
	(*BundleReadResponse)(nil),                         // 53: base.v1.BundleReadResponse
6882
	(*BundleDeleteRequest)(nil),                        // 54: base.v1.BundleDeleteRequest
6883
	(*BundleDeleteResponse)(nil),                       // 55: base.v1.BundleDeleteResponse
6884
	(*TenantCreateRequest)(nil),                        // 56: base.v1.TenantCreateRequest
6885
	(*TenantCreateResponse)(nil),                       // 57: base.v1.TenantCreateResponse
6886
	(*TenantDeleteRequest)(nil),                        // 58: base.v1.TenantDeleteRequest
6887
	(*TenantDeleteResponse)(nil),                       // 59: base.v1.TenantDeleteResponse
6888
	(*TenantListRequest)(nil),                          // 60: base.v1.TenantListRequest
6889
	(*TenantListResponse)(nil),                         // 61: base.v1.TenantListResponse
6890
	nil,                                                // 62: base.v1.PermissionLookupEntityRequest.ScopeEntry
6891
	nil,                                                // 63: base.v1.PermissionEntityFilterRequest.ScopeEntry
6892
	nil,                                                // 64: base.v1.PermissionSubjectPermissionResponse.ResultsEntry
6893
	nil,                                                // 65: base.v1.SchemaPartialWriteRequest.PartialsEntry
6894
	nil,                                                // 66: base.v1.BundleRunRequest.ArgumentsEntry
6895
	(*Entity)(nil),                                     // 67: base.v1.Entity
6896
	(*Subject)(nil),                                    // 68: base.v1.Subject
6897
	(*Context)(nil),                                    // 69: base.v1.Context
6898
	(*Argument)(nil),                                   // 70: base.v1.Argument
6899
	(CheckResult)(0),                                   // 71: base.v1.CheckResult
6900
	(*Expand)(nil),                                     // 72: base.v1.Expand
6901
	(*Entrance)(nil),                                   // 73: base.v1.Entrance
6902
	(*RelationReference)(nil),                          // 74: base.v1.RelationReference
6903
	(*DataChanges)(nil),                                // 75: base.v1.DataChanges
6904
	(*SchemaDefinition)(nil),                           // 76: base.v1.SchemaDefinition
6905
	(*Tuple)(nil),                                      // 77: base.v1.Tuple
6906
	(*Attribute)(nil),                                  // 78: base.v1.Attribute
6907
	(*TupleFilter)(nil),                                // 79: base.v1.TupleFilter
6908
	(*AttributeFilter)(nil),                            // 80: base.v1.AttributeFilter
6909
	(*DataBundle)(nil),                                 // 81: base.v1.DataBundle
6910
	(*Tenant)(nil),                                     // 82: base.v1.Tenant
6911
	(*StringArrayValue)(nil),                           // 83: base.v1.StringArrayValue
6912
	(*Partials)(nil),                                   // 84: base.v1.Partials
6913
}
6914
var file_base_v1_service_proto_depIdxs = []int32{
6915
	1,  // 0: base.v1.PermissionCheckRequest.metadata:type_name -> base.v1.PermissionCheckRequestMetadata
6916
	67, // 1: base.v1.PermissionCheckRequest.entity:type_name -> base.v1.Entity
6917
	68, // 2: base.v1.PermissionCheckRequest.subject:type_name -> base.v1.Subject
6918
	69, // 3: base.v1.PermissionCheckRequest.context:type_name -> base.v1.Context
6919
	70, // 4: base.v1.PermissionCheckRequest.arguments:type_name -> base.v1.Argument
6920
	71, // 5: base.v1.PermissionCheckResponse.can:type_name -> base.v1.CheckResult
6921
	3,  // 6: base.v1.PermissionCheckResponse.metadata:type_name -> base.v1.PermissionCheckResponseMetadata
6922
	5,  // 7: base.v1.PermissionExpandRequest.metadata:type_name -> base.v1.PermissionExpandRequestMetadata
6923
	67, // 8: base.v1.PermissionExpandRequest.entity:type_name -> base.v1.Entity
6924
	69, // 9: base.v1.PermissionExpandRequest.context:type_name -> base.v1.Context
6925
	70, // 10: base.v1.PermissionExpandRequest.arguments:type_name -> base.v1.Argument
6926
	72, // 11: base.v1.PermissionExpandResponse.tree:type_name -> base.v1.Expand
6927
	8,  // 12: base.v1.PermissionLookupEntityRequest.metadata:type_name -> base.v1.PermissionLookupEntityRequestMetadata
6928
	68, // 13: base.v1.PermissionLookupEntityRequest.subject:type_name -> base.v1.Subject
6929
	69, // 14: base.v1.PermissionLookupEntityRequest.context:type_name -> base.v1.Context
6930
	62, // 15: base.v1.PermissionLookupEntityRequest.scope:type_name -> base.v1.PermissionLookupEntityRequest.ScopeEntry
6931
	12, // 16: base.v1.PermissionEntityFilterRequest.metadata:type_name -> base.v1.PermissionEntityFilterRequestMetadata
6932
	73, // 17: base.v1.PermissionEntityFilterRequest.entrance:type_name -> base.v1.Entrance
6933
	68, // 18: base.v1.PermissionEntityFilterRequest.subject:type_name -> base.v1.Subject
6934
	69, // 19: base.v1.PermissionEntityFilterRequest.context:type_name -> base.v1.Context
6935
	63, // 20: base.v1.PermissionEntityFilterRequest.scope:type_name -> base.v1.PermissionEntityFilterRequest.ScopeEntry
6936
	14, // 21: base.v1.PermissionLookupSubjectRequest.metadata:type_name -> base.v1.PermissionLookupSubjectRequestMetadata
6937
	67, // 22: base.v1.PermissionLookupSubjectRequest.entity:type_name -> base.v1.Entity
6938
	74, // 23: base.v1.PermissionLookupSubjectRequest.subject_reference:type_name -> base.v1.RelationReference
6939
	69, // 24: base.v1.PermissionLookupSubjectRequest.context:type_name -> base.v1.Context
6940
	70, // 25: base.v1.PermissionLookupSubjectRequest.arguments:type_name -> base.v1.Argument
6941
	17, // 26: base.v1.PermissionSubjectPermissionRequest.metadata:type_name -> base.v1.PermissionSubjectPermissionRequestMetadata
6942
	67, // 27: base.v1.PermissionSubjectPermissionRequest.entity:type_name -> base.v1.Entity
6943
	68, // 28: base.v1.PermissionSubjectPermissionRequest.subject:type_name -> base.v1.Subject
6944
	69, // 29: base.v1.PermissionSubjectPermissionRequest.context:type_name -> base.v1.Context
6945
	64, // 30: base.v1.PermissionSubjectPermissionResponse.results:type_name -> base.v1.PermissionSubjectPermissionResponse.ResultsEntry
6946
	75, // 31: base.v1.WatchResponse.changes:type_name -> base.v1.DataChanges
6947
	24, // 32: base.v1.SchemaPartialWriteRequest.metadata:type_name -> base.v1.SchemaPartialWriteRequestMetadata
6948
	65, // 33: base.v1.SchemaPartialWriteRequest.partials:type_name -> base.v1.SchemaPartialWriteRequest.PartialsEntry
6949
	27, // 34: base.v1.SchemaReadRequest.metadata:type_name -> base.v1.SchemaReadRequestMetadata
6950
	76, // 35: base.v1.SchemaReadResponse.schema:type_name -> base.v1.SchemaDefinition
6951
	31, // 36: base.v1.SchemaListResponse.schemas:type_name -> base.v1.SchemaList
6952
	33, // 37: base.v1.DataWriteRequest.metadata:type_name -> base.v1.DataWriteRequestMetadata
6953
	77, // 38: base.v1.DataWriteRequest.tuples:type_name -> base.v1.Tuple
6954
	78, // 39: base.v1.DataWriteRequest.attributes:type_name -> base.v1.Attribute
6955
	36, // 40: base.v1.RelationshipWriteRequest.metadata:type_name -> base.v1.RelationshipWriteRequestMetadata
6956
	77, // 41: base.v1.RelationshipWriteRequest.tuples:type_name -> base.v1.Tuple
6957
	39, // 42: base.v1.RelationshipReadRequest.metadata:type_name -> base.v1.RelationshipReadRequestMetadata
6958
	79, // 43: base.v1.RelationshipReadRequest.filter:type_name -> base.v1.TupleFilter
6959
	77, // 44: base.v1.RelationshipReadResponse.tuples:type_name -> base.v1.Tuple
6960
	42, // 45: base.v1.AttributeReadRequest.metadata:type_name -> base.v1.AttributeReadRequestMetadata
6961
	80, // 46: base.v1.AttributeReadRequest.filter:type_name -> base.v1.AttributeFilter
6962
	78, // 47: base.v1.AttributeReadResponse.attributes:type_name -> base.v1.Attribute
6963
	79, // 48: base.v1.DataDeleteRequest.tuple_filter:type_name -> base.v1.TupleFilter
6964
	80, // 49: base.v1.DataDeleteRequest.attribute_filter:type_name -> base.v1.AttributeFilter
6965
	79, // 50: base.v1.RelationshipDeleteRequest.filter:type_name -> base.v1.TupleFilter
6966
	66, // 51: base.v1.BundleRunRequest.arguments:type_name -> base.v1.BundleRunRequest.ArgumentsEntry
6967
	81, // 52: base.v1.BundleWriteRequest.bundles:type_name -> base.v1.DataBundle
6968
	81, // 53: base.v1.BundleReadResponse.bundle:type_name -> base.v1.DataBundle
6969
	82, // 54: base.v1.TenantCreateResponse.tenant:type_name -> base.v1.Tenant
6970
	82, // 55: base.v1.TenantDeleteResponse.tenant:type_name -> base.v1.Tenant
6971
	82, // 56: base.v1.TenantListResponse.tenants:type_name -> base.v1.Tenant
6972
	83, // 57: base.v1.PermissionLookupEntityRequest.ScopeEntry.value:type_name -> base.v1.StringArrayValue
6973
	83, // 58: base.v1.PermissionEntityFilterRequest.ScopeEntry.value:type_name -> base.v1.StringArrayValue
6974
	71, // 59: base.v1.PermissionSubjectPermissionResponse.ResultsEntry.value:type_name -> base.v1.CheckResult
6975
	84, // 60: base.v1.SchemaPartialWriteRequest.PartialsEntry.value:type_name -> base.v1.Partials
6976
	0,  // 61: base.v1.Permission.Check:input_type -> base.v1.PermissionCheckRequest
6977
	4,  // 62: base.v1.Permission.Expand:input_type -> base.v1.PermissionExpandRequest
6978
	7,  // 63: base.v1.Permission.LookupEntity:input_type -> base.v1.PermissionLookupEntityRequest
6979
	7,  // 64: base.v1.Permission.LookupEntityStream:input_type -> base.v1.PermissionLookupEntityRequest
6980
	13, // 65: base.v1.Permission.LookupSubject:input_type -> base.v1.PermissionLookupSubjectRequest
6981
	16, // 66: base.v1.Permission.SubjectPermission:input_type -> base.v1.PermissionSubjectPermissionRequest
6982
	19, // 67: base.v1.Watch.Watch:input_type -> base.v1.WatchRequest
6983
	21, // 68: base.v1.Schema.Write:input_type -> base.v1.SchemaWriteRequest
6984
	23, // 69: base.v1.Schema.PartialWrite:input_type -> base.v1.SchemaPartialWriteRequest
6985
	26, // 70: base.v1.Schema.Read:input_type -> base.v1.SchemaReadRequest
6986
	29, // 71: base.v1.Schema.List:input_type -> base.v1.SchemaListRequest
6987
	32, // 72: base.v1.Data.Write:input_type -> base.v1.DataWriteRequest
6988
	35, // 73: base.v1.Data.WriteRelationships:input_type -> base.v1.RelationshipWriteRequest
6989
	38, // 74: base.v1.Data.ReadRelationships:input_type -> base.v1.RelationshipReadRequest
6990
	41, // 75: base.v1.Data.ReadAttributes:input_type -> base.v1.AttributeReadRequest
6991
	44, // 76: base.v1.Data.Delete:input_type -> base.v1.DataDeleteRequest
6992
	46, // 77: base.v1.Data.DeleteRelationships:input_type -> base.v1.RelationshipDeleteRequest
6993
	48, // 78: base.v1.Data.RunBundle:input_type -> base.v1.BundleRunRequest
6994
	50, // 79: base.v1.Bundle.Write:input_type -> base.v1.BundleWriteRequest
6995
	52, // 80: base.v1.Bundle.Read:input_type -> base.v1.BundleReadRequest
6996
	54, // 81: base.v1.Bundle.Delete:input_type -> base.v1.BundleDeleteRequest
6997
	56, // 82: base.v1.Tenancy.Create:input_type -> base.v1.TenantCreateRequest
6998
	58, // 83: base.v1.Tenancy.Delete:input_type -> base.v1.TenantDeleteRequest
6999
	60, // 84: base.v1.Tenancy.List:input_type -> base.v1.TenantListRequest
7000
	2,  // 85: base.v1.Permission.Check:output_type -> base.v1.PermissionCheckResponse
7001
	6,  // 86: base.v1.Permission.Expand:output_type -> base.v1.PermissionExpandResponse
7002
	9,  // 87: base.v1.Permission.LookupEntity:output_type -> base.v1.PermissionLookupEntityResponse
7003
	10, // 88: base.v1.Permission.LookupEntityStream:output_type -> base.v1.PermissionLookupEntityStreamResponse
7004
	15, // 89: base.v1.Permission.LookupSubject:output_type -> base.v1.PermissionLookupSubjectResponse
7005
	18, // 90: base.v1.Permission.SubjectPermission:output_type -> base.v1.PermissionSubjectPermissionResponse
7006
	20, // 91: base.v1.Watch.Watch:output_type -> base.v1.WatchResponse
7007
	22, // 92: base.v1.Schema.Write:output_type -> base.v1.SchemaWriteResponse
7008
	25, // 93: base.v1.Schema.PartialWrite:output_type -> base.v1.SchemaPartialWriteResponse
7009
	28, // 94: base.v1.Schema.Read:output_type -> base.v1.SchemaReadResponse
7010
	30, // 95: base.v1.Schema.List:output_type -> base.v1.SchemaListResponse
7011
	34, // 96: base.v1.Data.Write:output_type -> base.v1.DataWriteResponse
7012
	37, // 97: base.v1.Data.WriteRelationships:output_type -> base.v1.RelationshipWriteResponse
7013
	40, // 98: base.v1.Data.ReadRelationships:output_type -> base.v1.RelationshipReadResponse
7014
	43, // 99: base.v1.Data.ReadAttributes:output_type -> base.v1.AttributeReadResponse
7015
	45, // 100: base.v1.Data.Delete:output_type -> base.v1.DataDeleteResponse
7016
	47, // 101: base.v1.Data.DeleteRelationships:output_type -> base.v1.RelationshipDeleteResponse
7017
	49, // 102: base.v1.Data.RunBundle:output_type -> base.v1.BundleRunResponse
7018
	51, // 103: base.v1.Bundle.Write:output_type -> base.v1.BundleWriteResponse
7019
	53, // 104: base.v1.Bundle.Read:output_type -> base.v1.BundleReadResponse
7020
	55, // 105: base.v1.Bundle.Delete:output_type -> base.v1.BundleDeleteResponse
7021
	57, // 106: base.v1.Tenancy.Create:output_type -> base.v1.TenantCreateResponse
7022
	59, // 107: base.v1.Tenancy.Delete:output_type -> base.v1.TenantDeleteResponse
7023
	61, // 108: base.v1.Tenancy.List:output_type -> base.v1.TenantListResponse
7024
	85, // [85:109] is the sub-list for method output_type
7025
	61, // [61:85] is the sub-list for method input_type
7026
	61, // [61:61] is the sub-list for extension type_name
7027
	61, // [61:61] is the sub-list for extension extendee
7028
	0,  // [0:61] is the sub-list for field type_name
7029
}
7030
7031
func init() { file_base_v1_service_proto_init() }
7032
func file_base_v1_service_proto_init() {
7033
	if File_base_v1_service_proto != nil {
7034
		return
7035
	}
7036
	file_base_v1_base_proto_init()
7037
	if !protoimpl.UnsafeEnabled {
7038
		file_base_v1_service_proto_msgTypes[0].Exporter = func(v any, i int) any {
7039
			switch v := v.(*PermissionCheckRequest); i {
7040
			case 0:
7041
				return &v.state
7042
			case 1:
7043
				return &v.sizeCache
7044
			case 2:
7045
				return &v.unknownFields
7046
			default:
7047
				return nil
7048
			}
7049
		}
7050
		file_base_v1_service_proto_msgTypes[1].Exporter = func(v any, i int) any {
7051
			switch v := v.(*PermissionCheckRequestMetadata); i {
7052
			case 0:
7053
				return &v.state
7054
			case 1:
7055
				return &v.sizeCache
7056
			case 2:
7057
				return &v.unknownFields
7058
			default:
7059
				return nil
7060
			}
7061
		}
7062
		file_base_v1_service_proto_msgTypes[2].Exporter = func(v any, i int) any {
7063
			switch v := v.(*PermissionCheckResponse); i {
7064
			case 0:
7065
				return &v.state
7066
			case 1:
7067
				return &v.sizeCache
7068
			case 2:
7069
				return &v.unknownFields
7070
			default:
7071
				return nil
7072
			}
7073
		}
7074
		file_base_v1_service_proto_msgTypes[3].Exporter = func(v any, i int) any {
7075
			switch v := v.(*PermissionCheckResponseMetadata); i {
7076
			case 0:
7077
				return &v.state
7078
			case 1:
7079
				return &v.sizeCache
7080
			case 2:
7081
				return &v.unknownFields
7082
			default:
7083
				return nil
7084
			}
7085
		}
7086
		file_base_v1_service_proto_msgTypes[4].Exporter = func(v any, i int) any {
7087
			switch v := v.(*PermissionExpandRequest); i {
7088
			case 0:
7089
				return &v.state
7090
			case 1:
7091
				return &v.sizeCache
7092
			case 2:
7093
				return &v.unknownFields
7094
			default:
7095
				return nil
7096
			}
7097
		}
7098
		file_base_v1_service_proto_msgTypes[5].Exporter = func(v any, i int) any {
7099
			switch v := v.(*PermissionExpandRequestMetadata); i {
7100
			case 0:
7101
				return &v.state
7102
			case 1:
7103
				return &v.sizeCache
7104
			case 2:
7105
				return &v.unknownFields
7106
			default:
7107
				return nil
7108
			}
7109
		}
7110
		file_base_v1_service_proto_msgTypes[6].Exporter = func(v any, i int) any {
7111
			switch v := v.(*PermissionExpandResponse); i {
7112
			case 0:
7113
				return &v.state
7114
			case 1:
7115
				return &v.sizeCache
7116
			case 2:
7117
				return &v.unknownFields
7118
			default:
7119
				return nil
7120
			}
7121
		}
7122
		file_base_v1_service_proto_msgTypes[7].Exporter = func(v any, i int) any {
7123
			switch v := v.(*PermissionLookupEntityRequest); i {
7124
			case 0:
7125
				return &v.state
7126
			case 1:
7127
				return &v.sizeCache
7128
			case 2:
7129
				return &v.unknownFields
7130
			default:
7131
				return nil
7132
			}
7133
		}
7134
		file_base_v1_service_proto_msgTypes[8].Exporter = func(v any, i int) any {
7135
			switch v := v.(*PermissionLookupEntityRequestMetadata); i {
7136
			case 0:
7137
				return &v.state
7138
			case 1:
7139
				return &v.sizeCache
7140
			case 2:
7141
				return &v.unknownFields
7142
			default:
7143
				return nil
7144
			}
7145
		}
7146
		file_base_v1_service_proto_msgTypes[9].Exporter = func(v any, i int) any {
7147
			switch v := v.(*PermissionLookupEntityResponse); i {
7148
			case 0:
7149
				return &v.state
7150
			case 1:
7151
				return &v.sizeCache
7152
			case 2:
7153
				return &v.unknownFields
7154
			default:
7155
				return nil
7156
			}
7157
		}
7158
		file_base_v1_service_proto_msgTypes[10].Exporter = func(v any, i int) any {
7159
			switch v := v.(*PermissionLookupEntityStreamResponse); i {
7160
			case 0:
7161
				return &v.state
7162
			case 1:
7163
				return &v.sizeCache
7164
			case 2:
7165
				return &v.unknownFields
7166
			default:
7167
				return nil
7168
			}
7169
		}
7170
		file_base_v1_service_proto_msgTypes[11].Exporter = func(v any, i int) any {
7171
			switch v := v.(*PermissionEntityFilterRequest); i {
7172
			case 0:
7173
				return &v.state
7174
			case 1:
7175
				return &v.sizeCache
7176
			case 2:
7177
				return &v.unknownFields
7178
			default:
7179
				return nil
7180
			}
7181
		}
7182
		file_base_v1_service_proto_msgTypes[12].Exporter = func(v any, i int) any {
7183
			switch v := v.(*PermissionEntityFilterRequestMetadata); i {
7184
			case 0:
7185
				return &v.state
7186
			case 1:
7187
				return &v.sizeCache
7188
			case 2:
7189
				return &v.unknownFields
7190
			default:
7191
				return nil
7192
			}
7193
		}
7194
		file_base_v1_service_proto_msgTypes[13].Exporter = func(v any, i int) any {
7195
			switch v := v.(*PermissionLookupSubjectRequest); i {
7196
			case 0:
7197
				return &v.state
7198
			case 1:
7199
				return &v.sizeCache
7200
			case 2:
7201
				return &v.unknownFields
7202
			default:
7203
				return nil
7204
			}
7205
		}
7206
		file_base_v1_service_proto_msgTypes[14].Exporter = func(v any, i int) any {
7207
			switch v := v.(*PermissionLookupSubjectRequestMetadata); i {
7208
			case 0:
7209
				return &v.state
7210
			case 1:
7211
				return &v.sizeCache
7212
			case 2:
7213
				return &v.unknownFields
7214
			default:
7215
				return nil
7216
			}
7217
		}
7218
		file_base_v1_service_proto_msgTypes[15].Exporter = func(v any, i int) any {
7219
			switch v := v.(*PermissionLookupSubjectResponse); i {
7220
			case 0:
7221
				return &v.state
7222
			case 1:
7223
				return &v.sizeCache
7224
			case 2:
7225
				return &v.unknownFields
7226
			default:
7227
				return nil
7228
			}
7229
		}
7230
		file_base_v1_service_proto_msgTypes[16].Exporter = func(v any, i int) any {
7231
			switch v := v.(*PermissionSubjectPermissionRequest); i {
7232
			case 0:
7233
				return &v.state
7234
			case 1:
7235
				return &v.sizeCache
7236
			case 2:
7237
				return &v.unknownFields
7238
			default:
7239
				return nil
7240
			}
7241
		}
7242
		file_base_v1_service_proto_msgTypes[17].Exporter = func(v any, i int) any {
7243
			switch v := v.(*PermissionSubjectPermissionRequestMetadata); i {
7244
			case 0:
7245
				return &v.state
7246
			case 1:
7247
				return &v.sizeCache
7248
			case 2:
7249
				return &v.unknownFields
7250
			default:
7251
				return nil
7252
			}
7253
		}
7254
		file_base_v1_service_proto_msgTypes[18].Exporter = func(v any, i int) any {
7255
			switch v := v.(*PermissionSubjectPermissionResponse); i {
7256
			case 0:
7257
				return &v.state
7258
			case 1:
7259
				return &v.sizeCache
7260
			case 2:
7261
				return &v.unknownFields
7262
			default:
7263
				return nil
7264
			}
7265
		}
7266
		file_base_v1_service_proto_msgTypes[19].Exporter = func(v any, i int) any {
7267
			switch v := v.(*WatchRequest); i {
7268
			case 0:
7269
				return &v.state
7270
			case 1:
7271
				return &v.sizeCache
7272
			case 2:
7273
				return &v.unknownFields
7274
			default:
7275
				return nil
7276
			}
7277
		}
7278
		file_base_v1_service_proto_msgTypes[20].Exporter = func(v any, i int) any {
7279
			switch v := v.(*WatchResponse); i {
7280
			case 0:
7281
				return &v.state
7282
			case 1:
7283
				return &v.sizeCache
7284
			case 2:
7285
				return &v.unknownFields
7286
			default:
7287
				return nil
7288
			}
7289
		}
7290
		file_base_v1_service_proto_msgTypes[21].Exporter = func(v any, i int) any {
7291
			switch v := v.(*SchemaWriteRequest); i {
7292
			case 0:
7293
				return &v.state
7294
			case 1:
7295
				return &v.sizeCache
7296
			case 2:
7297
				return &v.unknownFields
7298
			default:
7299
				return nil
7300
			}
7301
		}
7302
		file_base_v1_service_proto_msgTypes[22].Exporter = func(v any, i int) any {
7303
			switch v := v.(*SchemaWriteResponse); i {
7304
			case 0:
7305
				return &v.state
7306
			case 1:
7307
				return &v.sizeCache
7308
			case 2:
7309
				return &v.unknownFields
7310
			default:
7311
				return nil
7312
			}
7313
		}
7314
		file_base_v1_service_proto_msgTypes[23].Exporter = func(v any, i int) any {
7315
			switch v := v.(*SchemaPartialWriteRequest); i {
7316
			case 0:
7317
				return &v.state
7318
			case 1:
7319
				return &v.sizeCache
7320
			case 2:
7321
				return &v.unknownFields
7322
			default:
7323
				return nil
7324
			}
7325
		}
7326
		file_base_v1_service_proto_msgTypes[24].Exporter = func(v any, i int) any {
7327
			switch v := v.(*SchemaPartialWriteRequestMetadata); i {
7328
			case 0:
7329
				return &v.state
7330
			case 1:
7331
				return &v.sizeCache
7332
			case 2:
7333
				return &v.unknownFields
7334
			default:
7335
				return nil
7336
			}
7337
		}
7338
		file_base_v1_service_proto_msgTypes[25].Exporter = func(v any, i int) any {
7339
			switch v := v.(*SchemaPartialWriteResponse); i {
7340
			case 0:
7341
				return &v.state
7342
			case 1:
7343
				return &v.sizeCache
7344
			case 2:
7345
				return &v.unknownFields
7346
			default:
7347
				return nil
7348
			}
7349
		}
7350
		file_base_v1_service_proto_msgTypes[26].Exporter = func(v any, i int) any {
7351
			switch v := v.(*SchemaReadRequest); i {
7352
			case 0:
7353
				return &v.state
7354
			case 1:
7355
				return &v.sizeCache
7356
			case 2:
7357
				return &v.unknownFields
7358
			default:
7359
				return nil
7360
			}
7361
		}
7362
		file_base_v1_service_proto_msgTypes[27].Exporter = func(v any, i int) any {
7363
			switch v := v.(*SchemaReadRequestMetadata); i {
7364
			case 0:
7365
				return &v.state
7366
			case 1:
7367
				return &v.sizeCache
7368
			case 2:
7369
				return &v.unknownFields
7370
			default:
7371
				return nil
7372
			}
7373
		}
7374
		file_base_v1_service_proto_msgTypes[28].Exporter = func(v any, i int) any {
7375
			switch v := v.(*SchemaReadResponse); i {
7376
			case 0:
7377
				return &v.state
7378
			case 1:
7379
				return &v.sizeCache
7380
			case 2:
7381
				return &v.unknownFields
7382
			default:
7383
				return nil
7384
			}
7385
		}
7386
		file_base_v1_service_proto_msgTypes[29].Exporter = func(v any, i int) any {
7387
			switch v := v.(*SchemaListRequest); i {
7388
			case 0:
7389
				return &v.state
7390
			case 1:
7391
				return &v.sizeCache
7392
			case 2:
7393
				return &v.unknownFields
7394
			default:
7395
				return nil
7396
			}
7397
		}
7398
		file_base_v1_service_proto_msgTypes[30].Exporter = func(v any, i int) any {
7399
			switch v := v.(*SchemaListResponse); i {
7400
			case 0:
7401
				return &v.state
7402
			case 1:
7403
				return &v.sizeCache
7404
			case 2:
7405
				return &v.unknownFields
7406
			default:
7407
				return nil
7408
			}
7409
		}
7410
		file_base_v1_service_proto_msgTypes[31].Exporter = func(v any, i int) any {
7411
			switch v := v.(*SchemaList); i {
7412
			case 0:
7413
				return &v.state
7414
			case 1:
7415
				return &v.sizeCache
7416
			case 2:
7417
				return &v.unknownFields
7418
			default:
7419
				return nil
7420
			}
7421
		}
7422
		file_base_v1_service_proto_msgTypes[32].Exporter = func(v any, i int) any {
7423
			switch v := v.(*DataWriteRequest); i {
7424
			case 0:
7425
				return &v.state
7426
			case 1:
7427
				return &v.sizeCache
7428
			case 2:
7429
				return &v.unknownFields
7430
			default:
7431
				return nil
7432
			}
7433
		}
7434
		file_base_v1_service_proto_msgTypes[33].Exporter = func(v any, i int) any {
7435
			switch v := v.(*DataWriteRequestMetadata); i {
7436
			case 0:
7437
				return &v.state
7438
			case 1:
7439
				return &v.sizeCache
7440
			case 2:
7441
				return &v.unknownFields
7442
			default:
7443
				return nil
7444
			}
7445
		}
7446
		file_base_v1_service_proto_msgTypes[34].Exporter = func(v any, i int) any {
7447
			switch v := v.(*DataWriteResponse); i {
7448
			case 0:
7449
				return &v.state
7450
			case 1:
7451
				return &v.sizeCache
7452
			case 2:
7453
				return &v.unknownFields
7454
			default:
7455
				return nil
7456
			}
7457
		}
7458
		file_base_v1_service_proto_msgTypes[35].Exporter = func(v any, i int) any {
7459
			switch v := v.(*RelationshipWriteRequest); i {
7460
			case 0:
7461
				return &v.state
7462
			case 1:
7463
				return &v.sizeCache
7464
			case 2:
7465
				return &v.unknownFields
7466
			default:
7467
				return nil
7468
			}
7469
		}
7470
		file_base_v1_service_proto_msgTypes[36].Exporter = func(v any, i int) any {
7471
			switch v := v.(*RelationshipWriteRequestMetadata); i {
7472
			case 0:
7473
				return &v.state
7474
			case 1:
7475
				return &v.sizeCache
7476
			case 2:
7477
				return &v.unknownFields
7478
			default:
7479
				return nil
7480
			}
7481
		}
7482
		file_base_v1_service_proto_msgTypes[37].Exporter = func(v any, i int) any {
7483
			switch v := v.(*RelationshipWriteResponse); i {
7484
			case 0:
7485
				return &v.state
7486
			case 1:
7487
				return &v.sizeCache
7488
			case 2:
7489
				return &v.unknownFields
7490
			default:
7491
				return nil
7492
			}
7493
		}
7494
		file_base_v1_service_proto_msgTypes[38].Exporter = func(v any, i int) any {
7495
			switch v := v.(*RelationshipReadRequest); i {
7496
			case 0:
7497
				return &v.state
7498
			case 1:
7499
				return &v.sizeCache
7500
			case 2:
7501
				return &v.unknownFields
7502
			default:
7503
				return nil
7504
			}
7505
		}
7506
		file_base_v1_service_proto_msgTypes[39].Exporter = func(v any, i int) any {
7507
			switch v := v.(*RelationshipReadRequestMetadata); i {
7508
			case 0:
7509
				return &v.state
7510
			case 1:
7511
				return &v.sizeCache
7512
			case 2:
7513
				return &v.unknownFields
7514
			default:
7515
				return nil
7516
			}
7517
		}
7518
		file_base_v1_service_proto_msgTypes[40].Exporter = func(v any, i int) any {
7519
			switch v := v.(*RelationshipReadResponse); i {
7520
			case 0:
7521
				return &v.state
7522
			case 1:
7523
				return &v.sizeCache
7524
			case 2:
7525
				return &v.unknownFields
7526
			default:
7527
				return nil
7528
			}
7529
		}
7530
		file_base_v1_service_proto_msgTypes[41].Exporter = func(v any, i int) any {
7531
			switch v := v.(*AttributeReadRequest); i {
7532
			case 0:
7533
				return &v.state
7534
			case 1:
7535
				return &v.sizeCache
7536
			case 2:
7537
				return &v.unknownFields
7538
			default:
7539
				return nil
7540
			}
7541
		}
7542
		file_base_v1_service_proto_msgTypes[42].Exporter = func(v any, i int) any {
7543
			switch v := v.(*AttributeReadRequestMetadata); i {
7544
			case 0:
7545
				return &v.state
7546
			case 1:
7547
				return &v.sizeCache
7548
			case 2:
7549
				return &v.unknownFields
7550
			default:
7551
				return nil
7552
			}
7553
		}
7554
		file_base_v1_service_proto_msgTypes[43].Exporter = func(v any, i int) any {
7555
			switch v := v.(*AttributeReadResponse); i {
7556
			case 0:
7557
				return &v.state
7558
			case 1:
7559
				return &v.sizeCache
7560
			case 2:
7561
				return &v.unknownFields
7562
			default:
7563
				return nil
7564
			}
7565
		}
7566
		file_base_v1_service_proto_msgTypes[44].Exporter = func(v any, i int) any {
7567
			switch v := v.(*DataDeleteRequest); i {
7568
			case 0:
7569
				return &v.state
7570
			case 1:
7571
				return &v.sizeCache
7572
			case 2:
7573
				return &v.unknownFields
7574
			default:
7575
				return nil
7576
			}
7577
		}
7578
		file_base_v1_service_proto_msgTypes[45].Exporter = func(v any, i int) any {
7579
			switch v := v.(*DataDeleteResponse); i {
7580
			case 0:
7581
				return &v.state
7582
			case 1:
7583
				return &v.sizeCache
7584
			case 2:
7585
				return &v.unknownFields
7586
			default:
7587
				return nil
7588
			}
7589
		}
7590
		file_base_v1_service_proto_msgTypes[46].Exporter = func(v any, i int) any {
7591
			switch v := v.(*RelationshipDeleteRequest); i {
7592
			case 0:
7593
				return &v.state
7594
			case 1:
7595
				return &v.sizeCache
7596
			case 2:
7597
				return &v.unknownFields
7598
			default:
7599
				return nil
7600
			}
7601
		}
7602
		file_base_v1_service_proto_msgTypes[47].Exporter = func(v any, i int) any {
7603
			switch v := v.(*RelationshipDeleteResponse); i {
7604
			case 0:
7605
				return &v.state
7606
			case 1:
7607
				return &v.sizeCache
7608
			case 2:
7609
				return &v.unknownFields
7610
			default:
7611
				return nil
7612
			}
7613
		}
7614
		file_base_v1_service_proto_msgTypes[48].Exporter = func(v any, i int) any {
7615
			switch v := v.(*BundleRunRequest); i {
7616
			case 0:
7617
				return &v.state
7618
			case 1:
7619
				return &v.sizeCache
7620
			case 2:
7621
				return &v.unknownFields
7622
			default:
7623
				return nil
7624
			}
7625
		}
7626
		file_base_v1_service_proto_msgTypes[49].Exporter = func(v any, i int) any {
7627
			switch v := v.(*BundleRunResponse); i {
7628
			case 0:
7629
				return &v.state
7630
			case 1:
7631
				return &v.sizeCache
7632
			case 2:
7633
				return &v.unknownFields
7634
			default:
7635
				return nil
7636
			}
7637
		}
7638
		file_base_v1_service_proto_msgTypes[50].Exporter = func(v any, i int) any {
7639
			switch v := v.(*BundleWriteRequest); i {
7640
			case 0:
7641
				return &v.state
7642
			case 1:
7643
				return &v.sizeCache
7644
			case 2:
7645
				return &v.unknownFields
7646
			default:
7647
				return nil
7648
			}
7649
		}
7650
		file_base_v1_service_proto_msgTypes[51].Exporter = func(v any, i int) any {
7651
			switch v := v.(*BundleWriteResponse); i {
7652
			case 0:
7653
				return &v.state
7654
			case 1:
7655
				return &v.sizeCache
7656
			case 2:
7657
				return &v.unknownFields
7658
			default:
7659
				return nil
7660
			}
7661
		}
7662
		file_base_v1_service_proto_msgTypes[52].Exporter = func(v any, i int) any {
7663
			switch v := v.(*BundleReadRequest); i {
7664
			case 0:
7665
				return &v.state
7666
			case 1:
7667
				return &v.sizeCache
7668
			case 2:
7669
				return &v.unknownFields
7670
			default:
7671
				return nil
7672
			}
7673
		}
7674
		file_base_v1_service_proto_msgTypes[53].Exporter = func(v any, i int) any {
7675
			switch v := v.(*BundleReadResponse); i {
7676
			case 0:
7677
				return &v.state
7678
			case 1:
7679
				return &v.sizeCache
7680
			case 2:
7681
				return &v.unknownFields
7682
			default:
7683
				return nil
7684
			}
7685
		}
7686
		file_base_v1_service_proto_msgTypes[54].Exporter = func(v any, i int) any {
7687
			switch v := v.(*BundleDeleteRequest); i {
7688
			case 0:
7689
				return &v.state
7690
			case 1:
7691
				return &v.sizeCache
7692
			case 2:
7693
				return &v.unknownFields
7694
			default:
7695
				return nil
7696
			}
7697
		}
7698
		file_base_v1_service_proto_msgTypes[55].Exporter = func(v any, i int) any {
7699
			switch v := v.(*BundleDeleteResponse); i {
7700
			case 0:
7701
				return &v.state
7702
			case 1:
7703
				return &v.sizeCache
7704
			case 2:
7705
				return &v.unknownFields
7706
			default:
7707
				return nil
7708
			}
7709
		}
7710
		file_base_v1_service_proto_msgTypes[56].Exporter = func(v any, i int) any {
7711
			switch v := v.(*TenantCreateRequest); i {
7712
			case 0:
7713
				return &v.state
7714
			case 1:
7715
				return &v.sizeCache
7716
			case 2:
7717
				return &v.unknownFields
7718
			default:
7719
				return nil
7720
			}
7721
		}
7722
		file_base_v1_service_proto_msgTypes[57].Exporter = func(v any, i int) any {
7723
			switch v := v.(*TenantCreateResponse); i {
7724
			case 0:
7725
				return &v.state
7726
			case 1:
7727
				return &v.sizeCache
7728
			case 2:
7729
				return &v.unknownFields
7730
			default:
7731
				return nil
7732
			}
7733
		}
7734
		file_base_v1_service_proto_msgTypes[58].Exporter = func(v any, i int) any {
7735
			switch v := v.(*TenantDeleteRequest); i {
7736
			case 0:
7737
				return &v.state
7738
			case 1:
7739
				return &v.sizeCache
7740
			case 2:
7741
				return &v.unknownFields
7742
			default:
7743
				return nil
7744
			}
7745
		}
7746
		file_base_v1_service_proto_msgTypes[59].Exporter = func(v any, i int) any {
7747
			switch v := v.(*TenantDeleteResponse); i {
7748
			case 0:
7749
				return &v.state
7750
			case 1:
7751
				return &v.sizeCache
7752
			case 2:
7753
				return &v.unknownFields
7754
			default:
7755
				return nil
7756
			}
7757
		}
7758
		file_base_v1_service_proto_msgTypes[60].Exporter = func(v any, i int) any {
7759
			switch v := v.(*TenantListRequest); i {
7760
			case 0:
7761
				return &v.state
7762
			case 1:
7763
				return &v.sizeCache
7764
			case 2:
7765
				return &v.unknownFields
7766
			default:
7767
				return nil
7768
			}
7769
		}
7770
		file_base_v1_service_proto_msgTypes[61].Exporter = func(v any, i int) any {
7771
			switch v := v.(*TenantListResponse); i {
7772
			case 0:
7773
				return &v.state
7774
			case 1:
7775
				return &v.sizeCache
7776
			case 2:
7777
				return &v.unknownFields
7778
			default:
7779
				return nil
7780
			}
7781
		}
7782
	}
7783
	type x struct{}
7784
	out := protoimpl.TypeBuilder{
7785
		File: protoimpl.DescBuilder{
7786
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
7787
			RawDescriptor: file_base_v1_service_proto_rawDesc,
7788
			NumEnums:      0,
7789
			NumMessages:   67,
7790
			NumExtensions: 0,
7791
			NumServices:   6,
7792
		},
7793
		GoTypes:           file_base_v1_service_proto_goTypes,
7794
		DependencyIndexes: file_base_v1_service_proto_depIdxs,
7795
		MessageInfos:      file_base_v1_service_proto_msgTypes,
7796
	}.Build()
7797
	File_base_v1_service_proto = out.File
7798
	file_base_v1_service_proto_rawDesc = nil
7799
	file_base_v1_service_proto_goTypes = nil
7800
	file_base_v1_service_proto_depIdxs = nil
7801
}
7802